Codebase list sonic-pi / e61ad21
Imported Upstream version 2.10.0~repack Hanno Zulla 8 years ago
720 changed file(s) with 46091 addition(s) and 28212 deletion(s). Raw diff Collapse all Expand all
+0
-95
.gitignore less more
0 # Compiled things
1 # --------------
2
3 # Compiled Object files
4 *.slo
5 *.lo
6 *.o
7
8 # Compiled Dynamic libraries
9 *.so
10 *.dylib
11
12 # Compiled Static libraries
13 *.lai
14 *.la
15 *.a
16
17 # QT GUI
18 # --------
19
20 # Compiled Mac libraries
21 *.bundle
22
23 *.pro.user
24 *.qmake.stash
25
26 # Application binary & autogenerated files
27 app/gui/qt/sonic-pi
28 app/gui/qt/moc_mainwindow.cpp
29 app/gui/qt/moc_sonicpiudpserver.cpp
30 app/gui/qt/qrc_SonicPi.cpp
31 app/gui/qt/ruby_help.h
32 app/gui/qt/help/*.html
33 app/gui/qt/help_files.qrc
34 app/gui/qt/lang/*.qm
35 app/gui/qt/qrc_help_files.cpp
36 app/gui/qt/Sonic-Pi.app
37 app/gui/qt/Sonic Pi.app
38 app/gui/qt/build
39
40 app/gui/qt/info
41 app/gui/qt/qrc_info_files.cpp
42
43 # HTML GUI
44 # --------
45
46 # Javascript map files
47 app/gui/html/js/*.map
48
49 # Dev Javascript
50 app/gui/html/js/generated
51 app/gui/html/target
52 app/gui/html/js/cljs-main.js
53
54
55 # QT makefile
56 # --------
57
58 app/gui/qt/Makefile
59
60 app/gui/qt/moc_*
61
62
63 # Detritus
64 # ---------
65
66 *.DS_Store
67 *.log
68 *.swp
69 \.#*
70 .lein-plugins
71 *~
72
73 # Native
74
75 app/server/native/
76 app/server/vendor/ffi/ext/
77 app/server/vendor/ffi-1.9.10/ext/ffi_c/Makefile
78 app/server/vendor/ffi-1.9.10/ext/ffi_c/extconf.h
79
80 app/server/rb-native/
81
82 ## Rugged
83
84 app/server/vendor/rugged*/ext/rugged/Makefile
85 app/server/vendor/rugged*/vendor/libgit2/build
86
87 ## Atomic
88
89 app/server/vendor/atomic/ext/Makefile
90
91
92 ## Book
93
94 book/
+0
-6
.travis.yml less more
0 language: ruby
1 rvm:
2 - "1.9.3"
3 - "2.1.2"
4 # uncomment this line if your project needs to run something other than `rake`:
5 script: cd app/server/sonicpi && rake test
00 # History
1 * [v2.10 'Cowbell'](#v2.10), 15th April, 2016
12 * [v2.9 'Venster'](#v2.9), 31st Dec, 2015
23 * [v2.8 'Karlsruhe'](#v2.8), 20th Nov, 2015
34 * [v2.7 'Rerezzed'](#v2.7), 10th Sept, 2015
910 * [v2.1 'Core'](#v2.1), 21st Nov, 2014
1011 * [v2.0 'Phoenix'](#v2.0), 2nd Sept, 2014
1112
13 <a name="v2.10"></a>
14
15 ## Version 2.10 - 'Cowbell'
16 *Friday 15th April, 2016*
17 [(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.10.0)
18
19 _"I gotta have more cowbell!"_ - The Bruce Dickinson
20
21 The main feature in this release is the completely new sample system for
22 working with large folders of samples. You can now easily index into and
23 filter over whole folders of samples with a simple yet powerful filter
24 system. This system has been in development for over a year now and has
25 been tuned and tweaked over many performances and practice sessions. See
26 the documentation and examples for `sample` as well as the new tutorial
27 section 3.7 for details.
28
29 We also have a number of exciting new sounds to play with including some
30 beautifully sounding chiptune synths, fun retro FX and new drum samples
31 including a full tabla set and a cowbell.
32
33 Finally, even more boot issues on both OS X and Windows that have been
34 fixed making this the most polished and stable release to date.
35
36 Now go and get your live code on!
37
38
39 ### Breaking Changes
40
41 * `use_sample_pack_as` and `with_sample_pack_as` have been removed.
42 * A synth opt value of `nil` now no longer resolves to 0.0. Instead it
43 masks any defaults and ensures the downstream default (for the actual
44 synthdef itself) is honoured. This allows you to override any existing
45 synth defaults specified via `use_synth_defaults` for a given synth
46 trigger.
47 * Default schedule ahead time is now 0.5s on all platforms for
48 consistency (except for Raspberry Pi 1 which remains at 1s).
49
50
51 ### New Fns
52
53 * `current_random_seed` - Get the current seed value of the random generator.
54 * `set_cent_tuning!` - global tuning.
55 * `on` - similar to `if` but behaves the same as the `on:` opt for
56 synths and samples.
57 * `halves` - create a ring of successive halves.
58 * `doubles` - create a ring of successive doubles.
59 * `pick` - similar to shuffle but allows duplicates. You may also
60 specify how many items to pick.
61 * `fx_names` - create a ring of all available FX.
62
63 ### Synths & FX
64
65 * New synth `:dtri` - detuned triangle waves.
66 * New synth `:pluck` - a lovely synthesised plucked string.
67 * New synth `:chiplead` - retro NES style lead synth.
68 * New synth `:chipbass` - retro NES style bass synth.
69 * New synth `:chipnoise` - retro NES style noise synth.
70 * New FX `:whammy` - low-tech transposition effect similar to the
71 Digitech Whammy guitar pedal.
72 * New FX `:octaver` - low-tech octave effect similar to early guitar
73 pedals.
74 * New FX `:vowel` - modifies incoming signal to match human vowel
75 sounds.
76 * New FX `:mono` - mono effect for summing stereo channels.
77 * `:tanh` FX is now more crunchy by default.
78 * `:compressor` and `:krush` FX now correctly honour the `mix:` opt.
79
80
81 ### Samples
82
83 * Samples in FLAC format (Free Lossless Audio Codec) are now supported!
84 * The `sample` fn gained source and filter pre-opts. You may now specify
85 a number of parameters directly before the opts which describe both
86 folders containing samples and filters over those folders to allow you
87 to easily and quickly work with large sample sets. See Section 3.7 of
88 the tutorial for more information.
89 * Samplers now have `hpf:` and `lpf:` opts. Any `cutoff:` opts are
90 automatically switched to `lpf:` and any errors will be reported with
91 an `lpf:` prefix.
92 * The sampler synth gained a compressor enabled via the `compress:`
93 opt. This means you can now compress any triggered sample directly
94 without the need to reach for an FX.
95 * Samplers gained the `pre_amp:` opt which applies the amp at the
96 beginning of its internal signal chain. You can use this to overload
97 the new compressor.
98 * Samplers now have both high pass and low pass filter envelopes which
99 behave similarly to the amplitude envelope but control internal hpf
100 and lpf FX. These are available via new opts which mirror the standard
101 envelope opts but with a `hpf_` and `lpf_` prefix (such as
102 `hpf_attack`, `lpf_decay_level` and friends).
103 * Passing a directory path to `load_samples` will now load all the
104 samples within that directory.
105 * Passing a directory path to `free_samples` will now free all the
106 loaded samples within that directory.
107 * Samples are now loaded asynchronously in a separate thread. This
108 therefore doesn't block the current thread and cause any subsequent
109 synth/sample triggers to be late.
110 * Sample trigger logging now includes the directory of the contained
111 sample.
112 * Samples are now reloaded asynchronously after a server reboot (and
113 therefore no longer block execution).
114 * Add new `:tabla_` sample group with a range of tabla drum sounds.
115 * Add new `:vinyl_` sample group with a range of vinyl scratches and
116 hisses.
117 * Add new samples: `:drum_cowbell`, `:drum_roll`, `:misc_cros`,
118 `:misc_cineboom`, `:perc_swash`, `:perc_till`, `:loop_safari`,
119 `:loop_tabla`.
120
121 ### GUI
122
123 * Add new preference to enforce strict synth/FX timing. When enabled
124 synths and samples no longer trigger if it is too late - instead they
125 are silent and print a warning message. This behaviour ensures samples
126 or synths are never triggered out of time.
127 * New load button which will load the contents of a file into the
128 current buffer.
129 * The vertical bars which help visualise nesting now render in a
130 contiguous fashion over blank lines.
131 * `C-k` now nukes over trailing whitespace.
132 * `load_sample` now has sample autocompletion.
133 * GUI now correctly reports if the host is a Raspberry Pi 3.
134 * New editor preference - Log Auto Scroll. When enabled will always
135 scroll log to the bottom after printing every new message.
136 * Whitespace at top and bottom of buffer is no longer trimmed.
137 * Hitting `RETURN` now auto-indents the buffer - ensuring that the
138 cursor is moved to the correct indentation on the following line.
139 * Added Chinese Simplified GUI translation.
140 * Log visibility now correctly matches GUI preference.
141
142
143 ### Documentation
144
145 * New tutorial section 3.7 on Sample Pack Filters.
146 * New appendix sections.
147 * Examples for `sample` fn have been completely rewritten and extended.
148
149
150 ### Improvements
151
152 * `scale` and `chord` can now handle being passed no tonic such as:
153 `(chord :minor)` which will return a ring of offsets from 0.
154 * `chord` learned new variants: `add2`, `add4`, `add9`, `add11`,
155 `add13`, `madd2`, `madd4`, `madd9`, `madd11`, `madd13`
156 * The ring's `.take` method can now take more elements than the original
157 ring by wrapping around:
158 `(ring 1, 2, 3).take(5) #=> (ring 1, 2, 3, 1, 2)`
159 * Rings may now be added or subtracted from each other e.g.
160 `(ring 1, 2, 3) + (ring 4) #=> (ring 1, 2, 3, 4)`
161 * Adding or subtracting a number from a ring will create a new ring with
162 the number added or subtracted from each of the original ring's
163 elements: `(ring 1, 2, 3) - 1 #=> (ring 0.0, 1.0, 2.0)`
164 * Calling `(ring 1, 2, 3).take(0)` will now return an empty ring.
165 * `density` now complains if it isn't passed a do/end block.
166 * Improve error messages for `use/with_synth` when accidentally passed opts.
167
168
169
170 ### Bugfixes
171
172 * On OS X only raise an error on boot if it's clear the sound card's in
173 and out rates are different.
174 * Improve robustness of boot process on Windows.
175 * Rest notes are no longer printed if synth logging is disabled.
176 * No longer apply synth defaults to FX.
177 * You may now control opts that have no associated info (previously it
178 would raise a 'not modulatable' error).
179 * Fix index lookup of Vectors.
180 * Fix `C-i` doc lookup shortcut to work with `:tb303` synth docs.
181 * `C-i` now always displays docs where available (previously it was
182 possible for docs not to be displayed).
183 * Sliding between chords now works correctly
184 * Windows version will now boot mutiple networked machines logged in
185 with the same account.
186
187
12188 <a name="v2.9"></a>
13189
14190 ## Version 2.9 - 'Venster'
15191 *Thursday 31st December, 2015*
192 [(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.9.0)
16193
17194 Hot on the heels of the previous release comes `v2.9` codenamed
18195 `Venster` (Dutch for window). This release has a specific focus on
134311
135312 ## Version 2.8 - 'Karlsruhe'
136313 *Friday 20th November, 2015*
314 [(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.8.0)
137315
138316 This release, named after Karlsruhe, one of the home cities of live
139317 coding, is mainly a maintenance release with a strong focus on both
228406
229407 ## Version 2.7 - 'Rerezzed'
230408 *Thursday 10th September, 2015*
409 [(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.7.0)
231410
232411 This release brings a substantial change to the random number
233412 generator. This has the unfortunate side effect of breaking backwards
1111 * [Rachel Drury](https://twitter.com/Rachel_Drury)
1212 * [Juneau Projects](http://www.juneauprojects.co.uk)
1313 * Stephan Lachowsky
14 * [Paul Winstanley](https://twitter.com/SCCMentor)
15 * [Robin Newman](https://twitter.com/rbnman)
1416
1517 ## Organisations
1618
2325
2426 ## Developer Contributions
2527
26 In addition to the Sonic Pi Core Team, I'd like to give my thanks to
27 the following developers who have donated their time and effort to help
28 grow and improve the Sonic Pi code base:
28 In addition to the Sonic Pi Core Team, I'd like to give my thanks to the
29 following developers who have donated their time and effort to help grow
30 and improve the Sonic Pi code base:
2931
30 * [Hanno Zulla](https://github.com/hzulla)
3132 * [Ethan Crawford](https://github.com/ethancrawford)
3233 * [Łukasz Siwiński](https://github.com/hopbit)
3334 * [Martin Keegan](https://github.com/mk270)
35 * [Kenichi Kanai](https://github.com/kn1kn1)
3436 * [Nicolas Dermine](https://github.com/nicoder)
3537 * [Ricardo Pozo](https://github.com/thraex41)
36 * [Kenichi Kanai](https://github.com/kn1kn1)
3738 * [Robin Newman](https://github.com/rbnpi)
3839 * [Wolfgang Werner](https://github.com/wwerner)
3940 * [Clare Macrae](https://github.com/claremacrae)
41 * [Jeroen Castelein](https://github.com/JeroennC)
42 * [G. Martin Butz](https://github.com/mbutz)
4043 * [Hannes Fritz](https://github.com/hztirf)
4144 * [Petter Reinholdtsen](https://github.com/petterreinholdtsen)
42 * [G. Martin Butz](https://github.com/mbutz)
4345 * [Marco Giordano](https://github.com/marco-giordano)
4446 * [Keiko Machiya](https://github.com/keikomachiya)
47 * [Franz Laügt](https://github.com/znarf94)
48 * [Sébastien Rannou](https://github.com/aimxhaisse)
49 * [Frobby](https://github.com/frobby)
4550 * [Martin Zeilinger](https://github.com/st01c)
4651 * [Steve Traylen](https://github.com/traylenator)
52 * [Christoph B. Wurzinger](https://github.com/chbw)
53 * [Jose Añasco](https://github.com/merongivian)
54 * [Michel Echevres](https://github.com/echevresm)
55 * [Mistral Contrastin](https://github.com/madgen)
4756 * [Chris Ford](https://github.com/ctford)
48 * [Mistral Contrastin](https://github.com/madgen)
49 * [Christoph B. Wurzinger](https://github.com/chbw)
57 * [Bruce Adams](https://github.com/bruceadams)
5058 * [Ben Nuttall](https://github.com/bennuttall)
51 * [Jose Añasco](https://github.com/merongivian)
59 * [Daniel Canelhas](https://github.com/dcanelhas)
60 * [Katie Miller](https://github.com/codemiller)
61 * [Michael Henry](https://github.com/neoCrimeLabs)
5262 * [Will Stephenson](https://github.com/wstephenson)
53 * [Frobby](https://github.com/frobby)
54 * [Michel Echevres](https://github.com/echevresm)
55 * [Katie Miller](https://github.com/codemiller)
56 * [Bruce Adams](https://github.com/bruceadams)
57 * [Daniel Canelhas](https://github.com/dcanelhas)
58 * [James Smith](https://github.com/Nanomancer)
59 * [Ryan Bigg](https://github.com/radar)
63 * [Eugene Kovalev](https://github.com/wl8dr3)
64 * [Serge Stinckwich](https://github.com/SergeStinckwich)
65 * [Sebastian Stahn](https://github.com/stahnirockt)
6066 * [Joseph Haig](https://github.com/jrmhaig)
6167 * [Graham Taylor](https://github.com/vinnievg)
68 * [Ivan Zarea](https://github.com/minivan)
69 * [Siim Põder](https://github.com/windo)
70 * [Cosmin Stroe](https://github.com/cstroe)
71 * [Tomek Rabczak](https://github.com/tomekr)
72 * [Brujo Rojas](https://github.com/brujo696)
73 * [Mateusz Bielec](https://github.com/mbie)
74 * [Tom den Braber](https://github.com/tomdenbraber)
75 * [Karl Hiner](https://github.com/khiner)
76 * [Pierre De Wilde](https://github.com/pierredewilde)
77 * [Ryan Bigg](https://github.com/radar)
78 * [James Smith](https://github.com/Nanomancer)
79 * [Tom Holford](https://github.com/tomholford)
80 * [Russell Jones](https://github.com/Russell-Jones)
81 * [Marko Peltola](https://github.com/markopeltola)
82 * [Hrafnkell Eiríksson](https://github.com/hrafnkelle)
83 * [Michel Kraaijeveld](https://github.com/LandDragoon)
84 * [Enrike Hurtado](https://github.com/enrike)
85 * [John Lawrence Aspden](https://github.com/johnlawrenceaspden)
86 * [Sandy Maguire](https://github.com/isovector)
87 * [Tomasz Nurkiewicz](https://github.com/nurkiewicz)
6288 * [Morgan Owens](https://github.com/equiamos)
63 * [Cosmin Stroe](https://github.com/cstroe)
89 * [Christian Perfect](https://github.com/christianp)
90 * [Matthias Cavigelli](https://github.com/mcavigelli)
91 * [Ruzsa Balázs](https://github.com/cellux)
92 * [Emlyn Corrin](https://github.com/emlyn)
93 * [Alex McLean](https://github.com/yaxu)
6494 * [Aspasia Beneti](https://github.com/aspasia)
65 * [Ivan Zarea](https://github.com/minivan)
66 * [Karl Hiner](https://github.com/khiner)
67 * [Serge Stinckwich](https://github.com/SergeStinckwich)
95 * [Nigel Michki](https://github.com/nigeil)
96 * [Michael Fulton](https://github.com/fultonms)
97 * [Scott Kitterman](https://github.com/kitterma)
6898 * [András Németh](https://github.com/nemethandras)
69 * [Nigel Michki](https://github.com/nigeil)
70 * [Christian Perfect](https://github.com/christianp)
71 * [Hrafnkell Eiríksson](https://github.com/hrafnkelle)
72 * [Ruzsa Balázs](https://github.com/cellux)
73 * [Enrike Hurtado](https://github.com/enrike)
74 * [Alex McLean](https://github.com/yaxu)
75 * [Russell Jones](https://github.com/Russell-Jones)
76 * [Michael Fulton](https://github.com/emu4hire)
77 * [Tomasz Nurkiewicz](https://github.com/nurkiewicz)
78 * [Emlyn Corrin](https://github.com/emlyn)
79 * [John Lawrence Aspden](https://github.com/johnlawrenceaspden)
8099
81100
82101
86105
87106
88107
108
1616 <td>
1717 <font size="5" ><span style="color:white; background-color:dodgerblue;">Sam Aaron</span></font>
1818 <p>
19 University of Cambridge Computer Labs researcher . Performing as <a href="http://facebook.com/livecodersamaaron"> Sam Aaron </a>| <a href="http://twitter.com/poly_core">Poly Core</a> | <a href="http://twitter.com/fib_crisis">Fib Crisis</a></p>
19 University of Cambridge Computer Labs researcher. Performing as <a href="http://facebook.com/livecodersamaaron"> Sam Aaron </a>| <a href="http://twitter.com/poly_core">Poly Core</a> | <a href="http://twitter.com/fib_crisis">Fib Crisis</a></p>
2020
2121 <p><a href="https://twitter.com/samaaron">Twitter</a> | <a href="https://github.com/samaaron">GitHub</a> </p>
2222
9393
9494 </td>
9595 </tr>
96 <tr>
97 <td>
98
99 <table>
100 <tr>
101 <td> <a href="http://www.hanno.de"><img height="100" width="100" src="../images/coreteam/hannozulla.png"> </a></td>
102 <td>
103 <font size="5" ><span style="color:white; background-color:dodgerblue;">Hanno Zulla</span></font>
104
105 <p>
106 Linux whizz and friend of i18n. Helping to bring Sonic Pi to your native tongue and to your Debian desktop.
107 </p>
108
109 <p> <a href="https://twitter.com/hzulla">Twitter</a> | <a href="https://github.com/hzulla">GitHub</a></p>
110
111 </td>
112 </tr>
113 </table>
114
115 </td>
116 </tr>
96117 </table>
2020
2121 You can also check in Task Manger that there is no application entry sonic-pi.exe
2222 and quit it if there is.
23
24 ## Linux: There is no sound with use_synth :piano
25
26 You probably didn't install the SC3 plugins
27 package for SuperCollider on your system. If there
28 is no binary package provided by your distribution, you can
29 [install it from source](https://github.com/samaaron/sonic-pi/blob/master/INSTALL-LINUX.md#supercollider-sc3-plugins).
2330
2431 ## Linux: Trouble with JACK
2532
4646
4747 ### Medium Projects
4848
49 - Get us in touch with blind or visually impaired users
50
51 We think that Sonic Pi would be a pretty awesome tool for blind or
52 visually impaired users wanting to learn programming. If you can
53 help us get in touch with one of these users or are one of them,
54 please let us know. We don't know if the Sonic Pi GUI is useful
55 and accessible enough for you, so we don't know where to improve it
56 for your needs. Your input is highly appreciated.
57
4958 - Save/Load function for buffers
5059
5160 Sonic Pi can save to a file, but it still doesn't have a user-friendly
5261 way to load existing code.
53
54 - Packaging for Linux
55
56 Currently, there are binaries available for OS X, Windows and
57 Raspberry Pi Raspbian. For other Linux distributions, users have to
58 build it on their own. We'd love to find Linux enthusiasts who'd
59 volunteer to maintain packaging for their Linux distros.
60
61 - Translation Server Integration
62
63 Sonic Pi translation has been a good start, but it's now turning into
64 a hassle to keep up with the changes. A translation service such as
65 Transifex etc. would be beneficial. The difficult part is how to
66 integrate this with GitHub.
6762
6863 - Optimisation: Identify & fix bottlenecks that waste CPU or RAM
6964
0 ## Generic Linux
1
2 ### Dependencies
3
4 Debian package dependency names (Jessie):
5
6 `apt-get install supercollider ruby2.1 libqscintilla2-dev ruby-dev cmake pkg-config g++ libfftw3-dev`
7
8 For Ubuntu 14.04.3 (Trusty Tahr):
9 `apt-get install supercollider ruby2.0 libqscintilla2-dev ruby-dev cmake pkg-config g++ libfftw3-dev`
10
11 In addition, under Ubuntu 14.04 based distributions try these:
12
13 * `libqscintilla2-l10n`
14 * `qt4-qmake`
15 * `libqt4-dev`
16 * `libffi-dev`
17
18 If you are using a newer version of QT, you need the according version of scintilla. For QT5 they are:
19
20 * `libqt5scintilla2-dev` instead of `libqscintilla2-dev`
21 * `libqt5scintilla2-l10n` instead of `libqscintilla2-l10n`
22
23 Fedora package dependency names:
24
25 * `supercollider` (via [Planet CCRMA](http://ccrma.stanford.edu/planetccrma/software/installplanettwenty.html))
26 * `ruby` (or use [RVM](http://rvm.io/) to manage specific versions)
27 * `qscintilla-devel` (will install `qscintilla` and `qt-devel`)
28 * `cmake`
29
30 ### SuperCollider SC3 Plugins
31
32 After installing SuperCollider, you will also need to compile and
33 install the [SuperCollider SC3 UGen Plugins](https://github.com/supercollider/sc3-plugins)
34 from source, if your distribution does not provide a binary package of them.
35
36 You will need your distribution's `supercollider-dev` package for this step.
37
38 ```
39 git clone https://github.com/supercollider/sc3-plugins.git
40 cd sc3-plugins
41 git submodule init
42 git submodule update
43 git checkout efba3baaea873f4e4d44aec3bb7468dd0938b4a6
44 cp -r external_libraries/nova-simd/* source/VBAPUGens
45 mkdir build
46 cd build
47 cmake -DSC_PATH=/usr/include/SuperCollider -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
48 make
49 sudo make install
50 ```
51
52 ### Server extensions
53
54 Compile the server extensions by `cd`ing into the directory `app/server/bin` and running the script `compile-extensions.rb`. This will take some time.
55
56 ### Qt GUI
57
58 You must compile the server extensions prior to this step.
59
60 `cd` into the directory `app/gui/qt/` and run the script `rp-build-app`. This will also take some time.
61
62 ### Running
63
64 Start the jack sound server daemon `jackd`. This is easily done through [qjackctl](http://qjackctl.sourceforge.net/), available as `qjackctl` in Debian.
65
66 that didn't work for me, but typing this, after randomly googling and trying various things, did:
67 `jackd -R -d alsa -d hw:1`
68
69 On systems like Ubuntu that run pulseaudio, use
70 `pasuspender -- jackd -R -d alsa`
71
72 Then run the script `sonic-pi` in the directory `app/gui/qt`.
73
74 ----
75
76 ## Arch Linux
77
78 ### AUR Package
79
80 Arch Linux users are strongly recommended to install the [sonic-pi-git](https://aur.archlinux.org/packages/sonic-pi-git/) package from the AUR; see the wiki article on the [Arch User Repository](https://wiki.archlinux.org/index.php/Arch_User_Repository) if you are unfamiliar with how to install such a package. The PKGBUILD found in this package will:
81 * Clone the latest sonic-pi source from GitHub
82 * Apply a patch to fix a library naming issue
83 * Build sonic-pi from source, according to the instructions found in [Generic Linux](#generic-linux)
84 * Install the built software components to `/opt/sonic-pi-git`
85 * Install the launcher to `/usr/bin/sonic-pi`
86
87 After installing, users need to follow the instructions in the [Generic Linux](#generic-linux) section to start the `jackd` server, and then run `sonic-pi` at a command prompt.
88
89 ### Building from source
90
91 Users can opt to build from source as well if they would like. Instructions and dependencies can be found within the PKGBUILD file in the AUR package previously mentioned, as well as the required patch file.
92
93 ----
94
95 ## Linux Mint (beta)
96
97 ### PPA
98
99 Tested on Linux Mint 17.2, inspired by [this issue](https://github.com/samaaron/sonic-pi/issues/827).
100
101 First, install the binary:
102
103 ```
104 sudo add-apt-repository ppa:sonic-pi/ppa
105 sudo apt-get update
106 sudo apt-get install sonic-pi
107 ```
108
109 Next, install qjackctl:
110
111 `sudo apt-get install qjackctl`
112
113 Then, launch qjackctl from the command line (while suspending PulseAudio):
114
115 `pasuspender -- qjackctl`
116
117 Click the 'Start' button in qjackctl, then launch Sonic Pi :)
0 # Mac OS X
1
2 ## Dependencies
3
4 * Download Qt 5.4+ http://qt-project.org/downloads
5 * Run the setup wizard and install to a known location which we'll call `/path/to/qt`
6 * Grab a copy of the QScintilla libs http://www.riverbankcomputing.co.uk/software/qscintilla/download and untar into a known location which we'll call `/path/to/qscintilla`
7 (current version is QScintilla-gpl-2.9)
8 * Install SuperCollider 3.6 from http://supercollider.github.io/download.html
9 * Download SuperCollider extensions from http://sourceforge.net/projects/sc3-plugins/files/OSX_3.6/SC3ExtPlugins-universal.dmg/download and install as per the included README.txt file
10 * Grab a copy of Sonic Pi's source to a known location (which we'll call `/path/to/sonic-pi/root/`)
11 - `cd /path/to/sonic-pi/root/`
12 - `git clone git://github.com/samaaron/sonic-pi.git`
13
14
15 ## Create Symlinks for Ruby and SuperCollider's scsynth
16
17 * Provide a Ruby version for Sonic Pi to use
18 - The Qt app expects Ruby to exist at a certain path. We can use a symlink to provide an appropriate Ruby Version
19 - `cd /path/to/sonic-pi/root/`
20 - `mkdir -p app/server/native/osx/ruby/bin`
21 - link the ruby version into place:
22 - ``ln -s `which ruby` app/server/native/osx/ruby/bin/ruby``
23 * Provide a SuperCollider scsynth for Sonic Pi to use
24 - The Qt app expects scsynth to exist at a certain path. We can also use a symlink here.
25 - `cd /path/to/sonic-pi/root/`
26 - `cd app/server/native/osx/`
27 - `ln -s /Applications/SuperCollider/SuperCollider.app/Contents/Resources/scsynth .`
28
29 ## Compile Ruby Server extensions
30 ### Prerequisites
31 In order to compile the ruby libraries successfully, make sure you have
32 the following programs installed:
33
34 * [cmake](https://cmake.org)
35 * [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/)
36
37 If you want to check whether you have them installed already, you can do
38 so by typing the following commands in your terminal:
39
40 * `cmake` - If installed, it will show the usage of the program
41 * `pkg-config` - If installed, it will show a message indicating that a
42 package name should be specified.
43
44 Installation of both the programs can be done through Homebrew or MacPorts
45
46 ### Compiling
47 Sonic Pi uses some ruby libraries which have native extensions. We need
48 to compile these with the provided script:
49
50 * `cd /path/to/sonic-pi/root/`
51 * `cd app/server/bin`
52 * `../native/osx/ruby/bin/ruby compile-extensions.rb`
53
54 This will take some time. Ignore the warnings.
55
56 ## Qt GUI
57
58 ### Xcode 6 and lower
59
60 * Build QScintilla:
61 - `cd /path/to/qscintilla/Qt4Qt5`
62 - generate makefile: `/path/to/qt/5.4/clang_64/bin/qmake qscintilla.pro`
63 - `make`
64 * Add the following to SonicPi.pro:
65 ```
66 LIBS += -L /path/to/qscintilla/Qt4Qt5/ -lqscintilla2
67 INCLUDEPATH += /path/to/qscintilla/Qt4Qt5/
68 DEPENDPATH += /path/to/qscintilla/Qt4Qt5/
69 ```
70 * Modify top of mac-build-app appropriately i.e.
71 ```
72 QSCINTILLA=/path/to/qscintilla/Qt4Qt5
73 QTBIN=/path/to/qt/5.4/clang_64/bin
74 ```
75 ### Xcode 7+
76
77 * Build QScintilla:
78 - `cd /path/to/qscintilla/Qt4Qt5`
79 - Add the following to `qscintilla.pro`
80 QMAKE_MAC_SDK = macosx10.11
81 - generate makefile: `/path/to/qt/5.4/clang_64/bin/qmake qscintilla.pro`
82 - `make`
83 - update the dylib inner path part 1: `install_name_tool -id "/path/to/qscintilla/Qt4Qt5/libqscintilla2.12.dylib" /path/to/qscintilla/Qt4Qt5/libqscintilla2.12.dylib`
84 - update the dylib inner path part 2: `install_name_tool -change "libqscintilla2.12.dylib" "/path/to/qscintilla/Qt4Qt5/libqscintilla2.12.dylib" /path/to/qscintilla/Qt4Qt5/libqscintilla2.12.dylib`
85 * Add the following to SonicPi.pro
86 ```
87 LIBS += -L /path/to/qscintilla/Qt4Qt5/ -lqscintilla2
88 INCLUDEPATH += /path/to/qscintilla/Qt4Qt5/
89 DEPENDPATH += /path/to/qscintilla/Qt4Qt5/
90 ```
91 * Add the following to SonicPi.pro
92 ```
93 QMAKE_MAC_SDK = macosx10.11
94 ```
95 * Modify top of mac-build-app appropriately i.e.
96 ```
97 QSCINTILLA=/path/to/qscintilla/Qt4Qt5
98 QTBIN=/path/to/qt/5.4/clang_64/bin
99 ```
100
101
102 ## Building the App
103
104 Finally, we need to build the OS X App
105
106 * `cd /path/to/sonic-pi/root/`
107 * `cd app/gui/qt`
108 * `./mac-build-app`
109 * App should be in `build` dir which you can either launch via Finder or via the following from the `qt` dir:
110 * `./build/Sonic\ Pi.app/Contents/MacOS/Sonic\ Pi`
111
112 Sonic Pi should now boot successfully.
0
1 ## Raspberry Pi
2
3 The Raspberry Pi will happily compile all the required aspects of Sonic
4 Pi. However, be warned that it will take quite some time to complete.
5
6 First grab the dependencies, compile the server extensions, then the GUI then start the app.
7
8 ### Dependencies
9
10 The dependencies for building and running this are:
11
12 * `supercollider`
13 * `ruby1.9.3`
14 * `libqscintilla2-8`
15 * `libqscintilla2-dev`
16 * `qt4-dev-tools`
17 * `cmake`
18 * `ruby-dev`
19 * `libffi-dev`
20
21 Use `sudo apt-get install` to ensure each of these are on your system.
22
23 ### Server extensions
24
25 Compile the server extensions by `cd`ing into the directory `app/server/bin` and running the script `compile-extensions.rb`. This will take some time.
26
27 ### Qt GUI
28
29 `cd` into the directory `app/gui/qt/` and run the script `rp-build-app`. This will also take some time.
30
31 ### Running
32
33 Run the script `rp-app-bin` in the directory `app/gui/qt`.
0 # SONIC PI DETAILED BUILD YOUR OWN INSTRUCTIONS FOR WINDOWS 10 BASED ON LATEST SP 2.9dev after e7fde3a
1
2 Last revision 29th December 2015 @ 7:32PM AWST (minor grammar improvement)
3
4 Tested on Windows 10 64bit (running under vmware fusion on a Mac) and Windows 7 64bit.
5
6 This document details the process from beginning to end to build Sonic Pi 2.9dev and I hope it will be useful to others, and encourage them to have a go themselves.
7
8 First there is quite a bit of software to install to facilitate the build, not least the source files for Sonic Pi.
9
10 First install **git** from https://msysgit.github.io/ click **download** then run `Git-2.6.3-64-bit.exe` I selected options **Use git from Windows Command Prompt**, **Checkout Windows-style**, **commit Unix-style line endings**, **Use Windows default console window**, and **Enable file system caching**
11
12 Now install the **Sonic Pi source files**. I put mine at the top level of the c: drive
13 Start a command window by typing **cmd** in the search field
14 ```
15 cd c:/
16 git clone https://github.com/samaaron/sonic-pi.git
17 ```
18
19 Now download **Visual Studio Express 2013 for Windows Desktop with Update 5** from
20 https://www.visualstudio.com/downloads/download-visual-studio-vs
21 scroll down the page and find **Visual Studio 2013**, and then **Express 2013 for Desktop**.
22 You can either choose **Web Installer** or **ISO** depending upon whether you want to install over the web or download a complete 3.3Gb and install from that. I did the full download, mounted the iso disk image and installed from that.
23
24 Download **Qt**. use **version 5.5.1** as version 5.4.x is NOT qualified for Windows 10
25 I went to http://www.qt.io/download-open-source/#section-2
26 And selected **Qt 5.5.1 for Windows 32-bit (VS 2013, 804 MB)**
27
28 http://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-windows-x86-msvc2013-5.5.1.exe
29 After download, I ran the installer, accepting the default settings, which installs Qt at
30 ```C:\Qt\Qt5.5.1``` (I skipped setting up an account!)
31
32 Install **cmake** from the link http://www.cmake.org/download
33 Scroll down and select ```cmake-3.4.1-win32-x86.exe``` and download.
34 Run the installer, selecting the option **Add to the System PATH for all (or current) users**
35
36
37 Install **Ruby** from http://rubyinstaller.org/downloads/
38 I choose **Ruby 2.2.3** although the install works with 2.1.7 with minor alterations which are detailed below.
39 Choose the **32 bit version**
40 Run the installer when downloaded. Choose the default install ```c:\Ruby22``` (C:\Ruby21 if you use Ruby2.1.7)
41 Select **add Ruby Executables to your path** and **associate .rb and .rbw files with this installation**.
42
43 Scroll further down the page of http://rubyinstaller.org/downloads/ and select
44 ```DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe``` and download that as well
45 Make sure you use the **32 bit version for Ruby 2.0 and higher**.
46 When downloaded, run this and set the extract location to ```c:\RubyDev```
47
48 Now you have to complete the installation as follows:
49 In a command window
50 ```
51 cd c:\RubyDev
52 ruby dk.rb init
53 ```
54
55 This will create a file ```config.yml``` inside the ```RubyDev``` folder
56 Check its contents by typing;
57 ```Notepad config.yml```
58 You should see a line ``` - C:\Ruby22```
59 at the end of the file. ( - C:\Ruby21 if you use Ruby2.1.7)
60 Close notepad
61 Now type
62 ```ruby dk.rb install```
63
64 Now you add two files from **pkgconfiglite**
65 Open the link
66 http://sourceforge.net/projects/pkgconfiglite/files
67 and select
68 **Looking for the latest version? Download pkg-config-lite-0.28-1_bin-win32.zip (47.7 kB)**
69 When the file has downloaded, extract and then copy the file ```pkg-config``` from the ```bin``` folder to ```c:\RubyDev\bin```
70 and the file ```pkg.m4``` from the ```share\aclocal``` folder to ```c:\RubyDev\share\aclocal```
71
72 That completes the setup for RubyDev
73
74 ### Preparing the Ruby section
75 This section of the Sonic Pi install.md file should be completed next BEFORE attempting the section **Qt GUI** (unlike in the original install.md document) as the final build in this section requires one of the gems to be installed before it is run.
76
77 Copy ```c:\ruby22\*``` into ```c:\sonic-pi\apps\server\native\windows\ruby```
78 (amend to c:\Ruby21\* if you use Ruby2.1.7)
79 You will need to create the last two folders windows\ruby before doing this, which is best done from a File Explorer window. The copying is also best done using **two** File Explorer windows, one set to ```c:\Ruby22``` (or C:Ruby21 if you use Ruby2.1.7) and the other to ```c:\sonic-pi\app\server\native\windows\ruby```
80 You can leave out the **Doc** folder and the two **unins000** files.
81 Now open a cmd window and navigate to c:\sonic-pi\app\server\native\windows\ruby
82 From there we will install gem files required by Sonic Pi
83
84 ```.\bin\gem install did_you_mean```
85
86 (allow access if you are asked). The install may take a little time. Eventually it will say two gems installed (did_you_mean and interception)
87
88 ```.\bin\gem install ffi```
89
90
91 Another gem recently added, that is needed specifically for the windows install is ```win32-process```
92
93 ```.\bin\gem install win32-process```
94
95 The fourth gem file is problematical, and needs a patch to install. It goes like this:
96
97 ```.\bin\gem fetch rugged```
98
99 This will fetch the latest version which is rugged-0.23.3
100
101 ```
102 .\bin\gem unpack rugged-0.23.3.gem
103 .\bin\gem spec rugged-0.23.3.gem --ruby > rugged-0.23.3\rugged.gemspec
104 ```
105
106 Now we have to apply a patch to one of the files.
107
108 ```
109 cd rugged-0.23.3\ext\rugged
110 notepad extconf.rb
111 ```
112 In the notepad window select **Find** from the Edit Menu (**ctrl+F**) and search for
113
114 ```Unix Makefiles\””)```
115
116 and change it to read
117
118 ```Unix Makefiles\" -DCMAKE_INSTALL_PREFIX=C:/ -DWINHTTP=OFF")```
119
120 NB: this may no longer be needed with current versions of rugged
121
122 Then resave the file and quit notepad.
123 Go back to the cmd window
124
125 ```cd ..\..\```
126
127 you should be back in the folder ```c:\sonic-pi\app\server\native\windows\ruby\rugged-0.23.3```
128
129 Now build the patched rugged
130
131 ```
132 ..\bin\gem build rugged.gemspec
133 ..\bin\gem install rugged-0.23.3.gem
134 ```
135
136 NB: rb-native is not being used for Windows packages, the gems can happily live where they were installed by the "local" Ruby. You MAY need to delete the vendor/rugged directory so it uses the right version.
137
138 That completes the ruby preparation work. Close the cmd and FileExplorer windows.
139
140
141 ### Preparing the Qt GUI
142 From the **Start Button** select **All apps** and scroll down to **Visual Studio 2013**, and then to **Visual Studio Tools**. From the Window that opens **right click** **VS2013 x86 Native Tools Command Prompt** and **Pin it to the Taskbar**. **Double click it** there to open a window which should be titled **VS2013 x86 Native Tools Command Prompt**.
143
144 Type **path** in that window after the prompt and press the enter key.
145
146 You will see a long string of folder locations which comprise the path associated with the window, which it will automatically search. It includes links to the various elements of visual studio. However, we have to add one more item, which is the path of the Qt bin directory.
147
148 Since the Visual Studio prompt path is rebuilt each time a window is opened, I have found the convenient way to do this is to create a **batch file** which can be run each time to add the additional entry. Since I want to store this at the C:\ top level, we have to run the cmd window with administrative privileges to create it.
149 Close the open Visual Studio Command Prompt window, then reopen it, holding down **Shift** and **Ctrl** when you do so. Say **Yes** to the popup window, and you will then have a cmd window with admin privileges.
150
151 ```
152 cd c:\
153 notepad
154 ```
155
156 In the open notepad window type
157 ```
158 PATH=%PATH%;C:\Qt\Qt5.5.1\5.5\msvc2013\bin
159 ```
160
161 Then select **save** and save the file as ```pathupdate.bat```, at the top level of ```c:\``` Make sure you select **All Files** for the type so the extension can be set to **.bat** and NOT **.txt**
162
163 Close notepad and type ```dir``` (and press return) You should see the file ```pathupdate.bat``` listed.
164
165 Close the cmd window and double click the icon on the taskbar to reopen it with "normal" privileges.
166
167 ```
168 cd c:\
169 pathupdate.bat
170 ```
171
172 You should see the long path as before, but now with an additional entry ```C:\Qt\Qt5.5.1\5.5\msvc2013\bin``` at the end
173 Leave this window open.
174
175 Download **Qscintilla** from https://www.riverbankcomputing.com/software/qscintilla/download
176
177 Select the ```Qscintilla-gpl-2.9.1.zip``` file to download
178 When downloaded extract the ```Qscintilla-gpl-2.9.1``` folder to ```c:\```
179
180 Return to the visual studio command window.
181 ```
182 cd c:\QScintilla-gpl-2.9.1\Qt4Qt5
183 qmake qscintilla.pro
184 nmake
185 ```
186 (it will now be compiled)
187 ```
188 nmake install
189 ```
190 keep the cmd window open
191
192 copy ```Qt4Qt5\release\moc_qsciscintilla.cpp``` and ```moc_qsciscintillabase.cpp``` to
193 ```c:\sonic-pi\app\gui\qt\platform\win``` (There may be two files there already, but overwrite them)
194 Best done using two FileExplorer windows as before.
195
196 Now we do the main build of Sonic-Pi gui, using the open cmd window.
197 ```
198 cd c:\sonic-pi
199 .\app\gui\qt\win-build-app.bat
200 ```
201 This should carry out the build. Don’t worry about various warnings en route.
202 We now add some files from visual studio which will be needed at run time.
203 Open two FileExplorer windows. In the first navigate to:
204
205 ```Local Disk (C:)> Program Files (x86) > Microsoft Visual Studio 12.0 > VC > redist > x86 > Microsoft.VC120.CRT```
206
207 In the second to
208
209 ```Local Disk (C:)> sonic-pi> app > gui > qt > release```
210
211 Copy msvcp120.dll and msvcr120.dll from the former to the latter.
212
213 In the second window navigate to **sonic-pi.exe** and **right-click** it to create a shortcut. Drag the shortcut to the desktop. Do NOT attempt to run it yet.
214
215 ### The final stage deals with SuperCollider
216 Install SuperCollider from http://supercollider.github.io/download.html
217 Select the **Win32 3.6.6** installer and download it
218
219 Run the installer
220
221 Download additional SuperCollider plugins from
222
223 http://sourceforge.net/projects/sc3-plugins/files/sc3-plugins%20Windows/
224
225 Select the latest version link at the top of the page and download
226 ```Looking for the latest version? Download sc3-plugins-3.6.0-win32.zip (10.3 MB)```
227 Extract them in the download folder.
228
229 NB: The current Sonic Pi 2.9 is packaged with sc3-plugins 3.7.0-beta (f978dc2), which can be compiled in an MSYS environment as follows:
230 * install FFTW3 binaries from ftp://ftp.fftw.org/pub/fftw/fftw-3.3.4-dll32.zip to `/home/sc/fftw3.3.4-dll32` for example
231 * `git clone https://github.com/supercollider/sc3-plugins.git`
232 * `cd sc3-plugins && git submodule init && git submodule update`
233 * `mkdir build && cd build`
234 * `cmake -DSC_PATH=/home/sc/sources/supercollider/ -DFFTW3F_LIBRARY=/home/sc/fft w-3.3.4-dll32/libfftw3f-3.dll -DFFTW3F_INCLUDE_DIR=/home/sc/fftw3.3.4-dll32 -G "Unix Makefiles" ..`
235 * manually add `-IC:/msys/home/sc/fftw-3.3.4-dll32/` to `build/source/CMakeFiles/PitchDetection.dir/includes_CXX.rsp` (no idea why)
236 * make install
237 * copy SCX files from `c:\program files (x86)\sc3-plugins` or wherever it installs them
238
239 We now copy files to the sonic-pi installation.
240
241 With two FileExplorer windows navigate the first to ```Local Disk (C:) >Program Files (x86) > SuperCollider```
242
243 And the second (destination) to ```Local Disk (C:)> sonic-pi > app > server > native > windows```
244
245 Copy the ```plugins``` folder from the former to the latter.
246
247 Copy all dll files **EXCEPT those starting with QT** from the former to the latter.
248
249 Copy ```scsynth.exe``` from the former to the latter.
250
251 Keep these windows open for the moment.
252
253 Open the ```sc3-plugins-3.6.0-win32``` folder in the Downloads folder and navigate to ```SC3-plugins```.
254 Copy all the *.scx files that folder into the ```plugins``` folder copied to destination folder in the previous step.
255
256 Close the open FileExplorer windows.
257
258 There is one final patch to install. The Ugen file associated with the Piano synth was updated in the summer, to eliminate a problem with the tuning. Unfortunately the current Ugen has NOT yet been updated for windows, and consequently we have to use a modified version of the MdaUgen. This can be downloaded from https://goo.gl/K316fw
259 Extract the contents and follow the instructions in the readme file. Basically you replace the file ```sonic-pi-piano.scsyndef``` in ```c:\sonic-pi\etc\synthdefs\compiled``` with the one downloaded in the patch.
260
261 (You may like to retain a copy of the original before overwriting it, or perhaps rename it to ```sonic-pi-piano.scsyndef.original```)
262
263 ### Finished!
264 That should complete the installation of Sonic Pi.
265 Try running it by double clicking the Sonic Pi shortcut on the desktop.
266
267
268 Robin Newman, 17th December 2015
00 # Installing Sonic Pi from Source
11
22 If you want to use the very latest development version of Sonic Pi, then
3 you'll need to compile from source. Here are instructions for the
4 following platforms:
3 you'll need to compile from source. Due to the complex nature of Sonic
4 Pi's architecture this should only be considered by those happy playing
5 around with the Terminal and are happy working with bleeding edge
6 software.
57
6 * [Raspberry Pi](#raspberry-pi)
7 * [Generic Linux](#generic-linux)
8 * [Arch Linux](#arch-linux)
9 * [Mac OS X](#mac-os-x)
10 * [Windows](#windows)
8 For all other users, downloading the latest pre-built app for your
9 platform is highly recommended: http://sonic-pi.net
10
1111
12 ----
12 There are instructions for the following platforms in their own separate
13 files:
1314
14 ## Raspberry Pi
15
16 The Raspberry Pi will happily compile all the required aspects of Sonic
17 Pi. However, be warned that it will take quite some time to complete.
18
19 First grab the dependencies, compile the server extensions, then the GUI then start the app.
20
21 ### Dependencies
22
23 The dependencies for building and running this are:
24
25 * `supercollider`
26 * `ruby1.9.3`
27 * `libqscintilla2-8`
28 * `libqscintilla2-dev`
29 * `qt4-dev-tools`
30 * `cmake`
31 * `ruby-dev`
32 * `libffi-dev`
33
34 Use `sudo apt-get install` to ensure each of these are on your system.
35
36 ### Server extensions
37
38 Compile the server extensions by `cd`ing into the directory `app/server/bin` and running the script `compile-extensions.rb`. This will take some time.
39
40 ### Qt GUI
41
42 `cd` into the directory `app/gui/qt/` and run the script `rp-build-app`. This will also take some time.
43
44 ### Running
45
46 Run the script `rp-app-bin` in the directory `app/gui/qt`.
47
48 -----
49
50 ## Generic Linux
51
52 ### Dependencies
53
54 Debian package dependency names (Jessie):
55
56 `apt-get install supercollider ruby2.1 libqscintilla2-dev ruby-dev cmake pkg-config g++`
57
58 For Ubuntu 14.04.3 (Trusty Tahr):
59 `apt-get install supercollider ruby2.0 libqscintilla2-dev ruby-dev cmake pkg-config g++`
60
61 In addition, under Ubuntu 14.04 based distributions try these:
62
63 * `libqscintilla2-l10n`
64 * `qt4-qmake`
65 * `libqt4-dev`
66 * `libffi-dev`
67
68 If you are using a newer version of QT, you need the according version of scintilla. For QT5 they are:
69
70 * `libqt5scintilla2-dev` instead of `libqscintilla2-dev`
71 * `libqt5scintilla2-l10n` instead of `libqscintilla2-l10n`
72
73 In addition, you need to tell sonic-pi to use these. In order to do so, navigate to `app/gui/qt/`
74 and open `SonicPi.pro`with your text editor of choice.
75 Replace `lqscintilla2`with `lqt5scintilla2` everywhere it is written.
76
77 Fedora package dependency names:
78
79 * `supercollider` (via [Planet CCRMA](http://ccrma.stanford.edu/planetccrma/software/installplanettwenty.html))
80 * `ruby` (or use [RVM](http://rvm.io/) to manage specific versions)
81 * `qscintilla-devel` (will install `qscintilla` and `qt-devel`)
82 * `cmake`
83
84 ### Server extensions
85
86 Compile the server extensions by `cd`ing into the directory `app/server/bin` and running the script `compile-extensions.rb`. This will take some time.
87
88 ### Qt GUI
89
90 `cd` into the directory `app/gui/qt/` and run the script `rp-build-app`. This will also take some time.
91
92 ### Running
93
94 Start the jack sound server daemon `jackd`. This is easily done through [qjackctl](http://qjackctl.sourceforge.net/), available as `qjackctl` in Debian.
95
96 that didn't work for me, but typing this, after randomly googling and trying various things, did:
97 `jackd -R -d alsa -d hw:1`
98
99 On systems like Ubuntu that run pulseaudio, use
100 `pasuspender -- jackd -R -d alsa`
101
102 Then run the script `sonic-pi` in the directory `app/gui/qt`.
103
104 ----
105
106 ## Arch Linux
107
108 ### AUR Package
109
110 Arch Linux users are strongly recommended to install the [sonic-pi-git](https://aur.archlinux.org/packages/sonic-pi-git/) package from the AUR; see the wiki article on the [Arch User Repository](https://wiki.archlinux.org/index.php/Arch_User_Repository) if you are unfamiliar with how to install such a package. The PKGBUILD found in this package will:
111 * Clone the latest sonic-pi source from GitHub
112 * Apply a patch to fix a library naming issue
113 * Build sonic-pi from source, according to the instructions found in [Generic Linux](#generic-linux)
114 * Install the built software components to `/opt/sonic-pi-git`
115 * Install the launcher to `/usr/bin/sonic-pi`
116
117 After installing, users need to follow the instructions in the [Generic Linux](#generic-linux) section to start the `jackd` server, and then run `sonic-pi` at a command prompt.
118
119 ### Building from source
120
121 Users can opt to build from source as well if they would like. Instructions and dependencies can be found within the PKGBUILD file in the AUR package previously mentioned, as well as the required patch file.
122
123 ----
124
125 ## Mac OS X
126
127 ### Dependencies
128
129 * Download Qt 5.4+ http://qt-project.org/downloads
130 * Run the setup wizard and install to a known location which we'll call /path/to/qt
131 * Grab a copy of the QScintilla libs http://www.riverbankcomputing.co.uk/software/qscintilla/download and untar into a known location which we'll call /path/to/qscintilla
132 (current version is QScintilla-gpl-2.9)
133 * Install SuperCollider 3.6 from http://supercollider.github.io/download.html
134 * Download SuperCollider extensions from http://sourceforge.net/projects/sc3-plugins/files/OSX_3.6/ and install as per the included README.txt file
135
136 ### Server extensions
137
138 Compile the server extensions by `cd`ing into the directory `app/server/bin` and running the script `compile-extensions.rb`. This will take some time.
139
140 ### Qt GUI
141
142 * Build QScintilla:
143 - `cd /path/to/qscintilla/Qt4Qt5`
144 - generate makefile: `/path/to/qt/5.4/clang_64/bin/qmake qscintilla.pro`
145 - `make`
146 - (OSX only) update the dylib inner path part 1: `install_name_tool -id "/path/to/qscintilla/Qt4Qt5/libqscintilla2.12.dylib" /path/to/qscintilla/Qt4Qt5/libqscintilla2.12.dylib`
147 - (OSX only) update the dylib inner path part 2: `install_name_tool -change "libqscintilla2.12.dylib" "/path/to/qscintilla/Qt4Qt5/libqscintilla2.12.dylib" /path/to/qscintilla/Qt4Qt5/libqscintilla2.12.dylib`
148 * Add the following to SonicPi.pro
149 LIBS += -L /path/to/qscintilla/Qt4Qt5/ -lqscintilla2
150 INCLUDEPATH += /path/to/qscintilla/Qt4Qt5/
151 DEPENDPATH += /path/to/qscintilla/Qt4Qt5/
152 * Modify top of mac-build-app appropriately i.e.
153 QSCINTILLA=/path/to/qscintilla/Qt4Qt5
154 QTBIN=/path/to/qt/5.4/clang_64/bin
155 * Provide a Ruby version for Sonic Pi to use
156 - The Qt app expects Ruby to exist at a certain path. We can use a symlink to provide an appropriate Ruby Version
157 - `$ cd /root/path/to/sonic-pi`
158 - `$ mkdir -p app/server/native/osx/ruby/bin`
159 - check your current ruby version:
160 ```
161 # This should be 2.1.2 although anything 1.9.3+ _should_ work
162 $ ruby --version
163 ```
164 - link the ruby version into place:
165 ```
166 ln -s `which ruby` app/server/native/osx/ruby/bin/ruby
167 ```
168 * Compile any native extensions: `$ app/server/bin/compile-extensions.rb`
169 * Run `./mac-build-app`
170 * App should be in `build` dir
171
172 ----
173
174 ## Windows
175
176 ### Building
177
178 Follow the instructions in [WindowsInstall.md](WindowsInstall.md)
179
180 ### Packaging
181 * TODO: there should be a "make distclean" target to clean up the tree for MSI packaging
182 - or else a script to build a release tree by copying things out of the working tree
183 * There is a WiX project file in `sonic-pi.wxs` -- work in progress
184 - download [WiX Toolset](http://wixtoolset.org/)
185 - see comments at top of sonic-pi.wxs for packaging
15 * Raspberry Pi - `INSTALL-RASPBERRY-PI.md`
16 * Windows - `INSTALL-WINDOWS.md`
17 * Mac - `INSTALL-MAC.md`
18 * Linux - `INSTALL-LINUX.md`
18619
18720 ----
18821
44
55 The MIT License (MIT)
66
7 Copyright (c) 2013, 2014, 2015 Samuel Aaron ([http://sam.aaron.name](http://sam.aaron.name))
7 Copyright (c) 2013, 2014, 2015, 2016 Samuel Aaron ([http://sam.aaron.name](http://sam.aaron.name))
88
99 Permission is hereby granted, free of charge, to any person obtaining a copy
1010 of this software and associated documentation files (the "Software"), to deal
2424 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2525 THE SOFTWARE.
2626
27 ## GUI
28 As the Sonic Pi GUI links with the GPLv3-licensed QScintilla2,
29 distributors of Sonic Pi GUI binaries must comply with the terms of the
30 GPL
2731
2832 ## Docs, Tutorial and Examples
2933 (contents of [etc/doc/](https://github.com/samaaron/sonic-pi/tree/master/etc/doc) and [etc/examples](https://github.com/samaaron/sonic-pi/tree/master/etc/examples) directories)
8387 * [Blankslate](https://github.com/masover/blankslate) - [MIT License](http://opensource.org/licenses/MIT)
8488 * [Did You Mean](https://github.com/yuki24/did_you_mean) - [MIT License](http://opensource.org/licenses/MIT)
8589 * [FFI](https://github.com/ffi/ffi) - [BSD 3-Clause License](http://opensource.org/licenses/BSD-3-Clause)
86 * [FFI Core MIDI](https://github.com/arirusso/ffi-coremidi) - [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)
8790 * [Hamster](https://github.com/hamstergem/hamster) - [MIT License](http://opensource.org/licenses/MIT)
8891 * [i81n](https://github.com/svenfuchs/i18n) - [MIT License](http://opensource.org/licenses/MIT)
8992 * [Interception](https://github.com/ConradIrwin/interception) - [MIT License](http://opensource.org/licenses/MIT)
9093 * [Kramdown](http://kramdown.gettalong.org) - [MIT License](http://opensource.org/licenses/MIT)
91 * [MIDI Winmm](https://github.com/arirusso/midi-winmm) - [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)
92 * [MIDILib](https://github.com/jimm/midilib) - [Ruby License](https://www.ruby-lang.org/en/about/license.txt)
9394 * [Multi JSON](https://github.com/intridea/multi_json) - [MIT License](http://opensource.org/licenses/MIT)
9495 * [Parslet](http://kschiess.github.io/parslet/) - [MIT License](http://opensource.org/licenses/MIT)
9596 * [Rouge](https://github.com/jneen/rouge) - [MIT License](http://opensource.org/licenses/MIT)
9899 * [Ruby Prof](https://github.com/ruby-prof/ruby-prof) - [BSD 2-Clause License](http://opensource.org/licenses/BSD-2-Clause) - [MIT License](http://opensource.org/licenses/MIT)
99100 * [Rugged](https://github.com/libgit2/rugged) - [MIT License](http://opensource.org/licenses/MIT)
100101 * [Thread Safe](https://github.com/ruby-concurrency/thread_safe) - [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)
101 * [UniMIDI](https://github.com/arirusso/unimidi) - [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)
102102 * [Websocket](https://github.com/imanel/websocket-ruby) - [MIT License](http://opensource.org/licenses/MIT)
103103 * [NArray](https://github.com/masa16/narray) - [Ruby License](https://www.ruby-lang.org/en/about/license.txt)
104104 * [Ruby CoreAudio](https://github.com/nagachika/ruby-coreaudio) - [MIT License](http://opensource.org/licenses/MIT)
9494
9595 [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/samaaron/sonic-pi?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
9696 <br/>
97 <img src="https://travis-ci.org/samaaron/sonic-pi.svg?branch=master"/>
97 [![Travis CI](https://travis-ci.org/samaaron/sonic-pi.svg?branch=master)](https://travis-ci.org/samaaron/sonic-pi)
98
+0
-288
WindowsInstall.md less more
0 # SONIC PI DETAILED BUILD YOUR OWN INSTRUCTIONS FOR WINDOWS 10 BASED ON LATEST SP 2.9dev after e7fde3a
1
2 Last revision 29th December 2015 @ 7:32PM AWST (minor grammar improvement)
3
4 Test bed was a Windows 10 64bit install (running under vmware fusion on a Mac)
5
6 This document details the process from beginning to end to build Sonic Pi 2.9dev and I hope it will be useful to others, and encourage them to have a go themselves.
7
8 Prerequisite. A windows 10 computer with internet connection and working soundcard.
9
10 First there is quite a bit of software to install to facilitate the build, not least the source files for Sonic Pi.
11
12 First install **git** from https://msysgit.github.io/ click **download** then run `Git-2.6.3-64-bit.exe` I selected options **Use git from Windows Command Prompt**, **Checkout Windows-style**, **commit Unix-style line endings**, **Use Windows default console window**, and **Enable file system caching**
13
14 Now install the **Sonic Pi source files**. I put mine at the top level of the c: drive
15 Start a command window by typing **cmd** in the search field
16 ```
17 cd c:/
18 git clone https://github.com/samaaron/sonic-pi.git
19 ```
20
21 Now download **Visual Studio Express 2013 for Windows Desktop with Update 5** from
22 https://www.visualstudio.com/downloads/download-visual-studio-vs
23 scroll down the page and find **Visual Studio 2013**, and then **Express 2013 for Desktop**.
24 You can either choose **Web Installer** or **ISO** depending upon whether you want to install over the web or download a complete 3.3Gb and install from that. I did the full download, mounted the iso disk image and installed from that.
25
26 Download **Qt**. use **version 5.5.1** as version 5.4.x is NOT qualified for Windows 10
27 I went to http://www.qt.io/download-open-source/#section-2
28 And selected **Qt 5.5.1 for Windows 32-bit (VS 2013, 804 MB)**
29
30 http://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-windows-x86-msvc2013-5.5.1.exe
31 After download, I ran the installer, accepting the default settings, which installs Qt at
32 ```C:\Qt\Qt5.5.1``` (I skipped setting up an account!)
33
34 Install **cmake** from the link http://www.cmake.org/download
35 Scroll down and select ```cmake-3.4.1-win32-x86.exe``` and download.
36 Run the installer, selecting the option **Add to the System PATH for all (or current) users**
37
38
39 Install **Ruby** from http://rubyinstaller.org/downloads/
40 I choose **Ruby 2.2.3** although the install works with 2.1.7 with minor alterations which are detailed below.
41 Choose the **32 bit version**
42 Run the installer when downloaded. Choose the default install ```c:\Ruby22``` (C:\Ruby21 if you use Ruby2.1.7)
43 Select **add Ruby Executables to your path** and **associate .rb and .rbw files with this installation**.
44
45 Scroll further down the page of http://rubyinstaller.org/downloads/ and select
46 ```DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe``` and download that as well
47 Make sure you use the **32 bit version for Ruby 2.0 and higher**.
48 When downloaded, run this and set the extract location to ```c:\RubyDev```
49
50 Now you have to complete the installation as follows:
51 In a command window
52 ```
53 cd c:\RubyDev
54 ruby dk.rb init
55 ```
56
57 This will create a file ```config.yml``` inside the ```RubyDev``` folder
58 Check its contents by typing;
59 ```Notepad config.yml```
60 You should see a line ``` - C:\Ruby22```
61 at the end of the file. ( - C:\Ruby21 if you use Ruby2.1.7)
62 Close notepad
63 Now type
64 ```ruby dk.rb install```
65
66 Now you add two files from **pkgconfiglite**
67 Open the link
68 http://sourceforge.net/projects/pkgconfiglite/files
69 and select
70 **Looking for the latest version? Download pkg-config-lite-0.28-1_bin-win32.zip (47.7 kB)**
71 When the file has downloaded, extract and then copy the file ```pkg-config``` from the ```bin``` folder to ```c:\RubyDev\bin```
72 and the file ```pkg.m4``` from the ```share\aclocal``` folder to ```c:\RubyDev\share\aclocal```
73
74 That completes the setup for RubyDev
75
76 ### Preparing the Ruby section
77 This section of the Sonic Pi install.md file should be completed next BEFORE attempting the section **Qt GUI** (unlike in the original install.md document) as the final build in this section requires one of the gems to be installed before it is run.
78
79 Copy ```c:\ruby22\*``` into ```c:\sonic-pi\apps\server\native\windows\ruby```
80 (amend to c:\Ruby21\* if you use Ruby2.1.7)
81 You will need to create the last two folders windows\ruby before doing this, which is best done from a File Explorer window. The copying is also best done using **two** File Explorer windows, one set to ```c:\Ruby22``` (or C:Ruby21 if you use Ruby2.1.7) and the other to ```c:\sonic-pi\app\server\native\windows\ruby```
82 You can leave out the **Doc** folder and the two **unins000** files.
83 Now open a cmd window and navigate to c:\sonic-pi\app\server\native\windows\ruby
84 From there we will install gem files required by Sonic Pi
85
86 ```.\bin\gem install did_you_mean```
87
88 (allow access if you are asked). The install may take a little time. Eventually it will say two gems installed (did_you_mean and interception)
89
90 ```.\bin\gem install ffi```
91
92
93 Another gem recently added, that is needed specifically for the windows install is ```win32-process```
94
95 ```.\bin\gem install win32-process```
96
97 The fourth gem file is problematical, and needs a patch to install. It goes like this:
98
99 ```.\bin\gem fetch rugged```
100
101 This will fetch the latest version which is rugged-0.23.3
102
103 ```
104 .\bin\gem unpack rugged-0.23.3.gem
105 .\bin\gem spec rugged-0.23.3.gem --ruby > rugged-0.23.3\rugged.gemspec
106 ```
107
108 Now we have to apply a patch to one of the files.
109
110 ```
111 cd rugged-0.23.3\ext\rugged
112 notepad extconf.rb
113 ```
114 In the notepad window select **Find** from the Edit Menu (**ctrl+F**) and search for
115
116 ```Unix Makefiles\””)```
117
118 and change it to read
119
120 ```Unix Makefiles\" -DCMAKE_INSTALL_PREFIX=C:/ -DWINHTTP=OFF")```
121
122 Then resave the file and quit notepad.
123 Go back to the cmd window
124
125 ```cd ..\..\```
126
127 you should be back in the folder ```c:\sonic-pi\app\server\native\windows\ruby\rugged-0.23.3```
128
129 Now build the patched rugged
130
131 ```
132 ..\bin\gem build rugged.gemspec
133 ..\bin\gem install rugged-0.23.3.gem
134
135
136 ```
137 create the directory path ```c:\sonic-pi\app\server\rb-native\windows\2.2.0```
138
139 You will have to create the last two folders windows\2.2.0 in this path. Easiest to do this with FileExplorer Window NB if you are using Ruby 2.1.x you will substitute the folder 2.1.0 instead of 2.2.0 here. The compiled shared libraries for the gems will be copied to this folder. Keep this window (hereafter referred to as the ```gem .so folder```) open for the purpose.
140
141 Different versions of Ruby appear to store the compiled libraries in different places, so it is probably easiest to search for them using a new FileExplorer Window. Open such a window, and navigate to
142 ```
143 c:\ > sonic-pi > app > server > native > windows > ruby > lib > ruby > gems
144 ```
145 You will use this window three times to search for the three .so files which need to be copied.
146
147 A) ***did_you_mean gem*** The shared object file in this case is called ```method_receiver.so``` It will be copied to a folder ```did_you_mean``` which you have to create in the ```gem .so folder``` referred to above.
148 To find it, type ```method*.so``` in the search field (top right)
149 Select one of the hits, right click and select open file location. This should reveal a file ```method_receiver.so``` which is the shared object file to support the did_you_mean gem. This needs to be copied to the folder ```did_you_mean``` which you created in the ```gem .so folder```
150
151 B) ***ffi gem*** The shared object file in this case is called ```ffi_c.so``` It is copied to the ```gem .so folder```
152 use the left arrow in the window where the ```method_receiver.so``` file was found to return to the search screen, and amend the search. Search for ```ffi*.so```
153 IF you are using Ruby 2.2.* you will see several matches. Note that they are NOT all the same size. This is because this gem unfortunately builds with several versions of the file for different versions of Ruby. IT IS VERY IMPORTANT TO SELECT THE RIGHT ONE, which will be in a folder ```2.2``` Other versions which you DON'T want are in folders 1.8,1.9,2.0 and 2.1. Copy the correct version to
154 the ```gem .so folder``` If you are using Ruby 2.1.* the problem does not seem to arise, and although there are several matches to the search, they are all identical.
155
156 C) ***rugged gem*** The shared object file in this case is ```rugged.so``` It is copied to the ```gem .so folder```
157 use the left arrow in the window where the ```ffi_c.so``` file was found to return to the search screen, and amend the search. Search for ```rugged.so``` Select one of the matches and copy the file to the ```gem .so folder```
158
159 At the end of this copying process the ```gem .so folder ``` which is
160 ```
161 c:\app\server\rb-native\windows\2.2.0\
162 ```
163 (assuming you are using Ruby 2.2.*, or a path ending in 2.1.0 if using Ruby 2.1.*) will contain: ```ffi_c.so```, ```rugged.so``` and a folder named ```did_you_mean``` containing ```method_receiver.so```
164
165 (Note nothing needs to be copied with the win32-process gem)
166
167 That completes the ruby preparation work. Close the cmd and FileExplorer windows.
168
169
170 ### Preparing the Qt GUI
171 From the **Start Button** select **All apps** and scroll down to **Visual Studio 2013**, and then to **Visual Studio Tools**. From the Window that opens **right click** **VS2013 x86 Native Tools Command Prompt** and **Pin it to the Taskbar**. **Double click it** there to open a window which should be titled **VS2013 x86 Native Tools Command Prompt**.
172
173 Type **path** in that window after the prompt and press the enter key.
174
175 You will see a long string of folder locations which comprise the path associated with the window, which it will automatically search. It includes links to the various elements of visual studio. However, we have to add one more item, which is the path of the Qt bin directory.
176
177 Since the Visual Studio prompt path is rebuilt each time a window is opened, I have found the convenient way to do this is to create a **batch file** which can be run each time to add the additional entry. Since I want to store this at the C:\ top level, we have to run the cmd window with administrative privileges to create it.
178 Close the open Visual Studio Command Prompt window, then reopen it, holding down **Shift** and **Ctrl** when you do so. Say **Yes** to the popup window, and you will then have a cmd window with admin privileges.
179
180 ```
181 cd c:\
182 notepad
183 ```
184
185 In the open notepad window type
186 ```
187 PATH=%PATH%;C:\Qt\Qt5.5.1\5.5\msvc2013\bin
188 ```
189
190 Then select **save** and save the file as ```pathupdate.bat```, at the top level of ```c:\``` Make sure you select **All Files** for the type so the extension can be set to **.bat** and NOT **.txt**
191
192 Close notepad and type ```dir``` (and press return) You should see the file ```pathupdate.bat``` listed.
193
194 Close the cmd window and double click the icon on the taskbar to reopen it with "normal" privileges.
195
196 ```
197 cd c:\
198 pathupdate.bat
199 ```
200
201 You should see the long path as before, but now with an additional entry ```C:\Qt\Qt5.5.1\5.5\msvc2013\bin``` at the end
202 Leave this window open.
203
204 Download **Qscintilla** from https://www.riverbankcomputing.com/software/qscintilla/download
205
206 Select the ```Qscintilla-gpl-2.9.1.zip``` file to download
207 When downloaded extract the ```Qscintilla-gpl-2.9.1``` folder to ```c:\```
208
209 Return to the visual studio command window.
210 ```
211 cd c:\QScintilla-gpl-2.9.1\Qt4Qt5
212 qmake qscintilla.pro
213 nmake
214 ```
215 (it will now be compiled)
216 ```
217 nmake install
218 ```
219 keep the cmd window open
220
221 copy ```Qt4Qt5\release\moc_qsciscintilla.cpp``` and ```moc_qsciscintillabase.cpp``` to
222 ```c:\sonic-pi\app\gui\qt\platform\win``` (There may be two files there already, but overwrite them)
223 Best done using two FileExplorer windows as before.
224
225 Now we do the main build of Sonic-Pi gui, using the open cmd window.
226 ```
227 cd c:\sonic-pi
228 .\app\gui\qt\win-build-app.bat
229 ```
230 This should carry out the build. Don’t worry about various warnings en route.
231 We now add some files from visual studio which will be needed at run time.
232 Open two FileExplorer windows. In the first navigate to:
233
234 ```Local Disk (C:)> Program Files (x86) > Microsoft Visual Studio 12.0 > VC > redist > x86 > Microsoft.VC120.CRT```
235
236 In the second to
237
238 ```Local Disk (C:)> sonic-pi> app > gui > qt > release```
239
240 Copy msvcp120.dll and msvcr120.dll from the former to the latter.
241
242 In the second window navigate to **sonic-pi.exe** and **right-click** it to create a shortcut. Drag the shortcut to the desktop. Do NOT attempt to run it yet.
243
244 ### The final stage deals with SuperCollider
245 Install SuperCollider from http://supercollider.github.io/download.html
246 Select the **Win32 3.6.6** installer and download it
247
248 Run the installer
249
250 Download additional SuperCollider plugins from
251
252 http://sourceforge.net/projects/sc3-plugins/files/sc3-plugins%20Windows/
253
254 Select the latest version link at the top of the page and download
255 ```Looking for the latest version? Download sc3-plugins-3.6.0-win32.zip (10.3 MB)```
256 Extract them in the download folder.
257
258 We now copy files to the sonic-pi installation.
259
260 With two FileExplorer windows navigate the first to ```Local Disk (C:) >Program Files (x86) > SuperCollider```
261
262 And the second (destination) to ```Local Disk (C:)> sonic-pi > app > server > native > windows```
263
264 Copy the ```plugins``` folder from the former to the latter.
265
266 Copy all dll files **EXCEPT those starting with QT** from the former to the latter.
267
268 Copy ```scsynth.exe``` from the former to the latter.
269
270 Keep these windows open for the moment.
271
272 Open the ```sc3-plugins-3.6.0-win32``` folder in the Downloads folder and navigate to ```SC3-plugins```.
273 Copy all the *.scx files that folder into the ```plugins``` folder copied to destination folder in the previous step.
274
275 Close the open FileExplorer windows.
276
277 There is one final patch to install. The Ugen file associated with the Piano synth was updated in the summer, to eliminate a problem with the tuning. Unfortunately the current Ugen has NOT yet been updated for windows, and consequently we have to use a modified version of the MdaUgen. This can be downloaded from https://goo.gl/K316fw
278 Extract the contents and follow the instructions in the readme file. Basically you replace the file ```sonic-pi-piano.scsyndef``` in ```c:\sonic-pi\etc\synthdefs\compiled``` with the one downloaded in the patch.
279
280 (You may like to retain a copy of the original before overwriting it, or perhaps rename it to ```sonic-pi-piano.scsyndef.original```)
281
282 ### Finished!
283 That should complete the installation of Sonic Pi.
284 Try running it by double clicking the Sonic Pi shortcut on the desktop.
285
286
287 Robin Newman, 17th December 2015
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, distribution,
1818
1919 # -- Change to match the location of QScintilla on your system
2020 #
21 LIBS += -L/Users/sam/Downloads/tmp/QScintilla-gpl-2.9/Qt4Qt5 -lqscintilla2
21 LIBS += -L/Users/sam/Downloads/tmp/QScintilla-gpl-2.9/Qt4Qt5
2222 INCLUDEPATH += /Users/sam/Downloads/tmp/QScintilla-gpl-2.9/Qt4Qt5
2323 DEPENDPATH += /Users/sam/Downloads/tmp/QScintilla-gpl-2.9/Qt4Qt5
2424 # --
2525
26 QT += core gui concurrent network
27
28 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
29
30
31
3226 TARGET = 'sonic-pi'
3327
28 QT += core gui concurrent network
29 greaterThan(QT_MAJOR_VERSION, 4) {
30 QT += widgets
31 }
32
33 # Linux only
34 unix:!macx {
35 lessThan(QT_MAJOR_VERSION, 5) {
36 LIBS += -lqscintilla2
37 } else {
38 LIBS += -lqt5scintilla2
39 }
40 QMAKE_CXXFLAGS += -Wall -Werror -Wextra
41 }
42
43 # Mac OS X only
3444 macx {
3545 TARGET = 'Sonic Pi'
46 LIBS += -lqscintilla2
3647 QT += macextras
3748 DEFINES += DONT_USE_OSX_KEYS
49 QMAKE_CXXFLAGS += -Wall -Werror -Wextra
3850 }
3951
40 !win32 {
41 QMAKE_CXXFLAGS += -Wall -Werror -Wextra
42 }
52 # Windows only
4353 win32 {
54 LIBS += -lqscintilla2
4455 QMAKE_CXXFLAGS += /WX
4556 DEFINES += _CRT_SECURE_NO_WARNINGS _WINSOCK_DEPRECATED_NO_WARNINGS
4657 }
5768 sonicpiscintilla.cpp \
5869 oschandler.cpp \
5970 sonicpilog.cpp \
60 sonicpiserver.cpp \
61 sonicpiudpserver.cpp \
62 sonicpitcpserver.cpp \
71 sonic_pi_osc_server.cpp \
72 sonic_pi_udp_osc_server.cpp \
73 sonic_pi_tcp_osc_server.cpp \
6374 sonicpitheme.cpp
6475 win32 {
6576 # have to link these explicitly for some reason
7586 sonicpiapis.h \
7687 sonicpiscintilla.h \
7788 oschandler.h \
78 sonicpiserver.h \
79 sonicpiudpserver.h \
89 sonic_pi_osc_server.h \
90 sonic_pi_udp_osc_server.h \
91 sonic_pi_tcp_osc_server.h \
8092 ruby_help.h \
81 sonicpitcpserver.h \
8293 sonicpitheme.h
8394
8495 TRANSLATIONS = lang/sonic-pi_de.ts \
8899 lang/sonic-pi_pl.ts \
89100 lang/sonic-pi_fr.ts \
90101 lang/sonic-pi_es.ts \
91 lang/sonic-pi_hu.ts
102 lang/sonic-pi_hu.ts \
103 lang/sonic-pi_zh-Hans.ts \
104 lang/sonic-pi_zh-Hant.ts \
92105
93106 OTHER_FILES += \
94107 images/copy.png \
107120 RC_FILE = SonicPi.rc
108121
109122 ICON = images/app.icns
110 LIBS += -lqscintilla2
111123
112124 win32 {
113125 install_qsci.files = $$[QT_INSTALL_LIBS]\qscintilla2.dll
55 <file>images/prefs.png</file>
66 <file>images/run.png</file>
77 <file>images/save.png</file>
8 <file>images/load.png</file>
89 <file>images/stop.png</file>
910 <file>images/rec.png</file>
1011 <file>images/recording_a.png</file>
4849 <file>images/coreteam/josephwilk.png</file>
4950 <file>images/coreteam/xavierriley.png</file>
5051 <file>images/coreteam/jweather.png</file>
52 <file>images/coreteam/hannozulla.png</file>
5153
5254 <file>html/doc.html</file>
5355 <file>html/info.html</file>
6466 <file>lang/sonic-pi_fr.qm</file>
6567 <file>lang/sonic-pi_es.qm</file>
6668 <file>lang/sonic-pi_hu.qm</file>
69 <file>lang/sonic-pi_zh-Hans.qm</file>
70 <file>lang/sonic-pi_zh-Hant.qm</file>
6771 </qresource>
6872 </RCC>
22 // Full project source: https://github.com/samaaron/sonic-pi
33 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 //
5 // Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 // All rights reserved.
77 //
88 // Permission is granted for use, copying, modification, and
88 ___/ / /_/ / / / / / /__ / ____/ /
99 /____/\____/_/ /_/_/\___/ /_/ /_/
1010 </pre>
11 <p class="strapline"><b>music_as <span class="highlight">:code</span></b><br/>
12 <b>code_as <span class="highlight">:art</span></b></p>
1311
14 <p class="version">v2.9</p>
12 <p class="strapline">
13 <pre>music_as <span class="highlight">:code</span>
14 code_as <span class="highlight">:art</span></pre>
15 </p>
16
17 <p class="version">v2.10</p>
1518
1619 </center>
1720
2020
2121 <br/>
2222
23 <p>
24 <b>music_as <span class="highlight">:code</span></b><br/>
25 <b>code_as <span class="highlight">:art</span></b>
23
24 <p class="strapline">
25 <pre>music_as <span class="highlight">:code</span>
26 code_as <span class="highlight">:art</span></pre>
2627 </p>
2728
2829 <br/>
2930
30 <p class="version">v2.9</p>
31 <p class="version">v2.10</p>
3132 </center>
3233 </body>
Binary diff not shown
1717 /____/\____/_/ /_/_/\___/ /_/ /_/
1818
1919 The Live Coding Synth for Everyone
20
21 http://sonic-pi.net
Binary diff not shown
6464 <message>
6565 <location filename="../mainwindow.cpp" line="754"/>
6666 <source>Use this slider to change the system volume of your Raspberry Pi.</source>
67 <translation>Usa este slider para cambiar el volumen del sistema en tu Raspberry Pi</translation>
67 <translation>Usa este "slider" para cambiar el volumen del sistema en tu Raspberry Pi.</translation>
6868 </message>
6969 <message>
7070 <location filename="../mainwindow.cpp" line="756"/>
7575 <location filename="../mainwindow.cpp" line="757"/>
7676 <source>Advanced audio settings for working with
7777 external PA systems when performing with Sonic Pi.</source>
78 <translation>Configuraciones de audio avanzadas para trabajar con sistemas externos PA al momento de hacer performing con Sonic Pi</translation>
78 <translation>Configuraciones de audio avanzadas para trabajar con
79 sistemas externos PA al momento de hacer performing con Sonic Pi.</translation>
7980 </message>
8081 <message>
8182 <location filename="../mainwindow.cpp" line="758"/>
8788 <source>Toggle stereo inversion.
8889 If enabled, audio sent to the left speaker will
8990 be routed to the right speaker and visa versa.</source>
90 <translation>Cambia la inversión del estereo. Si se encuentra activado, el audio del speaker izquierdo se ruteara al parlante derecho, o a la inversa</translation>
91 <translation>Cambia la inversión del estéreo.
92 Si se encuentra activado, el audio del altavoz izquierdo
93 se desviará al altavoz derecho, o viceversa.</translation>
9194 </message>
9295 <message>
9396 <location filename="../mainwindow.cpp" line="761"/>
112115 <source>Toggle synth argument checking functions.
113116 If disabled, certain synth opt values may
114117 create unexpectedly loud or uncomfortable sounds.</source>
115 <translation>Cambia la opción de chequeo de argumentos en el sintetizador. Si se encuentra deshabilitado, ciertas opciones generarán sonidos muy fuertes o incómodos</translation>
118 <translation>Cambia la opción de comprobación de argumentos en el sintetizador.
119 Si se encuentra deshabilitado, ciertas opciones generarán sonidos muy
120 fuertes o incómodos.</translation>
116121 </message>
117122 <message>
118123 <location filename="../mainwindow.cpp" line="778"/>
125130 Firstly, there is the headphone jack of the Raspberry Pi itself.
126131 Secondly, some HDMI monitors/TVs support audio through the HDMI port.
127132 Use these buttons to force the output to the one you want.</source>
128 <translation>Tu Raspberry Pi cuenta con dos opciones para salida de sonido. Primero, tenemos el conector jack para la conexión de audífonos en el mismo Raspberry Pi Segundo, algunos monitores HDMI soportan salida de audio por medio del puerto HDMI Usa estos botones para forzar la salida de audio en alguna de estas dos opciones</translation>
133 <translation>Tu Raspberry Pi cuenta con dos opciones para salida de sonido.
134 Primero, tenemos el conector jack para la conexión de auriculares en el propio Raspberry Pi.
135 Segundo, algunos monitores HDMI soportan salida de audio por medio del puerto HDMI.
136 Usa estos botones para forzar la salida de audio en alguna de estas dos opciones.</translation>
129137 </message>
130138 <message>
131139 <location filename="../mainwindow.cpp" line="780"/>
162170 <source>Toggle log messages.
163171 If disabled, activity such as synth and sample
164172 triggering will not be printed to the log by default.</source>
165 <translation>Cambiar opción de logear mensajes. Si esta opción está deshabilitada, actividades como la activación del sintetizador o sample no se imprimirán en el log por default</translation>
173 <translation>Cambiar opción de registrar mensajes.
174 Si esta opción está deshabilitada, actividades como el disparador del sintetizador
175 o muestra no se imprimirán en el registro por defecto.</translation>
166176 </message>
167177 <message>
168178 <location filename="../mainwindow.cpp" line="808"/>
174184 <source>Toggle log clearing on run.
175185 If enabled, the log is cleared each
176186 time the run button is pressed.</source>
177 <translation>Cambia opción de limpiar log al iniciar. Si se encuentra habilitado, el log se limpiará cada vez que se presione el boton de iniciar</translation>
187 <translation>Cambia opción de limpiar registro al iniciar.
188 Si se encuentra habilitado, el registro se limpiará
189 cada vez que se presione el botón de iniciar.</translation>
178190 </message>
179191 <message>
180192 <location filename="../mainwindow.cpp" line="811"/>
203215 <location filename="../mainwindow.cpp" line="827"/>
204216 <source>Toggle automatic update checking.
205217 This check involves sending anonymous information about your platform and version.</source>
206 <translation>Cambia la opción del chequeo automático de actualizaciones. Este chequeo consiste en enviar información anónima de tu plataforma y versión actuales</translation>
218 <translation>Cambia la opción del comprobación automática de actualizaciones.
219 Esta verificación conlleva enviar información anónima de tu plataforma y versión actuales.</translation>
207220 </message>
208221 <message>
209222 <location filename="../mainwindow.cpp" line="828"/>
214227 <location filename="../mainwindow.cpp" line="829"/>
215228 <source>Force a check for updates now.
216229 This check involves sending anonymous information about your platform and version.</source>
217 <translation>Chequea inmediatamente la existencia de actualizaciones. Este chequeo consiste en enviar información anónima de tu plataforma y versión actuales</translation>
230 <translation>Comprobar inmediatamente la existencia de actualizaciones.
231 Esta verificación conlleva enviar información anónima de tu plataforma y versión actuales.</translation>
218232 </message>
219233 <message>
220234 <location filename="../mainwindow.cpp" line="830"/>
239253 <message>
240254 <location filename="../mainwindow.cpp" line="856"/>
241255 <source>Configure editor display options.</source>
242 <translation>Configurar opciones de display del editor</translation>
256 <translation>Configurar opciones de pantalla del editor.</translation>
243257 </message>
244258 <message>
245259 <location filename="../mainwindow.cpp" line="857"/>
249263 <message>
250264 <location filename="../mainwindow.cpp" line="858"/>
251265 <source>Configure editor look and feel.</source>
252 <translation>Configura el aspecto del editor</translation>
266 <translation>Configura el aspecto del editor.</translation>
253267 </message>
254268 <message>
255269 <location filename="../mainwindow.cpp" line="859"/>
259273 <message>
260274 <location filename="../mainwindow.cpp" line="860"/>
261275 <source>Configure automation features.</source>
262 <translation>Configura las características de automatización</translation>
276 <translation>Configura las características de automatización.</translation>
263277 </message>
264278 <message>
265279 <location filename="../mainwindow.cpp" line="861"/>
279293 <message>
280294 <location filename="../mainwindow.cpp" line="865"/>
281295 <source>Toggle line number visibility.</source>
282 <translation>Cambia la visibilidad del número de lineas</translation>
296 <translation>Cambia la visibilidad del número de lineas.</translation>
283297 </message>
284298 <message>
285299 <location filename="../mainwindow.cpp" line="866"/>
289303 <message>
290304 <location filename="../mainwindow.cpp" line="867"/>
291305 <source>Toggle visibility of the log.</source>
292 <translation>Cambia opción de visibilidad del log</translation>
306 <translation>Cambia opción de visibilidad del registro.</translation>
293307 </message>
294308 <message>
295309 <location filename="../mainwindow.cpp" line="869"/>
299313 <message>
300314 <location filename="../mainwindow.cpp" line="870"/>
301315 <source>Toggle visibility of the control buttons.</source>
302 <translation>Cambia la opción de visibilidad de las opciones del log</translation>
316 <translation>Cambia la opción de visibilidad de las opciones del registro.</translation>
303317 </message>
304318 <message>
305319 <location filename="../mainwindow.cpp" line="872"/>
309323 <message>
310324 <location filename="../mainwindow.cpp" line="874"/>
311325 <source>Toggle visibility of the buffer selection tabs.</source>
312 <translation>Cambia la visibilidad de los tabs de selección de buffer</translation>
326 <translation>Cambia la visibilidad de los tabs de selección de buffer.</translation>
313327 </message>
314328 <message>
315329 <location filename="../mainwindow.cpp" line="875"/>
319333 <message>
320334 <location filename="../mainwindow.cpp" line="876"/>
321335 <source>Toggle full screen mode.</source>
322 <translation>Cambia la opción de pantalla completa</translation>
336 <translation>Cambia la opción de pantalla completa.</translation>
323337 </message>
324338 <message>
325339 <location filename="../mainwindow.cpp" line="877"/>
329343 <message>
330344 <location filename="../mainwindow.cpp" line="878"/>
331345 <source>Toggle dark mode.</source>
332 <translation>Cambia opción de modo dark</translation>
346 <translation>Cambia opción de modo dark.</translation>
333347 </message>
334348 <message>
335349 <location filename="../mainwindow.cpp" line="878"/>
336350 <source>
337351 Dark mode is perfect for live coding in night clubs.</source>
338 <translation>La opción Dark es perfecta para hacer live coding en discotecas o lugares con poca luminosidad</translation>
352 <translation>
353 La opción Dark es perfecta para hacer live coding en discotecas o lugares con poca luminosidad.</translation>
339354 </message>
340355 <message>
341356 <location filename="../mainwindow.cpp" line="917"/>
380395 <message>
381396 <location filename="../mainwindow.cpp" line="1207"/>
382397 <source>Workspace %1</source>
383 <translation>Workspace %1</translation>
398 <translation>Directorio de trabajo %1</translation>
384399 </message>
385400 <message>
386401 <location filename="../mainwindow.cpp" line="1223"/>
726741 <name>SonicPiUDPServer</name>
727742 <message>
728743 <location filename="../sonicpiudpserver.cpp" line="24"/>
729 <source>Is Sonic Pi already running? Can&apos;t open UDP port 4558.</source>
744 <source>Is Sonic Pi already running? Can't open UDP port 4558.</source>
730745 <translation>Se encuentra corriendo otra instancia de Sonic Pi?, no se puede abrir el puerto UDP 4558.</translation>
731746 </message>
732747 </context>
00 <?xml version="1.0" encoding="utf-8"?>
11 <!DOCTYPE TS>
2 <TS version="2.0" language="fr_FR">
3 <defaultcodec>UTF-8</defaultcodec>
2 <TS version="2.1" language="fr_FR">
43 <context>
54 <name>MainWindow</name>
65 <message>
7 <location filename="../mainwindow.cpp" line="152"/>
6 <location filename="../mainwindow.cpp" line="262"/>
87 <source>Sonic Pi update info</source>
98 <translation>Info de mise à jour de Sonic Pi</translation>
109 </message>
1110 <message>
12 <location filename="../mainwindow.cpp" line="295"/>
11 <location filename="../mainwindow.cpp" line="366"/>
1312 <source>Buffer %1</source>
1413 <translation>Buffer %1</translation>
1514 </message>
1615 <message>
17 <location filename="../mainwindow.cpp" line="359"/>
16 <location filename="../mainwindow.cpp" line="430"/>
1817 <source>Preferences</source>
1918 <translation>Préférences</translation>
2019 </message>
2120 <message>
22 <location filename="../mainwindow.cpp" line="372"/>
21 <location filename="../mainwindow.cpp" line="443"/>
2322 <source>Log</source>
2423 <translation>Trace</translation>
2524 </message>
2625 <message>
27 <location filename="../mainwindow.cpp" line="413"/>
28 <location filename="../mainwindow.cpp" line="1919"/>
26 <location filename="../mainwindow.cpp" line="484"/>
27 <location filename="../mainwindow.cpp" line="2023"/>
2928 <source>Help</source>
3029 <translation>Aide</translation>
3130 </message>
3231 <message>
33 <location filename="../mainwindow.cpp" line="444"/>
34 <location filename="../mainwindow.cpp" line="2151"/>
35 <location filename="../mainwindow.cpp" line="2169"/>
32 <location filename="../mainwindow.cpp" line="167"/>
33 <location filename="../mainwindow.cpp" line="2258"/>
34 <location filename="../mainwindow.cpp" line="2276"/>
3635 <source>Sonic Pi</source>
3736 <translation>Sonic Pi</translation>
3837 </message>
3938 <message>
40 <location filename="../mainwindow.cpp" line="458"/>
39 <location filename="../mainwindow.cpp" line="220"/>
4140 <source>Welcome to Sonic Pi</source>
4241 <translation>Bienvenue à Sonic Pi</translation>
4342 </message>
4443 <message>
45 <location filename="../mainwindow.cpp" line="600"/>
44 <location filename="../mainwindow.cpp" line="636"/>
4645 <source>Indenting selection...</source>
4746 <translation>Indentation de la sélection...</translation>
4847 </message>
4948 <message>
50 <location filename="../mainwindow.cpp" line="604"/>
49 <location filename="../mainwindow.cpp" line="640"/>
5150 <source>Indenting line...</source>
5251 <translation>Indentation de la ligne...</translation>
5352 </message>
5453 <message>
55 <location filename="../mainwindow.cpp" line="633"/>
5654 <source>Commenting selection...</source>
57 <translation>Commentant la sélection...</translation>
58 </message>
59 <message>
60 <location filename="../mainwindow.cpp" line="637"/>
55 <translation type="vanished">Commentant la sélection...</translation>
56 </message>
57 <message>
6158 <source>Commenting line...</source>
62 <translation>Commentant la ligne...</translation>
63 </message>
64 <message>
65 <location filename="../mainwindow.cpp" line="716"/>
59 <translation type="vanished">Commentant la ligne...</translation>
60 </message>
61 <message>
6662 <source>Ruby could not be started, is it installed and in your PATH?</source>
67 <translation>Ruby ne peut être lancé, est-il installé et dans votre PATH ?</translation>
68 </message>
69 <message>
70 <location filename="../mainwindow.cpp" line="802"/>
63 <translation type="vanished">Ruby ne peut être lancé, est-il installé et dans votre PATH ?</translation>
64 </message>
65 <message>
66 <location filename="../mainwindow.cpp" line="669"/>
67 <source>Toggle selection comment...</source>
68 <translation>Commenter/Décommenter la sélection ...</translation>
69 </message>
70 <message>
71 <location filename="../mainwindow.cpp" line="673"/>
72 <source>Toggle line comment...</source>
73 <translation>Commenter/Décommenter la ligne ...</translation>
74 </message>
75 <message>
76 <location filename="../mainwindow.cpp" line="747"/>
77 <source>The Sonic Pi server could not be started!</source>
78 <translation>Le serveur Sonic Pi n&apos;a pas pu être lancé !</translation>
79 </message>
80 <message>
81 <location filename="../mainwindow.cpp" line="849"/>
7182 <source>Raspberry Pi System Volume</source>
7283 <translation>Volume du son du Raspberry Pi</translation>
7384 </message>
7485 <message>
75 <location filename="../mainwindow.cpp" line="803"/>
86 <location filename="../mainwindow.cpp" line="850"/>
7687 <source>Use this slider to change the system volume of your Raspberry Pi.</source>
77 <translation>Utilisez ce curseur pour changer le volume du son de votre Raspberry Pi</translation>
78 </message>
79 <message>
80 <location filename="../mainwindow.cpp" line="805"/>
88 <translation>Utilisez ce curseur pour changer le volume du son de votre Raspberry Pi.</translation>
89 </message>
90 <message>
91 <location filename="../mainwindow.cpp" line="852"/>
8192 <source>Advanced Audio</source>
8293 <translation>Audio avancé</translation>
8394 </message>
8495 <message>
85 <location filename="../mainwindow.cpp" line="806"/>
96 <location filename="../mainwindow.cpp" line="853"/>
8697 <source>Advanced audio settings for working with
8798 external PA systems when performing with Sonic Pi.</source>
88 <translation>Paramètres audio avancés pour l'utilisation
89 d'un amplificateur externe avec Sonic Pi</translation>
90 </message>
91 <message>
92 <location filename="../mainwindow.cpp" line="807"/>
99 <translation>Paramètres audio avancés pour l&apos;utilisation
100 d&apos;un amplificateur externe avec Sonic Pi.</translation>
101 </message>
102 <message>
103 <location filename="../mainwindow.cpp" line="854"/>
93104 <source>Invert Stereo</source>
94105 <translation>Stéréo inversée</translation>
95106 </message>
96107 <message>
97 <location filename="../mainwindow.cpp" line="808"/>
108 <location filename="../mainwindow.cpp" line="855"/>
98109 <source>Toggle stereo inversion.
99110 If enabled, audio sent to the left speaker will
100111 be routed to the right speaker and visa versa.</source>
101112 <translation>Bascule en stéréo inversée.
102113 Si activée, le son destiné au haut-parleur de gauche sera
103 dirigé vers le haut-parleur de droite et vice et versa</translation>
104 </message>
105 <message>
106 <location filename="../mainwindow.cpp" line="810"/>
114 dirigé vers le haut-parleur de droite et vice et versa.</translation>
115 </message>
116 <message>
117 <location filename="../mainwindow.cpp" line="857"/>
107118 <source>Force Mono</source>
108119 <translation>Mono forcé</translation>
109120 </message>
110121 <message>
111 <location filename="../mainwindow.cpp" line="811"/>
122 <location filename="../mainwindow.cpp" line="858"/>
112123 <source>Toggle mono mode.
113124 If enabled both right and left audio is mixed and
114125 the same signal is sent to both speakers.
115126 Useful when working with external systems that
116127 can only handle mono.</source>
117128 <translation>Bascule en mode mono.
118 Si activée, l'audio de gauche est mélangé avec celui de droite
129 Si activée, l&apos;audio de gauche est mélangé avec celui de droite
119130 et le même signal est dirigé vers les deux haut-parleurs.
120131 Utile quand on travaille avec des systèmes externes qui
121132 ne supportent que le mono.</translation>
122133 </message>
123134 <message>
124 <location filename="../mainwindow.cpp" line="814"/>
135 <location filename="../mainwindow.cpp" line="861"/>
125136 <source>Safe mode</source>
126137 <translation>Mode sécurisé</translation>
127138 </message>
128139 <message>
129 <location filename="../mainwindow.cpp" line="815"/>
140 <location filename="../mainwindow.cpp" line="862"/>
130141 <source>Toggle synth argument checking functions.
131142 If disabled, certain synth opt values may
132143 create unexpectedly loud or uncomfortable sounds.</source>
135146 engendrer des sons forts ou inconfortables de manière imprévue.</translation>
136147 </message>
137148 <message>
138 <location filename="../mainwindow.cpp" line="827"/>
149 <location filename="../mainwindow.cpp" line="874"/>
139150 <source>Raspberry Pi Audio Output</source>
140151 <translation>Sortie audio du Raspberry Pi</translation>
141152 </message>
142153 <message>
143 <location filename="../mainwindow.cpp" line="828"/>
154 <location filename="../mainwindow.cpp" line="875"/>
144155 <source>Your Raspberry Pi has two forms of audio output.
145156 Firstly, there is the headphone jack of the Raspberry Pi itself.
146157 Secondly, some HDMI monitors/TVs support audio through the HDMI port.
147158 Use these buttons to force the output to the one you want.</source>
148159 <translation>Votre Raspberry Pi a deux sorties audio.
149160 Premièrement, il y a la prise jack pour écouteurs du Raspberry PI lui-même.
150 Deuxièmement, des moniteurs ou TV supportent l'audio via la prise HDMI.
161 Deuxièmement, des moniteurs ou TV supportent l&apos;audio via la prise HDMI.
151162 Utilisez ces boutons pour forcer la sortie vers ce que vous souhaitez.</translation>
152163 </message>
153164 <message>
154 <location filename="../mainwindow.cpp" line="829"/>
165 <location filename="../mainwindow.cpp" line="876"/>
155166 <source>&amp;Default</source>
156167 <translation>&amp;Défaut</translation>
157168 </message>
158169 <message>
159 <location filename="../mainwindow.cpp" line="830"/>
170 <location filename="../mainwindow.cpp" line="877"/>
160171 <source>&amp;Headphones</source>
161172 <translation>&amp;Écouteurs</translation>
162173 </message>
163174 <message>
164 <location filename="../mainwindow.cpp" line="831"/>
175 <location filename="../mainwindow.cpp" line="878"/>
165176 <source>&amp;HDMI</source>
166177 <translation>&amp;HDMI</translation>
167178 </message>
168179 <message>
169 <location filename="../mainwindow.cpp" line="851"/>
180 <location filename="../mainwindow.cpp" line="898"/>
170181 <source>Logging</source>
171182 <translation>Trace</translation>
172183 </message>
173184 <message>
174 <location filename="../mainwindow.cpp" line="852"/>
185 <location filename="../mainwindow.cpp" line="899"/>
175186 <source>Configure debug behaviour</source>
176187 <translation>Configuration du comportement de débogage</translation>
177188 </message>
178189 <message>
179 <location filename="../mainwindow.cpp" line="854"/>
190 <location filename="../mainwindow.cpp" line="901"/>
180191 <source>Log synths</source>
181192 <translation>Trace les synthés</translation>
182193 </message>
183194 <message>
184 <location filename="../mainwindow.cpp" line="855"/>
195 <location filename="../mainwindow.cpp" line="902"/>
185196 <source>Toggle log messages.
186197 If disabled, activity such as synth and sample
187198 triggering will not be printed to the log by default.</source>
188199 <translation>Bascule des messages de trace.
189 Si désactivée, l'activité telle que le jeu des synthés et des échantillons
200 Si désactivée, l&apos;activité telle que le jeu des synthés et des échantillons
190201 ne sera pas affichée dans la trace par défaut.</translation>
191202 </message>
192203 <message>
193 <location filename="../mainwindow.cpp" line="857"/>
204 <location filename="../mainwindow.cpp" line="904"/>
194205 <source>Clear log on run</source>
195206 <translation>Efface la trace avant exécution</translation>
196207 </message>
197208 <message>
198 <location filename="../mainwindow.cpp" line="858"/>
209 <location filename="../mainwindow.cpp" line="905"/>
199210 <source>Toggle log clearing on run.
200211 If enabled, the log is cleared each
201212 time the run button is pressed.</source>
202 <translation>Bascule de l'effacement de la trace avant exécution.
213 <translation>Bascule de l&apos;effacement de la trace avant exécution.
203214 Si activé, la trace est effacée à chaque appui
204215 sur le bouton run.</translation>
205216 </message>
206217 <message>
207 <location filename="../mainwindow.cpp" line="860"/>
218 <location filename="../mainwindow.cpp" line="907"/>
208219 <source>Log cues</source>
209220 <translation>Trace des cues</translation>
210221 </message>
211222 <message>
212 <location filename="../mainwindow.cpp" line="861"/>
223 <location filename="../mainwindow.cpp" line="908"/>
213224 <source>Enable or disable logging of cues.
214225 If disabled, cues will still trigger.
215226 However, they will not be visible in the logs.</source>
218229 Toutefois, ils ne seront pas visibles dans la trace.</translation>
219230 </message>
220231 <message>
221 <location filename="../mainwindow.cpp" line="870"/>
232 <location filename="../mainwindow.cpp" line="917"/>
222233 <source>Transparency</source>
223234 <translation>Transparence</translation>
224235 </message>
225236 <message>
226 <location filename="../mainwindow.cpp" line="881"/>
227 <location filename="../mainwindow.cpp" line="1003"/>
237 <location filename="../mainwindow.cpp" line="928"/>
238 <location filename="../mainwindow.cpp" line="1060"/>
228239 <source>Updates</source>
229240 <translation>Mises à jour</translation>
230241 </message>
231242 <message>
232 <location filename="../mainwindow.cpp" line="883"/>
243 <location filename="../mainwindow.cpp" line="930"/>
233244 <source>Check for updates</source>
234245 <translation>Vérification des mises à jour</translation>
235246 </message>
236247 <message>
237 <location filename="../mainwindow.cpp" line="885"/>
248 <location filename="../mainwindow.cpp" line="932"/>
238249 <source>Toggle automatic update checking.
239250 This check involves sending anonymous information about your platform and version.</source>
240 <translation>Bascule de la vérification automatique des mises à jour.
241 Cette vérification implique l'envoi d'informations anonymes
242 sur votre plateforme et votre version</translation>
243 </message>
244 <message>
245 <location filename="../mainwindow.cpp" line="886"/>
251 <translation>Activer/Désactiver la vérification automatique des mises à jour.
252 Cette vérification implique l&apos;envoi d&apos;informations anonymes sur votre plateforme et votre version.</translation>
253 </message>
254 <message>
255 <location filename="../mainwindow.cpp" line="933"/>
246256 <source>Check now</source>
247257 <translation>Vérification sur le champ</translation>
248258 </message>
249259 <message>
250 <location filename="../mainwindow.cpp" line="887"/>
260 <location filename="../mainwindow.cpp" line="934"/>
251261 <source>Force a check for updates now.
252262 This check involves sending anonymous information about your platform and version.</source>
253 <translation>Force une vérification des mises à jour sur le champ.
254 Cette vérification implique l'envoi d'informations anonymes
255 sur votre plateforme et votre version</translation>
256 </message>
257 <message>
258 <location filename="../mainwindow.cpp" line="888"/>
263 <translation>Force une vérification des mises à jour.
264 Cette vérification implique l&apos;envoi d&apos;informations anonymes à propos de votre plateforme et de votre version.</translation>
265 </message>
266 <message>
267 <location filename="../mainwindow.cpp" line="935"/>
259268 <source>Get update</source>
260 <translation>Obtention d'une mise à jour</translation>
261 </message>
262 <message>
263 <location filename="../mainwindow.cpp" line="889"/>
269 <translation>Obtention d&apos;une mise à jour</translation>
270 </message>
271 <message>
272 <location filename="../mainwindow.cpp" line="936"/>
264273 <source>Visit http://sonic-pi.net to download new version</source>
265274 <translation>Visitez http://sonic-pi.net pour télécharger une nouvelle version</translation>
266275 </message>
267276 <message>
268 <location filename="../mainwindow.cpp" line="894"/>
277 <location filename="../mainwindow.cpp" line="941"/>
269278 <source>Update Info</source>
270279 <translation>Information de mise à jour</translation>
271280 </message>
272281 <message>
273 <location filename="../mainwindow.cpp" line="913"/>
282 <location filename="../mainwindow.cpp" line="960"/>
274283 <source>Show and Hide</source>
275284 <translation>Montre et cache</translation>
276285 </message>
277286 <message>
278 <location filename="../mainwindow.cpp" line="914"/>
287 <location filename="../mainwindow.cpp" line="961"/>
279288 <source>Configure editor display options.</source>
280 <translation>Configuration des options d'affichage de l'éditeur</translation>
281 </message>
282 <message>
283 <location filename="../mainwindow.cpp" line="915"/>
289 <translation>Configuration des options d&apos;affichage de l&apos;éditeur.</translation>
290 </message>
291 <message>
292 <location filename="../mainwindow.cpp" line="962"/>
284293 <source>Look and Feel</source>
285294 <translation>Look and Feel</translation>
286295 </message>
287296 <message>
288 <location filename="../mainwindow.cpp" line="916"/>
297 <location filename="../mainwindow.cpp" line="963"/>
289298 <source>Configure editor look and feel.</source>
290 <translation>Configuration du look and feel de l'éditeur</translation>
291 </message>
292 <message>
293 <location filename="../mainwindow.cpp" line="917"/>
299 <translation>Configuration du look and feel de l&apos;éditeur.</translation>
300 </message>
301 <message>
302 <location filename="../mainwindow.cpp" line="964"/>
294303 <source>Automation</source>
295304 <translation>Automatisation</translation>
296305 </message>
297306 <message>
298 <location filename="../mainwindow.cpp" line="918"/>
307 <location filename="../mainwindow.cpp" line="965"/>
299308 <source>Configure automation features.</source>
300 <translation>Configuration des caractéristiques de l'automatisation</translation>
301 </message>
302 <message>
303 <location filename="../mainwindow.cpp" line="919"/>
309 <translation>Configurer les fonctionnalités d&apos;automatisation.</translation>
310 </message>
311 <message>
312 <location filename="../mainwindow.cpp" line="966"/>
304313 <source>Auto-align</source>
305314 <translation>Alignement automatique</translation>
306315 </message>
307316 <message>
308 <location filename="../mainwindow.cpp" line="920"/>
317 <location filename="../mainwindow.cpp" line="967"/>
309318 <source>Automatically align code on Run</source>
310 <translation>Alignement automatique du code à l'exécution</translation>
311 </message>
312 <message>
313 <location filename="../mainwindow.cpp" line="922"/>
319 <translation>Alignement automatique du code à l&apos;exécution</translation>
320 </message>
321 <message>
322 <location filename="../mainwindow.cpp" line="969"/>
314323 <source>Show line numbers</source>
315324 <translation>Affichage des numéros de ligne</translation>
316325 </message>
317326 <message>
318 <location filename="../mainwindow.cpp" line="923"/>
327 <location filename="../mainwindow.cpp" line="970"/>
319328 <source>Toggle line number visibility.</source>
320 <translation>Bascule de la visibilité des numéros de ligne</translation>
321 </message>
322 <message>
323 <location filename="../mainwindow.cpp" line="924"/>
329 <translation>Activer/désactiver la visibilité des numéros de ligne.</translation>
330 </message>
331 <message>
332 <location filename="../mainwindow.cpp" line="971"/>
324333 <source>Show log</source>
325334 <translation>Affichage de la trace</translation>
326335 </message>
327336 <message>
328 <location filename="../mainwindow.cpp" line="925"/>
337 <location filename="../mainwindow.cpp" line="972"/>
329338 <source>Toggle visibility of the log.</source>
330 <translation>Bascule de la visibilité de la trace</translation>
331 </message>
332 <message>
333 <location filename="../mainwindow.cpp" line="927"/>
339 <translation>Activer/désactiver la visibilité du journal.</translation>
340 </message>
341 <message>
342 <location filename="../mainwindow.cpp" line="974"/>
334343 <source>Show buttons</source>
335344 <translation>Affichage des boutons</translation>
336345 </message>
337346 <message>
338 <location filename="../mainwindow.cpp" line="928"/>
347 <location filename="../mainwindow.cpp" line="975"/>
339348 <source>Toggle visibility of the control buttons.</source>
340 <translation>Bascule de la visibilité des boutons de contrôle</translation>
341 </message>
342 <message>
343 <location filename="../mainwindow.cpp" line="930"/>
349 <translation>Activer/désactiver la visibilité des boutons de contrôle.</translation>
350 </message>
351 <message>
352 <location filename="../mainwindow.cpp" line="977"/>
344353 <source>Show tabs</source>
345354 <translation>Affichage des onglets</translation>
346355 </message>
347356 <message>
348 <location filename="../mainwindow.cpp" line="932"/>
357 <location filename="../mainwindow.cpp" line="979"/>
349358 <source>Toggle visibility of the buffer selection tabs.</source>
350 <translation>Bascule de l'affichage des onglets de sélection des buffers</translation>
351 </message>
352 <message>
353 <location filename="../mainwindow.cpp" line="933"/>
359 <translation>Activer/désactiver l&apos;affichage des onglets de sélection des buffers.</translation>
360 </message>
361 <message>
362 <location filename="../mainwindow.cpp" line="980"/>
354363 <source>Full screen</source>
355364 <translation>Plein écran</translation>
356365 </message>
357366 <message>
358 <location filename="../mainwindow.cpp" line="934"/>
367 <location filename="../mainwindow.cpp" line="981"/>
359368 <source>Toggle full screen mode.</source>
360 <translation>Bascule du mode plein écran</translation>
361 </message>
362 <message>
363 <location filename="../mainwindow.cpp" line="935"/>
369 <translation>Activer/désactiver le mode plein écran.</translation>
370 </message>
371 <message>
372 <location filename="../mainwindow.cpp" line="982"/>
364373 <source>Dark mode</source>
365374 <translation>Mode sombre</translation>
366375 </message>
367376 <message>
368 <location filename="../mainwindow.cpp" line="936"/>
377 <location filename="../mainwindow.cpp" line="983"/>
369378 <source>Toggle dark mode.</source>
370 <translation>Bascule du mode sombre</translation>
371 </message>
372 <message>
373 <location filename="../mainwindow.cpp" line="936"/>
379 <translation>Activer/désactiver le mode sombre.</translation>
380 </message>
381 <message>
382 <location filename="../mainwindow.cpp" line="983"/>
383 <source>
384 Dark mode is perfect for live coding in night clubs.</source>
385 <translation>Le thème foncé est parfait pour coder en boîte de nuit.</translation>
386 </message>
387 <message>
388 <location filename="../mainwindow.cpp" line="1243"/>
389 <source>Load Sonic-Pi file</source>
390 <translation>Charger un fichier Sonic Pi</translation>
391 </message>
392 <message>
393 <location filename="../mainwindow.cpp" line="2001"/>
394 <source>Run the code in the current buffer</source>
395 <translation>Exécuter le code du buffer courant</translation>
396 </message>
397 <message>
374398 <source>Dark mode is perfect for live coding in night clubs.</source>
375 <translation>Le mode sombre est parfait pour le codage en live dans les boîtes de nuit</translation>
376 </message>
377 <message>
378 <location filename="../mainwindow.cpp" line="975"/>
399 <translation type="vanished">Le mode sombre est parfait pour le codage en live dans les boites de nuit.</translation>
400 </message>
401 <message>
402 <location filename="../mainwindow.cpp" line="1022"/>
379403 <source>Audio</source>
380404 <translation>Audio</translation>
381405 </message>
382406 <message>
383 <location filename="../mainwindow.cpp" line="987"/>
407 <location filename="../mainwindow.cpp" line="1034"/>
384408 <source>Editor</source>
385409 <translation>Éditeur</translation>
386410 </message>
387411 <message>
388 <location filename="../mainwindow.cpp" line="988"/>
412 <location filename="../mainwindow.cpp" line="1035"/>
389413 <source>Studio</source>
390414 <translation>Studio</translation>
391415 </message>
392416 <message>
393 <location filename="../mainwindow.cpp" line="990"/>
394 <location filename="../mainwindow.cpp" line="995"/>
417 <location filename="../mainwindow.cpp" line="1037"/>
418 <location filename="../mainwindow.cpp" line="1047"/>
395419 <source>Performance</source>
396420 <translation>Interprétation</translation>
397421 </message>
398422 <message>
399 <location filename="../mainwindow.cpp" line="991"/>
423 <location filename="../mainwindow.cpp" line="1038"/>
400424 <source>Settings useful for performing with Sonic Pi</source>
401 <translation>Paramètres utiles pour l'interprétation avec Sonic Pi</translation>
402 </message>
403 <message>
404 <location filename="../mainwindow.cpp" line="1086"/>
425 <translation>Paramètres utiles pour l&apos;interprétation avec Sonic Pi</translation>
426 </message>
427 <message>
428 <location filename="../mainwindow.cpp" line="1148"/>
405429 <source>Server boot error...</source>
406430 <translation>Erreur du lanceur du serveur...</translation>
407431 </message>
408432 <message>
409 <location filename="../mainwindow.cpp" line="1086"/>
410433 <source>Apologies, a critical error occurred during startup</source>
411 <translation>Veuillez nous excuser, une erreur critique s'est produite
412 pendant le démarrage.</translation>
413 </message>
414 <message>
415 <location filename="../mainwindow.cpp" line="1086"/>
434 <translation type="vanished">Veuillez nous excuser, une erreur critique s&apos;est produite pendant le démarrage</translation>
435 </message>
436 <message>
437 <location filename="../mainwindow.cpp" line="1148"/>
416438 <source>Please consider reporting a bug at</source>
417 <translation>Envisagez SVP la signalisation d'un bogue à</translation>
418 </message>
419 <message>
420 <location filename="../mainwindow.cpp" line="1180"/>
439 <translation>Envisagez SVP la signalisation d&apos;un bogue à</translation>
440 </message>
441 <message>
442 <location filename="../mainwindow.cpp" line="1148"/>
443 <source>Sonic Pi Boot Error
444
445 Apologies, a critical error occurred during startup</source>
446 <translation>Erreur de démarrage de Sonic Pi
447
448 Veuillez nous excuser, une erreur critique s&apos;est produite pendant le démarrage</translation>
449 </message>
450 <message>
451 <location filename="../mainwindow.cpp" line="1255"/>
421452 <source>Save Current Buffer</source>
422453 <translation>Sauvegarde du buffer courant</translation>
423454 </message>
424455 <message>
425 <location filename="../mainwindow.cpp" line="1248"/>
456 <location filename="../mainwindow.cpp" line="1255"/>
457 <source>Ruby (*.rb)</source>
458 <translation></translation>
459 </message>
460 <message>
461 <location filename="../mainwindow.cpp" line="1326"/>
426462 <source>Running Code...</source>
427463 <translation>Exécution du code...</translation>
428464 </message>
429465 <message>
430 <location filename="../mainwindow.cpp" line="1274"/>
431466 <source>Workspace %1</source>
432 <translation>Buffer %1</translation>
433 </message>
434 <message>
435 <location filename="../mainwindow.cpp" line="1290"/>
467 <translation type="vanished">Buffer %1</translation>
468 </message>
469 <message>
470 <location filename="../mainwindow.cpp" line="1368"/>
436471 <source>Zooming In...</source>
437472 <translation>Zoom arrière...</translation>
438473 </message>
439474 <message>
440 <location filename="../mainwindow.cpp" line="1297"/>
475 <location filename="../mainwindow.cpp" line="1375"/>
441476 <source>Zooming Out...</source>
442477 <translation>Zoom avant...</translation>
443478 </message>
444479 <message>
445 <location filename="../mainwindow.cpp" line="1304"/>
480 <location filename="../mainwindow.cpp" line="1382"/>
446481 <source>Beautifying...</source>
447482 <translation>Embellissement...</translation>
448483 </message>
449484 <message>
450 <location filename="../mainwindow.cpp" line="1324"/>
485 <location filename="../mainwindow.cpp" line="1402"/>
451486 <source>Reloading...</source>
452487 <translation>Rechargement...</translation>
453488 </message>
454489 <message>
455 <location filename="../mainwindow.cpp" line="1331"/>
490 <location filename="../mainwindow.cpp" line="1409"/>
456491 <source>Checking for updates...</source>
457492 <translation>Vérification des mises à jour...</translation>
458493 </message>
459494 <message>
460 <location filename="../mainwindow.cpp" line="1339"/>
495 <location filename="../mainwindow.cpp" line="1417"/>
461496 <source>Enabling update checking...</source>
462497 <translation>Activation de la vérification des mises à jour...</translation>
463498 </message>
464499 <message>
465 <location filename="../mainwindow.cpp" line="1347"/>
500 <location filename="../mainwindow.cpp" line="1425"/>
466501 <source>Disabling update checking...</source>
467502 <translation>Désactivation de la vérification des mises à jour...</translation>
468503 </message>
469504 <message>
470 <location filename="../mainwindow.cpp" line="1355"/>
505 <location filename="../mainwindow.cpp" line="1433"/>
471506 <source>Enabling Mixer HPF...</source>
472507 <translation>Activation du filtre passe-haut...</translation>
473508 </message>
474509 <message>
475 <location filename="../mainwindow.cpp" line="1364"/>
510 <location filename="../mainwindow.cpp" line="1442"/>
476511 <source>Disabling Mixer HPF...</source>
477512 <translation>Désactivation du filtre passe-haut...</translation>
478513 </message>
479514 <message>
480 <location filename="../mainwindow.cpp" line="1372"/>
515 <location filename="../mainwindow.cpp" line="1450"/>
481516 <source>Enabling Mixer LPF...</source>
482517 <translation>Activation du filtre passe-bas...</translation>
483518 </message>
484519 <message>
485 <location filename="../mainwindow.cpp" line="1381"/>
520 <location filename="../mainwindow.cpp" line="1459"/>
486521 <source>Disabling Mixer LPF...</source>
487522 <translation>Désactivation du filtre passe-bas...</translation>
488523 </message>
489524 <message>
490 <location filename="../mainwindow.cpp" line="1389"/>
525 <location filename="../mainwindow.cpp" line="1467"/>
491526 <source>Enabling Inverted Stereo...</source>
492 <translation>Activation de l'inversion stéréo...</translation>
493 </message>
494 <message>
495 <location filename="../mainwindow.cpp" line="1397"/>
527 <translation>Activation de l&apos;inversion stéréo...</translation>
528 </message>
529 <message>
530 <location filename="../mainwindow.cpp" line="1475"/>
496531 <source>Enabling Standard Stereo...</source>
497532 <translation>Activation de la stéréo standard...</translation>
498533 </message>
499534 <message>
500 <location filename="../mainwindow.cpp" line="1405"/>
535 <location filename="../mainwindow.cpp" line="1483"/>
501536 <source>Mono Mode...</source>
502537 <translation>Mode mono...</translation>
503538 </message>
504539 <message>
505 <location filename="../mainwindow.cpp" line="1413"/>
540 <location filename="../mainwindow.cpp" line="1491"/>
506541 <source>Stereo Mode...</source>
507542 <translation>Mode stéréo...</translation>
508543 </message>
509544 <message>
510 <location filename="../mainwindow.cpp" line="1422"/>
545 <location filename="../mainwindow.cpp" line="1500"/>
511546 <source>Stopping...</source>
512547 <translation>Arrêt...</translation>
513548 </message>
514549 <message>
515 <location filename="../mainwindow.cpp" line="1506"/>
550 <location filename="../mainwindow.cpp" line="1596"/>
516551 <source>Updating System Volume...</source>
517 <translation>Changement du volume du son du système</translation>
518 </message>
519 <message>
520 <location filename="../mainwindow.cpp" line="1728"/>
552 <translation>Mise à jour du volume système...</translation>
553 </message>
554 <message>
555 <location filename="../mainwindow.cpp" line="1818"/>
521556 <source>Switching To Headphone Audio Output...</source>
522557 <translation>Aiguillage vers la sortie écouteurs...</translation>
523558 </message>
524559 <message>
525 <location filename="../mainwindow.cpp" line="1744"/>
560 <location filename="../mainwindow.cpp" line="1834"/>
526561 <source>Switching To HDMI Audio Output...</source>
527562 <translation>Aiguillage vers la sortie HDMI...</translation>
528563 </message>
529564 <message>
530 <location filename="../mainwindow.cpp" line="1759"/>
565 <location filename="../mainwindow.cpp" line="1849"/>
531566 <source>Switching To Default Audio Output...</source>
532567 <translation>Aiguillage vers la sortie par défaut...</translation>
533568 </message>
534569 <message>
535 <location filename="../mainwindow.cpp" line="1901"/>
570 <location filename="../mainwindow.cpp" line="2000"/>
536571 <source>Run</source>
537 <translation>Run</translation>
538 </message>
539 <message>
540 <location filename="../mainwindow.cpp" line="1902"/>
572 <translation>Lancer</translation>
573 </message>
574 <message>
541575 <source>Run the code in the current workspace</source>
542 <translation>Exécute le code dans le buffer courant</translation>
543 </message>
544 <message>
545 <location filename="../mainwindow.cpp" line="1906"/>
576 <translation type="vanished">Exécute le code dans le buffer courant</translation>
577 </message>
578 <message>
579 <location filename="../mainwindow.cpp" line="2006"/>
546580 <source>Stop</source>
547581 <translation>Stop</translation>
548582 </message>
549583 <message>
550 <location filename="../mainwindow.cpp" line="1907"/>
584 <location filename="../mainwindow.cpp" line="2007"/>
551585 <source>Stop all running code</source>
552 <translation>Arrête l'exécution de tous les codes</translation>
553 </message>
554 <message>
555 <location filename="../mainwindow.cpp" line="1910"/>
586 <translation>Arrête l&apos;exécution de tous les codes</translation>
587 </message>
588 <message>
589 <location filename="../mainwindow.cpp" line="2010"/>
556590 <source>Save As...</source>
557591 <translation>Enregistrer sous...</translation>
558592 </message>
559593 <message>
560 <location filename="../mainwindow.cpp" line="1911"/>
594 <location filename="../mainwindow.cpp" line="2011"/>
561595 <source>Save current buffer as an external file</source>
562596 <translation>Enregistre le buffer courant dans un fichier externe</translation>
563597 </message>
564598 <message>
565 <location filename="../mainwindow.cpp" line="1914"/>
599 <location filename="../mainwindow.cpp" line="2014"/>
600 <source>Load</source>
601 <translation>Charger</translation>
602 </message>
603 <message>
604 <location filename="../mainwindow.cpp" line="2015"/>
605 <source>Load an external file in the current buffer</source>
606 <translation>Charger un fichier externe dans le buffer courant</translation>
607 </message>
608 <message>
609 <location filename="../mainwindow.cpp" line="2018"/>
566610 <source>Info</source>
567611 <translation>Info</translation>
568612 </message>
569613 <message>
570 <location filename="../mainwindow.cpp" line="1915"/>
614 <location filename="../mainwindow.cpp" line="2019"/>
571615 <source>See information about Sonic Pi</source>
572 <translation>Voir l'information sur Sonic Pi</translation>
573 </message>
574 <message>
575 <location filename="../mainwindow.cpp" line="1920"/>
616 <translation>Voir l&apos;information sur Sonic Pi</translation>
617 </message>
618 <message>
619 <location filename="../mainwindow.cpp" line="2024"/>
576620 <source>Toggle help pane</source>
577 <translation>Bascule de l'affichage du panneau d'aide</translation>
578 </message>
579 <message>
580 <location filename="../mainwindow.cpp" line="1923"/>
621 <translation>Bascule de l&apos;affichage du panneau d&apos;aide</translation>
622 </message>
623 <message>
624 <location filename="../mainwindow.cpp" line="2027"/>
581625 <source>Prefs</source>
582626 <translation>Prefs</translation>
583627 </message>
584628 <message>
585 <location filename="../mainwindow.cpp" line="1924"/>
629 <location filename="../mainwindow.cpp" line="2028"/>
586630 <source>Toggle preferences pane</source>
587 <translation>Bascule de l'affichage du panneau des préférences</translation>
588 </message>
589 <message>
590 <location filename="../mainwindow.cpp" line="1928"/>
591 <location filename="../mainwindow.cpp" line="2050"/>
592 <location filename="../mainwindow.cpp" line="2051"/>
631 <translation>Bascule de l&apos;affichage du panneau des préférences</translation>
632 </message>
633 <message>
634 <location filename="../mainwindow.cpp" line="2032"/>
635 <location filename="../mainwindow.cpp" line="2158"/>
636 <location filename="../mainwindow.cpp" line="2159"/>
593637 <source>Start Recording</source>
594 <translation>Démarrage de l'enregistrement</translation>
595 </message>
596 <message>
597 <location filename="../mainwindow.cpp" line="1929"/>
638 <translation>Démarrage de l&apos;enregistrement</translation>
639 </message>
640 <message>
641 <location filename="../mainwindow.cpp" line="2033"/>
598642 <source>Start recording to WAV audio file</source>
599 <translation>Démarre l'enregistrement vers un fichier audio WAV</translation>
600 </message>
601 <message>
602 <location filename="../mainwindow.cpp" line="1933"/>
643 <translation>Démarre l&apos;enregistrement vers un fichier audio WAV</translation>
644 </message>
645 <message>
646 <location filename="../mainwindow.cpp" line="2037"/>
603647 <source>Auto-Align Text</source>
604648 <translation>Alignement automatique du texte</translation>
605649 </message>
606650 <message>
607 <location filename="../mainwindow.cpp" line="1934"/>
651 <location filename="../mainwindow.cpp" line="2038"/>
608652 <source>Improve readability of code</source>
609 <translation>Amélioration de la lisibilité du code</translation>
610 </message>
611 <message>
612 <location filename="../mainwindow.cpp" line="1938"/>
613 <location filename="../mainwindow.cpp" line="1939"/>
653 <translation>Améliore de la lisibilité du code</translation>
654 </message>
655 <message>
656 <location filename="../mainwindow.cpp" line="2044"/>
614657 <source>Increase Text Size</source>
615658 <translation>Augmente la taille du texte</translation>
616659 </message>
617660 <message>
618 <location filename="../mainwindow.cpp" line="1943"/>
619 <location filename="../mainwindow.cpp" line="1944"/>
661 <location filename="../mainwindow.cpp" line="2051"/>
620662 <source>Decrease Text Size</source>
621663 <translation>Diminue la taille du texte</translation>
622664 </message>
623665 <message>
624 <location filename="../mainwindow.cpp" line="1949"/>
666 <location filename="../mainwindow.cpp" line="2056"/>
625667 <source>Tools</source>
626668 <translation>Outils</translation>
627669 </message>
628670 <message>
629 <location filename="../mainwindow.cpp" line="1996"/>
671 <location filename="../mainwindow.cpp" line="2104"/>
630672 <source>About</source>
631673 <translation>A propos</translation>
632674 </message>
633675 <message>
634 <location filename="../mainwindow.cpp" line="1997"/>
676 <location filename="../mainwindow.cpp" line="2105"/>
635677 <source>Core Team</source>
636678 <translation>Équipe principale</translation>
637679 </message>
638680 <message>
639 <location filename="../mainwindow.cpp" line="1998"/>
681 <location filename="../mainwindow.cpp" line="2106"/>
640682 <source>Contributors</source>
641683 <translation>Contributeurs</translation>
642684 </message>
643685 <message>
644 <location filename="../mainwindow.cpp" line="1999"/>
686 <location filename="../mainwindow.cpp" line="2107"/>
645687 <source>Community</source>
646688 <translation>Communauté</translation>
647689 </message>
648690 <message>
649 <location filename="../mainwindow.cpp" line="2000"/>
691 <location filename="../mainwindow.cpp" line="2108"/>
650692 <source>License</source>
651 <translation>License</translation>
652 </message>
653 <message>
654 <location filename="../mainwindow.cpp" line="2001"/>
693 <translation>Licence</translation>
694 </message>
695 <message>
696 <location filename="../mainwindow.cpp" line="2109"/>
655697 <source>History</source>
656698 <translation>Historique</translation>
657699 </message>
658700 <message>
659 <location filename="../mainwindow.cpp" line="2022"/>
701 <location filename="../mainwindow.cpp" line="2130"/>
660702 <source>Sonic Pi - Info</source>
661703 <translation>Sonic Pi - Info</translation>
662704 </message>
663705 <message>
664 <location filename="../mainwindow.cpp" line="2042"/>
665 <location filename="../mainwindow.cpp" line="2043"/>
706 <location filename="../mainwindow.cpp" line="2150"/>
707 <location filename="../mainwindow.cpp" line="2151"/>
666708 <source>Stop Recording</source>
667 <translation>Arrête l'enregistrement</translation>
668 </message>
669 <message>
670 <location filename="../mainwindow.cpp" line="2056"/>
709 <translation>Arrêter l&apos;enregistrement</translation>
710 </message>
711 <message>
712 <location filename="../mainwindow.cpp" line="2164"/>
671713 <source>Save Recording</source>
672 <translation>Sauvegarde de l'enregistrement</translation>
673 </message>
674 <message>
675 <location filename="../mainwindow.cpp" line="2075"/>
714 <translation>Sauvegarde de l&apos;enregistrement</translation>
715 </message>
716 <message>
717 <location filename="../mainwindow.cpp" line="2164"/>
718 <source>Wavefile (*.wav)</source>
719 <translation></translation>
720 </message>
721 <message>
722 <location filename="../mainwindow.cpp" line="2183"/>
676723 <source>Ready...</source>
677724 <translation>Prêt...</translation>
678725 </message>
679726 <message>
680 <location filename="../mainwindow.cpp" line="2152"/>
727 <location filename="../mainwindow.cpp" line="2259"/>
681728 <source>Cannot read file %1:
682729 %2.</source>
683730 <translation>Lecture impossible du fichier %1:
684731 %2.</translation>
685732 </message>
686733 <message>
687 <location filename="../mainwindow.cpp" line="2162"/>
734 <location filename="../mainwindow.cpp" line="2269"/>
688735 <source>File loaded...</source>
689736 <translation>Fichier chargé...</translation>
690737 </message>
691738 <message>
692 <location filename="../mainwindow.cpp" line="2170"/>
739 <location filename="../mainwindow.cpp" line="2277"/>
693740 <source>Cannot write file %1:
694741 %2.</source>
695742 <translation>Écriture impossible du fichier %1:
696743 %2.</translation>
697744 </message>
698745 <message>
699 <location filename="../mainwindow.cpp" line="2187"/>
746 <location filename="../mainwindow.cpp" line="2294"/>
700747 <source>File saved...</source>
701748 <translation>Fichier enregistré...</translation>
702749 </message>
703750 <message>
704 <location filename="../mainwindow.cpp" line="2412"/>
751 <location filename="../mainwindow.cpp" line="2520"/>
705752 <source>Last checked %1</source>
706753 <translation>%1 vérifié en dernier</translation>
707754 </message>
708755 <message>
709 <location filename="../mainwindow.cpp" line="2414"/>
756 <location filename="../mainwindow.cpp" line="2522"/>
710757 <source>Sonic Pi checks for updates
711758 every two weeks.</source>
712759 <translation>Sonic Pi vérifie les mises à jour
713760 toutes les deux semaines.</translation>
714761 </message>
715762 <message>
716 <location filename="../mainwindow.cpp" line="2416"/>
763 <location filename="../mainwindow.cpp" line="2524"/>
717764 <source>This is Sonic Pi %1</source>
718 <translation>C'est Sonic Pi %1</translation>
719 </message>
720 <message>
721 <location filename="../mainwindow.cpp" line="2417"/>
765 <translation>C&apos;est Sonic Pi %1</translation>
766 </message>
767 <message>
768 <location filename="../mainwindow.cpp" line="2525"/>
722769 <source>Version %2 is now available!</source>
723770 <translation>La version %2 est maintenant disponible !</translation>
724771 </message>
725772 <message>
726 <location filename="../mainwindow.cpp" line="2421"/>
773 <location filename="../mainwindow.cpp" line="2529"/>
727774 <source>New version available!
728775 Get Sonic Pi %1</source>
729776 <translation>Nouvelle version disponible !
730777 Obtenez Sonic Pi %1</translation>
731778 </message>
732779 <message>
733 <location filename="../mainwindow.cpp" line="2447"/>
780 <location filename="../mainwindow.cpp" line="2553"/>
734781 <source>Welcome back. Now get your live code on...</source>
735 <translation>Retour bienvenu. Obtenez maintenant votre code sur...</translation>
736 </message>
737 <message>
738 <location filename="../ruby_help.h" line="80"/>
739 <location filename="../ruby_help.h" line="139"/>
740 <location filename="../ruby_help.h" line="199"/>
741 <location filename="../ruby_help.h" line="218"/>
742 <location filename="../ruby_help.h" line="278"/>
743 <location filename="../ruby_help.h" line="338"/>
782 <translation>Bon retour. Obtenez maintenant votre code sur...</translation>
783 </message>
784 <message>
785 <location filename="../ruby_help.h" line="79"/>
786 <location filename="../ruby_help.h" line="140"/>
787 <location filename="../ruby_help.h" line="200"/>
788 <location filename="../ruby_help.h" line="260"/>
789 <location filename="../ruby_help.h" line="279"/>
790 <location filename="../ruby_help.h" line="339"/>
791 <location filename="../ruby_help.h" line="409"/>
744792 <source>Tutorial</source>
745793 <translation>Tutoriel</translation>
746794 </message>
747795 <message>
748 <location filename="../ruby_help.h" line="370"/>
796 <location filename="../ruby_help.h" line="443"/>
749797 <source>Examples</source>
750798 <translation>Exemples</translation>
751799 </message>
752800 <message>
753 <location filename="../ruby_help.h" line="410"/>
801 <location filename="../ruby_help.h" line="489"/>
754802 <source>Synths</source>
755803 <translation>Synths</translation>
756804 </message>
757805 <message>
758 <location filename="../ruby_help.h" line="446"/>
806 <location filename="../ruby_help.h" line="530"/>
759807 <source>Fx</source>
760808 <translation>Fx</translation>
761809 </message>
762810 <message>
763 <location filename="../ruby_help.h" line="463"/>
811 <location filename="../ruby_help.h" line="547"/>
764812 <source>Samples</source>
765813 <translation>Échantillons</translation>
766814 </message>
767815 <message>
768 <location filename="../ruby_help.h" line="629"/>
816 <location filename="../ruby_help.h" line="735"/>
769817 <source>Lang</source>
770818 <translation>Langage</translation>
771819 </message>
779827 </message>
780828 </context>
781829 <context>
830 <name>SonicPiUDPOSCServer</name>
831 <message>
832 <location filename="../sonic_pi_udp_osc_server.cpp" line="24"/>
833 <source>Is Sonic Pi already running? Can&apos;t open UDP port 4558.</source>
834 <translation>Y a-t-il une autre instance de Sonic Pi toujours en cours d&apos;exécution ? Ouverture du port UDP 4558 impossible.</translation>
835 </message>
836 </context>
837 <context>
782838 <name>SonicPiUDPServer</name>
783839 <message>
784 <location filename="../sonicpiudpserver.cpp" line="24"/>
785840 <source>Is Sonic Pi already running? Can&apos;t open UDP port 4558.</source>
786 <translation>Sonic Pi toujours en cours d'exécution ? Ouverture du port UDP 4558 impossible</translation>
841 <translation type="vanished">Sonic Pi est-il déjà en cours d&apos;exécution ? Impossible d&apos;ouvrir le port UDP 4558.</translation>
787842 </message>
788843 </context>
789844 </TS>
1616 <message>
1717 <location filename="../mainwindow.cpp" line="360"/>
1818 <source>Preferences</source>
19 <translation type="unfinished">Oppsett</translation>
19 <translation>Innstillinger</translation>
2020 </message>
2121 <message>
2222 <location filename="../mainwindow.cpp" line="373"/>
2323 <source>Log</source>
24 <translation type="unfinished">Logg</translation>
24 <translation>Logg</translation>
2525 </message>
2626 <message>
2727 <location filename="../mainwindow.cpp" line="414"/>
3434 <location filename="../mainwindow.cpp" line="2152"/>
3535 <location filename="../mainwindow.cpp" line="2170"/>
3636 <source>Sonic Pi</source>
37 <translation type="unfinished">Sonic Pi</translation>
37 <translation>Sonic Pi</translation>
3838 </message>
3939 <message>
4040 <location filename="../mainwindow.cpp" line="459"/>
4141 <source>Welcome to Sonic Pi</source>
42 <translation type="unfinished">Velkommen til Sonic Pi</translation>
42 <translation>Velkommen til Sonic Pi</translation>
4343 </message>
4444 <message>
4545 <location filename="../mainwindow.cpp" line="601"/>
4949 <message>
5050 <location filename="../mainwindow.cpp" line="605"/>
5151 <source>Indenting line...</source>
52 <translation type="unfinished">Rykk inn linje...</translation>
52 <translation type="unfinished">Rykker inn linje...</translation>
5353 </message>
5454 <message>
5555 <location filename="../mainwindow.cpp" line="634"/>
6464 <message>
6565 <location filename="../mainwindow.cpp" line="717"/>
6666 <source>Ruby could not be started, is it installed and in your PATH?</source>
67 <translation type="unfinished">Kunne ikke starte rubu. Er den installert og i din PATH?</translation>
67 <translation>Kunne ikke starte ruby. Er den installert og i din PATH?</translation>
6868 </message>
6969 <message>
7070 <location filename="../mainwindow.cpp" line="803"/>
8585 <location filename="../mainwindow.cpp" line="807"/>
8686 <source>Advanced audio settings for working with
8787 external PA systems when performing with Sonic Pi.</source>
88 <translation type="unfinished">Avanserte lydoppsett for å bruke eksterne PA-systemer mens du spiller med Sonic Pi.</translation>
88 <translation>Avanserte lydoppsett for å bruke eksterne
89 PA-systemer mens du spiller med Sonic Pi.</translation>
8990 </message>
9091 <message>
9192 <location filename="../mainwindow.cpp" line="808"/>
9293 <source>Invert Stereo</source>
93 <translation type="unfinished">Inverter stereo</translation>
94 <translation>Inverter stereo</translation>
9495 </message>
9596 <message>
9697 <location filename="../mainwindow.cpp" line="809"/>
9798 <source>Toggle stereo inversion.
9899 If enabled, audio sent to the left speaker will
99100 be routed to the right speaker and visa versa.</source>
100 <translation type="unfinished">Styr stereo-invertering.
101 <translation>Styr stereo-invertering.
101102 Hvis aktiv, så blir lyd sendt til venstre høytaler
102 istedet sendt til det høyre høytaleren og visa versa.</translation>
103 i stedet overført til det høyre høytaleren og visa versa.</translation>
103104 </message>
104105 <message>
105106 <location filename="../mainwindow.cpp" line="811"/>
136137 <message>
137138 <location filename="../mainwindow.cpp" line="828"/>
138139 <source>Raspberry Pi Audio Output</source>
139 <translation type="unfinished">Lyduttak på Raspberry Pi</translation>
140 <translation>Lyduttak på Raspberry Pi</translation>
140141 </message>
141142 <message>
142143 <location filename="../mainwindow.cpp" line="829"/>
157158 <message>
158159 <location filename="../mainwindow.cpp" line="831"/>
159160 <source>&amp;Headphones</source>
160 <translation type="unfinished">&amp;Hodetelefoner</translation>
161 <translation>&amp;Hodetelefoner</translation>
161162 </message>
162163 <message>
163164 <location filename="../mainwindow.cpp" line="832"/>
167168 <message>
168169 <location filename="../mainwindow.cpp" line="852"/>
169170 <source>Logging</source>
170 <translation type="unfinished">Logging</translation>
171 <translation>Logging</translation>
171172 </message>
172173 <message>
173174 <location filename="../mainwindow.cpp" line="853"/>
177178 <message>
178179 <location filename="../mainwindow.cpp" line="855"/>
179180 <source>Log synths</source>
180 <translation type="unfinished">Logg synther</translation>
181 <translation>Logg synther</translation>
181182 </message>
182183 <message>
183184 <location filename="../mainwindow.cpp" line="856"/>
191192 <message>
192193 <location filename="../mainwindow.cpp" line="858"/>
193194 <source>Clear log on run</source>
194 <translation type="unfinished">Nullstill logg ved kjøring</translation>
195 <translation>Nullstill logg ved kjøring</translation>
195196 </message>
196197 <message>
197198 <location filename="../mainwindow.cpp" line="859"/>
198199 <source>Toggle log clearing on run.
199200 If enabled, the log is cleared each
200201 time the run button is pressed.</source>
201 <translation type="unfinished">Styr logg-nullstilling ved kjøring.
202 <translation>Styr logg-nullstilling ved kjøring.
202203 Hvis aktiv, så nullstilles loggen hver
203204 gang kjør-knappen trykkes.</translation>
204205 </message>
205206 <message>
206207 <location filename="../mainwindow.cpp" line="861"/>
207208 <source>Log cues</source>
208 <translation type="unfinished"></translation>
209 <translation>Logg vink</translation>
209210 </message>
210211 <message>
211212 <location filename="../mainwindow.cpp" line="862"/>
212213 <source>Enable or disable logging of cues.
213214 If disabled, cues will still trigger.
214215 However, they will not be visible in the logs.</source>
215 <translation type="unfinished"></translation>
216 <translation>Styr logging av vink.
217 Hvis utkoblet, så vil vink fortsatt utløses.
218 De vil dermot ikke være synlige i loggene.</translation>
216219 </message>
217220 <message>
218221 <location filename="../mainwindow.cpp" line="871"/>
219222 <source>Transparency</source>
220 <translation type="unfinished">Gjennomsiktighet</translation>
223 <translation>Gjennomsiktighet</translation>
221224 </message>
222225 <message>
223226 <location filename="../mainwindow.cpp" line="882"/>
224227 <location filename="../mainwindow.cpp" line="1004"/>
225228 <source>Updates</source>
226 <translation type="unfinished">Oppdateringer</translation>
229 <translation>Oppdateringer</translation>
227230 </message>
228231 <message>
229232 <location filename="../mainwindow.cpp" line="884"/>
230233 <source>Check for updates</source>
231 <translation type="unfinished">Sjekk etter oppdateringer</translation>
234 <translation>Sjekk etter oppdateringer</translation>
232235 </message>
233236 <message>
234237 <location filename="../mainwindow.cpp" line="886"/>
235238 <source>Toggle automatic update checking.
236239 This check involves sending anonymous information about your platform and version.</source>
237 <translation type="unfinished">Styr automatisk oppdateringsjekk.
240 <translation>Styr automatisk oppdateringsjekk.
238241 Denne sjekken innebærer å sende anonym informasjon om din platform og versjon.</translation>
239242 </message>
240243 <message>
241244 <location filename="../mainwindow.cpp" line="887"/>
242245 <source>Check now</source>
243 <translation type="unfinished">Sjekk nå</translation>
246 <translation>Sjekk nå</translation>
244247 </message>
245248 <message>
246249 <location filename="../mainwindow.cpp" line="888"/>
247250 <source>Force a check for updates now.
248251 This check involves sending anonymous information about your platform and version.</source>
249 <translation type="unfinished">Tving igjennom en sjekk etter oppdateringer nå.
252 <translation>Tving igjennom en sjekk etter oppdateringer nå.
250253 Denne sjekken innebærer å sende anonym informasjon om din platform og versjon.</translation>
251254 </message>
252255 <message>
253256 <location filename="../mainwindow.cpp" line="889"/>
254257 <source>Get update</source>
255 <translation type="unfinished">Hent oppdatering</translation>
258 <translation>Hent oppdatering</translation>
256259 </message>
257260 <message>
258261 <location filename="../mainwindow.cpp" line="890"/>
259262 <source>Visit http://sonic-pi.net to download new version</source>
260 <translation type="unfinished">Besøk http://sonic-pi.net for å laste ned ny versjon</translation>
263 <translation>Besøk http://sonic-pi.net for å laste ned ny versjon</translation>
261264 </message>
262265 <message>
263266 <location filename="../mainwindow.cpp" line="895"/>
264267 <source>Update Info</source>
265 <translation type="unfinished">Oppdateringsopplysninger</translation>
268 <translation>Oppdateringsopplysninger</translation>
266269 </message>
267270 <message>
268271 <location filename="../mainwindow.cpp" line="914"/>
269272 <source>Show and Hide</source>
270 <translation type="unfinished">Vis og skjul</translation>
273 <translation>Vis og skjul</translation>
271274 </message>
272275 <message>
273276 <location filename="../mainwindow.cpp" line="915"/>
277280 <message>
278281 <location filename="../mainwindow.cpp" line="916"/>
279282 <source>Look and Feel</source>
280 <translation type="unfinished">Utseende og oppførsel</translation>
283 <translation>Utseende og oppførsel</translation>
281284 </message>
282285 <message>
283286 <location filename="../mainwindow.cpp" line="917"/>
284287 <source>Configure editor look and feel.</source>
285 <translation type="unfinished">Still inn hvordan skriveprogrammet ser ut og oppfører seg.</translation>
288 <translation>Oppsett av utseende og oppførsel for skrivefeltet.</translation>
286289 </message>
287290 <message>
288291 <location filename="../mainwindow.cpp" line="918"/>
289292 <source>Automation</source>
290 <translation type="unfinished">Automatisering</translation>
293 <translation>Automatisering</translation>
291294 </message>
292295 <message>
293296 <location filename="../mainwindow.cpp" line="919"/>
294297 <source>Configure automation features.</source>
295 <translation type="unfinished">Still inn automatiseringsegenskaper.</translation>
298 <translation>Sett opp automatiseringsegenskaper.</translation>
296299 </message>
297300 <message>
298301 <location filename="../mainwindow.cpp" line="920"/>
299302 <source>Auto-align</source>
300 <translation type="unfinished">Auto-innrykk</translation>
303 <translation>Auto-innrykk</translation>
301304 </message>
302305 <message>
303306 <location filename="../mainwindow.cpp" line="921"/>
304307 <source>Automatically align code on Run</source>
305 <translation type="unfinished">Fiks innrykk automatisk ved kjøring</translation>
308 <translation>Fiks innrykk automatisk ved kjøring</translation>
306309 </message>
307310 <message>
308311 <location filename="../mainwindow.cpp" line="923"/>
309312 <source>Show line numbers</source>
310 <translation type="unfinished">Vis linjenummer</translation>
313 <translation>Vis linjenummer</translation>
311314 </message>
312315 <message>
313316 <location filename="../mainwindow.cpp" line="924"/>
314317 <source>Toggle line number visibility.</source>
315 <translation type="unfinished">Styr om linjenummer skal vises.</translation>
318 <translation>Styr synlighet for linjenummer.</translation>
316319 </message>
317320 <message>
318321 <location filename="../mainwindow.cpp" line="925"/>
319322 <source>Show log</source>
320 <translation type="unfinished">Vis logg</translation>
323 <translation>Vis logg</translation>
321324 </message>
322325 <message>
323326 <location filename="../mainwindow.cpp" line="926"/>
324327 <source>Toggle visibility of the log.</source>
325 <translation type="unfinished">Styr synligheten for loggen.</translation>
328 <translation>Styr synligheten for loggen.</translation>
326329 </message>
327330 <message>
328331 <location filename="../mainwindow.cpp" line="928"/>
329332 <source>Show buttons</source>
330 <translation type="unfinished">Vis knapper</translation>
333 <translation>Vis knapper</translation>
331334 </message>
332335 <message>
333336 <location filename="../mainwindow.cpp" line="929"/>
334337 <source>Toggle visibility of the control buttons.</source>
335 <translation type="unfinished">Styr synlighet for kontrollknappene.</translation>
338 <translation>Styr synlighet for kontrollknappene.</translation>
336339 </message>
337340 <message>
338341 <location filename="../mainwindow.cpp" line="931"/>
347350 <message>
348351 <location filename="../mainwindow.cpp" line="934"/>
349352 <source>Full screen</source>
350 <translation type="unfinished">Fullskjerm</translation>
353 <translation>Fullskjerm</translation>
351354 </message>
352355 <message>
353356 <location filename="../mainwindow.cpp" line="935"/>
354357 <source>Toggle full screen mode.</source>
355 <translation type="unfinished">Styr fullskjermtilstand.</translation>
358 <translation>Styr fullskjermtilstand.</translation>
356359 </message>
357360 <message>
358361 <location filename="../mainwindow.cpp" line="936"/>
359362 <source>Dark mode</source>
360 <translation type="unfinished">Mørk fremtoning</translation>
363 <translation>Mørk fremtoning</translation>
361364 </message>
362365 <message>
363366 <location filename="../mainwindow.cpp" line="937"/>
364367 <source>Toggle dark mode.</source>
365 <translation type="unfinished">Styr mørk fremtoning.</translation>
368 <translation>Styr mørk fremtoning.</translation>
366369 </message>
367370 <message>
368371 <location filename="../mainwindow.cpp" line="937"/>
369372 <source>
370373 Dark mode is perfect for live coding in night clubs.</source>
371 <translation type="unfinished">Mørk fremtoning er perfekt for direkte-kodinger på nattklubber.</translation>
374 <translation>
375 Mørk fremtoning er perfekt for koding på direkten i nattklubber.</translation>
372376 </message>
373377 <message>
374378 <location filename="../mainwindow.cpp" line="976"/>
375379 <source>Audio</source>
376 <translation type="unfinished">Lyd</translation>
380 <translation>Lyd</translation>
377381 </message>
378382 <message>
379383 <location filename="../mainwindow.cpp" line="988"/>
380384 <source>Editor</source>
381 <translation type="unfinished">Skriveprogram</translation>
385 <translation>Skrivefelt</translation>
382386 </message>
383387 <message>
384388 <location filename="../mainwindow.cpp" line="989"/>
385389 <source>Studio</source>
386 <translation type="unfinished">Studio</translation>
390 <translation>Studio</translation>
387391 </message>
388392 <message>
389393 <location filename="../mainwindow.cpp" line="991"/>
390394 <location filename="../mainwindow.cpp" line="996"/>
391395 <source>Performance</source>
392 <translation type="unfinished">Fremvisning</translation>
396 <translation>Fremføring</translation>
393397 </message>
394398 <message>
395399 <location filename="../mainwindow.cpp" line="992"/>
396400 <source>Settings useful for performing with Sonic Pi</source>
397 <translation type="unfinished">Oppsett nyttig for fremføring med Sonic Pi</translation>
401 <translation>Oppsett nyttig ved fremføring med Sonic Pi</translation>
398402 </message>
399403 <message>
400404 <location filename="../mainwindow.cpp" line="1087"/>
401405 <source>Server boot error...</source>
402 <translation type="unfinished">Tjeneroppstart-feil...</translation>
406 <translation>Feil ved tjeneroppstart...</translation>
403407 </message>
404408 <message>
405409 <location filename="../mainwindow.cpp" line="1087"/>
406410 <source>Apologies, a critical error occurred during startup</source>
407 <translation type="unfinished">Beklager, en kritisk feil skjedde under oppstart</translation>
411 <translation>Beklager, en kritisk feil skjedde under oppstart</translation>
408412 </message>
409413 <message>
410414 <location filename="../mainwindow.cpp" line="1087"/>
411415 <source>Please consider reporting a bug at</source>
412 <translation type="unfinished">Veldig fint om du vurderer å rapportere feil til</translation>
416 <translation>Veldig fint om du vurderer å rapportere feil til</translation>
413417 </message>
414418 <message>
415419 <location filename="../mainwindow.cpp" line="1181"/>
419423 <message>
420424 <location filename="../mainwindow.cpp" line="1249"/>
421425 <source>Running Code...</source>
422 <translation type="unfinished">Kjørende kode...</translation>
426 <translation>Kjørende kode...</translation>
423427 </message>
424428 <message>
425429 <location filename="../mainwindow.cpp" line="1275"/>
426430 <source>Workspace %1</source>
427 <translation type="unfinished">Arbeidsområde %1</translation>
431 <translation>Arbeidsområde %1</translation>
428432 </message>
429433 <message>
430434 <location filename="../mainwindow.cpp" line="1291"/>
439443 <message>
440444 <location filename="../mainwindow.cpp" line="1305"/>
441445 <source>Beautifying...</source>
442 <translation type="unfinished">Gjør vakrere...</translation>
446 <translation>Gjør vakrere...</translation>
443447 </message>
444448 <message>
445449 <location filename="../mainwindow.cpp" line="1325"/>
446450 <source>Reloading...</source>
447 <translation type="unfinished">Last på nytt...</translation>
451 <translation>Laster på nytt...</translation>
448452 </message>
449453 <message>
450454 <location filename="../mainwindow.cpp" line="1332"/>
451455 <source>Checking for updates...</source>
452 <translation type="unfinished">Ser etter oppdateringer...</translation>
456 <translation>Ser etter oppdateringer...</translation>
453457 </message>
454458 <message>
455459 <location filename="../mainwindow.cpp" line="1340"/>
456460 <source>Enabling update checking...</source>
457 <translation type="unfinished">Aktiverer oppdaterings-sjekking...</translation>
461 <translation>Aktiverer oppdaterings-sjekking...</translation>
458462 </message>
459463 <message>
460464 <location filename="../mainwindow.cpp" line="1348"/>
461465 <source>Disabling update checking...</source>
462 <translation type="unfinished">Kobler ut oppdaterings-sjekking...</translation>
466 <translation>Kobler ut oppdaterings-sjekking...</translation>
463467 </message>
464468 <message>
465469 <location filename="../mainwindow.cpp" line="1356"/>
484488 <message>
485489 <location filename="../mainwindow.cpp" line="1390"/>
486490 <source>Enabling Inverted Stereo...</source>
487 <translation type="unfinished">Aktiver invertert stereo...</translation>
491 <translation>Aktiver invertert stereo...</translation>
488492 </message>
489493 <message>
490494 <location filename="../mainwindow.cpp" line="1398"/>
491495 <source>Enabling Standard Stereo...</source>
492 <translation type="unfinished">Aktiverer standard stereo...</translation>
496 <translation>Aktiverer standard stereo...</translation>
493497 </message>
494498 <message>
495499 <location filename="../mainwindow.cpp" line="1406"/>
504508 <message>
505509 <location filename="../mainwindow.cpp" line="1423"/>
506510 <source>Stopping...</source>
507 <translation type="unfinished">Stopper...</translation>
511 <translation>Stopper...</translation>
508512 </message>
509513 <message>
510514 <location filename="../mainwindow.cpp" line="1507"/>
514518 <message>
515519 <location filename="../mainwindow.cpp" line="1729"/>
516520 <source>Switching To Headphone Audio Output...</source>
517 <translation type="unfinished">Bytter til hodetelefonlyduttak...</translation>
521 <translation>Bytter til hodetelefonlyduttak...</translation>
518522 </message>
519523 <message>
520524 <location filename="../mainwindow.cpp" line="1745"/>
521525 <source>Switching To HDMI Audio Output...</source>
522 <translation type="unfinished">Bytter til HDMI-lyduttak...</translation>
526 <translation>Bytter til HDMI-lyduttak...</translation>
523527 </message>
524528 <message>
525529 <location filename="../mainwindow.cpp" line="1760"/>
526530 <source>Switching To Default Audio Output...</source>
527 <translation type="unfinished">Endrer til default-lyduttak...</translation>
531 <translation>Endrer til default-lyduttak...</translation>
528532 </message>
529533 <message>
530534 <location filename="../mainwindow.cpp" line="1902"/>
534538 <message>
535539 <location filename="../mainwindow.cpp" line="1903"/>
536540 <source>Run the code in the current workspace</source>
537 <translation type="unfinished">Kjør koden i det aktive arbeidsområdet</translation>
541 <translation>Kjør koden i det aktive arbeidsområdet</translation>
538542 </message>
539543 <message>
540544 <location filename="../mainwindow.cpp" line="1907"/>
544548 <message>
545549 <location filename="../mainwindow.cpp" line="1908"/>
546550 <source>Stop all running code</source>
547 <translation type="unfinished">Stopp all kjørende kode</translation>
551 <translation>Stopp all kjørende kode</translation>
548552 </message>
549553 <message>
550554 <location filename="../mainwindow.cpp" line="1911"/>
569573 <message>
570574 <location filename="../mainwindow.cpp" line="1921"/>
571575 <source>Toggle help pane</source>
572 <translation type="unfinished">Styr hjelpepanelet</translation>
576 <translation>Styr hjelpepanel</translation>
573577 </message>
574578 <message>
575579 <location filename="../mainwindow.cpp" line="1924"/>
576580 <source>Prefs</source>
577 <translation type="unfinished">Oppsett</translation>
581 <translation>Innstillinger</translation>
578582 </message>
579583 <message>
580584 <location filename="../mainwindow.cpp" line="1925"/>
581585 <source>Toggle preferences pane</source>
582 <translation type="unfinished">Styr oppsettpanelet</translation>
586 <translation>Styr innstillingspanel</translation>
583587 </message>
584588 <message>
585589 <location filename="../mainwindow.cpp" line="1929"/>
601605 <message>
602606 <location filename="../mainwindow.cpp" line="1935"/>
603607 <source>Improve readability of code</source>
604 <translation type="unfinished">Forbedre lesbarheten til koden</translation>
608 <translation>Gjør koden mer lesbar</translation>
605609 </message>
606610 <message>
607611 <location filename="../mainwindow.cpp" line="1939"/>
608612 <location filename="../mainwindow.cpp" line="1940"/>
609613 <source>Increase Text Size</source>
610 <translation type="unfinished">Øk tekststørrelsen</translation>
614 <translation>Øk skriftstørrelsen</translation>
611615 </message>
612616 <message>
613617 <location filename="../mainwindow.cpp" line="1944"/>
614618 <location filename="../mainwindow.cpp" line="1945"/>
615619 <source>Decrease Text Size</source>
616 <translation type="unfinished">Reduser tekststørrelsen</translation>
620 <translation>Reduser skriftstørrelsen</translation>
617621 </message>
618622 <message>
619623 <location filename="../mainwindow.cpp" line="1950"/>
628632 <message>
629633 <location filename="../mainwindow.cpp" line="1998"/>
630634 <source>Core Team</source>
631 <translation type="unfinished">Kjernegruppen</translation>
635 <translation>Kjernegruppen</translation>
632636 </message>
633637 <message>
634638 <location filename="../mainwindow.cpp" line="1999"/>
635639 <source>Contributors</source>
636 <translation type="unfinished">Bidragsytere</translation>
640 <translation>Bidragsytere</translation>
637641 </message>
638642 <message>
639643 <location filename="../mainwindow.cpp" line="2000"/>
640644 <source>Community</source>
641 <translation type="unfinished">Fellesskap</translation>
645 <translation>Fellesskap</translation>
642646 </message>
643647 <message>
644648 <location filename="../mainwindow.cpp" line="2001"/>
645649 <source>License</source>
646 <translation type="unfinished">Lisens</translation>
650 <translation>Lisens</translation>
647651 </message>
648652 <message>
649653 <location filename="../mainwindow.cpp" line="2002"/>
650654 <source>History</source>
651 <translation type="unfinished">Historie</translation>
655 <translation>Historie</translation>
652656 </message>
653657 <message>
654658 <location filename="../mainwindow.cpp" line="2023"/>
659663 <location filename="../mainwindow.cpp" line="2043"/>
660664 <location filename="../mainwindow.cpp" line="2044"/>
661665 <source>Stop Recording</source>
662 <translation type="unfinished">Stop opptak</translation>
666 <translation>Stop opptak</translation>
663667 </message>
664668 <message>
665669 <location filename="../mainwindow.cpp" line="2057"/>
666670 <source>Save Recording</source>
667 <translation type="unfinished">Lagre opptak</translation>
671 <translation>Lagre opptak</translation>
668672 </message>
669673 <message>
670674 <location filename="../mainwindow.cpp" line="2076"/>
671675 <source>Ready...</source>
672 <translation type="unfinished">Klar...</translation>
676 <translation>Klar...</translation>
673677 </message>
674678 <message>
675679 <location filename="../mainwindow.cpp" line="2153"/>
676680 <source>Cannot read file %1:
677681 %2.</source>
678 <translation type="unfinished">Kan ikke lese fil %1: %2.</translation>
682 <translation>Kan ikke lese fil %1:
683 %2.</translation>
679684 </message>
680685 <message>
681686 <location filename="../mainwindow.cpp" line="2163"/>
682687 <source>File loaded...</source>
683 <translation type="unfinished">Filen lastet...</translation>
688 <translation>Lastet fil...</translation>
684689 </message>
685690 <message>
686691 <location filename="../mainwindow.cpp" line="2171"/>
687692 <source>Cannot write file %1:
688693 %2.</source>
689 <translation type="unfinished">Kan ikke skrive filen %1: %2.</translation>
694 <translation>Kan ikke skrive filen %1:
695 %2.</translation>
690696 </message>
691697 <message>
692698 <location filename="../mainwindow.cpp" line="2188"/>
693699 <source>File saved...</source>
694 <translation type="unfinished">Lagret filen...</translation>
700 <translation>Lagret filen...</translation>
695701 </message>
696702 <message>
697703 <location filename="../mainwindow.cpp" line="2413"/>
698704 <source>Last checked %1</source>
699 <translation type="unfinished">Sist sjekket %1</translation>
705 <translation>Sist sjekket %1</translation>
700706 </message>
701707 <message>
702708 <location filename="../mainwindow.cpp" line="2415"/>
703709 <source>Sonic Pi checks for updates
704710 every two weeks.</source>
705 <translation type="unfinished">Sonic Pi sjekker etter oppdateringer hver andre uke.</translation>
711 <translation>Sonic Pi sjekker etter oppdateringer
712 hver andre uke.</translation>
706713 </message>
707714 <message>
708715 <location filename="../mainwindow.cpp" line="2417"/>
709716 <source>This is Sonic Pi %1</source>
710 <translation type="unfinished">Dette er Sonic Pi %1</translation>
717 <translation>Dette er Sonic Pi %1</translation>
711718 </message>
712719 <message>
713720 <location filename="../mainwindow.cpp" line="2418"/>
714721 <source>Version %2 is now available!</source>
715 <translation type="unfinished">Utgave %2 er nå tilgjengelig!</translation>
722 <translation>Utgave %2 er nå tilgjengelig!</translation>
716723 </message>
717724 <message>
718725 <location filename="../mainwindow.cpp" line="2422"/>
719726 <source>New version available!
720727 Get Sonic Pi %1</source>
721 <translation type="unfinished">Ny utgave er tilgjengelig!
728 <translation>Ny utgave er tilgjengelig!
722729 Skaff Sonic Pi %1</translation>
723730 </message>
724731 <message>
725732 <location filename="../mainwindow.cpp" line="2448"/>
726733 <source>Welcome back. Now get your live code on...</source>
727 <translation type="unfinished">Velkommen tilbake. Nå kan du live-kode på...</translation>
734 <translation>Velkommen tilbake. Nå kan du direkte-kode på...</translation>
728735 </message>
729736 <message>
730737 <location filename="../ruby_help.h" line="80"/>
734741 <location filename="../ruby_help.h" line="278"/>
735742 <location filename="../ruby_help.h" line="338"/>
736743 <source>Tutorial</source>
737 <translation type="unfinished">Innføring</translation>
744 <translation>Innføring</translation>
738745 </message>
739746 <message>
740747 <location filename="../ruby_help.h" line="370"/>
744751 <message>
745752 <location filename="../ruby_help.h" line="410"/>
746753 <source>Synths</source>
747 <translation type="unfinished">Synth-er</translation>
754 <translation>Synth-er</translation>
748755 </message>
749756 <message>
750757 <location filename="../ruby_help.h" line="446"/>
759766 <message>
760767 <location filename="../ruby_help.h" line="629"/>
761768 <source>Lang</source>
762 <translation type="unfinished">Språk</translation>
769 <translation>Språk</translation>
763770 </message>
764771 </context>
765772 <context>
774781 <name>SonicPiUDPServer</name>
775782 <message>
776783 <location filename="../sonicpiudpserver.cpp" line="24"/>
777 <source>Is Sonic Pi already running? Can&apos;t open UDP port 4558.</source>
778 <translation type="unfinished">Kjører Sonic Pi allerede? Klarer ikke åpne UDP port 4558.</translation>
784 <source>Is Sonic Pi already running? Can't open UDP port 4558.</source>
785 <translation>Kjører Sonic Pi allerede? Klarer ikke åpne UDP port 4558.</translation>
779786 </message>
780787 </context>
781788 </TS>
0 <?xml version="1.0" encoding="utf-8"?>
1 <!DOCTYPE TS>
2 <TS version="2.1" language="ru_RU">
3 <context>
4 <name>MainWindow</name>
5 <message>
6 <location filename="../mainwindow.cpp" line="168"/>
7 <location filename="../mainwindow.cpp" line="2237"/>
8 <location filename="../mainwindow.cpp" line="2255"/>
9 <source>Sonic Pi</source>
10 <translation>Sonic Pi</translation>
11 </message>
12 <message>
13 <location filename="../mainwindow.cpp" line="221"/>
14 <source>Welcome to Sonic Pi</source>
15 <translation>Добро пожаловать в Sonic Pi</translation>
16 </message>
17 <message>
18 <location filename="../mainwindow.cpp" line="263"/>
19 <source>Sonic Pi update info</source>
20 <translation>Информация об обновлениях Sonic Pi</translation>
21 </message>
22 <message>
23 <location filename="../mainwindow.cpp" line="370"/>
24 <source>Buffer %1</source>
25 <translation>Буфер %1</translation>
26 </message>
27 <message>
28 <location filename="../mainwindow.cpp" line="434"/>
29 <source>Preferences</source>
30 <translation>Параметры</translation>
31 </message>
32 <message>
33 <location filename="../mainwindow.cpp" line="447"/>
34 <source>Log</source>
35 <translation>Журнал</translation>
36 </message>
37 <message>
38 <location filename="../mainwindow.cpp" line="488"/>
39 <location filename="../mainwindow.cpp" line="2003"/>
40 <source>Help</source>
41 <translation>Помощь</translation>
42 </message>
43 <message>
44 <location filename="../mainwindow.cpp" line="632"/>
45 <source>Indenting selection...</source>
46 <translation>Отступ выделения...</translation>
47 </message>
48 <message>
49 <location filename="../mainwindow.cpp" line="636"/>
50 <source>Indenting line...</source>
51 <translation>Отступ линии...</translation>
52 </message>
53 <message>
54 <location filename="../mainwindow.cpp" line="665"/>
55 <source>Commenting selection...</source>
56 <translation>Комментирование выделения...</translation>
57 </message>
58 <message>
59 <location filename="../mainwindow.cpp" line="669"/>
60 <source>Commenting line...</source>
61 <translation>Комментирование строки...</translation>
62 </message>
63 <message>
64 <location filename="../mainwindow.cpp" line="743"/>
65 <source>The Sonic Pi server could not be started!</source>
66 <translation>Сервер Sonic Pi не может быть запущен!</translation>
67 </message>
68 <message>
69 <location filename="../mainwindow.cpp" line="845"/>
70 <source>Raspberry Pi System Volume</source>
71 <translation>Системная Громкость Paspberry Pi</translation>
72 </message>
73 <message>
74 <location filename="../mainwindow.cpp" line="846"/>
75 <source>Use this slider to change the system volume of your Raspberry Pi.</source>
76 <translation>Используйте этот ползунок чтобы изменить системную громкость вашего Raspberry Pi.</translation>
77 </message>
78 <message>
79 <location filename="../mainwindow.cpp" line="848"/>
80 <source>Advanced Audio</source>
81 <translation>Расширенное Аудио</translation>
82 </message>
83 <message>
84 <location filename="../mainwindow.cpp" line="849"/>
85 <source>Advanced audio settings for working with
86 external PA systems when performing with Sonic Pi.</source>
87 <translatorcomment>Из-за отсутствия контекста непонятно, что такое PA systems</translatorcomment>
88 <translation>Расширенные аудио настройки для работы
89 с внешними ПА системами.</translation>
90 </message>
91 <message>
92 <location filename="../mainwindow.cpp" line="850"/>
93 <source>Invert Stereo</source>
94 <translation>Инвертировать Стерео</translation>
95 </message>
96 <message>
97 <location filename="../mainwindow.cpp" line="851"/>
98 <source>Toggle stereo inversion.
99 If enabled, audio sent to the left speaker will
100 be routed to the right speaker and visa versa.</source>
101 <translation>Включить/выключить инвертирование стерео.
102 Если включено, аудио сигнал, посылаемый в
103 левый динамик будет перенаправлен в правый
104 динамик и наоборот.</translation>
105 </message>
106 <message>
107 <location filename="../mainwindow.cpp" line="853"/>
108 <source>Force Mono</source>
109 <translation>Пренудительное Моно</translation>
110 </message>
111 <message>
112 <location filename="../mainwindow.cpp" line="854"/>
113 <source>Toggle mono mode.
114 If enabled both right and left audio is mixed and
115 the same signal is sent to both speakers.
116 Useful when working with external systems that
117 can only handle mono.</source>
118 <translation>Включить/выключить моно режим.
119 Если включено, правый и левый аудио
120 каналы смешиваются и этот смешанный сигнал
121 поступает в оба динамика.
122 Полезно при работе с внешними системами,
123 способными обрабатывать только моно сигнал.</translation>
124 </message>
125 <message>
126 <location filename="../mainwindow.cpp" line="857"/>
127 <source>Safe mode</source>
128 <translation>Безопасный режим</translation>
129 </message>
130 <message>
131 <location filename="../mainwindow.cpp" line="858"/>
132 <source>Toggle synth argument checking functions.
133 If disabled, certain synth opt values may
134 create unexpectedly loud or uncomfortable sounds.</source>
135 <translation>Включить/выключить функции проверки аргументов синтезатора.
136 Если выключено, некоторые значения опций синтезаторов смогут
137 вызвать неожиданно громкий или неприятный звук.</translation>
138 </message>
139 <message>
140 <location filename="../mainwindow.cpp" line="870"/>
141 <source>Raspberry Pi Audio Output</source>
142 <translation>Аудио Выход Paspberry Pi</translation>
143 </message>
144 <message>
145 <location filename="../mainwindow.cpp" line="871"/>
146 <source>Your Raspberry Pi has two forms of audio output.
147 Firstly, there is the headphone jack of the Raspberry Pi itself.
148 Secondly, some HDMI monitors/TVs support audio through the HDMI port.
149 Use these buttons to force the output to the one you want.</source>
150 <translation>Ваш Raspberry Pi имеет два интерфейса вывода звука.
151 Первый - это разъём для наушников.
152 Второй - воспроизведение аудио через HDMI порт
153 (поддерживается некоторыми HDMI мониторами и телевизорами).
154 Используйте эти кнопки для вывода звука на тот интерфейс,
155 на который хотите.</translation>
156 </message>
157 <message>
158 <location filename="../mainwindow.cpp" line="872"/>
159 <source>&amp;Default</source>
160 <translation>&amp;По умолчанию</translation>
161 </message>
162 <message>
163 <location filename="../mainwindow.cpp" line="873"/>
164 <source>&amp;Headphones</source>
165 <translation>&amp;Наушники</translation>
166 </message>
167 <message>
168 <location filename="../mainwindow.cpp" line="874"/>
169 <source>&amp;HDMI</source>
170 <translation>&amp;HDMI</translation>
171 </message>
172 <message>
173 <location filename="../mainwindow.cpp" line="894"/>
174 <source>Logging</source>
175 <translation>Журналирование</translation>
176 </message>
177 <message>
178 <location filename="../mainwindow.cpp" line="895"/>
179 <source>Configure debug behaviour</source>
180 <translation>Настроить поведение отладки</translation>
181 </message>
182 <message>
183 <location filename="../mainwindow.cpp" line="897"/>
184 <source>Log synths</source>
185 <translation>Журнал синтезаторов</translation>
186 </message>
187 <message>
188 <location filename="../mainwindow.cpp" line="898"/>
189 <source>Toggle log messages.
190 If disabled, activity such as synth and sample
191 triggering will not be printed to the log by default.</source>
192 <translation>Включить/выключить журнал сообщений.
193 Если отключено, активность, такая как срабатывание
194 синтезатора или сэмпла не будет выводиться
195 в журнал по умолчанию.</translation>
196 </message>
197 <message>
198 <location filename="../mainwindow.cpp" line="900"/>
199 <source>Clear log on run</source>
200 <translation>Очищать журнал при выполнении</translation>
201 </message>
202 <message>
203 <location filename="../mainwindow.cpp" line="901"/>
204 <source>Toggle log clearing on run.
205 If enabled, the log is cleared each
206 time the run button is pressed.</source>
207 <translation>Включить/выключить очистку журнала при выполнении.
208 Если включено, журнал очищается каждый раз,
209 когда нажимается кнопка Выполнить.</translation>
210 </message>
211 <message>
212 <location filename="../mainwindow.cpp" line="903"/>
213 <source>Log cues</source>
214 <translation>Журнал сигналов</translation>
215 </message>
216 <message>
217 <location filename="../mainwindow.cpp" line="904"/>
218 <source>Enable or disable logging of cues.
219 If disabled, cues will still trigger.
220 However, they will not be visible in the logs.</source>
221 <translation>Включить/выключить ведение журнала сигналов.
222 Если отключить, сигналы по-прежнему будут воспроизводиться.
223 Однако они не будут видны в журнале.</translation>
224 </message>
225 <message>
226 <location filename="../mainwindow.cpp" line="913"/>
227 <source>Transparency</source>
228 <translation>Прозрачность</translation>
229 </message>
230 <message>
231 <location filename="../mainwindow.cpp" line="924"/>
232 <location filename="../mainwindow.cpp" line="1056"/>
233 <source>Updates</source>
234 <translation>Обновления</translation>
235 </message>
236 <message>
237 <location filename="../mainwindow.cpp" line="926"/>
238 <source>Check for updates</source>
239 <translation>Проверить наличие обновлений</translation>
240 </message>
241 <message>
242 <location filename="../mainwindow.cpp" line="928"/>
243 <source>Toggle automatic update checking.
244 This check involves sending anonymous information about your platform and version.</source>
245 <translation>Включить/выключить автоматическую проверку обновлений.
246 Эта проверка предполагает отправку анонимной информации о вашей платформе и версии.</translation>
247 </message>
248 <message>
249 <location filename="../mainwindow.cpp" line="929"/>
250 <source>Check now</source>
251 <translation>Проверить сейчас</translation>
252 </message>
253 <message>
254 <location filename="../mainwindow.cpp" line="930"/>
255 <source>Force a check for updates now.
256 This check involves sending anonymous information about your platform and version.</source>
257 <translation>Принудительно проверить обновления сейчас.
258 Эта проверка предполагает отправку анонимной информации о вашей платформе и версии.</translation>
259 </message>
260 <message>
261 <location filename="../mainwindow.cpp" line="931"/>
262 <source>Get update</source>
263 <translation>Получить обновления</translation>
264 </message>
265 <message>
266 <location filename="../mainwindow.cpp" line="932"/>
267 <source>Visit http://sonic-pi.net to download new version</source>
268 <translation>Посетить http://sonic-pi.net чтобы скачать новую версию</translation>
269 </message>
270 <message>
271 <location filename="../mainwindow.cpp" line="937"/>
272 <source>Update Info</source>
273 <translation>Информация об обновлениях</translation>
274 </message>
275 <message>
276 <location filename="../mainwindow.cpp" line="956"/>
277 <source>Show and Hide</source>
278 <translation>Показать/Скрыть</translation>
279 </message>
280 <message>
281 <location filename="../mainwindow.cpp" line="957"/>
282 <source>Configure editor display options.</source>
283 <translation>Настроить параметры отображения редактора.</translation>
284 </message>
285 <message>
286 <location filename="../mainwindow.cpp" line="958"/>
287 <source>Look and Feel</source>
288 <translation>Внешний вид</translation>
289 </message>
290 <message>
291 <location filename="../mainwindow.cpp" line="959"/>
292 <source>Configure editor look and feel.</source>
293 <translation>Настроить внешний вид редактора.</translation>
294 </message>
295 <message>
296 <location filename="../mainwindow.cpp" line="960"/>
297 <source>Automation</source>
298 <translation>Автоматизация</translation>
299 </message>
300 <message>
301 <location filename="../mainwindow.cpp" line="961"/>
302 <source>Configure automation features.</source>
303 <translation>Настроить функции автоматизации.</translation>
304 </message>
305 <message>
306 <location filename="../mainwindow.cpp" line="962"/>
307 <source>Auto-align</source>
308 <translation>Автовыравнивание</translation>
309 </message>
310 <message>
311 <location filename="../mainwindow.cpp" line="963"/>
312 <source>Automatically align code on Run</source>
313 <translation>Автоматически выравнивать код при Выполнении</translation>
314 </message>
315 <message>
316 <location filename="../mainwindow.cpp" line="965"/>
317 <source>Show line numbers</source>
318 <translation>Показать номера строк</translation>
319 </message>
320 <message>
321 <location filename="../mainwindow.cpp" line="966"/>
322 <source>Toggle line number visibility.</source>
323 <translation>Показать/скрыть номера строк.</translation>
324 </message>
325 <message>
326 <location filename="../mainwindow.cpp" line="967"/>
327 <source>Show log</source>
328 <translation>Показать журнал</translation>
329 </message>
330 <message>
331 <location filename="../mainwindow.cpp" line="968"/>
332 <source>Toggle visibility of the log.</source>
333 <translation>Показать/скрыть журнал.</translation>
334 </message>
335 <message>
336 <location filename="../mainwindow.cpp" line="970"/>
337 <source>Show buttons</source>
338 <translation>Показать кнопки</translation>
339 </message>
340 <message>
341 <location filename="../mainwindow.cpp" line="971"/>
342 <source>Toggle visibility of the control buttons.</source>
343 <translation>Показать/скрыть кнопки управления.</translation>
344 </message>
345 <message>
346 <location filename="../mainwindow.cpp" line="973"/>
347 <source>Show tabs</source>
348 <translation>Показать вкладки</translation>
349 </message>
350 <message>
351 <location filename="../mainwindow.cpp" line="975"/>
352 <source>Toggle visibility of the buffer selection tabs.</source>
353 <translation>Показать/скрыть вкладки выбора буфера.</translation>
354 </message>
355 <message>
356 <location filename="../mainwindow.cpp" line="976"/>
357 <source>Full screen</source>
358 <translation>На полный экран</translation>
359 </message>
360 <message>
361 <location filename="../mainwindow.cpp" line="977"/>
362 <source>Toggle full screen mode.</source>
363 <translation>Включить/выключить полноэкранный режим.</translation>
364 </message>
365 <message>
366 <location filename="../mainwindow.cpp" line="978"/>
367 <source>Dark mode</source>
368 <translation>Тёмный режим</translation>
369 </message>
370 <message>
371 <location filename="../mainwindow.cpp" line="979"/>
372 <source>Toggle dark mode.</source>
373 <translation>Включить/выключить тёмный режим.</translation>
374 </message>
375 <message>
376 <location filename="../mainwindow.cpp" line="979"/>
377 <source>
378 Dark mode is perfect for live coding in night clubs.</source>
379 <translation>Тёмный режим идеально подходит для лайв-кодинга в ночных клубах.</translation>
380 </message>
381 <message>
382 <location filename="../mainwindow.cpp" line="1018"/>
383 <source>Audio</source>
384 <translation>Аудио</translation>
385 </message>
386 <message>
387 <location filename="../mainwindow.cpp" line="1030"/>
388 <source>Editor</source>
389 <translation>Редактор</translation>
390 </message>
391 <message>
392 <location filename="../mainwindow.cpp" line="1031"/>
393 <source>Studio</source>
394 <translation>Студия</translation>
395 </message>
396 <message>
397 <location filename="../mainwindow.cpp" line="1033"/>
398 <location filename="../mainwindow.cpp" line="1043"/>
399 <source>Performance</source>
400 <translation>Выступление</translation>
401 </message>
402 <message>
403 <location filename="../mainwindow.cpp" line="1034"/>
404 <source>Settings useful for performing with Sonic Pi</source>
405 <translation>Параметры необходимые для выступления с Sonic Pi</translation>
406 </message>
407 <message>
408 <location filename="../mainwindow.cpp" line="1144"/>
409 <source>Server boot error...</source>
410 <translation>Ошибка загрузки сервера...</translation>
411 </message>
412 <message>
413 <location filename="../mainwindow.cpp" line="1144"/>
414 <source>Sonic Pi Boot Error
415
416 Apologies, a critical error occurred during startup</source>
417 <translation>Ошибка Загрузки Sonic Pi
418
419 Извините, произошла критическая ошибка во время запуска</translation>
420 </message>
421 <message>
422 <location filename="../mainwindow.cpp" line="1144"/>
423 <source>Please consider reporting a bug at</source>
424 <translation>Пожалуйста, рассмотрите возможность сообщать об ошибке в</translation>
425 </message>
426 <message>
427 <location filename="../mainwindow.cpp" line="1239"/>
428 <source>Save Current Buffer</source>
429 <translation>Сохранить Текущий Буфер</translation>
430 </message>
431 <message>
432 <location filename="../mainwindow.cpp" line="1310"/>
433 <source>Running Code...</source>
434 <translation>Выполнение Кода...</translation>
435 </message>
436 <message>
437 <location filename="../mainwindow.cpp" line="1352"/>
438 <source>Zooming In...</source>
439 <translation>Увеличение масштаба...</translation>
440 </message>
441 <message>
442 <location filename="../mainwindow.cpp" line="1359"/>
443 <source>Zooming Out...</source>
444 <translation>Уменьшение масштаба...</translation>
445 </message>
446 <message>
447 <location filename="../mainwindow.cpp" line="1366"/>
448 <source>Beautifying...</source>
449 <translation>Украшение...</translation>
450 </message>
451 <message>
452 <location filename="../mainwindow.cpp" line="1386"/>
453 <source>Reloading...</source>
454 <translation>Перезагрузка...</translation>
455 </message>
456 <message>
457 <location filename="../mainwindow.cpp" line="1393"/>
458 <source>Checking for updates...</source>
459 <translation>Проверка обновлений...</translation>
460 </message>
461 <message>
462 <location filename="../mainwindow.cpp" line="1401"/>
463 <source>Enabling update checking...</source>
464 <translation>Активирование проверки обновлений...</translation>
465 </message>
466 <message>
467 <location filename="../mainwindow.cpp" line="1409"/>
468 <source>Disabling update checking...</source>
469 <translation>Отключение проверки обновлений...</translation>
470 </message>
471 <message>
472 <location filename="../mainwindow.cpp" line="1417"/>
473 <source>Enabling Mixer HPF...</source>
474 <translation>Активирование Микшера ВЧФ...</translation>
475 </message>
476 <message>
477 <location filename="../mainwindow.cpp" line="1426"/>
478 <source>Disabling Mixer HPF...</source>
479 <translation>Отключение Микшера ВЧФ...</translation>
480 </message>
481 <message>
482 <location filename="../mainwindow.cpp" line="1434"/>
483 <source>Enabling Mixer LPF...</source>
484 <translation>Активирование Микшера НЧФ...</translation>
485 </message>
486 <message>
487 <location filename="../mainwindow.cpp" line="1443"/>
488 <source>Disabling Mixer LPF...</source>
489 <translation>Отключение Микшера НЧФ...</translation>
490 </message>
491 <message>
492 <location filename="../mainwindow.cpp" line="1451"/>
493 <source>Enabling Inverted Stereo...</source>
494 <translation>Активирование Инвертированного Стерео...</translation>
495 </message>
496 <message>
497 <location filename="../mainwindow.cpp" line="1459"/>
498 <source>Enabling Standard Stereo...</source>
499 <translation>Активирование Стандартного Стерео...</translation>
500 </message>
501 <message>
502 <location filename="../mainwindow.cpp" line="1467"/>
503 <source>Mono Mode...</source>
504 <translation>Моно Режим...</translation>
505 </message>
506 <message>
507 <location filename="../mainwindow.cpp" line="1475"/>
508 <source>Stereo Mode...</source>
509 <translation>Стерео Режим...</translation>
510 </message>
511 <message>
512 <location filename="../mainwindow.cpp" line="1484"/>
513 <source>Stopping...</source>
514 <translation>Остановка...</translation>
515 </message>
516 <message>
517 <location filename="../mainwindow.cpp" line="1580"/>
518 <source>Updating System Volume...</source>
519 <translation>Обновление системной громкости...</translation>
520 </message>
521 <message>
522 <location filename="../mainwindow.cpp" line="1802"/>
523 <source>Switching To Headphone Audio Output...</source>
524 <translation>Переключение на Аудио Выход Наушников...</translation>
525 </message>
526 <message>
527 <location filename="../mainwindow.cpp" line="1818"/>
528 <source>Switching To HDMI Audio Output...</source>
529 <translation>Переключение на Аудио Выход HDMI...</translation>
530 </message>
531 <message>
532 <location filename="../mainwindow.cpp" line="1833"/>
533 <source>Switching To Default Audio Output...</source>
534 <translation>Переключение на Аудио Выход По Умолчанию...</translation>
535 </message>
536 <message>
537 <location filename="../mainwindow.cpp" line="1984"/>
538 <source>Run</source>
539 <translation>Выполнить</translation>
540 </message>
541 <message>
542 <location filename="../mainwindow.cpp" line="1985"/>
543 <source>Run the code in the current buffer</source>
544 <translation>Выполнить код текущего буфера</translation>
545 </message>
546 <message>
547 <location filename="../mainwindow.cpp" line="1990"/>
548 <source>Stop</source>
549 <translation>Остановить</translation>
550 </message>
551 <message>
552 <location filename="../mainwindow.cpp" line="1991"/>
553 <source>Stop all running code</source>
554 <translation>Остановить весь запущенный код</translation>
555 </message>
556 <message>
557 <location filename="../mainwindow.cpp" line="1994"/>
558 <source>Save As...</source>
559 <translation>Сохранить Как...</translation>
560 </message>
561 <message>
562 <location filename="../mainwindow.cpp" line="1995"/>
563 <source>Save current buffer as an external file</source>
564 <translation>Сохранить текущий буфер как внешний файл</translation>
565 </message>
566 <message>
567 <location filename="../mainwindow.cpp" line="1998"/>
568 <source>Info</source>
569 <translation>Информация</translation>
570 </message>
571 <message>
572 <location filename="../mainwindow.cpp" line="1999"/>
573 <source>See information about Sonic Pi</source>
574 <translation>Посмотреть информацию о Sonic Pi</translation>
575 </message>
576 <message>
577 <location filename="../mainwindow.cpp" line="2004"/>
578 <source>Toggle help pane</source>
579 <translation>Показать/скрыть панель помощи</translation>
580 </message>
581 <message>
582 <location filename="../mainwindow.cpp" line="2007"/>
583 <source>Prefs</source>
584 <translation>Параметры</translation>
585 </message>
586 <message>
587 <location filename="../mainwindow.cpp" line="2008"/>
588 <source>Toggle preferences pane</source>
589 <translation>Показать/скрыть панель настроек</translation>
590 </message>
591 <message>
592 <location filename="../mainwindow.cpp" line="2012"/>
593 <location filename="../mainwindow.cpp" line="2137"/>
594 <location filename="../mainwindow.cpp" line="2138"/>
595 <source>Start Recording</source>
596 <translation>Начать Запись</translation>
597 </message>
598 <message>
599 <location filename="../mainwindow.cpp" line="2013"/>
600 <source>Start recording to WAV audio file</source>
601 <translation>Начать запись в WAV аудио файл</translation>
602 </message>
603 <message>
604 <location filename="../mainwindow.cpp" line="2017"/>
605 <source>Auto-Align Text</source>
606 <translation>Автовыравнивание текста</translation>
607 </message>
608 <message>
609 <location filename="../mainwindow.cpp" line="2018"/>
610 <source>Improve readability of code</source>
611 <translation>Улучшить читаемость кода</translation>
612 </message>
613 <message>
614 <location filename="../mainwindow.cpp" line="2024"/>
615 <source>Increase Text Size</source>
616 <translation>Увеличить Размер Текста</translation>
617 </message>
618 <message>
619 <location filename="../mainwindow.cpp" line="2031"/>
620 <source>Decrease Text Size</source>
621 <translation>Уменьшить Размер Текста</translation>
622 </message>
623 <message>
624 <location filename="../mainwindow.cpp" line="2036"/>
625 <source>Tools</source>
626 <translation>Инструменты</translation>
627 </message>
628 <message>
629 <location filename="../mainwindow.cpp" line="2083"/>
630 <source>About</source>
631 <translation>О Sonic Pi</translation>
632 </message>
633 <message>
634 <location filename="../mainwindow.cpp" line="2084"/>
635 <source>Core Team</source>
636 <translation>Ядро Команды</translation>
637 </message>
638 <message>
639 <location filename="../mainwindow.cpp" line="2085"/>
640 <source>Contributors</source>
641 <translation>Внесли вклад</translation>
642 </message>
643 <message>
644 <location filename="../mainwindow.cpp" line="2086"/>
645 <source>Community</source>
646 <translation>Сообщество</translation>
647 </message>
648 <message>
649 <location filename="../mainwindow.cpp" line="2087"/>
650 <source>License</source>
651 <translation>Лицензия</translation>
652 </message>
653 <message>
654 <location filename="../mainwindow.cpp" line="2088"/>
655 <source>History</source>
656 <translation>История</translation>
657 </message>
658 <message>
659 <location filename="../mainwindow.cpp" line="2109"/>
660 <source>Sonic Pi - Info</source>
661 <translation>Информация o Sonic Pi</translation>
662 </message>
663 <message>
664 <location filename="../mainwindow.cpp" line="2129"/>
665 <location filename="../mainwindow.cpp" line="2130"/>
666 <source>Stop Recording</source>
667 <translation>Остановить Запись</translation>
668 </message>
669 <message>
670 <location filename="../mainwindow.cpp" line="2143"/>
671 <source>Save Recording</source>
672 <translation>Сохранить Запись</translation>
673 </message>
674 <message>
675 <location filename="../mainwindow.cpp" line="2162"/>
676 <source>Ready...</source>
677 <translation>Подготовка...</translation>
678 </message>
679 <message>
680 <location filename="../mainwindow.cpp" line="2238"/>
681 <source>Cannot read file %1:
682 %2.</source>
683 <translation>Не удаётся прочитать файл %1: %2.</translation>
684 </message>
685 <message>
686 <location filename="../mainwindow.cpp" line="2248"/>
687 <source>File loaded...</source>
688 <translation>Файл загружен...</translation>
689 </message>
690 <message>
691 <location filename="../mainwindow.cpp" line="2256"/>
692 <source>Cannot write file %1:
693 %2.</source>
694 <translation>Не удаётся записать файл %1: %2.</translation>
695 </message>
696 <message>
697 <location filename="../mainwindow.cpp" line="2273"/>
698 <source>File saved...</source>
699 <translation>Файл сохранён...</translation>
700 </message>
701 <message>
702 <location filename="../mainwindow.cpp" line="2499"/>
703 <source>Last checked %1</source>
704 <translation>Последняя проверка %1</translation>
705 </message>
706 <message>
707 <location filename="../mainwindow.cpp" line="2501"/>
708 <source>Sonic Pi checks for updates
709 every two weeks.</source>
710 <translation>Sonic Pi проверяет наличие обновлений
711 каждые две недели.</translation>
712 </message>
713 <message>
714 <location filename="../mainwindow.cpp" line="2503"/>
715 <source>This is Sonic Pi %1</source>
716 <translation>Это Sonic Pi %1</translation>
717 </message>
718 <message>
719 <location filename="../mainwindow.cpp" line="2504"/>
720 <source>Version %2 is now available!</source>
721 <translation>Версия %2 теперь доступна!</translation>
722 </message>
723 <message>
724 <location filename="../mainwindow.cpp" line="2508"/>
725 <source>New version available!
726 Get Sonic Pi %1</source>
727 <translation>Доступна новая версия!
728 Получить Sonic Pi %1</translation>
729 </message>
730 <message>
731 <location filename="../mainwindow.cpp" line="2532"/>
732 <source>Welcome back. Now get your live code on...</source>
733 <translation>С возвращением. Начните свой лайв кодинг...</translation>
734 </message>
735 </context>
736 <context>
737 <name>QObject</name>
738 <message>
739 <location filename="../main.cpp" line="43"/>
740 <source>Sonic Pi</source>
741 <translation>Sonic Pi</translation>
742 </message>
743 </context>
744 <context>
745 <name>SonicPiUDPOSCServer</name>
746 <message>
747 <location filename="../sonic_pi_udp_osc_server.cpp" line="24"/>
748 <source>Is Sonic Pi already running? Can&apos;t open UDP port 4558.</source>
749 <translation>Sonic Pi уже запущен? Не могу открыть UDP порт 4558.</translation>
750 </message>
751 </context>
752 </TS>
0 <?xml version="1.0" encoding="utf-8"?>
1 <!DOCTYPE TS>
2 <TS version="2.1" language="zh_CN">
3 <context>
4 <name>MainWindow</name>
5 <message>
6 <location filename="../mainwindow.cpp" line="201"/>
7 <location filename="../mainwindow.cpp" line="2336"/>
8 <location filename="../mainwindow.cpp" line="2356"/>
9 <source>Sonic Pi</source>
10 <translation>Sonic Pi</translation>
11 </message>
12 <message>
13 <location filename="../mainwindow.cpp" line="254"/>
14 <source>Welcome to Sonic Pi</source>
15 <translation>欢迎进入Sonic Pi的世界</translation>
16 </message>
17 <message>
18 <location filename="../mainwindow.cpp" line="296"/>
19 <source>Sonic Pi update info</source>
20 <translation>Sonic Pi更新</translation>
21 </message>
22 <message>
23 <location filename="../mainwindow.cpp" line="400"/>
24 <source>Buffer %1</source>
25 <translation>编辑器窗口 %1</translation>
26 </message>
27 <message>
28 <location filename="../mainwindow.cpp" line="464"/>
29 <source>Preferences</source>
30 <translation>偏好设置</translation>
31 </message>
32 <message>
33 <location filename="../mainwindow.cpp" line="477"/>
34 <source>Log</source>
35 <translation>日志</translation>
36 </message>
37 <message>
38 <location filename="../mainwindow.cpp" line="518"/>
39 <location filename="../mainwindow.cpp" line="2097"/>
40 <source>Help</source>
41 <translation>帮助</translation>
42 </message>
43 <message>
44 <location filename="../mainwindow.cpp" line="670"/>
45 <source>Indenting selection...</source>
46 <translation>缩进选中区域</translation>
47 </message>
48 <message>
49 <location filename="../mainwindow.cpp" line="674"/>
50 <source>Indenting line...</source>
51 <translation>缩进当前行</translation>
52 </message>
53 <message>
54 <location filename="../mainwindow.cpp" line="703"/>
55 <source>Toggle selection comment...</source>
56 <translation>注释/取消注释选中区域</translation>
57 </message>
58 <message>
59 <location filename="../mainwindow.cpp" line="707"/>
60 <source>Toggle line comment...</source>
61 <translation>注释/取消注释当前行</translation>
62 </message>
63 <message>
64 <location filename="../mainwindow.cpp" line="765"/>
65 <source>The Sonic Pi server could not be started!</source>
66 <translation>Sonic Pi服务器无法启动。</translation>
67 </message>
68 <message>
69 <location filename="../mainwindow.cpp" line="872"/>
70 <source>Raspberry Pi System Volume</source>
71 <translation>Raspberry Pi系统音量</translation>
72 </message>
73 <message>
74 <location filename="../mainwindow.cpp" line="873"/>
75 <source>Use this slider to change the system volume of your Raspberry Pi.</source>
76 <translation>请用这个滑块调整Raspberry Pi的系统音量</translation>
77 </message>
78 <message>
79 <location filename="../mainwindow.cpp" line="875"/>
80 <source>Advanced Audio</source>
81 <translation>高级音量选项</translation>
82 </message>
83 <message>
84 <location filename="../mainwindow.cpp" line="876"/>
85 <source>Advanced audio settings for working with
86 external PA systems when performing with Sonic Pi.</source>
87 <translation>外接PA系统的高级音量选项</translation>
88 </message>
89 <message>
90 <location filename="../mainwindow.cpp" line="877"/>
91 <source>Invert Stereo</source>
92 <translation>反转立体声声道</translation>
93 </message>
94 <message>
95 <location filename="../mainwindow.cpp" line="878"/>
96 <source>Toggle stereo inversion.
97 If enabled, audio sent to the left speaker will
98 be routed to the right speaker and visa versa.</source>
99 <translation>打开/关闭立体声声道反转</translation>
100 </message>
101 <message>
102 <location filename="../mainwindow.cpp" line="880"/>
103 <source>Force Mono</source>
104 <translation>强制单声道</translation>
105 </message>
106 <message>
107 <location filename="../mainwindow.cpp" line="881"/>
108 <source>Toggle mono mode.
109 If enabled both right and left audio is mixed and
110 the same signal is sent to both speakers.
111 Useful when working with external systems that
112 can only handle mono.</source>
113 <translation>打开/关闭强制单声道</translation>
114 </message>
115 <message>
116 <location filename="../mainwindow.cpp" line="884"/>
117 <source>Safe mode</source>
118 <translation>安全模式</translation>
119 </message>
120 <message>
121 <location filename="../mainwindow.cpp" line="885"/>
122 <source>Toggle synth argument checking functions.
123 If disabled, certain synth opt values may
124 create unexpectedly loud or uncomfortable sounds.</source>
125 <translation>打开/关闭合成器参数检查</translation>
126 </message>
127 <message>
128 <location filename="../mainwindow.cpp" line="897"/>
129 <source>Raspberry Pi Audio Output</source>
130 <translation>Raspberry Pi音频输出</translation>
131 </message>
132 <message>
133 <location filename="../mainwindow.cpp" line="898"/>
134 <source>Your Raspberry Pi has two forms of audio output.
135 Firstly, there is the headphone jack of the Raspberry Pi itself.
136 Secondly, some HDMI monitors/TVs support audio through the HDMI port.
137 Use these buttons to force the output to the one you want.</source>
138 <translation>你的Raspberry Pi有两种音频输出模式。第一种是通过系统的耳机接口输出;
139 第二种是通过HDMI接口。你可以通过以下按钮来选择你希望使用的音频输出方式</translation>
140 </message>
141 <message>
142 <location filename="../mainwindow.cpp" line="899"/>
143 <source>&amp;Default</source>
144 <translation>&amp;默认</translation>
145 </message>
146 <message>
147 <location filename="../mainwindow.cpp" line="900"/>
148 <source>&amp;Headphones</source>
149 <translation>&amp;耳机接口</translation>
150 </message>
151 <message>
152 <location filename="../mainwindow.cpp" line="901"/>
153 <source>&amp;HDMI</source>
154 <translation>&amp;HDMI接口</translation>
155 </message>
156 <message>
157 <location filename="../mainwindow.cpp" line="921"/>
158 <source>Logging</source>
159 <translation>日志选项</translation>
160 </message>
161 <message>
162 <location filename="../mainwindow.cpp" line="922"/>
163 <source>Configure debug behaviour</source>
164 <translation>配置调试模式</translation>
165 </message>
166 <message>
167 <location filename="../mainwindow.cpp" line="924"/>
168 <source>Log synths</source>
169 <translation>记录声音合成</translation>
170 </message>
171 <message>
172 <location filename="../mainwindow.cpp" line="925"/>
173 <source>Toggle log messages.
174 If disabled, activity such as synth and sample
175 triggering will not be printed to the log by default.</source>
176 <translation>是否记录日志</translation>
177 </message>
178 <message>
179 <location filename="../mainwindow.cpp" line="927"/>
180 <source>Clear log on run</source>
181 <translation>重新运行时清空日志</translation>
182 </message>
183 <message>
184 <location filename="../mainwindow.cpp" line="928"/>
185 <source>Toggle log clearing on run.
186 If enabled, the log is cleared each
187 time the run button is pressed.</source>
188 <translation>是否在运行时自动清空日志</translation>
189 </message>
190 <message>
191 <location filename="../mainwindow.cpp" line="930"/>
192 <source>Log cues</source>
193 <translation>记录提示</translation>
194 </message>
195 <message>
196 <location filename="../mainwindow.cpp" line="931"/>
197 <source>Enable or disable logging of cues.
198 If disabled, cues will still trigger.
199 However, they will not be visible in the logs.</source>
200 <translation>是否记录提示到日志</translation>
201 </message>
202 <message>
203 <location filename="../mainwindow.cpp" line="933"/>
204 <source>Log Auto Scroll</source>
205 <translation>日志自动滚动</translation>
206 </message>
207 <message>
208 <location filename="../mainwindow.cpp" line="934"/>
209 <source>Toggle log auto scrolling.
210 If enabled the log is scrolled to the botton after every new message is displayed.</source>
211 <translation>是否自动滚动日志</translation>
212 </message>
213 <message>
214 <location filename="../mainwindow.cpp" line="944"/>
215 <source>Transparency</source>
216 <translation>透明度</translation>
217 </message>
218 <message>
219 <location filename="../mainwindow.cpp" line="955"/>
220 <location filename="../mainwindow.cpp" line="1087"/>
221 <source>Updates</source>
222 <translation>更新</translation>
223 </message>
224 <message>
225 <location filename="../mainwindow.cpp" line="957"/>
226 <source>Check for updates</source>
227 <translation>检查更新</translation>
228 </message>
229 <message>
230 <location filename="../mainwindow.cpp" line="959"/>
231 <source>Toggle automatic update checking.
232 This check involves sending anonymous information about your platform and version.</source>
233 <translation>打开/关闭自动更新(以及上传匿名版本信息)</translation>
234 </message>
235 <message>
236 <location filename="../mainwindow.cpp" line="960"/>
237 <source>Check now</source>
238 <translation>立即检查更新</translation>
239 </message>
240 <message>
241 <location filename="../mainwindow.cpp" line="961"/>
242 <source>Force a check for updates now.
243 This check involves sending anonymous information about your platform and version.</source>
244 <translation>立即检查更新(并上传匿名版本信息)</translation>
245 </message>
246 <message>
247 <location filename="../mainwindow.cpp" line="962"/>
248 <source>Get update</source>
249 <translation>获取更新</translation>
250 </message>
251 <message>
252 <location filename="../mainwindow.cpp" line="963"/>
253 <source>Visit http://sonic-pi.net to download new version</source>
254 <translation>访问http://sonic-pi.net下载新版本</translation>
255 </message>
256 <message>
257 <location filename="../mainwindow.cpp" line="968"/>
258 <source>Update Info</source>
259 <translation>更新信息</translation>
260 </message>
261 <message>
262 <location filename="../mainwindow.cpp" line="987"/>
263 <source>Show and Hide</source>
264 <translation>显示/隐藏</translation>
265 </message>
266 <message>
267 <location filename="../mainwindow.cpp" line="988"/>
268 <source>Configure editor display options.</source>
269 <translation>代码编辑器选项</translation>
270 </message>
271 <message>
272 <location filename="../mainwindow.cpp" line="989"/>
273 <source>Look and Feel</source>
274 <translation>外观</translation>
275 </message>
276 <message>
277 <location filename="../mainwindow.cpp" line="990"/>
278 <source>Configure editor look and feel.</source>
279 <translation>设置代码编辑器外观</translation>
280 </message>
281 <message>
282 <location filename="../mainwindow.cpp" line="991"/>
283 <source>Automation</source>
284 <translation>自动化</translation>
285 </message>
286 <message>
287 <location filename="../mainwindow.cpp" line="992"/>
288 <source>Configure automation features.</source>
289 <translation>设置自动化选项</translation>
290 </message>
291 <message>
292 <location filename="../mainwindow.cpp" line="993"/>
293 <source>Auto-align</source>
294 <translation>自动对齐</translation>
295 </message>
296 <message>
297 <location filename="../mainwindow.cpp" line="994"/>
298 <source>Automatically align code on Run</source>
299 <translation>运行时自动对齐代码</translation>
300 </message>
301 <message>
302 <location filename="../mainwindow.cpp" line="996"/>
303 <source>Show line numbers</source>
304 <translation>显示行号</translation>
305 </message>
306 <message>
307 <location filename="../mainwindow.cpp" line="997"/>
308 <source>Toggle line number visibility.</source>
309 <translation>是否显示行号</translation>
310 </message>
311 <message>
312 <location filename="../mainwindow.cpp" line="998"/>
313 <source>Show log</source>
314 <translation>显示日志</translation>
315 </message>
316 <message>
317 <location filename="../mainwindow.cpp" line="999"/>
318 <source>Toggle visibility of the log.</source>
319 <translation>是否显示日志</translation>
320 </message>
321 <message>
322 <location filename="../mainwindow.cpp" line="1001"/>
323 <source>Show buttons</source>
324 <translation>显示控制按钮</translation>
325 </message>
326 <message>
327 <location filename="../mainwindow.cpp" line="1002"/>
328 <source>Toggle visibility of the control buttons.</source>
329 <translation>是否显示控制按钮</translation>
330 </message>
331 <message>
332 <location filename="../mainwindow.cpp" line="1004"/>
333 <source>Show tabs</source>
334 <translation>显示编辑器窗口选择栏</translation>
335 </message>
336 <message>
337 <location filename="../mainwindow.cpp" line="1006"/>
338 <source>Toggle visibility of the buffer selection tabs.</source>
339 <translation>是否显示编辑器窗口选择栏</translation>
340 </message>
341 <message>
342 <location filename="../mainwindow.cpp" line="1007"/>
343 <source>Full screen</source>
344 <translation>全屏模式</translation>
345 </message>
346 <message>
347 <location filename="../mainwindow.cpp" line="1008"/>
348 <source>Toggle full screen mode.</source>
349 <translation>打开/关闭全屏模式</translation>
350 </message>
351 <message>
352 <location filename="../mainwindow.cpp" line="1009"/>
353 <source>Dark mode</source>
354 <translation>夜灯模式</translation>
355 </message>
356 <message>
357 <location filename="../mainwindow.cpp" line="1010"/>
358 <source>Toggle dark mode.</source>
359 <translation>打开/关闭夜灯模式</translation>
360 </message>
361 <message>
362 <location filename="../mainwindow.cpp" line="1010"/>
363 <source>
364 Dark mode is perfect for live coding in night clubs.</source>
365 <translation>夜灯模式适用于在灯光教案的场所使用</translation>
366 </message>
367 <message>
368 <location filename="../mainwindow.cpp" line="1049"/>
369 <source>Audio</source>
370 <translation>音频</translation>
371 </message>
372 <message>
373 <location filename="../mainwindow.cpp" line="1061"/>
374 <source>Editor</source>
375 <translation>编辑器</translation>
376 </message>
377 <message>
378 <location filename="../mainwindow.cpp" line="1062"/>
379 <source>Studio</source>
380 <translation>工作室</translation>
381 </message>
382 <message>
383 <location filename="../mainwindow.cpp" line="1064"/>
384 <location filename="../mainwindow.cpp" line="1074"/>
385 <source>Performance</source>
386 <translation>性能</translation>
387 </message>
388 <message>
389 <location filename="../mainwindow.cpp" line="1065"/>
390 <source>Settings useful for performing with Sonic Pi</source>
391 <translation>表演用设置</translation>
392 </message>
393 <message>
394 <location filename="../mainwindow.cpp" line="1200"/>
395 <source>Server boot error...</source>
396 <translation>服务器启动错误...</translation>
397 </message>
398 <message>
399 <location filename="../mainwindow.cpp" line="1200"/>
400 <source>Sonic Pi Boot Error
401
402 Apologies, a critical error occurred during startup</source>
403 <translation>Sonic Pi启动错误
404
405 很抱歉,Sonic Pi启动过程中发生错误
406 </translation>
407 </message>
408 <message>
409 <location filename="../mainwindow.cpp" line="1200"/>
410 <source>Please consider reporting a bug at</source>
411 <translation>你可以报告这个bug</translation>
412 </message>
413 <message>
414 <location filename="../mainwindow.cpp" line="1305"/>
415 <location filename="../mainwindow.cpp" line="1318"/>
416 <source>Buffer files(*.rb *.txt)</source>
417 <translation>Sonic-Pi代码文件 (*.rb *.txt)</translation>
418 </message>
419 <message>
420 <location filename="../mainwindow.cpp" line="1306"/>
421 <source>Load Sonic-Pi Buffer</source>
422 <translation>加载Sonic-Pi代码</translation>
423 </message>
424 <message>
425 <location filename="../mainwindow.cpp" line="1306"/>
426 <location filename="../mainwindow.cpp" line="1319"/>
427 <source>Buffer files(*.rb *.txt);;Text files (*.txt);;Ruby (*.rb);;All files (*.*)</source>
428 <translation>Sonic-Pi代码文件 (*.rb *.txt);;Text files (*.txt);;Ruby (*.rb);;所有文件 (*.*)</translation>
429 </message>
430 <message>
431 <location filename="../mainwindow.cpp" line="1319"/>
432 <source>Save Current Buffer</source>
433 <translation>保存当前编辑器窗口代码</translation>
434 </message>
435 <message>
436 <location filename="../mainwindow.cpp" line="1390"/>
437 <source>Running Code...</source>
438 <translation>运行代码</translation>
439 </message>
440 <message>
441 <location filename="../mainwindow.cpp" line="1432"/>
442 <source>Zooming In...</source>
443 <translation>放大...</translation>
444 </message>
445 <message>
446 <location filename="../mainwindow.cpp" line="1439"/>
447 <source>Zooming Out...</source>
448 <translation>缩小...</translation>
449 </message>
450 <message>
451 <location filename="../mainwindow.cpp" line="1446"/>
452 <source>Beautifying...</source>
453 <translation>美化...</translation>
454 </message>
455 <message>
456 <location filename="../mainwindow.cpp" line="1466"/>
457 <source>Reloading...</source>
458 <translation>重新载入...</translation>
459 </message>
460 <message>
461 <location filename="../mainwindow.cpp" line="1473"/>
462 <source>Checking for updates...</source>
463 <translation>检查更新...</translation>
464 </message>
465 <message>
466 <location filename="../mainwindow.cpp" line="1481"/>
467 <source>Enabling update checking...</source>
468 <translation>开启更新检查...</translation>
469 </message>
470 <message>
471 <location filename="../mainwindow.cpp" line="1489"/>
472 <source>Disabling update checking...</source>
473 <translation>关闭更新检查...</translation>
474 </message>
475 <message>
476 <location filename="../mainwindow.cpp" line="1497"/>
477 <source>Enabling Mixer HPF...</source>
478 <translation>启用高通滤波器...</translation>
479 </message>
480 <message>
481 <location filename="../mainwindow.cpp" line="1506"/>
482 <source>Disabling Mixer HPF...</source>
483 <translation>禁用高通滤波器...</translation>
484 </message>
485 <message>
486 <location filename="../mainwindow.cpp" line="1514"/>
487 <source>Enabling Mixer LPF...</source>
488 <translation>启用低通滤波器...</translation>
489 </message>
490 <message>
491 <location filename="../mainwindow.cpp" line="1523"/>
492 <source>Disabling Mixer LPF...</source>
493 <translation>禁用低通滤波器...</translation>
494 </message>
495 <message>
496 <location filename="../mainwindow.cpp" line="1531"/>
497 <source>Enabling Inverted Stereo...</source>
498 <translation>启用反转立体声...</translation>
499 </message>
500 <message>
501 <location filename="../mainwindow.cpp" line="1539"/>
502 <source>Enabling Standard Stereo...</source>
503 <translation>启用标准立体声...</translation>
504 </message>
505 <message>
506 <location filename="../mainwindow.cpp" line="1547"/>
507 <source>Mono Mode...</source>
508 <translation>单声道模式...</translation>
509 </message>
510 <message>
511 <location filename="../mainwindow.cpp" line="1555"/>
512 <source>Stereo Mode...</source>
513 <translation>立体声模式...</translation>
514 </message>
515 <message>
516 <location filename="../mainwindow.cpp" line="1564"/>
517 <source>Stopping...</source>
518 <translation>终止当前任务...</translation>
519 </message>
520 <message>
521 <location filename="../mainwindow.cpp" line="1660"/>
522 <source>Updating System Volume...</source>
523 <translation>更新系统音量...</translation>
524 </message>
525 <message>
526 <location filename="../mainwindow.cpp" line="1676"/>
527 <source>Log Auto Scroll on...</source>
528 <translation>日志窗口自动滚动开启...</translation>
529 </message>
530 <message>
531 <location filename="../mainwindow.cpp" line="1678"/>
532 <source>Log Auto Scroll off...</source>
533 <translation>日志窗口自动滚动关闭...</translation>
534 </message>
535 <message>
536 <location filename="../mainwindow.cpp" line="1892"/>
537 <source>Switching To Headphone Audio Output...</source>
538 <translation>切换到耳机音频输出...</translation>
539 </message>
540 <message>
541 <location filename="../mainwindow.cpp" line="1908"/>
542 <source>Switching To HDMI Audio Output...</source>
543 <translation>切换到HDMI音频输出...</translation>
544 </message>
545 <message>
546 <location filename="../mainwindow.cpp" line="1923"/>
547 <source>Switching To Default Audio Output...</source>
548 <translation>切换到默认音频输出...</translation>
549 </message>
550 <message>
551 <location filename="../mainwindow.cpp" line="2074"/>
552 <source>Run</source>
553 <translation>运行</translation>
554 </message>
555 <message>
556 <location filename="../mainwindow.cpp" line="2075"/>
557 <source>Run the code in the current buffer</source>
558 <translation>运行当前编辑器窗口内的代码</translation>
559 </message>
560 <message>
561 <location filename="../mainwindow.cpp" line="2080"/>
562 <source>Stop</source>
563 <translation>停止</translation>
564 </message>
565 <message>
566 <location filename="../mainwindow.cpp" line="2081"/>
567 <source>Stop all running code</source>
568 <translation>停止所有代码运行</translation>
569 </message>
570 <message>
571 <location filename="../mainwindow.cpp" line="2084"/>
572 <source>Save As...</source>
573 <translation>另存为...</translation>
574 </message>
575 <message>
576 <location filename="../mainwindow.cpp" line="2085"/>
577 <source>Save current buffer as an external file</source>
578 <translation>保存当前编辑器窗口为外部文件</translation>
579 </message>
580 <message>
581 <location filename="../mainwindow.cpp" line="2088"/>
582 <source>Load</source>
583 <translation>载入</translation>
584 </message>
585 <message>
586 <location filename="../mainwindow.cpp" line="2089"/>
587 <source>Load an external file in the current buffer</source>
588 <translation>载入外部文件到当前编辑器窗口</translation>
589 </message>
590 <message>
591 <location filename="../mainwindow.cpp" line="2092"/>
592 <source>Info</source>
593 <translation>信息</translation>
594 </message>
595 <message>
596 <location filename="../mainwindow.cpp" line="2093"/>
597 <source>See information about Sonic Pi</source>
598 <translation>查看Sonic Pi相关信息</translation>
599 </message>
600 <message>
601 <location filename="../mainwindow.cpp" line="2098"/>
602 <source>Toggle help pane</source>
603 <translation>打开/关闭帮助栏</translation>
604 </message>
605 <message>
606 <location filename="../mainwindow.cpp" line="2101"/>
607 <source>Prefs</source>
608 <translation>偏好选项</translation>
609 </message>
610 <message>
611 <location filename="../mainwindow.cpp" line="2102"/>
612 <source>Toggle preferences pane</source>
613 <translation>打开/关闭偏好选项栏</translation>
614 </message>
615 <message>
616 <location filename="../mainwindow.cpp" line="2106"/>
617 <location filename="../mainwindow.cpp" line="2234"/>
618 <location filename="../mainwindow.cpp" line="2235"/>
619 <source>Start Recording</source>
620 <translation>开始录制</translation>
621 </message>
622 <message>
623 <location filename="../mainwindow.cpp" line="2107"/>
624 <source>Start recording to WAV audio file</source>
625 <translation>开始录制到wav文件</translation>
626 </message>
627 <message>
628 <location filename="../mainwindow.cpp" line="2111"/>
629 <source>Auto-Align Text</source>
630 <translation>自动对齐</translation>
631 </message>
632 <message>
633 <location filename="../mainwindow.cpp" line="2112"/>
634 <source>Improve readability of code</source>
635 <translation>提高代码可读性</translation>
636 </message>
637 <message>
638 <location filename="../mainwindow.cpp" line="2118"/>
639 <source>Increase Text Size</source>
640 <translation>增大字体</translation>
641 </message>
642 <message>
643 <location filename="../mainwindow.cpp" line="2125"/>
644 <source>Decrease Text Size</source>
645 <translation>减小字体</translation>
646 </message>
647 <message>
648 <location filename="../mainwindow.cpp" line="2130"/>
649 <source>Tools</source>
650 <translation>工具</translation>
651 </message>
652 <message>
653 <location filename="../mainwindow.cpp" line="2180"/>
654 <source>About</source>
655 <translation>关于</translation>
656 </message>
657 <message>
658 <location filename="../mainwindow.cpp" line="2181"/>
659 <source>Core Team</source>
660 <translation>核心团队</translation>
661 </message>
662 <message>
663 <location filename="../mainwindow.cpp" line="2182"/>
664 <source>Contributors</source>
665 <translation>项目参与者</translation>
666 </message>
667 <message>
668 <location filename="../mainwindow.cpp" line="2183"/>
669 <source>Community</source>
670 <translation>社区</translation>
671 </message>
672 <message>
673 <location filename="../mainwindow.cpp" line="2184"/>
674 <source>License</source>
675 <translation>License</translation>
676 </message>
677 <message>
678 <location filename="../mainwindow.cpp" line="2185"/>
679 <source>History</source>
680 <translation>历史</translation>
681 </message>
682 <message>
683 <location filename="../mainwindow.cpp" line="2206"/>
684 <source>Sonic Pi - Info</source>
685 <translation>Sonic Pi - 信息</translation>
686 </message>
687 <message>
688 <location filename="../mainwindow.cpp" line="2226"/>
689 <location filename="../mainwindow.cpp" line="2227"/>
690 <source>Stop Recording</source>
691 <translation>停止录制</translation>
692 </message>
693 <message>
694 <location filename="../mainwindow.cpp" line="2240"/>
695 <source>Save Recording</source>
696 <translation>保存录音</translation>
697 </message>
698 <message>
699 <location filename="../mainwindow.cpp" line="2240"/>
700 <source>Wavefile (*.wav)</source>
701 <translation>波形文件 (*.wav)</translation>
702 </message>
703 <message>
704 <location filename="../mainwindow.cpp" line="2259"/>
705 <source>Ready...</source>
706 <translation>就绪...</translation>
707 </message>
708 <message>
709 <location filename="../mainwindow.cpp" line="2337"/>
710 <source>Cannot read file %1:
711 %2.</source>
712 <translation>无法读取文件 %1:
713 %2.</translation>
714 </message>
715 <message>
716 <location filename="../mainwindow.cpp" line="2348"/>
717 <source>File loaded...</source>
718 <translation>文件已加载...</translation>
719 </message>
720 <message>
721 <location filename="../mainwindow.cpp" line="2357"/>
722 <source>Cannot write file %1:
723 %2.</source>
724 <translation>无法写入文件 %1:
725 %2.</translation>
726 </message>
727 <message>
728 <location filename="../mainwindow.cpp" line="2375"/>
729 <source>File saved...</source>
730 <translation>文件已保存...</translation>
731 </message>
732 <message>
733 <location filename="../mainwindow.cpp" line="2601"/>
734 <source>Last checked %1</source>
735 <translation>上次检查 %1</translation>
736 </message>
737 <message>
738 <location filename="../mainwindow.cpp" line="2603"/>
739 <source>Sonic Pi checks for updates
740 every two weeks.</source>
741 <translation>Sonic Pi每两周检查一次更新</translation>
742 </message>
743 <message>
744 <location filename="../mainwindow.cpp" line="2605"/>
745 <source>This is Sonic Pi %1</source>
746 <translation>这是Sonic Pi %1</translation>
747 </message>
748 <message>
749 <location filename="../mainwindow.cpp" line="2606"/>
750 <source>Version %2 is now available!</source>
751 <translation>新版本 %2 已经就绪,可供下载。</translation>
752 </message>
753 <message>
754 <location filename="../mainwindow.cpp" line="2610"/>
755 <source>New version available!
756 Get Sonic Pi %1</source>
757 <translation>发现新版本!
758 获取Sonic Pi %1</translation>
759 </message>
760 <message>
761 <location filename="../mainwindow.cpp" line="2636"/>
762 <source>Welcome back. Now get your live code on...</source>
763 <translation>欢迎回来。现在加载你的代码...</translation>
764 </message>
765 </context>
766 <context>
767 <name>QObject</name>
768 <message>
769 <location filename="../main.cpp" line="43"/>
770 <source>Sonic Pi</source>
771 <translation>Sonic Pi</translation>
772 </message>
773 </context>
774 <context>
775 <name>SonicPiUDPOSCServer</name>
776 <message>
777 <location filename="../sonic_pi_udp_osc_server.cpp" line="37"/>
778 <source>Is Sonic Pi already running? Can&apos;t open UDP port 4558.</source>
779 <translation>无法打开UDP端口4558。请确定Sonic Pi是否已在运行。</translation>
780 </message>
781 </context>
782 </TS>
0 <?xml version="1.0" encoding="utf-8"?>
1 <!DOCTYPE TS>
2 <TS version="2.1" language="zh_TW">
3 <context>
4 <name>MainWindow</name>
5 <message>
6 <location filename="../mainwindow.cpp" line="201"/>
7 <location filename="../mainwindow.cpp" line="2336"/>
8 <location filename="../mainwindow.cpp" line="2356"/>
9 <source>Sonic Pi</source>
10 <translation type="unfinished"></translation>
11 </message>
12 <message>
13 <location filename="../mainwindow.cpp" line="254"/>
14 <source>Welcome to Sonic Pi</source>
15 <translation type="unfinished"></translation>
16 </message>
17 <message>
18 <location filename="../mainwindow.cpp" line="296"/>
19 <source>Sonic Pi update info</source>
20 <translation type="unfinished"></translation>
21 </message>
22 <message>
23 <location filename="../mainwindow.cpp" line="400"/>
24 <source>Buffer %1</source>
25 <translation type="unfinished"></translation>
26 </message>
27 <message>
28 <location filename="../mainwindow.cpp" line="464"/>
29 <source>Preferences</source>
30 <translation type="unfinished"></translation>
31 </message>
32 <message>
33 <location filename="../mainwindow.cpp" line="477"/>
34 <source>Log</source>
35 <translation type="unfinished"></translation>
36 </message>
37 <message>
38 <location filename="../mainwindow.cpp" line="518"/>
39 <location filename="../mainwindow.cpp" line="2097"/>
40 <source>Help</source>
41 <translation type="unfinished"></translation>
42 </message>
43 <message>
44 <location filename="../mainwindow.cpp" line="670"/>
45 <source>Indenting selection...</source>
46 <translation type="unfinished"></translation>
47 </message>
48 <message>
49 <location filename="../mainwindow.cpp" line="674"/>
50 <source>Indenting line...</source>
51 <translation type="unfinished"></translation>
52 </message>
53 <message>
54 <location filename="../mainwindow.cpp" line="703"/>
55 <source>Toggle selection comment...</source>
56 <translation type="unfinished"></translation>
57 </message>
58 <message>
59 <location filename="../mainwindow.cpp" line="707"/>
60 <source>Toggle line comment...</source>
61 <translation type="unfinished"></translation>
62 </message>
63 <message>
64 <location filename="../mainwindow.cpp" line="765"/>
65 <source>The Sonic Pi server could not be started!</source>
66 <translation type="unfinished"></translation>
67 </message>
68 <message>
69 <location filename="../mainwindow.cpp" line="872"/>
70 <source>Raspberry Pi System Volume</source>
71 <translation type="unfinished"></translation>
72 </message>
73 <message>
74 <location filename="../mainwindow.cpp" line="873"/>
75 <source>Use this slider to change the system volume of your Raspberry Pi.</source>
76 <translation type="unfinished"></translation>
77 </message>
78 <message>
79 <location filename="../mainwindow.cpp" line="875"/>
80 <source>Advanced Audio</source>
81 <translation type="unfinished"></translation>
82 </message>
83 <message>
84 <location filename="../mainwindow.cpp" line="876"/>
85 <source>Advanced audio settings for working with
86 external PA systems when performing with Sonic Pi.</source>
87 <translation type="unfinished"></translation>
88 </message>
89 <message>
90 <location filename="../mainwindow.cpp" line="877"/>
91 <source>Invert Stereo</source>
92 <translation type="unfinished"></translation>
93 </message>
94 <message>
95 <location filename="../mainwindow.cpp" line="878"/>
96 <source>Toggle stereo inversion.
97 If enabled, audio sent to the left speaker will
98 be routed to the right speaker and visa versa.</source>
99 <translation type="unfinished"></translation>
100 </message>
101 <message>
102 <location filename="../mainwindow.cpp" line="880"/>
103 <source>Force Mono</source>
104 <translation type="unfinished"></translation>
105 </message>
106 <message>
107 <location filename="../mainwindow.cpp" line="881"/>
108 <source>Toggle mono mode.
109 If enabled both right and left audio is mixed and
110 the same signal is sent to both speakers.
111 Useful when working with external systems that
112 can only handle mono.</source>
113 <translation type="unfinished"></translation>
114 </message>
115 <message>
116 <location filename="../mainwindow.cpp" line="884"/>
117 <source>Safe mode</source>
118 <translation type="unfinished"></translation>
119 </message>
120 <message>
121 <location filename="../mainwindow.cpp" line="885"/>
122 <source>Toggle synth argument checking functions.
123 If disabled, certain synth opt values may
124 create unexpectedly loud or uncomfortable sounds.</source>
125 <translation type="unfinished"></translation>
126 </message>
127 <message>
128 <location filename="../mainwindow.cpp" line="897"/>
129 <source>Raspberry Pi Audio Output</source>
130 <translation type="unfinished"></translation>
131 </message>
132 <message>
133 <location filename="../mainwindow.cpp" line="898"/>
134 <source>Your Raspberry Pi has two forms of audio output.
135 Firstly, there is the headphone jack of the Raspberry Pi itself.
136 Secondly, some HDMI monitors/TVs support audio through the HDMI port.
137 Use these buttons to force the output to the one you want.</source>
138 <translation type="unfinished"></translation>
139 </message>
140 <message>
141 <location filename="../mainwindow.cpp" line="899"/>
142 <source>&amp;Default</source>
143 <translation type="unfinished"></translation>
144 </message>
145 <message>
146 <location filename="../mainwindow.cpp" line="900"/>
147 <source>&amp;Headphones</source>
148 <translation type="unfinished"></translation>
149 </message>
150 <message>
151 <location filename="../mainwindow.cpp" line="901"/>
152 <source>&amp;HDMI</source>
153 <translation type="unfinished"></translation>
154 </message>
155 <message>
156 <location filename="../mainwindow.cpp" line="921"/>
157 <source>Logging</source>
158 <translation type="unfinished"></translation>
159 </message>
160 <message>
161 <location filename="../mainwindow.cpp" line="922"/>
162 <source>Configure debug behaviour</source>
163 <translation type="unfinished"></translation>
164 </message>
165 <message>
166 <location filename="../mainwindow.cpp" line="924"/>
167 <source>Log synths</source>
168 <translation type="unfinished"></translation>
169 </message>
170 <message>
171 <location filename="../mainwindow.cpp" line="925"/>
172 <source>Toggle log messages.
173 If disabled, activity such as synth and sample
174 triggering will not be printed to the log by default.</source>
175 <translation type="unfinished"></translation>
176 </message>
177 <message>
178 <location filename="../mainwindow.cpp" line="927"/>
179 <source>Clear log on run</source>
180 <translation type="unfinished"></translation>
181 </message>
182 <message>
183 <location filename="../mainwindow.cpp" line="928"/>
184 <source>Toggle log clearing on run.
185 If enabled, the log is cleared each
186 time the run button is pressed.</source>
187 <translation type="unfinished"></translation>
188 </message>
189 <message>
190 <location filename="../mainwindow.cpp" line="930"/>
191 <source>Log cues</source>
192 <translation type="unfinished"></translation>
193 </message>
194 <message>
195 <location filename="../mainwindow.cpp" line="931"/>
196 <source>Enable or disable logging of cues.
197 If disabled, cues will still trigger.
198 However, they will not be visible in the logs.</source>
199 <translation type="unfinished"></translation>
200 </message>
201 <message>
202 <location filename="../mainwindow.cpp" line="933"/>
203 <source>Log Auto Scroll</source>
204 <translation type="unfinished"></translation>
205 </message>
206 <message>
207 <location filename="../mainwindow.cpp" line="934"/>
208 <source>Toggle log auto scrolling.
209 If enabled the log is scrolled to the botton after every new message is displayed.</source>
210 <translation type="unfinished"></translation>
211 </message>
212 <message>
213 <location filename="../mainwindow.cpp" line="944"/>
214 <source>Transparency</source>
215 <translation type="unfinished"></translation>
216 </message>
217 <message>
218 <location filename="../mainwindow.cpp" line="955"/>
219 <location filename="../mainwindow.cpp" line="1087"/>
220 <source>Updates</source>
221 <translation type="unfinished"></translation>
222 </message>
223 <message>
224 <location filename="../mainwindow.cpp" line="957"/>
225 <source>Check for updates</source>
226 <translation type="unfinished"></translation>
227 </message>
228 <message>
229 <location filename="../mainwindow.cpp" line="959"/>
230 <source>Toggle automatic update checking.
231 This check involves sending anonymous information about your platform and version.</source>
232 <translation type="unfinished"></translation>
233 </message>
234 <message>
235 <location filename="../mainwindow.cpp" line="960"/>
236 <source>Check now</source>
237 <translation type="unfinished"></translation>
238 </message>
239 <message>
240 <location filename="../mainwindow.cpp" line="961"/>
241 <source>Force a check for updates now.
242 This check involves sending anonymous information about your platform and version.</source>
243 <translation type="unfinished"></translation>
244 </message>
245 <message>
246 <location filename="../mainwindow.cpp" line="962"/>
247 <source>Get update</source>
248 <translation type="unfinished"></translation>
249 </message>
250 <message>
251 <location filename="../mainwindow.cpp" line="963"/>
252 <source>Visit http://sonic-pi.net to download new version</source>
253 <translation type="unfinished"></translation>
254 </message>
255 <message>
256 <location filename="../mainwindow.cpp" line="968"/>
257 <source>Update Info</source>
258 <translation type="unfinished"></translation>
259 </message>
260 <message>
261 <location filename="../mainwindow.cpp" line="987"/>
262 <source>Show and Hide</source>
263 <translation type="unfinished"></translation>
264 </message>
265 <message>
266 <location filename="../mainwindow.cpp" line="988"/>
267 <source>Configure editor display options.</source>
268 <translation type="unfinished"></translation>
269 </message>
270 <message>
271 <location filename="../mainwindow.cpp" line="989"/>
272 <source>Look and Feel</source>
273 <translation type="unfinished"></translation>
274 </message>
275 <message>
276 <location filename="../mainwindow.cpp" line="990"/>
277 <source>Configure editor look and feel.</source>
278 <translation type="unfinished"></translation>
279 </message>
280 <message>
281 <location filename="../mainwindow.cpp" line="991"/>
282 <source>Automation</source>
283 <translation type="unfinished"></translation>
284 </message>
285 <message>
286 <location filename="../mainwindow.cpp" line="992"/>
287 <source>Configure automation features.</source>
288 <translation type="unfinished"></translation>
289 </message>
290 <message>
291 <location filename="../mainwindow.cpp" line="993"/>
292 <source>Auto-align</source>
293 <translation type="unfinished"></translation>
294 </message>
295 <message>
296 <location filename="../mainwindow.cpp" line="994"/>
297 <source>Automatically align code on Run</source>
298 <translation type="unfinished"></translation>
299 </message>
300 <message>
301 <location filename="../mainwindow.cpp" line="996"/>
302 <source>Show line numbers</source>
303 <translation type="unfinished"></translation>
304 </message>
305 <message>
306 <location filename="../mainwindow.cpp" line="997"/>
307 <source>Toggle line number visibility.</source>
308 <translation type="unfinished"></translation>
309 </message>
310 <message>
311 <location filename="../mainwindow.cpp" line="998"/>
312 <source>Show log</source>
313 <translation type="unfinished"></translation>
314 </message>
315 <message>
316 <location filename="../mainwindow.cpp" line="999"/>
317 <source>Toggle visibility of the log.</source>
318 <translation type="unfinished"></translation>
319 </message>
320 <message>
321 <location filename="../mainwindow.cpp" line="1001"/>
322 <source>Show buttons</source>
323 <translation type="unfinished"></translation>
324 </message>
325 <message>
326 <location filename="../mainwindow.cpp" line="1002"/>
327 <source>Toggle visibility of the control buttons.</source>
328 <translation type="unfinished"></translation>
329 </message>
330 <message>
331 <location filename="../mainwindow.cpp" line="1004"/>
332 <source>Show tabs</source>
333 <translation type="unfinished"></translation>
334 </message>
335 <message>
336 <location filename="../mainwindow.cpp" line="1006"/>
337 <source>Toggle visibility of the buffer selection tabs.</source>
338 <translation type="unfinished"></translation>
339 </message>
340 <message>
341 <location filename="../mainwindow.cpp" line="1007"/>
342 <source>Full screen</source>
343 <translation type="unfinished"></translation>
344 </message>
345 <message>
346 <location filename="../mainwindow.cpp" line="1008"/>
347 <source>Toggle full screen mode.</source>
348 <translation type="unfinished"></translation>
349 </message>
350 <message>
351 <location filename="../mainwindow.cpp" line="1009"/>
352 <source>Dark mode</source>
353 <translation type="unfinished"></translation>
354 </message>
355 <message>
356 <location filename="../mainwindow.cpp" line="1010"/>
357 <source>Toggle dark mode.</source>
358 <translation type="unfinished"></translation>
359 </message>
360 <message>
361 <location filename="../mainwindow.cpp" line="1010"/>
362 <source>
363 Dark mode is perfect for live coding in night clubs.</source>
364 <translation type="unfinished"></translation>
365 </message>
366 <message>
367 <location filename="../mainwindow.cpp" line="1049"/>
368 <source>Audio</source>
369 <translation type="unfinished"></translation>
370 </message>
371 <message>
372 <location filename="../mainwindow.cpp" line="1061"/>
373 <source>Editor</source>
374 <translation type="unfinished"></translation>
375 </message>
376 <message>
377 <location filename="../mainwindow.cpp" line="1062"/>
378 <source>Studio</source>
379 <translation type="unfinished"></translation>
380 </message>
381 <message>
382 <location filename="../mainwindow.cpp" line="1064"/>
383 <location filename="../mainwindow.cpp" line="1074"/>
384 <source>Performance</source>
385 <translation type="unfinished"></translation>
386 </message>
387 <message>
388 <location filename="../mainwindow.cpp" line="1065"/>
389 <source>Settings useful for performing with Sonic Pi</source>
390 <translation type="unfinished"></translation>
391 </message>
392 <message>
393 <location filename="../mainwindow.cpp" line="1200"/>
394 <source>Server boot error...</source>
395 <translation type="unfinished"></translation>
396 </message>
397 <message>
398 <location filename="../mainwindow.cpp" line="1200"/>
399 <source>Sonic Pi Boot Error
400
401 Apologies, a critical error occurred during startup</source>
402 <translation type="unfinished"></translation>
403 </message>
404 <message>
405 <location filename="../mainwindow.cpp" line="1200"/>
406 <source>Please consider reporting a bug at</source>
407 <translation type="unfinished"></translation>
408 </message>
409 <message>
410 <location filename="../mainwindow.cpp" line="1305"/>
411 <location filename="../mainwindow.cpp" line="1318"/>
412 <source>Buffer files(*.rb *.txt)</source>
413 <translation type="unfinished"></translation>
414 </message>
415 <message>
416 <location filename="../mainwindow.cpp" line="1306"/>
417 <source>Load Sonic-Pi Buffer</source>
418 <translation type="unfinished"></translation>
419 </message>
420 <message>
421 <location filename="../mainwindow.cpp" line="1306"/>
422 <location filename="../mainwindow.cpp" line="1319"/>
423 <source>Buffer files(*.rb *.txt);;Text files (*.txt);;Ruby (*.rb);;All files (*.*)</source>
424 <translation type="unfinished"></translation>
425 </message>
426 <message>
427 <location filename="../mainwindow.cpp" line="1319"/>
428 <source>Save Current Buffer</source>
429 <translation type="unfinished"></translation>
430 </message>
431 <message>
432 <location filename="../mainwindow.cpp" line="1390"/>
433 <source>Running Code...</source>
434 <translation type="unfinished"></translation>
435 </message>
436 <message>
437 <location filename="../mainwindow.cpp" line="1432"/>
438 <source>Zooming In...</source>
439 <translation type="unfinished"></translation>
440 </message>
441 <message>
442 <location filename="../mainwindow.cpp" line="1439"/>
443 <source>Zooming Out...</source>
444 <translation type="unfinished"></translation>
445 </message>
446 <message>
447 <location filename="../mainwindow.cpp" line="1446"/>
448 <source>Beautifying...</source>
449 <translation type="unfinished"></translation>
450 </message>
451 <message>
452 <location filename="../mainwindow.cpp" line="1466"/>
453 <source>Reloading...</source>
454 <translation type="unfinished"></translation>
455 </message>
456 <message>
457 <location filename="../mainwindow.cpp" line="1473"/>
458 <source>Checking for updates...</source>
459 <translation type="unfinished"></translation>
460 </message>
461 <message>
462 <location filename="../mainwindow.cpp" line="1481"/>
463 <source>Enabling update checking...</source>
464 <translation type="unfinished"></translation>
465 </message>
466 <message>
467 <location filename="../mainwindow.cpp" line="1489"/>
468 <source>Disabling update checking...</source>
469 <translation type="unfinished"></translation>
470 </message>
471 <message>
472 <location filename="../mainwindow.cpp" line="1497"/>
473 <source>Enabling Mixer HPF...</source>
474 <translation type="unfinished"></translation>
475 </message>
476 <message>
477 <location filename="../mainwindow.cpp" line="1506"/>
478 <source>Disabling Mixer HPF...</source>
479 <translation type="unfinished"></translation>
480 </message>
481 <message>
482 <location filename="../mainwindow.cpp" line="1514"/>
483 <source>Enabling Mixer LPF...</source>
484 <translation type="unfinished"></translation>
485 </message>
486 <message>
487 <location filename="../mainwindow.cpp" line="1523"/>
488 <source>Disabling Mixer LPF...</source>
489 <translation type="unfinished"></translation>
490 </message>
491 <message>
492 <location filename="../mainwindow.cpp" line="1531"/>
493 <source>Enabling Inverted Stereo...</source>
494 <translation type="unfinished"></translation>
495 </message>
496 <message>
497 <location filename="../mainwindow.cpp" line="1539"/>
498 <source>Enabling Standard Stereo...</source>
499 <translation type="unfinished"></translation>
500 </message>
501 <message>
502 <location filename="../mainwindow.cpp" line="1547"/>
503 <source>Mono Mode...</source>
504 <translation type="unfinished"></translation>
505 </message>
506 <message>
507 <location filename="../mainwindow.cpp" line="1555"/>
508 <source>Stereo Mode...</source>
509 <translation type="unfinished"></translation>
510 </message>
511 <message>
512 <location filename="../mainwindow.cpp" line="1564"/>
513 <source>Stopping...</source>
514 <translation type="unfinished"></translation>
515 </message>
516 <message>
517 <location filename="../mainwindow.cpp" line="1660"/>
518 <source>Updating System Volume...</source>
519 <translation type="unfinished"></translation>
520 </message>
521 <message>
522 <location filename="../mainwindow.cpp" line="1676"/>
523 <source>Log Auto Scroll on...</source>
524 <translation type="unfinished"></translation>
525 </message>
526 <message>
527 <location filename="../mainwindow.cpp" line="1678"/>
528 <source>Log Auto Scroll off...</source>
529 <translation type="unfinished"></translation>
530 </message>
531 <message>
532 <location filename="../mainwindow.cpp" line="1892"/>
533 <source>Switching To Headphone Audio Output...</source>
534 <translation type="unfinished"></translation>
535 </message>
536 <message>
537 <location filename="../mainwindow.cpp" line="1908"/>
538 <source>Switching To HDMI Audio Output...</source>
539 <translation type="unfinished"></translation>
540 </message>
541 <message>
542 <location filename="../mainwindow.cpp" line="1923"/>
543 <source>Switching To Default Audio Output...</source>
544 <translation type="unfinished"></translation>
545 </message>
546 <message>
547 <location filename="../mainwindow.cpp" line="2074"/>
548 <source>Run</source>
549 <translation type="unfinished"></translation>
550 </message>
551 <message>
552 <location filename="../mainwindow.cpp" line="2075"/>
553 <source>Run the code in the current buffer</source>
554 <translation type="unfinished"></translation>
555 </message>
556 <message>
557 <location filename="../mainwindow.cpp" line="2080"/>
558 <source>Stop</source>
559 <translation type="unfinished"></translation>
560 </message>
561 <message>
562 <location filename="../mainwindow.cpp" line="2081"/>
563 <source>Stop all running code</source>
564 <translation type="unfinished"></translation>
565 </message>
566 <message>
567 <location filename="../mainwindow.cpp" line="2084"/>
568 <source>Save As...</source>
569 <translation type="unfinished"></translation>
570 </message>
571 <message>
572 <location filename="../mainwindow.cpp" line="2085"/>
573 <source>Save current buffer as an external file</source>
574 <translation type="unfinished"></translation>
575 </message>
576 <message>
577 <location filename="../mainwindow.cpp" line="2088"/>
578 <source>Load</source>
579 <translation type="unfinished"></translation>
580 </message>
581 <message>
582 <location filename="../mainwindow.cpp" line="2089"/>
583 <source>Load an external file in the current buffer</source>
584 <translation type="unfinished"></translation>
585 </message>
586 <message>
587 <location filename="../mainwindow.cpp" line="2092"/>
588 <source>Info</source>
589 <translation type="unfinished"></translation>
590 </message>
591 <message>
592 <location filename="../mainwindow.cpp" line="2093"/>
593 <source>See information about Sonic Pi</source>
594 <translation type="unfinished"></translation>
595 </message>
596 <message>
597 <location filename="../mainwindow.cpp" line="2098"/>
598 <source>Toggle help pane</source>
599 <translation type="unfinished"></translation>
600 </message>
601 <message>
602 <location filename="../mainwindow.cpp" line="2101"/>
603 <source>Prefs</source>
604 <translation type="unfinished"></translation>
605 </message>
606 <message>
607 <location filename="../mainwindow.cpp" line="2102"/>
608 <source>Toggle preferences pane</source>
609 <translation type="unfinished"></translation>
610 </message>
611 <message>
612 <location filename="../mainwindow.cpp" line="2106"/>
613 <location filename="../mainwindow.cpp" line="2234"/>
614 <location filename="../mainwindow.cpp" line="2235"/>
615 <source>Start Recording</source>
616 <translation type="unfinished"></translation>
617 </message>
618 <message>
619 <location filename="../mainwindow.cpp" line="2107"/>
620 <source>Start recording to WAV audio file</source>
621 <translation type="unfinished"></translation>
622 </message>
623 <message>
624 <location filename="../mainwindow.cpp" line="2111"/>
625 <source>Auto-Align Text</source>
626 <translation type="unfinished"></translation>
627 </message>
628 <message>
629 <location filename="../mainwindow.cpp" line="2112"/>
630 <source>Improve readability of code</source>
631 <translation type="unfinished"></translation>
632 </message>
633 <message>
634 <location filename="../mainwindow.cpp" line="2118"/>
635 <source>Increase Text Size</source>
636 <translation type="unfinished"></translation>
637 </message>
638 <message>
639 <location filename="../mainwindow.cpp" line="2125"/>
640 <source>Decrease Text Size</source>
641 <translation type="unfinished"></translation>
642 </message>
643 <message>
644 <location filename="../mainwindow.cpp" line="2130"/>
645 <source>Tools</source>
646 <translation type="unfinished"></translation>
647 </message>
648 <message>
649 <location filename="../mainwindow.cpp" line="2180"/>
650 <source>About</source>
651 <translation type="unfinished"></translation>
652 </message>
653 <message>
654 <location filename="../mainwindow.cpp" line="2181"/>
655 <source>Core Team</source>
656 <translation type="unfinished"></translation>
657 </message>
658 <message>
659 <location filename="../mainwindow.cpp" line="2182"/>
660 <source>Contributors</source>
661 <translation type="unfinished"></translation>
662 </message>
663 <message>
664 <location filename="../mainwindow.cpp" line="2183"/>
665 <source>Community</source>
666 <translation type="unfinished"></translation>
667 </message>
668 <message>
669 <location filename="../mainwindow.cpp" line="2184"/>
670 <source>License</source>
671 <translation type="unfinished"></translation>
672 </message>
673 <message>
674 <location filename="../mainwindow.cpp" line="2185"/>
675 <source>History</source>
676 <translation type="unfinished"></translation>
677 </message>
678 <message>
679 <location filename="../mainwindow.cpp" line="2206"/>
680 <source>Sonic Pi - Info</source>
681 <translation type="unfinished"></translation>
682 </message>
683 <message>
684 <location filename="../mainwindow.cpp" line="2226"/>
685 <location filename="../mainwindow.cpp" line="2227"/>
686 <source>Stop Recording</source>
687 <translation type="unfinished"></translation>
688 </message>
689 <message>
690 <location filename="../mainwindow.cpp" line="2240"/>
691 <source>Save Recording</source>
692 <translation type="unfinished"></translation>
693 </message>
694 <message>
695 <location filename="../mainwindow.cpp" line="2240"/>
696 <source>Wavefile (*.wav)</source>
697 <translation type="unfinished"></translation>
698 </message>
699 <message>
700 <location filename="../mainwindow.cpp" line="2259"/>
701 <source>Ready...</source>
702 <translation type="unfinished"></translation>
703 </message>
704 <message>
705 <location filename="../mainwindow.cpp" line="2337"/>
706 <source>Cannot read file %1:
707 %2.</source>
708 <translation type="unfinished"></translation>
709 </message>
710 <message>
711 <location filename="../mainwindow.cpp" line="2348"/>
712 <source>File loaded...</source>
713 <translation type="unfinished"></translation>
714 </message>
715 <message>
716 <location filename="../mainwindow.cpp" line="2357"/>
717 <source>Cannot write file %1:
718 %2.</source>
719 <translation type="unfinished"></translation>
720 </message>
721 <message>
722 <location filename="../mainwindow.cpp" line="2375"/>
723 <source>File saved...</source>
724 <translation type="unfinished"></translation>
725 </message>
726 <message>
727 <location filename="../mainwindow.cpp" line="2601"/>
728 <source>Last checked %1</source>
729 <translation type="unfinished"></translation>
730 </message>
731 <message>
732 <location filename="../mainwindow.cpp" line="2603"/>
733 <source>Sonic Pi checks for updates
734 every two weeks.</source>
735 <translation type="unfinished"></translation>
736 </message>
737 <message>
738 <location filename="../mainwindow.cpp" line="2605"/>
739 <source>This is Sonic Pi %1</source>
740 <translation type="unfinished"></translation>
741 </message>
742 <message>
743 <location filename="../mainwindow.cpp" line="2606"/>
744 <source>Version %2 is now available!</source>
745 <translation type="unfinished"></translation>
746 </message>
747 <message>
748 <location filename="../mainwindow.cpp" line="2610"/>
749 <source>New version available!
750 Get Sonic Pi %1</source>
751 <translation type="unfinished"></translation>
752 </message>
753 <message>
754 <location filename="../mainwindow.cpp" line="2636"/>
755 <source>Welcome back. Now get your live code on...</source>
756 <translation type="unfinished"></translation>
757 </message>
758 </context>
759 <context>
760 <name>QObject</name>
761 <message>
762 <location filename="../main.cpp" line="43"/>
763 <source>Sonic Pi</source>
764 <translation type="unfinished"></translation>
765 </message>
766 </context>
767 <context>
768 <name>SonicPiUDPOSCServer</name>
769 <message>
770 <location filename="../sonic_pi_udp_osc_server.cpp" line="37"/>
771 <source>Is Sonic Pi already running? Can&apos;t open UDP port 4558.</source>
772 <translation type="unfinished"></translation>
773 </message>
774 </context>
775 </TS>
22 // Full project source: https://github.com/samaaron/sonic-pi
33 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 //
5 // Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 // All rights reserved.
77 //
88 // Permission is granted for use, copying, modification, and
22 // Full project source: https://github.com/samaaron/sonic-pi
33 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 //
5 // Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 // All rights reserved.
77 //
88 // Permission is granted for use, copying, modification, and
1818 #include <fstream>
1919
2020 // Qt stuff
21 #include <QSysInfo>
2122 #include <QDate>
2223 #include <QDesktopServices>
2324 #include <QDir>
5758 #include <QScrollArea>
5859 #include <QShortcut>
5960 #include <QToolButton>
60 #include <QSettings>
6161 #include <QScrollBar>
6262 #include <QSignalMapper>
6363 #include <QSplitter>
7373
7474 #include "oschandler.h"
7575 #include "sonicpilog.h"
76 #include "sonicpiudpserver.h"
77 #include "sonicpitcpserver.h"
76 #include "sonic_pi_udp_osc_server.h"
77 #include "sonic_pi_tcp_osc_server.h"
7878
7979 // OSC stuff
8080 #include "oscpkt.hh"
101101 MainWindow::MainWindow(QApplication &app, bool i18n, QSplashScreen* splash)
102102 #endif
103103 {
104 if (QCoreApplication::applicationDirPath().startsWith("/usr/bin/")) {
105
106 // use FHS directory scheme:
107 // Sonic Pi is installed in /usr/bin from a Linux distribution's package
108
109 ruby_path = "/usr/bin/ruby";
110 ruby_server_path = "/usr/lib/sonic-pi/server/bin/sonic-pi-server.rb";
111 sample_path = "/usr/share/sonic-pi/samples";
112
113 } else if (QCoreApplication::applicationDirPath().startsWith("/opt/")) {
114
115 // use /opt directory scheme:
116 // Sonic Pi is installed in /opt from the Raspbian .deb package
117
118 ruby_path = "/usr/bin/ruby";
119 ruby_server_path = "/opt/sonic-pi/server/bin/sonic-pi-server.rb";
120 sample_path = "/opt/sonic-pi/etc/samples";
121
122 } else {
123
124 // Sonic Pi is installed in the user's home directory
125 // or has been installed on Windows / OSX
126
127 QString root_path = rootPath();
128
129 #if defined(Q_OS_WIN)
130 ruby_path = QDir::toNativeSeparators(root_path + "/app/server/native/windows/ruby/bin/ruby.exe");
131 #elif defined(Q_OS_MAC)
132 ruby_path = root_path + "/server/native/osx/ruby/bin/ruby";
133 #else
134 ruby_path = root_path + "/app/server/native/raspberry/ruby/bin/ruby";
135 #endif
136
137 QFile file(ruby_path);
138 if(!file.exists()) {
139 // fallback to user's locally installed ruby
140 ruby_path = "ruby";
141 }
142
143 ruby_server_path = QDir::toNativeSeparators(root_path + "/app/server/bin/sonic-pi-server.rb");
144 sample_path = QDir::toNativeSeparators(root_path + "/etc/samples");
145
146 }
147
148 sp_user_path = QDir::toNativeSeparators(sonicPiHomePath() + "/.sonic-pi");
149 sp_user_tmp_path = QDir::toNativeSeparators(sp_user_path + "/.writableTesterPath");
150 log_path = QDir::toNativeSeparators(sp_user_path + "/log");
151 server_error_log_path = QDir::toNativeSeparators(log_path + "/server-errors.log");
152 server_output_log_path = QDir::toNativeSeparators(log_path + "/server-output.log");
153 gui_log_path = QDir::toNativeSeparators(log_path + QDir::separator() + "gui.log");
154 scsynth_log_path = QDir::toNativeSeparators(log_path + QDir::separator() + "scsynth.log");
155
156 QFile file(sp_user_tmp_path);
157 if (!file.open(QIODevice::WriteOnly)) {
158 homeDirWritable = false;
159 }
160 else {
161 homeDirWritable = true;
162 file.close();
163 }
164
165 loaded_workspaces = false;
166 is_recording = false;
167 show_rec_icon_a = false;
168 restoreDocPane = false;
169 focusMode = false;
170 version = "2.10.0";
171 latest_version = "";
172 version_num = 0;
173 latest_version_num = 0;
174 this->splash = splash;
175 this->i18n = i18n;
176 guiID = QUuid::createUuid().toString();
177 QSettings settings("uk.ac.cam.cl", "Sonic Pi");
178 defaultTextBrowserStyle = "QTextBrowser { selection-color: white; selection-background-color: deeppink; padding-left:10; padding-top:10; padding-bottom:10; padding-right:10 ; background:white;}";
179
104180 QThreadPool::globalInstance()->setMaxThreadCount(3);
105181 app.installEventFilter(this);
106182 app.processEvents();
107183
108 setupLogPathAndRedirectStdOut();
109 std::cout << "\n\n\n";
110
111 guiID = QUuid::createUuid().toString();
112 loaded_workspaces = false;
113 this->splash = splash;
114184 protocol = UDP;
115
116185 if(protocol == TCP){
117186 clientSock = new QTcpSocket(this);
118187 }
119188
120 this->i18n = i18n;
121
189 setupLogPathAndRedirectStdOut();
122190 printAsciiArtLogo();
123191
124 startServer();
125
126 setUnifiedTitleAndToolBarOnMac(true);
127 setWindowIcon(QIcon(":images/icon-smaller.png"));
128
129 defaultTextBrowserStyle = "QTextBrowser { selection-color: white; selection-background-color: deeppink; padding-left:10; padding-top:10; padding-bottom:10; padding-right:10 ; background:white;}";
130
131 is_recording = false;
132 show_rec_icon_a = false;
133
134 rec_flash_timer = new QTimer(this);
135 connect(rec_flash_timer, SIGNAL(timeout()), this, SLOT(toggleRecordingOnIcon()));
136
137 // Setup output and error panes
138 version = "";
139 latest_version = "";
140 version_num = 0;
141 latest_version_num = 0;
142 outputPane = new SonicPiLog;
143 errorPane = new QTextBrowser;
144 errorPane->setOpenExternalLinks(true);
145
146 update_info = new QLabel(tr("Sonic Pi update info"));
147 update_info->setWordWrap(true);
192 setupTheme();
193 lexer = new SonicPiLexer(theme);
194
195 setupWindowStructure();
196 createShortcuts();
197 createToolBar();
198 createStatusBar();
199 createInfoPane();
200 setWindowTitle(tr("Sonic Pi"));
201 initPrefsWindow();
202 readSettings();
203 updateTabsVisibility();
204 updateButtonVisibility();
205 updateLogVisibility();
206 initDocsWindow();
207
208 //setup autocompletion
209 autocomplete->loadSamples(sample_path);
210
211 OscHandler* handler = new OscHandler(this, outputPane, errorPane, theme);
212
213 if(protocol == UDP){
214 sonicPiOSCServer = new SonicPiUDPOSCServer(this, handler);
215 osc_thread = QtConcurrent::run(sonicPiOSCServer, &SonicPiOSCServer::start);
216 }
217 else{
218 sonicPiOSCServer = new SonicPiTCPOSCServer(this, handler);
219 sonicPiOSCServer->start();
220 }
221
222
223 // Wait to hear back from the server before continuing
224 startRubyServer();
225 if (waitForServiceSync()){
226 // We have a connection! Finish up loading app...
227
228
229 loadWorkspaces();
230 requestVersion();
231
232 splashClose();
233
234
235 showWindow();
236 updateDarkMode();
237 updateFullScreenMode();
238 showWelcomeScreen();
239
240 connect(&app, SIGNAL( aboutToQuit() ), this, SLOT( onExitCleanup() ) );
241 QTimer *timer = new QTimer(this);
242 connect(timer, SIGNAL(timeout()), this, SLOT(heartbeatOSC()));
243 timer->start(1000);
244
245 }
246 }
247
248 void MainWindow::showWelcomeScreen() {
249 QSettings settings("uk.ac.cam.cl", "Sonic Pi");
250 if(settings.value("first_time", 1).toInt() == 1) {
251 QTextBrowser* startupPane = new QTextBrowser;
252 startupPane->setFixedSize(600, 615);
253 startupPane->setWindowIcon(QIcon(":images/icon-smaller.png"));
254 startupPane->setWindowTitle(tr("Welcome to Sonic Pi"));
255 addUniversalCopyShortcuts(startupPane);
256 startupPane->document()->setDefaultStyleSheet(readFile(":/theme/light/doc-styles.css"));
257 startupPane->setSource(QUrl("qrc:///html/startup.html"));
258 startupPane->setStyleSheet(defaultTextBrowserStyle);
259 docWidget->show();
260 startupPane->show();
261 }
262 }
263
264 void MainWindow::setupTheme() {
148265
149266 // Syntax highlighting
150 QSettings settings("uk.ac.cam.cl", "Sonic Pi");
151267 QString themeFilename = QDir::homePath() + QDir::separator() + ".sonic-pi" + QDir::separator() + "theme.properties";
152268 QFile themeFile(themeFilename);
153 SonicPiTheme *theme;
154269 if(themeFile.exists()){
155270 std::cout << "[GUI] - using custom editor colours" << std::endl;
156271 QSettings settings(themeFilename, QSettings::IniFormat);
157272 theme = new SonicPiTheme(this, &settings, settings.value("prefs/dark-mode").toBool());
158 lexer = new SonicPiLexer(theme);
159273 }
160274 else{
275
161276 std::cout << "[GUI] - using default editor colours" << std::endl;
277 QSettings settings("uk.ac.cam.cl", "Sonic Pi");
162278 theme = new SonicPiTheme(this, 0, settings.value("prefs/dark-mode").toBool());
163 lexer = new SonicPiLexer(theme);
164 }
165
166
167
168
169 QTimer *timer = new QTimer(this);
170 connect(timer, SIGNAL(timeout()), this, SLOT(heartbeatOSC()));
171 timer->start(1000);
172
173 OscHandler* handler = new OscHandler(this, outputPane, errorPane, theme);
174
175 if(protocol == UDP){
176 sonicPiServer = new SonicPiUDPServer(this, handler);
177 osc_thread = QtConcurrent::run(sonicPiServer, &SonicPiServer::startServer);
178 }
179 else{
180 sonicPiServer = new SonicPiTCPServer(this, handler);
181 sonicPiServer->startServer();
182 }
279
280 }
281 }
282
283 void MainWindow::setupWindowStructure() {
284
285 setUnifiedTitleAndToolBarOnMac(true);
286 setWindowIcon(QIcon(":images/icon-smaller.png"));
287
288 rec_flash_timer = new QTimer(this);
289 connect(rec_flash_timer, SIGNAL(timeout()), this, SLOT(toggleRecordingOnIcon()));
290
291 // Setup output and error panes
292
293 outputPane = new SonicPiLog;
294 errorPane = new QTextBrowser;
295 errorPane->setOpenExternalLinks(true);
296 update_info = new QLabel(tr("Sonic Pi update info"));
297 update_info->setWordWrap(true);
183298
184299 // Window layout
185300 tabs = new QTabWidget();
192307 // create workspaces and add them to the tabs
193308 // workspace shortcuts
194309 signalMapper = new QSignalMapper (this) ;
310 retSignalMapper = new QSignalMapper (this) ;
195311 for(int ws = 0; ws < workspace_max; ws++) {
196312 std::string s;
197313
202318 QShortcut *indentLine = new QShortcut(QKeySequence("Tab"), workspace);
203319 connect (indentLine, SIGNAL(activated()), signalMapper, SLOT(map())) ;
204320 signalMapper -> setMapping (indentLine, (QObject*)workspace);
321
322 QShortcut *newLineAndIndent = new QShortcut(QKeySequence("Return"), workspace);
323 connect (newLineAndIndent, SIGNAL(activated()), retSignalMapper, SLOT(map())) ;
324 retSignalMapper -> setMapping (newLineAndIndent, (QObject*)workspace);
325
205326
206327 //transpose chars
207328 QShortcut *transposeChars = new QShortcut(ctrlKey('t'), workspace);
247368 //escape
248369 QShortcut *escape = new QShortcut(ctrlKey('g'), workspace);
249370 QShortcut *escape2 = new QShortcut(QKeySequence("Escape"), workspace);
250 connect(escape, SIGNAL(activated()), workspace, SLOT(escapeAndCancelSelection()));
251 connect(escape, SIGNAL(activated()), this, SLOT(resetErrorPane()));
252 connect(escape, SIGNAL(activated()), workspace, SLOT(clearLineMarkers()));
253 connect(escape2, SIGNAL(activated()), workspace, SLOT(escapeAndCancelSelection()));
254 connect(escape2, SIGNAL(activated()), this, SLOT(resetErrorPane()));
255 connect(escape2, SIGNAL(activated()), workspace, SLOT(clearLineMarkers()));
371 connect(escape, SIGNAL(activated()), this, SLOT(escapeWorkspaces()));
372 connect(escape2, SIGNAL(activated()), this, SLOT(escapeWorkspaces()));
373
256374
257375 //quick nav by jumping up and down 10 lines at a time
258376 QShortcut *forwardTenLines = new QShortcut(shiftMetaKey('u'), workspace);
290408 tabs->addTab(workspace, w);
291409 }
292410
411 connect(retSignalMapper, SIGNAL(mapped(QObject*)), this, SLOT(returnAndIndentLine(QObject*)));
293412 connect(signalMapper, SIGNAL(mapped(int)), this, SLOT(changeTab(int)));
294 connect(signalMapper, SIGNAL(mapped(QObject*)), this, SLOT(completeListOrIndentLine(QObject*)));
413 connect(signalMapper, SIGNAL(mapped(QObject*)), this, SLOT(completeSnippetListOrIndentLine(QObject*)));
295414
296415 QFont font("Monospace");
297416 font.setStyleHint(QFont::Monospace);
298417 lexer->setDefaultFont(font);
299418
300419 autocomplete = new SonicPiAPIs(lexer);
301 autocomplete->loadSamples(sample_path);
302
303420 // adding universal shortcuts to outputpane seems to
304421 // steal events from doc system!?
305422 // addUniversalCopyShortcuts(outputPane);
428545 mainWidget->setLayout(mainWidgetLayout);
429546 setCentralWidget(mainWidget);
430547
431 createShortcuts();
432 createToolBar();
433 createStatusBar();
434 createInfoPane();
435
436 readSettings();
437
438
439 setWindowTitle(tr("Sonic Pi"));
440
441 connect(&app, SIGNAL( aboutToQuit() ), this, SLOT( onExitCleanup() ) );
442
443
444
445 initPrefsWindow();
446
447 if(settings.value("first_time", 1).toInt() == 1) {
448 QTextBrowser* startupPane = new QTextBrowser;
449 startupPane->setFixedSize(600, 615);
450 startupPane->setWindowIcon(QIcon(":images/icon-smaller.png"));
451 startupPane->setWindowTitle(tr("Welcome to Sonic Pi"));
452 addUniversalCopyShortcuts(startupPane);
453 startupPane->document()->setDefaultStyleSheet(readFile(":/theme/light/doc-styles.css"));
454 startupPane->setSource(QUrl("qrc:///html/startup.html"));
455 startupPane->setStyleSheet(defaultTextBrowserStyle);
456 docWidget->show();
457 startupPane->show();
458 }
459
460 restoreDocPane = false;
461
462 focusMode = false;
463
464 // Wait to hear back from the server before continuing
465 waitForServiceSync();
466 serverStarted();
467
468 updateDarkMode();
469 initDocsWindow();
470 updateFullScreenMode();
471 updateTabsVisibility();
472 updateButtonVisibility();
473 updateLogVisibility();
474
475 requestVersion();
548 }
549
550 void MainWindow::escapeWorkspaces() {
551 resetErrorPane();
552
553 for (int w=0; w < workspace_max; w++) {
554 workspaces[w]->escapeAndCancelSelection();
555 workspaces[w]->clearLineMarkers();
556 }
476557 }
477558
478559 void MainWindow::changeTab(int id){
547628 }
548629 }
549630
550
551631 void MainWindow::toggleTabsVisibility() {
552632 show_tabs->toggle();
553633 updateTabsVisibility();
580660 }
581661 }
582662
583 void MainWindow::completeListOrIndentLine(QObject* ws){
663 void MainWindow::completeSnippetListOrIndentLine(QObject* ws){
584664 SonicPiScintilla *spws = ((SonicPiScintilla*)ws);
585665 if(spws->isListActive()) {
586666 spws->tabCompleteifList();
587667 }
588668 else {
589 indentCurrentLineOrSelection(spws);
590 }
591 }
592
593 void MainWindow::indentCurrentLineOrSelection(SonicPiScintilla* ws) {
669 completeSnippetOrIndentCurrentLineOrSelection(spws);
670 }
671 }
672
673
674 void MainWindow::returnAndIndentLine(QObject* ws){
675 SonicPiScintilla *spws = ((SonicPiScintilla*)ws);
676
677 if(spws->isListActive()) {
678 spws->tabCompleteifList();
679 }
680 else {
681 if(auto_indent_on_run->isChecked()) {
682 newlineAndIndent(spws);
683 } else {
684 spws->newLine();
685 }
686 }
687 }
688
689
690
691 void MainWindow::newlineAndIndent(SonicPiScintilla* ws) {
692 int point_line, point_index, first_line;
693 ws->getCursorPosition(&point_line, &point_index);
694 first_line = ws->firstVisibleLine();
695
696 std::string code = ws->text().toStdString();
697
698 Message msg("/buffer-newline-and-indent");
699 msg.pushStr(guiID.toStdString());
700 std::string filename = workspaceFilename(ws);
701 msg.pushStr(filename);
702 msg.pushStr(code);
703 msg.pushInt32(point_line);
704 msg.pushInt32(point_index);
705 msg.pushInt32(first_line);
706 sendOSC(msg);
707 }
708
709 void MainWindow::completeSnippetOrIndentCurrentLineOrSelection(SonicPiScintilla* ws) {
594710 int start_line, finish_line, point_line, point_index;
595711 ws->getCursorPosition(&point_line, &point_index);
596712 if(ws->hasSelectedText()) {
606722
607723 std::string code = ws->text().toStdString();
608724
609 Message msg("/complete-snippet-or-indent-selection");
725 Message msg("/buffer-section-complete-snippet-or-indent-selection");
610726 msg.pushStr(guiID.toStdString());
611727 std::string filename = workspaceFilename(ws);
612728 msg.pushStr(filename);
627743 int start_line, finish_line, point_line, point_index;
628744 ws->getCursorPosition(&point_line, &point_index);
629745 if(ws->hasSelectedText()) {
630 statusBar()->showMessage(tr("Commenting selection..."), 2000);
746 statusBar()->showMessage(tr("Toggle selection comment..."), 2000);
631747 int unused_a, unused_b;
632748 ws->getSelection(&start_line, &unused_a, &finish_line, &unused_b);
633749 } else {
634 statusBar()->showMessage(tr("Commenting line..."), 2000);
750 statusBar()->showMessage(tr("Toggle line comment..."), 2000);
635751 start_line = point_line;
636752 finish_line = point_line;
637753 }
639755
640756 std::string code = ws->text().toStdString();
641757
642 Message msg("/toggle-comment");
758 Message msg("/buffer-section-toggle-comment");
643759 msg.pushStr(guiID.toStdString());
644760 std::string filename = workspaceFilename(ws);
645761 msg.pushStr(filename);
662778 #endif
663779 }
664780
665 void MainWindow::startServer(){
781 void MainWindow::startRubyServer(){
666782
667783 // kill any zombie processes that may exist
668784 // better: test to see if UDP ports are in use, only kill/sleep if so
673789 sendOSC(msg);
674790 sleep(2);
675791
676
677 serverProcess = new QProcess();
678
679 QString root = rootPath();
680
681 #if defined(Q_OS_WIN)
682 QString prg_path = root + "/app/server/native/windows/ruby/bin/ruby.exe";
683 QString prg_arg = root + "/app/server/bin/sonic-pi-server.rb";
684 sample_path = root + "/etc/samples";
685 #elif defined(Q_OS_MAC)
686 QString prg_path = root + "/server/native/osx/ruby/bin/ruby";
687 QString prg_arg = root + "/server/bin/sonic-pi-server.rb";
688 sample_path = root + "/etc/samples";
689 #else
690 //assuming Raspberry Pi
691 QString prg_path = root + "/app/server/native/raspberry/ruby/bin/ruby";
692 QFile file(prg_path);
693 if(!file.exists()) {
694 // use system ruby if bundled ruby doesn't exist
695 prg_path = "/usr/bin/ruby";
792 serverProcess = new QProcess();
793
794 QStringList args;
795 args << ruby_server_path;
796
797 if(protocol == TCP){
798 args << "-t";
799 }
800
801 std::cout << "[GUI] - booting live coding server" << std::endl;
802 if(homeDirWritable) {
803 serverProcess->setStandardErrorFile(server_error_log_path);
804 serverProcess->setStandardOutputFile(server_output_log_path);
805 }
806 serverProcess->start(ruby_path, args);
807 if (!serverProcess->waitForStarted()) {
808 invokeStartupError(tr("The Sonic Pi server could not be started!"));
809 return;
810 }
811 }
812
813 bool MainWindow::waitForServiceSync() {
814 QString contents;
815 std::cout << "[GUI] - waiting for server to boot..." << std::endl;
816 bool server_booted = false;
817 if (!homeDirWritable) {
818 // we can't monitor the logs so hope for the best!
819 sleep(15);
820 server_booted = true;
821 } else {
822 for(int i = 0; i < 60; i ++) {
823 contents = readFile(server_output_log_path);
824 if (contents.contains("Sonic Pi Server successfully booted.")) {
825 std::cout << std::endl << "[GUI] - server successfully booted." << std::endl;
826 server_booted = true;
827 break;
828 } else {
829 std::cout << ".";
830 sleep(1);
831 }
696832 }
697
698 QString prg_arg = root + "/app/server/bin/sonic-pi-server.rb";
699 sample_path = root + "/etc/samples";
700 #endif
701
702 prg_path = QDir::toNativeSeparators(prg_path);
703 prg_arg = QDir::toNativeSeparators(prg_arg);
704
705
706 QStringList args;
707 args << prg_arg;
708
709 if(protocol == TCP){
710 args << "-t";
711 }
712
713
714
715 // std::cout << "[GUI] - exec "<< prg_path.toStdString() << " " << prg_arg.toStdString() << std::endl;
716
717 std::cout << "[GUI] - booting live coding server" << std::endl;
718 QString sp_error_log_path = log_path + QDir::separator() + "server-errors.log";
719 QString sp_output_log_path = log_path + QDir::separator() + "server-output.log";
720 serverProcess->setStandardErrorFile(sp_error_log_path);
721 serverProcess->setStandardOutputFile(sp_output_log_path);
722 serverProcess->start(prg_path, args);
723 if (!serverProcess->waitForStarted()) {
724 invokeStartupError(tr("The Sonic Pi server could not be started!"));
725 return;
726 }
727 }
728
729 void MainWindow::waitForServiceSync() {
833 }
834
835 if (!server_booted) {
836 std::cout << std::endl << "[GUI] - Critical error! Could not boot server." << std::endl;
837 invokeStartupError("Critical server error - could not boot server!");
838 return false;
839 }
840
730841 int timeout = 60;
731842 std::cout << "[GUI] - waiting for server to connect..." << std::endl;
732 while (sonicPiServer->waitForServer() && timeout-- > 0) {
843 while (sonicPiOSCServer->waitForServer() && timeout-- > 0) {
733844 sleep(1);
734 if(sonicPiServer->isIncomingPortOpen()) {
845 if(sonicPiOSCServer->isIncomingPortOpen()) {
735846 Message msg("/ping");
736847 msg.pushStr(guiID.toStdString());
737848 msg.pushStr("QtClient/1/hello");
738849 sendOSC(msg);
739850 }
740851 }
741 if (!sonicPiServer->isServerStarted()) {
742 std::cout << "[GUI] - critical error!" << std::endl;
743 invokeStartupError("Critical server error!");
744 }
745
746 std::cout << "[GUI] - server connection established" << std::endl;
852 if (!sonicPiOSCServer->isServerStarted()) {
853 std::cout << "[GUI] - Critical error! Could not connect to server." << std::endl;
854 invokeStartupError("Critical server error - could not connect to server!");
855 return false;
856 } else {
857 std::cout << "[GUI] - server connection established" << std::endl;
858 return true;
859 }
747860
748861 }
749862
755868 #endif
756869 }
757870
758 void MainWindow::serverStarted() {
759 splashClose();
760 loadWorkspaces();
761
871 void MainWindow::showWindow() {
762872 QSettings settings("uk.ac.cam.cl", "Sonic Pi");
763
764873 if(settings.value("first_time", 1).toInt() == 1) {
765874 showMaximized();
766875 } else {
808917
809918 QGroupBox *advancedAudioBox = new QGroupBox(tr("Advanced Audio"));
810919 advancedAudioBox->setToolTip(tr("Advanced audio settings for working with\nexternal PA systems when performing with Sonic Pi."));
811 mixer_invert_stereo = new QCheckBox(tr("Invert Stereo"));
920 mixer_invert_stereo = new QCheckBox(tr("Invert stereo"));
812921 mixer_invert_stereo->setToolTip(tr("Toggle stereo inversion.\nIf enabled, audio sent to the left speaker will\nbe routed to the right speaker and visa versa."));
813922 connect(mixer_invert_stereo, SIGNAL(clicked()), this, SLOT(update_mixer_invert_stereo()));
814 mixer_force_mono = new QCheckBox(tr("Force Mono"));
923 mixer_force_mono = new QCheckBox(tr("Force mono"));
815924 mixer_force_mono->setToolTip(tr("Toggle mono mode.\nIf enabled both right and left audio is mixed and\nthe same signal is sent to both speakers.\nUseful when working with external systems that\ncan only handle mono."));
816925 connect(mixer_force_mono, SIGNAL(clicked()), this, SLOT(update_mixer_force_mono()));
817
818 check_args = new QCheckBox(tr("Safe mode"));
819 check_args->setToolTip(tr("Toggle synth argument checking functions.\nIf disabled, certain synth opt values may\ncreate unexpectedly loud or uncomfortable sounds."));
820926
821927 QVBoxLayout *advanced_audio_box_layout = new QVBoxLayout;
822928 advanced_audio_box_layout->addWidget(mixer_invert_stereo);
823929 advanced_audio_box_layout->addWidget(mixer_force_mono);
824 advanced_audio_box_layout->addWidget(check_args);
930
825931 // audio_box->addWidget(radio2);
826932 // audio_box->addWidget(radio3);
827933 // audio_box->addStretch(1);
855961 QGroupBox *debug_box = new QGroupBox(tr("Logging"));
856962 debug_box->setToolTip(tr("Configure debug behaviour"));
857963
964 QGroupBox *synths_box = new QGroupBox(tr("Synths and FX"));
965 synths_box->setToolTip(tr("Modify behaviour of synths and FX"));
966
858967 print_output = new QCheckBox(tr("Log synths"));
859968 print_output->setToolTip(tr("Toggle log messages.\nIf disabled, activity such as synth and sample\ntriggering will not be printed to the log by default."));
860969
863972
864973 log_cues = new QCheckBox(tr("Log cues"));
865974 log_cues->setToolTip(tr("Enable or disable logging of cues.\nIf disabled, cues will still trigger.\nHowever, they will not be visible in the logs."));
975
976 log_auto_scroll = new QCheckBox(tr("Log auto scroll"));
977 log_auto_scroll->setToolTip(tr("Toggle log auto scrolling.\nIf enabled the log is scrolled to the botton after every new message is displayed."));
978 connect(log_auto_scroll, SIGNAL(clicked()), this, SLOT(updateLogAutoScroll()));
979
980 check_args = new QCheckBox(tr("Safe mode"));
981 check_args->setToolTip(tr("Toggle synth argument checking functions.\nIf disabled, certain synth opt values may\ncreate unexpectedly loud or uncomfortable sounds."));
982
983
984 enable_external_synths_cb = new QCheckBox(tr("Enable external synths and FX"));
985 enable_external_synths_cb->setToolTip(tr("When enabled, Sonic Pi will allow\nsynths and FX loaded via load_synthdefs\nto be triggered.\n\nWhen disabled, Sonic Pi will complain\nwhen you attempt to use a synth or FX\nwhich isn't recognised."));
986
987 synth_trigger_timing_guarantees_cb = new QCheckBox(tr("Enforce timing guarantees"));
988 synth_trigger_timing_guarantees_cb->setToolTip(tr("When enabled, Sonic Pi will refuse\nto trigger synths and FX if\nit is too late to do so\n\nWhen disabled, Sonic Pi will always\nattemptto trigger synths and FX\neven when a little late."));
866989
867990 QVBoxLayout *debug_box_layout = new QVBoxLayout;
868991 debug_box_layout->addWidget(print_output);
869992 debug_box_layout->addWidget(log_cues);
993 debug_box_layout->addWidget(log_auto_scroll);
870994 debug_box_layout->addWidget(clear_output_on_run);
871995 debug_box->setLayout(debug_box_layout);
872996
997 QVBoxLayout *synths_box_layout = new QVBoxLayout;
998 synths_box_layout->addWidget(check_args);
999 synths_box_layout->addWidget(synth_trigger_timing_guarantees_cb);
1000 synths_box_layout->addWidget(enable_external_synths_cb);
1001
1002
1003 synths_box->setLayout(synths_box_layout);
8731004
8741005 QGroupBox *transparency_box = new QGroupBox(tr("Transparency"));
8751006 QGridLayout *transparency_box_layout = new QGridLayout;
8921023 visit_sonic_pi_net = new QPushButton(tr("Get update"));
8931024 visit_sonic_pi_net->setToolTip(tr("Visit http://sonic-pi.net to download new version"));
8941025 visit_sonic_pi_net->setVisible(false);
895 check_updates_now->setMaximumWidth(100);
1026 check_updates_now->setMaximumWidth(110);
8961027 visit_sonic_pi_net->setMaximumWidth(150);
8971028
8981029 QGroupBox *update_info_box = new QGroupBox(tr("Update Info"));
9791110 prefTabs->addTab(audio_prefs_box, tr("Audio"));
9801111 #endif
9811112
982 QGroupBox *studio_prefs_box = new QGroupBox();
1113 QGroupBox *studio_prefs_box = new QGroupBox();
9831114 QGridLayout *studio_prefs_box_layout = new QGridLayout;
9841115
985 studio_prefs_box_layout->addWidget(advancedAudioBox, 0, 0);
986
1116 studio_prefs_box_layout->addWidget(synths_box, 0, 0);
9871117 studio_prefs_box_layout->addWidget(debug_box, 0, 1);
1118 studio_prefs_box_layout->addWidget(advancedAudioBox, 1, 1);
9881119
9891120 studio_prefs_box->setLayout(studio_prefs_box_layout);
9901121
10441175 print_output->setChecked(settings.value("prefs/print-output", true).toBool());
10451176 clear_output_on_run->setChecked(settings.value("prefs/clear-output-on-run", true).toBool());
10461177 log_cues->setChecked(settings.value("prefs/log-cues", true).toBool());
1178 log_auto_scroll->setChecked(settings.value("prefs/log-auto-scroll", true).toBool());
10471179 show_line_numbers->setChecked(settings.value("prefs/show-line-numbers", true).toBool());
1180 enable_external_synths_cb->setChecked(settings.value("prefs/enable-external-synths", false).toBool());
1181 synth_trigger_timing_guarantees_cb->setChecked(settings.value("prefs/synth-trigger-timing-guarantees", false).toBool());
10481182 dark_mode->setChecked(settings.value("prefs/dark-mode", false).toBool());
10491183 mixer_force_mono->setChecked(settings.value("prefs/mixer-force-mono", false).toBool());
10501184 mixer_invert_stereo->setChecked(settings.value("prefs/mixer-invert-stereo", false).toBool());
10671201 update_mixer_force_mono();
10681202 changeRPSystemVol(stored_vol);
10691203 update_check_updates();
1204 updateLogAutoScroll();
10701205
10711206 if(settings.value("prefs/rp/force-audio-default", true).toBool()) {
10721207 setRPSystemAudioAuto();
10811216
10821217 }
10831218
1219 void MainWindow::setMessageBoxStyle() {
1220 // Set text color to black and background colors to white for the error message display
1221 QPalette p = QApplication::palette();
1222 p.setColor(QPalette::WindowText,"#000");
1223 p.setColor(QPalette::ButtonText,"#000");
1224 p.setColor(QPalette::Text,"#000");
1225 p.setColor(QPalette::Base,"#FFF");
1226 QApplication::setPalette(p);
1227 }
1228
10841229 void MainWindow::invokeStartupError(QString msg) {
1230 if(startup_error_reported) {
1231 return;
1232 }
1233
10851234 startup_error_reported = true;
1086 sonicPiServer->stopServer();
1235 sonicPiOSCServer->stop();
10871236 QMetaObject::invokeMethod(this, "startupError",
10881237 Qt::QueuedConnection,
10891238 Q_ARG(QString, msg));
10921241 void MainWindow::startupError(QString msg) {
10931242 splashClose();
10941243
1095 QString gui_log = readFile(log_path + QDir::separator() + "gui.log");
1096 QString server_errors_log = readFile(log_path + QDir::separator() + "server-errors.log");
1097 QString server_output_log = readFile(log_path + QDir::separator() + "server-output.log");
1244 setMessageBoxStyle();
1245 QString gui_log;
1246 QString scsynth_log;
1247 QString server_output_log;
1248 QString server_error_log;
1249 if(homeDirWritable) {
1250 gui_log = readFile(gui_log_path);
1251 scsynth_log = readFile(scsynth_log_path);
1252 server_output_log = readFile(server_output_log_path);
1253 server_error_log = readFile(server_error_log_path);
1254 }
1255 else {
1256 gui_log = "Permissions error: unable to access log";
1257 scsynth_log = "Permissions error: unable to access log";
1258 server_output_log = "Permissions error: unable to access log";
1259 server_error_log = "Permissions error: unable to access log";
1260 }
10981261
10991262 QMessageBox *box = new QMessageBox(QMessageBox::Warning,
1100 tr("Server boot error..."), tr("Apologies, a critical error occurred during startup") + ":\n\n " + msg + "\n\n" + tr("Please consider reporting a bug at") + "\nhttp://github.com/samaaron/sonic-pi/issues");
1101 QString error_report = "Detailed Error Report:\n\nGUI log\n-------\n" + gui_log + "\n\n\nServer Errors\n-------------\n\n" + server_errors_log + "\n\n\nServer Output\n-------------\n\n" + server_output_log;
1263 tr("Server boot error..."), tr("Sonic Pi Boot Error\n\nApologies, a critical error occurred during startup") + ":\n\n " + msg + "\n\n" + tr("Please consider reporting a bug at") + "\nhttp://github.com/samaaron/sonic-pi/issues");
1264 QString error_report = "Sonic Pi Boot Error Report\n==================\n\n\nSystem Information\n----------------\n\n* Sonic Pi version: " + version + "\n* OS: " + osDescription() + "\n\n\nGUI Log\n-------\n\n**" + gui_log_path + "**\n```\n" + gui_log + "\n```\n\n\nServer Errors\n-------------\n\n**" + server_error_log_path + "**\n```\n" + server_error_log + "\n```\n\n\nServer Output\n-------------\n\n**" + server_output_log_path + "**\n```\n" + server_output_log + "\n```\n\n\nScsynth Output\n--------------\n\n**" + scsynth_log_path + "**\n```\n" + scsynth_log + "\n```\n";
11021265 box->setDetailedText(error_report);
11031266
11041267 QGridLayout* layout = (QGridLayout*)box->layout();
11051268 QSpacerItem* hSpacer = new QSpacerItem(200, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);
11061269 layout->addItem(hSpacer, layout->rowCount(), 0, 1, layout->columnCount());
11071270 box->exec();
1271 std::cout << "[GUI] - Aborting. Sorry about this." << std::endl;
11081272 close();
11091273 }
11101274
11111275 void MainWindow::replaceBuffer(QString id, QString content, int line, int index, int first_line) {
11121276 SonicPiScintilla* ws = filenameToWorkspace(id.toStdString());
1113 ws->selectAll();
1114 ws->replaceSelectedText(content);
1115 ws->setCursorPosition(line, index);
1116 ws->setFirstVisibleLine(first_line);
1277 ws->replaceBuffer(content, line, index, first_line);
11171278 }
11181279
11191280 void MainWindow::replaceLines(QString id, QString content, int start_line, int finish_line, int point_line, int point_index) {
11201281 SonicPiScintilla* ws = filenameToWorkspace(id.toStdString());
11211282 ws->replaceLines(start_line, finish_line, content);
11221283 ws->setCursorPosition(point_line, point_index);
1284 }
1285
1286 QString MainWindow::osDescription() {
1287 #if QT_VERSION >= 0x050400
1288 return QSysInfo::prettyProductName();
1289 #else
1290 // prettyProductName requires QT 5.4
1291 //
1292 return QString("Assuming Linux");
1293 #endif
11231294 }
11241295
11251296 std::string MainWindow::number_name(int i) {
11891360 }
11901361
11911362
1363 bool MainWindow::loadFile()
1364 {
1365 QString selfilter = QString("%1 (*.rb *.txt)").arg(tr("Buffer files"));
1366 QString fileName = QFileDialog::getOpenFileName(this, tr("Load Sonic Pi Buffer"), QDir::homePath() + "/Desktop", QString("%1 (*.rb *.txt);;%2 (*.txt);;%3 (*.rb);;%4 (*.*)").arg(tr("Buffer files")).arg(tr("Text files")).arg(tr("Ruby files")).arg(tr("All files")), &selfilter) ;
1367 if(!fileName.isEmpty()){
1368 SonicPiScintilla* p = (SonicPiScintilla*)tabs->currentWidget();
1369 loadFile(fileName, p);
1370 return true;
1371 } else {
1372 return false;
1373 }
1374 }
1375
11921376 bool MainWindow::saveAs()
11931377 {
1194 QString fileName = QFileDialog::getSaveFileName(this, tr("Save Current Buffer"), QDir::homePath() + "/Desktop");
1378 QString selfilter = QString("%1 (*.rb *.txt)").arg(tr("Buffer files"));
1379 QString fileName = QFileDialog::getSaveFileName(this, tr("Save Current Buffer"), QDir::homePath() + "/Desktop", QString("%1 (*.rb *.txt);;%2 (*.txt);;%3 (*.rb);;%4 (*.*)").arg(tr("Buffer files")).arg(tr("Text files")).arg(tr("Ruby files")).arg(tr("All files")), &selfilter) ;
1380
11951381 if(!fileName.isEmpty()){
11961382 if (!fileName.contains(QRegExp("\\.[a-z]+$"))) {
11971383 fileName = fileName + ".txt";
12681454 msg.pushStr(guiID.toStdString());
12691455 std::string filename = workspaceFilename( (SonicPiScintilla*)tabs->currentWidget());
12701456 msg.pushStr(filename);
1457
12711458 if(!print_output->isChecked()) {
12721459 code = "use_debug false #__nosave__ set by Qt GUI user preferences.\n" + code ;
12731460 }
1461
12741462 if(!log_cues->isChecked()) {
12751463 code = "use_cue_logging false #__nosave__ set by Qt GUI user preferences.\n" + code ;
12761464 }
1277 else{
1278 code = "use_debug true #__nosave__ set by Qt GUI user preferences.\n" + code ;
1279 }
1280 if(!check_args->isChecked()) {
1281 code = "use_arg_checks false #__nosave__ set by Qt GUI user preferences.\n" + code ;
1282 }
1283 else {
1465
1466 if(check_args->isChecked()) {
12841467 code = "use_arg_checks true #__nosave__ set by Qt GUI user preferences.\n" + code ;
12851468 }
1469
1470 if(enable_external_synths_cb->isChecked()) {
1471 code = "use_external_synths true #__nosave__ set by Qt GUI user preferences.\n" + code ;
1472 }
1473
1474 if(synth_trigger_timing_guarantees_cb->isChecked()) {
1475 code = "use_timing_guarantees true #__nosave__ set by Qt GUI user preferences.\n" + code ;
1476 }
1477
12861478 if(clear_output_on_run->isChecked()){
12871479 outputPane->clear();
12881480 }
12891481
12901482 msg.pushStr(code);
1291 msg.pushStr(QString(tr("Workspace %1")).arg(tabs->currentIndex()).toStdString());
1483 msg.pushStr(filename);
12921484 sendOSC(msg);
12931485
12941486 QTimer::singleShot(500, this, SLOT(unhighlightCode()));
13251517 int index = 0;
13261518 ws->getCursorPosition(&line, &index);
13271519 int first_line = ws->firstVisibleLine();
1328 Message msg("/beautify-buffer");
1520 Message msg("/buffer-beautify");
13291521 msg.pushStr(guiID.toStdString());
13301522 std::string filename = workspaceFilename( (SonicPiScintilla*)tabs->currentWidget());
13311523 msg.pushStr(filename);
14721664 int line, pos;
14731665 ws->getCursorPosition(&line, &pos);
14741666 QString text = ws->text(line);
1475 int start, end;
1476 for (start = pos; start > 0; start--) {
1477 if (!text[start-1].isLetter() && text[start-1] != '_') break;
1478 }
1479 QString identifierEndChars = QString("?!_=");
1480 for (end = pos; end < text.length(); end++) {
1481 if (!text[end].isLetter() && !identifierEndChars.contains(text[end])) break;
1482 }
1483 selection = text.mid(start, end-start);
1667 selection = ws->wordAtLineIndex(line, pos);
14841668 }
14851669 selection = selection.toLower();
14861670 if (selection[0] == ':')
14881672
14891673 if (helpKeywords.contains(selection)) {
14901674 struct help_entry entry = helpKeywords[selection];
1491 QMetaObject::invokeMethod(docsCentral, "setCurrentIndex",
1492 Q_ARG(int, entry.pageIndex));
14931675 QListWidget *list = helpLists[entry.pageIndex];
1676
1677 // force current row to be changed
1678 // by setting it to a different value to
1679 // entry.entryIndex and then setting it
1680 // back. That way it always gets displayed
1681 // in the GUI :-)
1682 if (entry.entryIndex == 0) {
1683 list->setCurrentRow(1);
1684 } else {
1685 list->setCurrentRow(0);
1686 }
1687 docsCentral->setCurrentIndex(entry.pageIndex);
14941688 list->setCurrentRow(entry.entryIndex);
14951689 }
14961690 }
15431737 dark_mode->toggle();
15441738 updateDarkMode();
15451739 }
1740
1741 void MainWindow::updateLogAutoScroll() {
1742 bool val = log_auto_scroll->isChecked();
1743 outputPane->forceScrollDown(val);
1744 if(val) {
1745 statusBar()->showMessage(tr("Log Auto Scroll on..."), 2000);
1746 } else {
1747 statusBar()->showMessage(tr("Log Auto Scroll off..."), 2000);
1748 }
1749 }
15461750
15471751 void MainWindow::updateDarkMode(){
15481752 SonicPiTheme *currentTheme = lexer->theme;
19222126
19232127 new QShortcut(metaKey('{'), this, SLOT(tabPrev()));
19242128 new QShortcut(metaKey('}'), this, SLOT(tabNext()));
1925 //new QShortcut(metaKey('U'), this, SLOT(reloadServerCode()));
2129 new QShortcut(QKeySequence("F8"), this, SLOT(reloadServerCode()));
19262130
19272131 new QShortcut(QKeySequence("F9"), this, SLOT(toggleButtonVisibility()));
19282132 new QShortcut(shiftMetaKey('B'), this, SLOT(toggleButtonVisibility()));
19492153 QAction *saveAsAct = new QAction(QIcon(":/images/save.png"), tr("Save As..."), this);
19502154 setupAction(saveAsAct, 0, tr("Save current buffer as an external file"), SLOT(saveAs()));
19512155
2156 // Load
2157 QAction *loadFileAct = new QAction(QIcon(":/images/load.png"), tr("Load"), this);
2158 setupAction(loadFileAct, 0, tr("Load an external file in the current buffer"), SLOT(loadFile()));
2159
19522160 // Info
19532161 QAction *infoAct = new QAction(QIcon(":/images/info.png"), tr("Info"), this);
19542162 setupAction(infoAct, 0, tr("See information about Sonic Pi"),
19742182
19752183 // Font Size Increase
19762184 QAction *textIncAct = new QAction(QIcon(":/images/size_up.png"),
1977 tr("Increase Text Size"), this);
1978 setupAction(textIncAct, 0, tr("Increase Text Size"), SLOT(zoomCurrentWorkspaceIn()));
2185 tr(""), this);
2186 setupAction(textIncAct, 0, tr(""), SLOT(zoomCurrentWorkspaceIn()));
2187 textIncAct->setToolTip(tooltipStrMeta('+', tr("Increase Text Size")));
19792188
19802189 // Font Size Decrease
19812190 QAction *textDecAct = new QAction(QIcon(":/images/size_down.png"),
1982 tr("Decrease Text Size"), this);
1983 setupAction(textDecAct, 0, tr("Decrease Text Size"), SLOT(zoomCurrentWorkspaceOut()));
2191 tr(""), this);
2192
2193 setupAction(textDecAct, 0, tr(""), SLOT(zoomCurrentWorkspaceOut()));
2194 textDecAct->setToolTip(tooltipStrMeta('-', tr("Decrease Text Size")));
19842195
19852196 QWidget *spacer = new QWidget();
19862197 spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
19902201 toolBar->setIconSize(QSize(270/3, 111/3));
19912202 toolBar->addAction(runAct);
19922203 toolBar->addAction(stopAct);
2204 toolBar->addAction(recAct);
2205
2206 toolBar->addWidget(spacer);
19932207
19942208 toolBar->addAction(saveAsAct);
1995 toolBar->addAction(recAct);
1996 toolBar->addWidget(spacer);
2209 toolBar->addAction(loadFileAct);
19972210
19982211 toolBar->addAction(textDecAct);
19992212 toolBar->addAction(textIncAct);
2213
20002214 dynamic_cast<QToolButton*>(toolBar->widgetForAction(textDecAct))->setAutoRepeat(true);
20012215 dynamic_cast<QToolButton*>(toolBar->widgetForAction(textIncAct))->setAutoRepeat(true);
20022216
20922306 Message msg("/stop-recording");
20932307 msg.pushStr(guiID.toStdString());
20942308 sendOSC(msg);
2095 QString fileName = QFileDialog::getSaveFileName(this, tr("Save Recording"), QDir::homePath() + "/Desktop/my-recording.wav");
2309 QString fileName = QFileDialog::getSaveFileName(this, tr("Save Recording"), QDir::homePath() + "/Desktop", tr("Wavefile (*.wav)"));
20962310 if (!fileName.isEmpty()) {
20972311 Message msg("/save-recording");
20982312 msg.pushStr(guiID.toStdString());
21172331
21182332 void MainWindow::readSettings() {
21192333 // Pref settings are read in MainWindow::initPrefsWindow()
2120
21212334 QSettings settings("uk.ac.cam.cl", "Sonic Pi");
21222335 QPoint pos = settings.value("pos", QPoint(200, 200)).toPoint();
21232336 QSize size = settings.value("size", QSize(400, 400)).toSize();
21582371 settings.setValue("prefs/print-output", print_output->isChecked());
21592372 settings.setValue("prefs/clear-output-on-run", clear_output_on_run->isChecked());
21602373 settings.setValue("prefs/log-cues", log_cues->isChecked());
2374 settings.setValue("prefs/log-auto-scroll", log_auto_scroll->isChecked());
21612375 settings.setValue("prefs/show-line-numbers", show_line_numbers->isChecked());
2376 settings.setValue("prefs/enable-external-synths", enable_external_synths_cb->isChecked());
2377 settings.setValue("prefs/synth-trigger-timing-guarantees", synth_trigger_timing_guarantees_cb->isChecked());
21622378 settings.setValue("prefs/dark-mode", dark_mode->isChecked());
21632379 settings.setValue("prefs/mixer-force-mono", mixer_force_mono->isChecked());
21642380 settings.setValue("prefs/mixer-invert-stereo", mixer_invert_stereo->isChecked());
2381 settings.setValue("prefs/", mixer_invert_stereo->isChecked());
21652382
21662383 settings.setValue("prefs/rp/force-audio-default", rp_force_audio_default->isChecked());
21672384 settings.setValue("prefs/rp/force-audio-headphones", rp_force_audio_headphones->isChecked());
21872404 {
21882405 QFile file(fileName);
21892406 if (!file.open(QFile::ReadOnly)) {
2407 setMessageBoxStyle();
21902408 QMessageBox::warning(this, tr("Sonic Pi"),
21912409 tr("Cannot read file %1:\n%2.")
21922410 .arg(fileName)
21932411 .arg(file.errorString()));
2412 updateDarkMode();
21942413 return;
21952414 }
21962415
22052424 {
22062425 QFile file(fileName);
22072426 if (!file.open(QFile::WriteOnly)) {
2427 setMessageBoxStyle();
22082428 QMessageBox::warning(this, tr("Sonic Pi"),
22092429 tr("Cannot write file %1:\n%2.")
22102430 .arg(fileName)
22112431 .arg(file.errorString()));
2432 updateDarkMode();
22122433 return false;
22132434 }
22142435
22422463
22432464 void MainWindow::onExitCleanup()
22442465 {
2466
22452467 setupLogPathAndRedirectStdOut();
2468 std::cout << "[GUI] - stopping OSC server" << std::endl;
2469 sonicPiOSCServer->stop();
2470 if(protocol == TCP){
2471 clientSock->close();
2472 }
22462473 if(serverProcess->state() == QProcess::NotRunning) {
22472474 std::cout << "[GUI] - warning, server process is not running." << std::endl;
2248 sonicPiServer->stopServer();
2249 if(protocol == TCP){
2250 clientSock->close();
2475 } else {
2476 if (loaded_workspaces) {
2477 // this should be a synchorous call to avoid the following sleep
2478 saveWorkspaces();
22512479 }
2252 } else {
2253 if (loaded_workspaces)
2254 saveWorkspaces();
22552480 sleep(1);
22562481 std::cout << "[GUI] - asking server process to exit..." << std::endl;
22572482 Message msg("/exit");
24172642
24182643 void MainWindow::printAsciiArtLogo(){
24192644 QString s = asciiArtLogo();
2420 std::cout << std::endl << std::endl << std::endl;
24212645 #if QT_VERSION >= 0x050400
24222646 qDebug().noquote() << s;
2423 std::cout << std::endl << std::endl;
24242647 #else
24252648 //noquote requires QT 5.4
24262649 qDebug() << s;
2427 std::cout << std::endl;
24282650 #endif
24292651 }
24302652
24452667 latest_version_num = latest_v_num;
24462668
24472669 // update status bar
2448 versionLabel->setText(QString("Sonic Pi " + v + " on " + platform));
2670 versionLabel->setText(QString("Sonic Pi " + v + " on " + platform + " "));
24492671
24502672 // update preferences
24512673 QString last_update_check = tr("Last checked %1").arg(last_checked.toString());
24682690
24692691
24702692 void MainWindow::setupLogPathAndRedirectStdOut() {
2471 QString sp_user_path = QDir::homePath() + QDir::separator() + ".sonic-pi";
2472 log_path = sp_user_path + QDir::separator() + "log";
24732693 QDir().mkdir(sp_user_path);
24742694 QDir().mkdir(log_path);
24752695
2476 coutbuf = std::cout.rdbuf();
2477 stdlog.open(QString(log_path + "/gui.log").toStdString().c_str());
2478 std::cout.rdbuf(stdlog.rdbuf());
2696 if(homeDirWritable) {
2697 coutbuf = std::cout.rdbuf();
2698 stdlog.open(gui_log_path.toStdString().c_str());
2699 std::cout.rdbuf(stdlog.rdbuf());
2700 }
24792701 }
24802702
24812703
24882710 }
24892711 return QMainWindow::eventFilter(obj, evt);
24902712 }
2713
2714
2715
2716 QString MainWindow::sonicPiHomePath() {
2717 QString path = qgetenv("SONIC_PI_HOME").constData();
2718 if (path.isEmpty()) {
2719 return QDir::homePath();
2720 }
2721 else {
2722 return path;
2723 }
2724 }
24912725 #include "ruby_help.h"
22 // Full project source: https://github.com/samaaron/sonic-pi
33 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 //
5 // Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 // All rights reserved.
77 //
88 // Permission is granted for use, copying, modification, and
3636 #include <sstream>
3737 #include <fstream>
3838 #include <QSignalMapper>
39 #include "sonicpitheme.h"
3940
4041 class QAction;
4142 class QMenu;
4950 class SonicPiAPIs;
5051 class SonicPiLog;
5152 class SonicPiScintilla;
52 class SonicPiServer;
53 class SonicPiOSCServer;
5354
5455 struct help_page {
5556 QString title;
7374 MainWindow(QApplication &ref, bool i18n, QSplashScreen* splash);
7475 #endif
7576
76 SonicPiServer *sonicPiServer;
77 SonicPiOSCServer *sonicPiOSCServer;
7778 enum {UDP=0, TCP=1};
7879 QCheckBox *dark_mode;
7980 bool loaded_workspaces;
8788 void invokeStartupError(QString msg);
8889
8990 private slots:
91 QString sonicPiHomePath();
92 void updateLogAutoScroll();
9093 bool eventFilter(QObject *obj, QEvent *evt);
9194 void changeTab(int id);
9295 QString asciiArtLogo();
101104 void disableCheckUpdates();
102105 void stopCode();
103106 void beautifyCode();
104 void completeListOrIndentLine(QObject *ws);
105 void indentCurrentLineOrSelection(SonicPiScintilla *ws);
107 void newlineAndIndent(SonicPiScintilla *ws);
108 void returnAndIndentLine(QObject *ws);
109 void completeSnippetListOrIndentLine(QObject *ws);
110 void completeSnippetOrIndentCurrentLineOrSelection(SonicPiScintilla *ws);
106111 void toggleCommentInCurrentWorkspace();
107112 void toggleComment(SonicPiScintilla *ws);
108113 void reloadServerCode();
116121 void mixerHpfDisable();
117122 void mixerLpfDisable();
118123 QString currentTabLabel();
124 bool loadFile();
119125 bool saveAs();
120126 void about();
121127 void help();
133139 void showPrefsPane();
134140 void updateDocPane(QListWidgetItem *cur);
135141 void updateDocPane2(QListWidgetItem *cur, QListWidgetItem *prev);
136 void serverStarted();
142 void showWindow();
137143 void splashClose();
144 void setMessageBoxStyle();
138145 void startupError(QString msg);
139146 void replaceBuffer(QString id, QString content, int line, int index, int first_line);
140147 void replaceLines(QString id, QString content, int first_line, int finish_line, int point_line, int point_index);
165172 void heartbeatOSC();
166173 void zoomCurrentWorkspaceIn();
167174 void zoomCurrentWorkspaceOut();
175 void showWelcomeScreen();
176 void setupWindowStructure();
177 void setupTheme();
178 void escapeWorkspaces();
168179
169180 private:
170181
182 QString osDescription();
171183 void setupLogPathAndRedirectStdOut();
172184 QSignalMapper *signalMapper;
173 void startServer();
174 void waitForServiceSync();
185 QSignalMapper *retSignalMapper;
186 void startRubyServer();
187 bool waitForServiceSync();
175188 void clearOutputPanels();
176189 void createShortcuts();
177190 void createToolBar();
248261 QProcess *serverProcess;
249262
250263 SonicPiLexer *lexer;
264 SonicPiTheme *theme;
251265
252266 QToolBar *toolBar;
253267
259273 QCheckBox *check_args;
260274 QCheckBox *clear_output_on_run;
261275 QCheckBox *log_cues;
276 QCheckBox *log_auto_scroll;
277 QCheckBox *enable_external_synths_cb;
278 QCheckBox *synth_trigger_timing_guarantees_cb;
262279 QCheckBox *show_line_numbers;
263280 QCheckBox *auto_indent_on_run;
264281 QCheckBox *full_screen;
287304 std::ofstream stdlog;
288305
289306 SonicPiAPIs *autocomplete;
290 QString sample_path, log_path;
307 QString sample_path, log_path, sp_user_path, sp_user_tmp_path, ruby_server_path, ruby_path, server_error_log_path, server_output_log_path, gui_log_path, scsynth_log_path;
291308 QString defaultTextBrowserStyle;
292309
293310 QString version;
300317 QLabel *versionLabel;
301318
302319 QString guiID;
303
320 bool homeDirWritable;
304321 };
305322
306323 #endif
0 //--
1 // This file is part of Sonic Pi: http://sonic-pi.net
2 // Full project source: https://github.com/samaaron/sonic-pi
3 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 //
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 // All rights reserved.
7 //
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
10 // notice is included.
11 //++
12
13
014 // OSC stuff
115 #include "oscpkt.hh"
216 #include "oschandler.h"
4357 }
4458 else if (msg->match("/info")) {
4559 std::string s;
46 if (msg->arg().popStr(s).isOkNoMoreArgs()) {
60 int style;
61 if (msg->arg().popInt32(style).popStr(s).isOkNoMoreArgs()) {
4762 // Evil nasties!
4863 // See: http://www.qtforum.org/article/26801/qt4-threads-and-widgets.html
4964
5065 QMetaObject::invokeMethod( out, "setTextColor", Qt::QueuedConnection, Q_ARG(QColor, theme->color("LogInfoForeground")));
66 if(style == 1) {
67 QMetaObject::invokeMethod( out, "setTextBackgroundColor", Qt::QueuedConnection, Q_ARG(QColor, theme->color("LogInfoBackgroundStyle1")));
68 } else {
5169 QMetaObject::invokeMethod( out, "setTextBackgroundColor", Qt::QueuedConnection, Q_ARG(QColor, theme->color("LogInfoBackground")));
70 }
5271
5372 QMetaObject::invokeMethod( out, "appendPlainText", Qt::QueuedConnection, Q_ARG(QString, QString::fromStdString("=> " + s + "\n")) );
5473
0 //--
1 // This file is part of Sonic Pi: http://sonic-pi.net
2 // Full project source: https://github.com/samaaron/sonic-pi
3 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 //
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 // All rights reserved.
7 //
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
10 // notice is included.
11 //++
12
013 #ifndef OSCHANDLER_H
114 #define OSCHANDLER_H
215
44 # Full project source: https://github.com/samaaron/sonic-pi
55 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
66 #
7 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
7 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
88 # All rights reserved.
99 #
1010 # Permission is granted for use, copying, modification, and
0 //--
1 // This file is part of Sonic Pi: http://sonic-pi.net
2 // Full project source: https://github.com/samaaron/sonic-pi
3 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 //
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 // All rights reserved.
7 //
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
10 // notice is included.
11 //++
12
13
14 #include "sonic_pi_osc_server.h"
15
16 SonicPiOSCServer::SonicPiOSCServer(MainWindow *sonicPiWindow, OscHandler *oscHandler) :
17 QObject(sonicPiWindow)
18 {
19 handler = oscHandler;
20 osc_incoming_port_open = false;
21 parent = sonicPiWindow;
22 stop_server = false;
23 }
24
25 bool SonicPiOSCServer::waitForServer(){
26 return !handler->server_started && continueListening();
27 }
28
29 bool SonicPiOSCServer::continueListening(){
30 return !handler->signal_server_stop && !stop_server;
31 }
32
33 bool SonicPiOSCServer::isIncomingPortOpen(){
34 return osc_incoming_port_open;
35 }
36
37 bool SonicPiOSCServer::isServerStarted(){
38 return handler->server_started;
39 }
40
41 void SonicPiOSCServer::stop(){}
42 void SonicPiOSCServer::start(){}
0 //--
1 // This file is part of Sonic Pi: http://sonic-pi.net
2 // Full project source: https://github.com/samaaron/sonic-pi
3 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 //
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 // All rights reserved.
7 //
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
10 // notice is included.
11 //++
12
13 #ifndef SONICPIOSCSERVER_H
14 #define SONICPIOSCSERVER_H
15
16 #include <QObject>
17 #include "oschandler.h"
18
19 class SonicPiOSCServer : public QObject
20 {
21 Q_OBJECT
22 public:
23 explicit SonicPiOSCServer(MainWindow *parent = 0, OscHandler *handler = 0);
24 bool waitForServer();
25 bool isIncomingPortOpen();
26 bool isServerStarted();
27
28
29 signals:
30
31 public slots:
32 virtual void stop();
33 virtual void start();
34
35 protected:
36 OscHandler* handler;
37 MainWindow* parent;
38 bool osc_incoming_port_open;
39 bool stop_server;
40
41 bool continueListening();
42
43
44 };
45
46 #endif // SONICPIOSCSERVER_H
0 #include "sonic_pi_tcp_osc_server.h"
1 #include "mainwindow.h"
2
3 // Qt stuff
4 #include <QtNetwork>
5 #include <QTcpSocket>
6
7 #include "sonic_pi_osc_server.h"
8
9 // OSC stuff
10 #include "oscpkt.hh"
11
12 SonicPiTCPOSCServer::SonicPiTCPOSCServer(MainWindow *sonicPiWindow, OscHandler *oscHandler) : SonicPiOSCServer(sonicPiWindow, oscHandler)
13 {
14 tcpServer = new QTcpServer(sonicPiWindow);
15 buffer.clear();
16 blockSize = 0;
17
18 connect(tcpServer, SIGNAL(newConnection()), this, SLOT(client()));
19 }
20
21 void SonicPiTCPOSCServer::start(){
22 int PORT_NUM = 4558;
23 if(tcpServer->listen(QHostAddress::LocalHost, PORT_NUM)){
24 std::cout << "[GUI] - TCP OSC Server started: " << PORT_NUM << std::endl;
25 handler->server_started = true;
26 }
27 else{
28 tcpServer->close();
29 std::cerr << "[GUI] - Server failed to start!";
30 }
31
32 }
33
34 void SonicPiTCPOSCServer::stop(){
35 tcpServer->close();
36 }
37
38 void SonicPiTCPOSCServer::logError(QAbstractSocket::SocketError e){
39 std::cerr << "[GUI] - Socket error:" << e;
40 }
41
42 void SonicPiTCPOSCServer::client(){
43 //In TCP we have no ack signal as we don't block the main loop.
44 //Hence assume if we get a connection from a client its booted and ready.
45 QMetaObject::invokeMethod(parent, "serverStarted", Qt::QueuedConnection);
46 socket = tcpServer->nextPendingConnection();
47 connect(socket, SIGNAL(readyRead()), this, SLOT(readMessage()));
48 connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(logError(QAbstractSocket::SocketError)));
49 connect(socket, SIGNAL(disconnected()), socket, SLOT(deleteLater()));
50 std::vector<char>().swap(buffer);
51 }
52
53 void SonicPiTCPOSCServer::readMessage()
54 {
55 while(socket->bytesAvailable() > 0){
56 if (blockSize == 0) {
57 if (socket->bytesAvailable() < (int)sizeof(quint32)){
58 return;
59 }
60
61 socket->read((char *)&blockSize, sizeof(quint32));
62 blockSize = qToBigEndian(blockSize);
63 }
64
65 if (socket->bytesAvailable() < blockSize){
66 return;
67 }
68
69 buffer.resize(blockSize);
70 int bytesRead = socket->read(&buffer[0], blockSize);
71
72 if(bytesRead < 0 || (uint32_t)bytesRead != blockSize) {
73 std::cerr << "[GUI] - Error: read: " << bytesRead << " Expected:" << blockSize << "\n";
74 blockSize = 0;
75 return;
76 }
77 std::vector<char> tmp(buffer);
78 tmp.swap(buffer);
79 handler->oscMessage(buffer);
80 blockSize = 0;
81 std::vector<char>().swap(buffer);
82 }
83 }
0 #ifndef SONIC_PI_TCP_OSC_SERVER_H
1 #define SONIC_PI_TCP_OSC_SERVER_H
2
3 #include "oschandler.h"
4 #include "sonic_pi_osc_server.h"
5 #include "mainwindow.h"
6
7 #include <QtCore>
8 #include <QtNetwork>
9 #include <QTcpSocket>
10
11 class SonicPiTCPOSCServer : public SonicPiOSCServer
12 {
13 Q_OBJECT
14
15 public:
16 explicit SonicPiTCPOSCServer(MainWindow *parent, OscHandler *handler = 0);
17
18 quint32 blockSize;
19
20 public slots:
21 void stop();
22 void start();
23 void readMessage();
24 void client();
25 void logError(QAbstractSocket::SocketError);
26
27 private:
28 void handleMessage();
29
30 QTcpServer *tcpServer;
31 QTcpSocket *socket;
32 std::vector<char> buffer;
33 };
34
35 #endif // SONIC_PI_TCP_OSC_SERVER_H
0 //--
1 // This file is part of Sonic Pi: http://sonic-pi.net
2 // Full project source: https://github.com/samaaron/sonic-pi
3 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 //
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 // All rights reserved.
7 //
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
10 // notice is included.
11 //++
12
13 #include "sonic_pi_udp_osc_server.h"
14 #include "sonic_pi_osc_server.h"
15 #include "udp.hh"
16
17 SonicPiUDPOSCServer::SonicPiUDPOSCServer(MainWindow *sonicPiWindow, OscHandler *oscHandler) : SonicPiOSCServer(sonicPiWindow, oscHandler)
18 {
19 handler = oscHandler;
20 osc_incoming_port_open = false;
21 parent = sonicPiWindow;
22 stop_server = false;
23 }
24
25 void SonicPiUDPOSCServer::stop(){
26 stop_server = true;
27 }
28
29 void SonicPiUDPOSCServer::start(){
30 std::cout << "[GUI] - starting UDP OSC Server on port 4558..." << std::endl;
31 int PORT_NUM = 4558;
32 oscpkt::UdpSocket sock;
33 sock.bindTo(PORT_NUM);
34 if (!sock.isOk()) {
35 std::cout << "[GUI] - unable to listen to UDP OSC messages on port 4558" << std::endl;
36 parent->invokeStartupError(tr("Is Sonic Pi already running? Can't open UDP port 4558."));
37 return;
38 }
39
40 std::cout << "[GUI] - UDP OSC Server ready and listening" << std::endl << std::flush;
41
42 osc_incoming_port_open = true;
43
44 while (sock.isOk() && continueListening()) {
45 if (sock.receiveNextPacket(30 /* timeout, in ms */)) {
46 handler->oscMessage(sock.buffer);
47 std::vector<char>().swap(sock.buffer);
48 std::cout << std::flush;
49 }
50 }
51 }
0 //--
1 // This file is part of Sonic Pi: http://sonic-pi.net
2 // Full project source: https://github.com/samaaron/sonic-pi
3 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 //
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 // All rights reserved.
7 //
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
10 // notice is included.
11 //++
12
13 #ifndef SONIC_PI_UDP_OSC_SERVER_H
14 #define SONIC_PI_UDP_OSC_SERVER_H
15
16 #include "oschandler.h"
17 #include "sonic_pi_osc_server.h"
18 #include "mainwindow.h"
19
20 class SonicPiUDPOSCServer : public SonicPiOSCServer
21 {
22 Q_OBJECT
23
24 public:
25 explicit SonicPiUDPOSCServer(MainWindow *parent, OscHandler *handler = 0);
26
27 public slots:
28 void stop();
29 void start();
30
31 };
32
33 #endif // SONIC_PI_UDP_OSC_SERVER_H
22 // Full project source: https://github.com/samaaron/sonic-pi
33 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 //
5 // Copyright 2013, 2014 by Sam Aaron (http://sam.aaron.name).
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 // All rights reserved.
77 //
8 // Permission is granted for use, copying, modification, distribution,
9 // and distribution of modified versions of this work as long as this
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
1010 // notice is included.
1111 //++
12
1213
1314 #include <QDir>
1415 #include <iostream>
2223 : QsciAbstractAPIs(lexer)
2324 {
2425 // manually managed for now
25 keywords[Chord] << "'1'" << "'5'" << "'+5'" << "'m+5'" << ":sus2" << ":sus4" << "'6'" << ":m6" << "'7sus2'" << "'7sus4'" << "'7-5'" << "'m7-5'" << "'7+5'" << "'m7+5'" << "'9'" << ":m9" << "'m7+9'" << ":maj9" << "'9sus4'" << "'6*9'" << "'m6*9'" << "'7-9'" << "'m7-9'" << "'7-10'" << "'9+5'" << "'m9+5'" << "'7+5-9'" << "'m7+5-9'" << "'11'" << ":m11" << ":maj11" << "'11+'" << "'m11+'" << "'13'" << ":m13" << ":major" << ":M" << ":minor" << ":m" << ":major7" << ":dom7" << "'7'" << ":M7" << ":minor7" << ":m7" << ":augmented" << ":a" << ":diminished" << ":dim" << ":i" << ":diminished7" << ":dim7" << ":i7";
26 keywords[Chord] << "'1'" << "'5'" << "'+5'" << "'m+5'" << ":sus2" << ":sus4" << "'6'" << ":m6" << "'7sus2'" << "'7sus4'" << "'7-5'" << "'m7-5'" << "'7+5'" << "'m7+5'" << "'9'" << ":m9" << "'m7+9'" << ":maj9" << "'9sus4'" << "'6*9'" << "'m6*9'" << "'7-9'" << "'m7-9'" << "'7-10'" << "'9+5'" << "'m9+5'" << "'7+5-9'" << "'m7+5-9'" << "'11'" << ":m11" << ":maj11" << "'11+'" << "'m11+'" << "'13'" << ":m13" << ":add2" << ":add4" << ":add9" << ":add11" << ":add13" << ":madd2" << ":madd4" << ":madd9" << ":madd11" << ":madd13" << ":major" << ":M" << ":minor" << ":m" << ":major7" << ":dom7" << "'7'" << ":M7" << ":minor7" << ":m7" << ":augmented" << ":a" << ":diminished" << ":dim" << ":i" << ":diminished7" << ":dim7" << ":i7";
2627
2728 keywords[Scale] << ":diatonic" << ":ionian" << ":major" << ":dorian" << ":phrygian" << ":lydian" << ":mixolydian" << ":aeolian" << ":minor" << ":locrian" << ":hex_major6" << ":hex_dorian" << ":hex_phrygian" << ":hex_major7" << ":hex_sus" << ":hex_aeolian" << ":minor_pentatonic" << ":yu" << ":major_pentatonic" << ":gong" << ":egyptian" << ":shang" << ":jiao" << ":zhi" << ":ritusen" << ":whole_tone" << ":whole" << ":chromatic" << ":harmonic_minor" << ":melodic_minor_asc" << ":hungarian_minor" << ":octatonic" << ":messiaen1" << ":messiaen2" << ":messiaen3" << ":messiaen4" << ":messiaen5" << ":messiaen6" << ":messiaen7" << ":super_locrian" << ":hirajoshi" << ":kumoi" << ":neapolitan_major" << ":bartok" << ":bhairav" << ":locrian_major" << ":ahirbhairav" << ":enigmatic" << ":neapolitan_minor" << ":pelog" << ":augmented2" << ":scriabin" << ":harmonic_major" << ":melodic_minor_desc" << ":romanian_minor" << ":hindu" << ":iwato" << ":melodic_minor" << ":diminished2" << ":marva" << ":melodic_major" << ":indian" << ":spanish" << ":prometheus" << ":diminished" << ":todi" << ":leading_whole" << ":augmented" << ":purvi" << ":chinese" << ":lydian_minor";
2829
3031
3132 keywords[PlayParam] << "amp:" << "attack:" << "release:" << "sustain:" << "decay:" << "env_curve:" << "sustain_level:" << "pan:" << "attack_level:" << "decay_level:" << "on:" << "slide:" << "pitch:";
3233
33 keywords[SampleParam] << "amp:" << "pan:" << "attack:" << "decay:" << "sustain:" << "release:" << "attack_level:" << "decay_level:" << "sustain_level:" << "env_curve:" << "rate:" << "beat_stretch:" << "start:" << "finish:" << "res:" << "cutoff:" << "cutoff_attack:" << "cutoff_decay:" << "cutoff_sustain:" << "cutoff_release:" << "cutoff_attack_level:" << "cutoff_decay_level:" << "cutoff_sustain_level:" << "cutoff_env_curve:" << "norm:" << "rpitch:" << "pitch:" << "pitch_stretch:" << "window_size:" << "pitch_dis:" << "time_dis:";
34 keywords[SampleParam] << "amp:" << "pan:" << "attack:" << "decay:" << "sustain:" << "release:" << "attack_level:" << "decay_level:" << "sustain_level:" << "env_curve:" << "rate:" << "beat_stretch:" << "start:" << "finish:" << "res:" << "lpf:" << "lpf_min:" << "lpf_attack:" << "lpf_decay:" << "lpf_sustain:" << "lpf_release:" << "lpf_init_level:" << "lpf_attack_level:" << "lpf_decay_level:" << "lpf_sustain_level:" << "lpf_release_level" << "lpf_env_curve:" << "hpf:" << "hpf_max:" <<"hpf_attack:" << "hpf_decay:" << "hpf_sustain:" << "hpf_release:" << "hpf_init_level:" << "hpf_attack_level:" << "hpf_decay_level:" << "hpf_sustain_level:" << "hpf_release_level:" << "hpf_env_curve:" << "norm:" << "rpitch:" << "pitch:" << "pitch_stretch:" << "window_size:" << "pitch_dis:" << "time_dis:" << "compress:" << "threshold:" << "clamp_time:" << "slope_above:" << "slope_below:" << "relax_time:" << "pre_amp:";
35
36 keywords[Examples] << ":haunted" << ":ambient_experiment" << ":chord_inversions" << "filtered_dnb" << ":fm_noise" << ":jungle" << ":ocean" << ":reich_phase" << ":acid" << ":ambient" << ":compus_beats" << ":echo_drama" << ":idm_breakbeat" << ":tron_bike" << ":wob_rhyth" << ":bach" << ":driving_pulse" << ":monday_blues" << ":rerezzed" << ":square_skit" << ":blimp_zones" << ":blip_rhythm" << ":shufflit" << ":tilburg_2" << ":time_machine" << ":sonic_dreams";
3437
3538 keywords[Tuning] << ":just" << ":pythagorean" << ":meantone" << ":equal";
3639 }
4043 void SonicPiAPIs::loadSamples(QString sample_path) {
4144 QDir dir(sample_path);
4245 QStringList filetypes;
43 filetypes << "*.wav";
46 filetypes << "*.wav" << "*.wave" << "*.aif" << "*.aiff" << "*.flac";
4447 dir.setNameFilters(filetypes);
4548
4649 QFileInfoList files = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot);
9699 << ", partial = " << partial.toStdString() << endl;
97100 */
98101
99 if (last == "sample" || last == "sample_info" || last == "sample_duration" || last == "use_sample_bpm" || last == "sample_buffer" || last == "sample_loaded?") {
102 if (last == "sample" || last == "sample_info" || last == "sample_duration" || last == "use_sample_bpm" || last == "sample_buffer" || last == "sample_loaded?" || last == "load_sample" || last == "load_samples") {
100103 ctx = Sample;
101104 } else if (last == "with_fx" || last == "use_fx") {
102105 ctx = FX;
103106 } else if (last == "with_synth" || last == "use_synth" || last == "synth") {
104107 ctx = Synth;
108 } else if (last == "load_example") {
109 ctx = Examples;
105110
106111 // autocomplete the second arg of scale/chord
107112 } else if (lastButOne == "scale") {
141146 } else if (words.length() >= 2 && first == "sample") {
142147 if (last.endsWith(':')) return; // don't try to complete parameters
143148 ctx = SampleParam;
149 } else if (first == "use_sample_defaults" || first == "with_sample_defaults") {
150 if (last.endsWith(':')) return; // don't try to complete parameters
151 ctx = SampleParam;
144152
145153 } else if (context.length() > 1) {
146154 if (partial.length() <= 2) {
22 // Full project source: https://github.com/samaaron/sonic-pi
33 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 //
5 // Copyright 2013, 2014 by Sam Aaron (http://sam.aaron.name).
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 // All rights reserved.
77 //
8 // Permission is granted for use, copying, modification, distribution,
9 // and distribution of modified versions of this work as long as this
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
1010 // notice is included.
1111 //++
12
1312
1413 #include <Qsci/qsciabstractapis.h>
1514 #include <QHash>
1716 class SonicPiAPIs : public QsciAbstractAPIs
1817 {
1918 public:
20 enum { Func, FX, Synth, Sample, Chord, Scale, MCBlock, PlayParam, SampleParam, Tuning,
21 NContext };
19 enum { Func, FX, Synth, Sample, Chord, Scale, MCBlock, PlayParam, SampleParam, Tuning, Examples, NContext};
2220
2321 SonicPiAPIs(QsciLexer *lexer);
2422
22 // Full project source: https://github.com/samaaron/sonic-pi
33 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 //
5 // Copyright 2013, 2014 by Sam Aaron (http://sam.aaron.name).
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 // All rights reserved.
77 //
8 // Permission is granted for use, copying, modification, distribution,
9 // and distribution of modified versions of this work as long as this
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
1010 // notice is included.
1111 //++
1212
22 // Full project source: https://github.com/samaaron/sonic-pi
33 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 //
5 // Copyright 2013, 2014 by Sam Aaron (http://sam.aaron.name).
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 // All rights reserved.
77 //
8 // Permission is granted for use, copying, modification, distribution,
9 // and distribution of modified versions of this work as long as this
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
1010 // notice is included.
1111 //++
12
1312
1413 #include <Qsci/qscilexerruby.h>
1514
2726 SonicPiTheme *theme;
2827
2928 };
30
31
0 //--
1 // This file is part of Sonic Pi: http://sonic-pi.net
2 // Full project source: https://github.com/samaaron/sonic-pi
3 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 //
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 // All rights reserved.
7 //
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
10 // notice is included.
11 //++
12
13
014 #include "sonicpilog.h"
115
216 // Standard stuff
317 #include <vector>
418 #include "sonicpitheme.h"
19 #include <QScrollBar>
520
621 SonicPiLog::SonicPiLog(QWidget *parent) : QPlainTextEdit(parent)
722 {
23 forceScroll = true;
824 }
25
26 void SonicPiLog::forceScrollDown(bool force)
27 {
28 forceScroll = force;
29 }
30
931
1032 void SonicPiLog::setTextColor(QColor c)
1133 {
104126 setCurrentCharFormat(tf);
105127 }
106128 appendPlainText(QString::fromStdString(" "));
129
130 if(forceScroll) {
131 QScrollBar *sb = verticalScrollBar();
132 sb->setValue(sb->maximum());
133 }
107134 }
0 //--
1 // This file is part of Sonic Pi: http://sonic-pi.net
2 // Full project source: https://github.com/samaaron/sonic-pi
3 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 //
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 // All rights reserved.
7 //
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
10 // notice is included.
11 //++
12
013 #ifndef SONICPILOG_H
114 #define SONICPILOG_H
215
922 Q_OBJECT
1023 public:
1124 explicit SonicPiLog(QWidget *parent = 0);
25 bool forceScroll;
1226
1327 struct Message
1428 {
3347 void setTextBackgroundColor(QColor c);
3448 void setFontFamily(QString font_name);
3549 void handleMultiMessage(SonicPiLog::MultiMessage mm);
50 void forceScrollDown(bool force);
3651
3752 protected:
3853 };
22 // Full project source: https://github.com/samaaron/sonic-pi
33 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 //
5 // Copyright 2013, 2014 by Sam Aaron (http://sam.aaron.name).
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 // All rights reserved.
77 //
8 // Permission is granted for use, copying, modification, distribution,
9 // and distribution of modified versions of this work as long as this
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
1010 // notice is included.
1111 //++
1212
2525 standardCommands()->clearKeys();
2626 standardCommands()->clearAlternateKeys();
2727 QString skey;
28 QSettings settings("sonic-pi.net", "Key bindings");
28 QSettings settings("sonic-pi.net", "Default Key bindings");
2929
3030 #if defined(Q_OS_MAC)
3131 int SPi_CTRL = Qt::META;
8585
8686 addKeyBinding(settings, QsciCommand::Delete, Qt::Key_D | SPi_CTRL);
8787 addKeyBinding(settings, QsciCommand::VerticalCentreCaret, Qt::Key_L | SPi_CTRL);
88
89 // tab return
90 addKeyBinding(settings, QsciCommand::Newline, Qt::Key_Return);
9188
9289 addKeyBinding(settings, QsciCommand::Backtab, Qt::Key_Tab | Qt::SHIFT);
9390
203200 int linenum, index;
204201 getCursorPosition(&linenum, &index);
205202
206 if (text(linenum) == "\n")
203 if (text(linenum).mid(index).contains(QRegExp("^\\s*\\n")))
207204 {
208205 setSelection(linenum, index, linenum + 1, 0);
209206 SendScintilla(SCI_CUT);
212209 // SendScintilla(SCI_CLEARSELECTIONS);
213210 int pos = SendScintilla(SCI_GETCURRENTPOS);
214211
215 while (text(linenum).endsWith(",\n")) {
216 linenum++;
217 moveLines(1);
218 }
219212 SendScintilla(SCI_LINEEND);
220213 SendScintilla(SCI_SETANCHOR, pos);
221214 SendScintilla(SCI_CUT);
478471 setProperty("zoom", QVariant(zoom));
479472 zoomTo(zoom);
480473 }
474
475 void SonicPiScintilla::newLine() {
476 SendScintilla(QsciCommand::Newline);
477 }
478
479 void SonicPiScintilla::replaceBuffer(QString content, int line, int index, int first_line) {
480 beginUndoAction();
481 insert(" ");
482 SendScintilla(QsciCommand::Delete);
483 selectAll();
484 replaceSelectedText(content);
485 setCursorPosition(line, index);
486 setFirstVisibleLine(first_line);
487 endUndoAction();
488 }
22 // Full project source: https://github.com/samaaron/sonic-pi
33 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 //
5 // Copyright 2013, 2014 by Sam Aaron (http://sam.aaron.name).
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 // All rights reserved.
77 //
8 // Permission is granted for use, copying, modification, distribution,
9 // and distribution of modified versions of this work as long as this
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
1010 // notice is included.
1111 //++
12
1312
1413 #include <Qsci/qsciscintilla.h>
1514 #include "sonicpitheme.h"
5756 void unhighlightAll();
5857 void zoomFontIn();
5958 void zoomFontOut();
59 void newLine();
60 void replaceBuffer(QString content, int line, int index, int first_line);
6061
6162 private:
6263 void addKeyBinding(QSettings &qs, int cmd, int key);
+0
-29
app/gui/qt/sonicpiserver.cpp less more
0 #include "sonicpiserver.h"
1
2 SonicPiServer::SonicPiServer(MainWindow *sonicPiWindow, OscHandler *oscHandler) :
3 QObject(sonicPiWindow)
4 {
5 handler = oscHandler;
6 osc_incoming_port_open = false;
7 parent = sonicPiWindow;
8 stop_server = false;
9 }
10
11 bool SonicPiServer::waitForServer(){
12 return !handler->server_started && continueListening();
13 }
14
15 bool SonicPiServer::continueListening(){
16 return !handler->signal_server_stop && !stop_server;
17 }
18
19 bool SonicPiServer::isIncomingPortOpen(){
20 return osc_incoming_port_open;
21 }
22
23 bool SonicPiServer::isServerStarted(){
24 return handler->server_started;
25 }
26
27 void SonicPiServer::stopServer(){}
28 void SonicPiServer::startServer(){}
+0
-34
app/gui/qt/sonicpiserver.h less more
0 #ifndef SONICPISERVER_H
1 #define SONICPISERVER_H
2
3 #include <QObject>
4 #include "oschandler.h"
5
6 class SonicPiServer : public QObject
7 {
8 Q_OBJECT
9 public:
10 explicit SonicPiServer(MainWindow *parent = 0, OscHandler *handler = 0);
11 bool waitForServer();
12 bool isIncomingPortOpen();
13 bool isServerStarted();
14
15
16 signals:
17
18 public slots:
19 virtual void stopServer();
20 virtual void startServer();
21
22 protected:
23 OscHandler* handler;
24 MainWindow* parent;
25 bool osc_incoming_port_open;
26 bool stop_server;
27
28 bool continueListening();
29
30
31 };
32
33 #endif // SONICPISERVER_H
+0
-84
app/gui/qt/sonicpitcpserver.cpp less more
0 #include "sonicpitcpserver.h"
1 #include "mainwindow.h"
2
3 // Qt stuff
4 #include <QtNetwork>
5 #include <QTcpSocket>
6
7 #include "sonicpiserver.h"
8
9 // OSC stuff
10 #include "oscpkt.hh"
11
12 SonicPiTCPServer::SonicPiTCPServer(MainWindow *sonicPiWindow, OscHandler *oscHandler) : SonicPiServer(sonicPiWindow, oscHandler)
13 {
14 tcpServer = new QTcpServer(sonicPiWindow);
15 buffer.clear();
16 blockSize = 0;
17
18 connect(tcpServer, SIGNAL(newConnection()), this, SLOT(client()));
19 }
20
21 void SonicPiTCPServer::startServer(){
22 int PORT_NUM = 4558;
23 if(tcpServer->listen(QHostAddress::LocalHost, PORT_NUM)){
24 std::cout << "[GUI] - TCP OSC Server started: " << PORT_NUM << std::endl;
25 handler->server_started = true;
26 }
27 else{
28 tcpServer->close();
29 std::cerr << "[GUI] - Server failed to start!";
30 }
31
32 }
33
34 void SonicPiTCPServer::stopServer(){
35 tcpServer->close();
36 }
37
38 void SonicPiTCPServer::logError(QAbstractSocket::SocketError e){
39 std::cerr << "[GUI] - Socket error:" << e;
40 }
41
42 void SonicPiTCPServer::client(){
43 //In TCP we have no ack signal as we don't block the main loop.
44 //Hence assume if we get a connection from a client its booted and ready.
45 QMetaObject::invokeMethod(parent, "serverStarted", Qt::QueuedConnection);
46 socket = tcpServer->nextPendingConnection();
47 connect(socket, SIGNAL(readyRead()), this, SLOT(readMessage()));
48 connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(logError(QAbstractSocket::SocketError)));
49 connect(socket, SIGNAL(disconnected()), socket, SLOT(deleteLater()));
50 std::vector<char>().swap(buffer);
51 }
52
53 void SonicPiTCPServer::readMessage()
54 {
55 while(socket->bytesAvailable() > 0){
56 if (blockSize == 0) {
57 if (socket->bytesAvailable() < (int)sizeof(quint32)){
58 return;
59 }
60
61 socket->read((char *)&blockSize, sizeof(quint32));
62 blockSize = qToBigEndian(blockSize);
63 }
64
65 if (socket->bytesAvailable() < blockSize){
66 return;
67 }
68
69 buffer.resize(blockSize);
70 int bytesRead = socket->read(&buffer[0], blockSize);
71
72 if(bytesRead < 0 || (uint32_t)bytesRead != blockSize) {
73 std::cerr << "[GUI] - Error: read: " << bytesRead << " Expected:" << blockSize << "\n";
74 blockSize = 0;
75 return;
76 }
77 std::vector<char> tmp(buffer);
78 tmp.swap(buffer);
79 handler->oscMessage(buffer);
80 blockSize = 0;
81 std::vector<char>().swap(buffer);
82 }
83 }
+0
-40
app/gui/qt/sonicpitcpserver.h less more
0 #ifndef SONICPITCPSERVER_H
1 #define SONICPITCPSERVER_H
2
3 #include "oschandler.h"
4 #include "sonicpiserver.h"
5 #include "mainwindow.h"
6
7 #include <QtCore>
8 #include <QtNetwork>
9 #include <QTcpSocket>
10
11 #include "oschandler.h"
12 #include "sonicpiserver.h"
13 #include "mainwindow.h"
14
15 class SonicPiTCPServer : public SonicPiServer
16 {
17 Q_OBJECT
18
19 public:
20 explicit SonicPiTCPServer(MainWindow *parent, OscHandler *handler = 0);
21
22 quint32 blockSize;
23
24 public slots:
25 void stopServer();
26 void startServer();
27 void readMessage();
28 void client();
29 void logError(QAbstractSocket::SocketError);
30
31 private:
32 void handleMessage();
33
34 QTcpServer *tcpServer;
35 QTcpSocket *socket;
36 std::vector<char> buffer;
37 };
38
39 #endif // SONICPITCPSERVER_H
0 //--
1 // This file is part of Sonic Pi: http://sonic-pi.net
2 // Full project source: https://github.com/samaaron/sonic-pi
3 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 //
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 // All rights reserved.
7 //
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
10 // notice is included.
11 //++
12
13
014 #include "sonicpitheme.h"
115
216 SonicPiTheme::SonicPiTheme(QObject *parent, QSettings *settings, bool dark) : QObject(parent)
114128 themeSettings["LogBackground"] = "white";
115129 themeSettings["LogForeground"] = "black";
116130 themeSettings["LogInfoBackground"] = "#5e5e5e";
131 themeSettings["LogInfoBackgroundStyle1"] = "DeepPink";
117132 themeSettings["LogInfoForeground"] = "white";
118133 themeSettings["LogDefaultForeground"] = "#5e5e5e";
119134
200215 themeSettings["LogBackground"] = "black";
201216 themeSettings["LogForeground"] = "white";
202217 themeSettings["LogInfoBackground"] = "#2c3539";
218 themeSettings["LogInfoBackgroundStyle1"] = "DeepPink";
203219 themeSettings["LogInfoForeground"] = "white";
204220 themeSettings["LogDefaultForeground"] = "white";
205221
0 //--
1 // This file is part of Sonic Pi: http://sonic-pi.net
2 // Full project source: https://github.com/samaaron/sonic-pi
3 // License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 //
5 // Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 // All rights reserved.
7 //
8 // Permission is granted for use, copying, modification, and
9 // distribution of modified versions of this work as long as this
10 // notice is included.
11 //++
12
013 #ifndef SONICPITHEME_H
114 #define SONICPITHEME_H
215
+0
-39
app/gui/qt/sonicpiudpserver.cpp less more
0 #include "sonicpiudpserver.h"
1 #include "sonicpiserver.h"
2 #include "udp.hh"
3
4 SonicPiUDPServer::SonicPiUDPServer(MainWindow *sonicPiWindow, OscHandler *oscHandler) : SonicPiServer(sonicPiWindow, oscHandler)
5 {
6 handler = oscHandler;
7 osc_incoming_port_open = false;
8 parent = sonicPiWindow;
9 stop_server = false;
10 }
11
12 void SonicPiUDPServer::stopServer(){
13 stop_server = true;
14 }
15
16 void SonicPiUDPServer::startServer(){
17 std::cout << "[GUI] - starting UDP OSC Server on port 4558..." << std::endl;
18 int PORT_NUM = 4558;
19 oscpkt::UdpSocket sock;
20 sock.bindTo(PORT_NUM);
21 if (!sock.isOk()) {
22 std::cout << "[GUI] - unable to listen to UDP OSC messages on port 4558" << std::endl;
23 parent->invokeStartupError(tr("Is Sonic Pi already running? Can't open UDP port 4558."));
24 return;
25 }
26
27 std::cout << "[GUI] - UDP OSC Server ready and listening" << std::endl << std::flush;
28
29 osc_incoming_port_open = true;
30
31 while (sock.isOk() && continueListening()) {
32 if (sock.receiveNextPacket(30 /* timeout, in ms */)) {
33 handler->oscMessage(sock.buffer);
34 std::vector<char>().swap(sock.buffer);
35 std::cout << std::flush;
36 }
37 }
38 }
+0
-21
app/gui/qt/sonicpiudpserver.h less more
0 #ifndef SONICPIUDPSERVER_H
1 #define SONICPIUDPSERVER_H
2
3 #include "oschandler.h"
4 #include "sonicpiserver.h"
5 #include "mainwindow.h"
6
7 class SonicPiUDPServer : public SonicPiServer
8 {
9 Q_OBJECT
10
11 public:
12 explicit SonicPiUDPServer(MainWindow *parent, OscHandler *handler = 0);
13
14 public slots:
15 void stopServer();
16 void startServer();
17
18 };
19
20 #endif // SONICPIUDPSERVER_H
2727 }
2828
2929 .error_description {
30 font-size: medium;
3031 background-color: deeppink;
3132 color: white;
3233 }
3334
3435 .syntax_error_description {
36 font-size: medium;
3537 background-color: dodgerblue;
3638 color: white;
3739 }
2828 }
2929
3030 .error_description {
31 font-size: medium;
3132 background-color: deeppink;
3233 color: white;
3334 }
3435
3536 .syntax_error_description {
37 font-size: medium;
3638 background-color: dodgerblue;
3739 color: white;
3840 }
5353 #include <cassert>
5454 #include <string>
5555 #include <vector>
56 #include <iostream>
5657
5758 namespace oscpkt {
5859
22 copy /Y ruby_help.tmpl ruby_help.h
33 ..\..\server\native\windows\ruby\bin\ruby ../../server/bin/qt-doc.rb -o ruby_help.h
44 @IF ERRORLEVEL==9009 goto :noruby
5 @IF ERRORLEVEL==1 goto :docfail
56
67 lrelease SonicPi.pro
78 @IF ERRORLEVEL==9009 goto :noqt
1617 nmake install
1718 cd release
1819 windeployqt Sonic-Pi.exe -printsupport
20
21 @echo Removing faulty english translation file
22 if exist translations\qt_en.qm del translations\qt_en.qm
23
1924 cd ..
2025
2126 @goto :done
3237 @echo Did not find VS2013 tools in your PATH, please start a command prompt from Visual Studio 2013/Visual Studio Tools/VS2013 x86 Native Tools Command Prompt
3338 @goto :done
3439
40 :docfail
41 @echo qt-doc.rb failed, which means everything else will fail as well -- fix Ruby environment first
42 @goto :done
43
3544 :done
33 # Full project source: https://github.com/samaaron/sonic-pi
44 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
55 #
6 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
6 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
77 # All rights reserved.
88 #
99 # Permission is granted for use, copying, modification, and
33 # Full project source: https://github.com/samaaron/sonic-pi
44 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
55 #
6 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
6 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
77 # All rights reserved.
88 #
99 # Permission is granted for use, copying, modification, and
33 # Full project source: https://github.com/samaaron/sonic-pi
44 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
55 #
6 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
6 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
77 # All rights reserved.
88 #
99 # Permission is granted for use, copying, modification, and
33 # Full project source: https://github.com/samaaron/sonic-pi
44 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
55 #
6 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
6 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
77 # All rights reserved.
88 #
99 # Permission is granted for use, copying, modification, and
1212 #++
1313
1414 require 'cgi'
15 require 'rbconfig'
1516
1617 require_relative "../core.rb"
1718 require_relative "../sonicpi/lib/sonicpi/studio"
2728
2829 require 'multi_json'
2930
31 puts "Sonic Pi server booting..."
32
3033 include SonicPi::Util
3134
3235 server_port = ARGV[1] ? ARGV[0].to_i : 4557
4043 end
4144
4245 puts "Using protocol: #{protocol}"
43
44 os = case RUBY_PLATFORM
45 when /.*arm.*-linux.*/
46 :raspberry
47 when /.*linux.*/
48 :linux
49 when /.*darwin.*/
50 :osx
51 when /.*mingw.*/
52 :windows
53 else
54 RUBY_PLATFORM
55 end
5646
5747 if protocol == :tcp
5848 gui = SonicPi::OSC::TCPClient.new("127.0.0.1", client_port, use_encoder_cache: true)
8171
8272
8373 at_exit do
74 STDOUT.puts "Server is exiting."
8475 begin
76 STDOUT.puts "Shutting down GUI..."
8577 gui.send("/exited")
8678 rescue Errno::EPIPE => e
8779 STDERR.puts "GUI not listening."
8880 end
81 STDOUT.puts "Goodbye :-)"
8982 end
9083
9184 user_methods = Module.new
92 name = "SonicPiSpiderUser1" # this should be autogenerated
85 name = "SonicPiLang" # this should be autogenerated
9386 klass = Object.const_set name, Class.new(SonicPi::Runtime)
9487
9588 klass.send(:include, user_methods)
9689 klass.send(:include, SonicPi::Lang::Core)
9790 klass.send(:include, SonicPi::Lang::Sound)
9891 klass.send(:include, SonicPi::Lang::Minecraft)
92 klass.send(:define_method, :inspect) { "Runtime" }
9993 #klass.send(:include, SonicPi::Lang::Pattern)
10094
10195 ws_out = Queue.new
107101 if File.exists?(init_path)
108102 sp.__spider_eval(File.read(init_path))
109103 else
104 begin
110105 File.open(init_path, "w") do |f|
111106 f.puts "# Sonic Pi init file"
112107 f.puts "# Code in here will be evaluated on launch."
113108 f.puts ""
109 end
110 rescue
111 log "Warning: unable to create init file at #{init_path}"
114112 end
115113 end
116114
158156 sp.__load_buffer args[1]
159157 end
160158
161 osc_server.add_method("/complete-snippet-or-indent-selection") do |args|
159 osc_server.add_method("/buffer-newline-and-indent") do |args|
160 gui_id = args[0]
161 id = args[1]
162 buf = args[2]
163 point_line = args[3]
164 point_index = args[4]
165 first_line = args[5]
166 sp.__buffer_newline_and_indent(id, buf, point_line, point_index, first_line)
167 end
168
169 osc_server.add_method("/buffer-section-complete-snippet-or-indent-selection") do |args|
162170 gui_id = args[0]
163171 id = args[1]
164172 buf = args[2]
166174 finish_line = args[4]
167175 point_line = args[5]
168176 point_index = args[6]
169 sp.__complete_snippet_or_indent_lines(id, buf, start_line, finish_line, point_line, point_index)
170 end
171
172 osc_server.add_method("/toggle-comment") do |args|
177 sp.__buffer_complete_snippet_or_indent_lines(id, buf, start_line, finish_line, point_line, point_index)
178 end
179
180 osc_server.add_method("/buffer-indent-selection") do |args|
181 gui_id = args[0]
182 id = args[1]
183 buf = args[2]
184 start_line = args[3]
185 finish_line = args[4]
186 point_line = args[5]
187 point_index = args[6]
188 sp.__buffer_indent_lines(id, buf, start_line, finish_line, point_line, point_index)
189 end
190
191 osc_server.add_method("/buffer-section-toggle-comment") do |args|
173192 gui_id = args[0]
174193 id = args[1]
175194 buf = args[2]
180199 sp.__toggle_comment(id, buf, start_line, finish_line, point_line, point_index)
181200 end
182201
183 osc_server.add_method("/beautify-buffer") do |args|
202 osc_server.add_method("/buffer-beautify") do |args|
184203 gui_id = args[0]
185204 id = args[1]
186205 buf = args[2]
187206 line = args[3]
188207 index = args[4]
189208 first_line = args[5]
190 sp.__beautify_buffer(id, buf, line, index, first_line)
209 sp.__buffer_beautify(id, buf, line, index, first_line)
191210 end
192211
193212 osc_server.add_method("/ping") do |args|
317336 when :multi_message
318337 gui.send("/multi_message", message[:jobid], message[:thread_name].to_s, message[:runtime].to_s, message[:val].size, *message[:val].flatten)
319338 when :info
320 gui.send("/info", message[:val])
339 gui.send("/info", message[:style] || 0, message[:val] || "")
321340 when :syntax_error
322341 desc = message[:val] || ""
323342 line = message[:line] || -1
375394 end
376395 end
377396
397 puts "This is Sonic Pi #{sp.__current_version} running on #{os} with ruby api #{RbConfig::CONFIG['ruby_version']}."
398 puts "Sonic Pi Server successfully booted."
399
400 STDOUT.flush
401
378402 out_t.join
33 # Full project source: https://github.com/samaaron/sonic-pi
44 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
55 #
6 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
6 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
77 # All rights reserved.
88 #
99 # Permission is granted for use, copying, modification, and
33 # Full project source: https://github.com/samaaron/sonic-pi
44 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
55 #
6 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
6 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
77 # All rights reserved.
88 #
99 # Permission is granted for use, copying, modification, and
33 # Full project source: https://github.com/samaaron/sonic-pi
44 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
55 #
6 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
6 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
77 # All rights reserved.
88 #
99 # Permission is granted for use, copying, modification, and
33 # Full project source: https://github.com/samaaron/sonic-pi
44 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
55 #
6 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
6 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
77 # All rights reserved.
88 #
99 # Permission is granted for use, copying, modification, and
3030 else
3131 RUBY_PLATFORM
3232 end
33 $:.unshift "#{File.expand_path("../rb-native", __FILE__)}/#{os}/#{ruby_api}/"
33 ruby_gem_native_path = "#{File.expand_path("../rb-native", __FILE__)}"
34 ruby_gem_api_path = "#{ruby_gem_native_path}/#{os}/#{ruby_api}"
35
36 unless File.directory?(ruby_gem_api_path)
37 STDERR.puts "*** COULD NOT FIND RUBY GEMS REQUIRED BY SONIC PI ***"
38 STDERR.puts "Directory '#{ruby_gem_api_path}' not found."
39 STDERR.puts "Your ruby interpreter is '#{RbConfig.ruby}', supporting ruby api #{ruby_api}."
40 Dir.entries("#{ruby_gem_native_path}/#{os}/")
41 .select { |d| (File.directory?("#{ruby_gem_native_path}/#{os}/#{d}") && d != '.' && d != '..') }
42 .each do |installed_ruby_api|
43 STDERR.puts "The Sonic Pi on your computer was installed for ruby api #{installed_ruby_api}."
44 end
45 STDERR.puts "Please refer to the Sonic Pi install instructions."
46 STDERR.puts "For installation, you need to run 'app/server/bin/compile-extensions.rb'."
47 STDERR.puts "If you change or upgrade your ruby interpreter later, you may need to run it again."
48
49 raise "Could not access ruby gem directory"
50 end
51
52 $:.unshift ruby_gem_api_path
3453
3554 require 'win32/process' if os == :windows
3655
5170 module SonicPi
5271 module Core
5372 module SPRand
73 # use FHS directory scheme:
74 # check if Sonic Pi's ruby server is not running inside the
75 # user's home directory, but is installed in /usr/lib/sonic-pi
76 # on Linux from a distribution's package
77 random_numbers_path = File.dirname(__FILE__).start_with?("/usr/lib/sonic-pi") ? "/usr/share/sonic-pi" : "../../../etc"
5478 # Read in same random numbers as server for random stream sync
55 @@random_numbers = ::WaveFile::Reader.new(File.expand_path("../../../etc/buffers/rand-stream.wav", __FILE__), ::WaveFile::Format.new(:mono, :float, 44100)).read(441000).samples.freeze
79 @@random_numbers = ::WaveFile::Reader.new(File.expand_path("#{random_numbers_path}/buffers/rand-stream.wav", __FILE__), ::WaveFile::Format.new(:mono, :float, 44100)).read(441000).samples.freeze
5680
5781 def self.to_a
5882 @@random_numbers
90114
91115 def self.get_idx
92116 Thread.current.thread_variable_get(:sonic_pi_spider_random_gen_idx) || 0
117 end
118
119 def self.get_seed_plus_idx
120 (Thread.current.thread_variable_get(:sonic_pi_spider_random_gen_idx) || 0) +
121 Thread.current.thread_variable_get(:sonic_pi_spider_random_gen_seed) || 0
93122 end
94123
95124 def self.rand!(max=1, idx=nil)
211240 class SPVector < Hamster::Vector
212241 include TLMixin
213242 def initialize(list)
214 raise EmptyVectorError, "Cannot create an empty vector" if list.empty?
215243 super
216244 end
217245
223251 self.class.new(a)
224252 end
225253
254 def list_diff(other)
255 ___sp_preserve_vec_kind(self.to_a - other.to_a)
256 end
257
258 def list_concat(other)
259 ___sp_preserve_vec_kind(self.to_a + other.to_a)
260 end
261
262 def -(other)
263 if other.is_a?(Array) || other.is_a?(SPVector)
264 return list_diff(other)
265 else
266 o = other.to_f
267 return self.map{|el| el - o}
268 end
269 end
270
271 def +(other)
272 if other.is_a?(Array) || other.is_a?(SPVector)
273 return list_concat(other)
274 else
275 o = other.to_f
276 return self.map{|el| el + o}
277 end
278 end
279
226280 def [](idx, len=(missing_length = true))
281 return nil unless idx
227282 raise InvalidIndexError, "Invalid index: #{idx.inspect}, was expecting a number or range" unless idx && (idx.is_a?(Numeric) || idx.is_a?(Range))
283 return nil if self.empty?
228284 if idx.is_a?(Numeric) && missing_length
229285 idx = map_index(idx)
230286 super idx
283339
284340 def butlast
285341 drop_last(1)
342 end
343
344 def take(n)
345 return [].ring if n == 0
346 return self.reverse.take(-n) if n < 0
347 return super if n <= @size
348 self + take(n - @size)
349 end
350
351 def drop(n)
352 return [].ring if n >= @size
353 super
354 end
355
356 def pick(n=nil, *opts)
357 # mangle args to extract nice behaviour
358 if !n.is_a?(Numeric) && opts.empty?
359 opts = n
360 n = nil
361 else
362 opts = opts[0]
363 end
364
365 if opts.is_a?(Hash)
366 s = opts[:skip]
367 else
368 s = nil
369 end
370
371 n = @size unless n
372 raise "pick requires n to be a number, got: #{n.inspect}" unless n.is_a? Numeric
373
374 res = []
375 if s
376 raise "skip: opt needs to be a number, got: #{s.inspect}" unless s.is_a? Numeric
377 n.times do
378 SonicPi::Core::SPRand.inc_idx!(s)
379 res << self.choose
380 end
381 else
382 n.times do
383 res << self.choose
384 end
385 end
386 res.ring
286387 end
287388
288389 def inspect
306407 end
307408 end
308409 ___sp_preserve_vec_kind(res)
410 end
411
412 def map_index(idx)
413 idx
309414 end
310415 end
311416
445550
446551 def choose
447552 self[SonicPi::Core::SPRand.rand_i!(self.size)]
553 end
554
555 def pick(n=nil)
556 n = @size unless n
557 raise "pick requires n to be a number, got: #{n.inspect}" unless n.is_a? Numeric
558
559 res = []
560 n.times do
561 res << self.choose
562 end
563 res
448564 end
449565
450566 alias_method :__orig_sample__, :sample
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
4141
4242 def to_s
4343 if @path
44 "#<Buffer @id=#{@id}, @num_chans=#{@num_chans}, @num_frames=#{num_frames}, @sample_rate=#{@sample_rate}, @duration=#{@duration}, @path=#{@path}>"
44 "#<Buffer @id=#{@id}, @num_chans=#{@num_chans}, @num_frames=#{@num_frames}, @sample_rate=#{@sample_rate}, @duration=#{@duration}, @path=#{@path}>"
4545 else
46 "#<Buffer @id=#{@id}, @num_chans=#{@num_chans}, @num_frames=#{num_frames}, @sample_rate=#{@sample_rate}, @duration=#{@duration}>"
46 "#<Buffer @id=#{@id}, @num_chans=#{@num_chans}, @num_frames=#{@num_frames}, @sample_rate=#{@sample_rate}, @duration=#{@duration}>"
4747 end
4848 end
4949
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
6060 "m11+" => [0, 3, 7, 10, 14, 18],
6161 "13" => [0, 4, 7, 10, 14, 17, 21],
6262 "m13" => [0, 3, 7, 10, 14, 17, 21],
63 "add2" => [0, 2, 4, 7],
64 "add4" => [0, 4, 5, 7],
65 "add9" => [0, 4, 7, 14],
66 "add11" => [0, 4, 7, 17],
67 "add13" => [0, 4, 7, 21],
68 "madd2" => [0, 2, 3, 7],
69 "madd4" => [0, 3, 5, 7],
70 "madd9" => [0, 3, 7, 14],
71 "madd11" => [0, 3, 7, 17],
72 "madd13" => [0, 3, 7, 21],
6373 "major" => major,
6474 "M" => major,
6575 "minor" => minor,
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
3232 end
3333
3434 def save!(filename, content, msgpre="")
35 puts "saving: #{filename}"
3635 oid = @repo.write(content, :blob)
3736 index = @repo.index
3837 index.reload
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
103103 to_s
104104 end
105105
106 def shutdown
107 @handler_thread.kill
108 end
109
106110 private
107111
108112 def q_sync_insert_handler(handle, key, block, prom)
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
33 # Full project source: https://github.com/samaaron/sonic-pi
44 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
55 #
6 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
6 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
77 # All rights reserved.
88 #
99 # Permission is granted for use, copying, modification, and
1313 require_relative 'support/docsystem'
1414 require_relative "../version"
1515 require_relative "../util"
16 require 'active_support/inflector'
1617
1718 ## TODO: create _* equivalents of all fns - for silent (i.e computation) versions
1819
301302 sample :elec_blip
302303 sleep 0.25
303304 end"
305 ]
306
307
308
309
310 def on(condition, &blk)
311 blk.call if truthy?(condition)
312 end
313 doc name: :on,
314 introduced: Version.new(2,10,0),
315 summary: "Optionally evaluate block",
316 args: [[:condition, :truthy]],
317 returns: nil,
318 opts: nil,
319 accepts_block: false,
320 doc: "Optionally evaluate the block depending on the truthiness of the supplied condition. The truthiness rules are as follows: all values are seen as true except for: false, nil and 0. Lambdas will be automatically called and the truthiness of their results used.",
321 examples: [
322 "
323 on true do
324 play 70 #=> will play 70 as true is truthy
325 end",
326 "
327 on 1 do
328 play 70 #=> will play 70 as 1 is truthy
329 end",
330 "
331 on 0 do
332 play 70 #=> will *not* play 70 as 0 is not truthy
333 end",
334 "
335 on false do
336 play 70 #=> will *not* play 70 as false is not truthy
337 end",
338 "
339 on nil do
340 play 70 #=> will *not* play 70 as nil is not truthy
341 end",
342 "
343 on lambda{true} do
344 play 70 #=> will play 70 as the lambda returns a truthy value
345 end",
346 "
347 on lambda{false} do
348 play 70 #=> will *not* play 70 as the lambda does not return a truthy value
349 end",
350 "
351 on lambda{[true, false].choose} do
352 play 70 #=> will maybe play 70 depending on the choice in the lambda
353 end"
354
355
356
304357 ]
305358
306359
586639
587640
588641
589 def octs(start, num_octs=1)
642 def halves(start, num_halves=1)
643 raise "Start value for halves needs to be a number, got: #{start.inspect}" unless start.is_a?(Numeric)
644 start = start.to_f
645 return doubles(start, num_halves * -1) if num_halves < 0
590646 a = []
591 num_octs.times do |i|
592 a << (note(start) + (12 * i))
647 val = start
648 num_halves.times do
649 a << val
650 val /= 2.0
593651 end
594652 a.ring
595653 end
596 doc name: :octs,
597 introduced: Version.new(2,8,0),
598 summary: "Create a ring of octaves",
599 args: [[:start, :note], [:num_octaves, :pos_int]],
654 doc name: :halves,
655 introduced: Version.new(2,10,0),
656 summary: "Create a ring of successive halves",
657 args: [[:start, :number], [:num_halves, :int]],
600658 returns: :ring,
601659 opts: nil,
602660 accepts_block: false,
603 doc: "Create a ring of successive octaves starting at `start` for `num_octaves`. ",
661 doc: "Create a ring containing the results of successive halving of the `start` value. If `num_halves` is negative, will return a ring of `doubles`.",
604662 examples: [
605 "(octs 60, 2) #=> (ring 60, 72)",
606 "(octs :e3, 3) #=> (ring 52, 64, 76)"
607 ]
663 "(halves 60, 2) #=> (ring 60, 30)",
664 "(halves 120, 3) #=> (ring 120, 60, 30)",
665 "(halves 120, 5) #=> (ring 120, 60, 30, 15, 7.5)",
666 "(halves 30, -5) #=> (ring 30, 60, 120, 240, 480)"
667 ]
668
669
670
671
672 def doubles(start, num_doubles=1)
673 raise "Start value for doubles needs to be a number, got: #{start.inspect}" unless start.is_a?(Numeric)
674 return halves(start, num_doubles * -1) if num_doubles < 0
675 start = start.to_f
676 a = []
677 val = start
678 num_doubles.times do
679 a << val
680 val *= 2.0
681 end
682 a.ring
683 end
684 doc name: :doubles,
685 introduced: Version.new(2,10,0),
686 summary: "Create a ring of successive doubles",
687 args: [[:start, :number], [:num_doubles, :int]],
688 returns: :ring,
689 opts: nil,
690 accepts_block: false,
691 doc: "Create a ring containing the results of successive doubling of the `start` value. If `num_doubles` is negative, will return a ring of `halves`.",
692 examples: [
693 "(doubles 60, 2) #=> (ring 60, 120)",
694 "(doubles 1.5, 3) #=> (ring 1.5, 3, 6)",
695 "(doubles 1.5, 5) #=> (ring 1.5, 3, 6, 12, 24)",
696 "(doubles 100, -4) #=> (ring 100, 50, 25, 12.5)"
697 ]
698
699
700
608701
609702 def vector(*args)
610703 SonicPi::Core::SPVector.new(args)
696789
697790
698791
792 def pick(items, n=nil, *args)
793 items.pick(n, *args)
794 end
795 doc name: :pick,
796 introduced: Version.new(2,10,0),
797 summary: "Randomly pick from list (with duplicates)",
798 args: [[:list, :array], [:n, :number_or_nil]],
799 opts: {:skip => "Number of rands to skip over with each successive pick"},
800 accepts_block: false,
801 doc: "Pick n elements from list or ring. Unlike shuffle, after each element has been picked, it is 'returned' to the list so it may be picked again. This means there may be duplicates in the result. If n is greater than the size of the ring/list then duplicates are guaranteed to be in the result.
802
803 If `n` isn't supplied it defaults to the size of the list/ring.",
804 examples: ["
805 puts [1, 2, 3, 4, 5].pick(3) #=> [4, 4, 3]",
806 "
807 puts (ring 1, 2, 3, 4, 5).pick(3) #=> (ring 4, 4, 3)",
808
809 "
810 puts (ring 1, 2).pick(5) #=> (ring 2, 2, 1, 1, 1)",
811 "
812 puts (ring 1, 2, 3).pick #=> (ring 3, 3, 2)"
813 ]
814
815
816
817
699818 def inc(n)
700819 n + 1
701820 end
738857 args_h = resolve_synth_opts_hash_or_array(args)
739858
740859 sync_sym = args_h[:sync]
860 sync_bpm_sym = args_h[:sync_bpm]
861 sync_sym = nil if sync_bpm_sym
862
863 raise "livelock detection - live_loop cannot sync with itself - please choose another sync name for live_loop #{name.inspect}" if name == sync_sym || name == sync_bpm_sym
741864
742865 delay = args_h[:delay]
743866 raise "live_loop's delay: opt must be a number, got #{delay.inspect}" if delay && !delay.is_a?(Numeric)
761884 raise "Live loop block must only accept 0 or 1 args"
762885 end
763886
764 in_thread(name: ll_name, delay: delay, sync: sync_sym) do
887 in_thread(name: ll_name, delay: delay, sync: sync_sym, sync_bpm: sync_bpm_sym) do
765888 Thread.current.thread_variable_set :sonic_pi__not_inherited__live_loop_auto_cue, auto_cue
766889 if args_h.has_key?(:init)
767890 res = args_h[:init]
792915 :auto_cue => "enable or disable automatic cue (default is true)",
793916 :delay => "Initial delay in beats before the live_loop starts. Default is 0.",
794917 :sync => "Initial sync symbol. Will sync with this symbol before the live_loop starts.",
918 :sync_bpm => "Initial sync symbol. Will sync with this symbol before the live_loop starts. Live loop will also inherit the BPM of the thread which cued the symbol.",
795919 :seed => "override initial random generator seed before starting loop."
796920 },
797921 accepts_block: true,
9361060 doc name: :at,
9371061 introduced: Version.new(2,1,0),
9381062 summary: "Asynchronous Time. Run a block at the given time(s)",
939 doc: "Given a list of times, run the block once after waiting each given time. If passed an optional params list, will pass each param individually to each block call. If size of params list is smaller than the times list, the param values will act as rings (rotate through). If the block is given 1 arg, the times are fed through. If the block is given 2 args, both the times and the params are fed through. A third block arg will receive the index of the time.",
1063 doc: "Given a list of times, run the block once after waiting each given time. If passed an optional params list, will pass each param individually to each block call. If size of params list is smaller than the times list, the param values will act as rings (rotate through). If the block is given 1 arg, the times are fed through. If the block is given 2 args, both the times and the params are fed through. A third block arg will receive the index of the time.
1064
1065 Note, all code within the block is executed in its own thread. Therefore despite inheriting all thread locals such as the random stream and ticks, modifications will be isolated to the block and will not affect external code.",
9401066 args: [[:times, :list],
9411067 [:params, :list]],
9421068 opts: nil,
9441070 requires_block: true,
9451071 async_block: true,
9461072 examples: ["
1073 at 4 do
1074 sample :ambi_choir # play sample after waiting for 4 beats
1075 end
1076 ",
1077 "
9471078 at [1, 2, 4] do # plays a note after waiting 1 beat,
9481079 play 75 # then after 1 more beat,
9491080 end # then after 2 more beats (4 beats total)
9781109 at [0, 0.5, 2], [:a, :b] do |t, b, idx| #If you specify the block with 3 args, it will pass through the time, the param and the index
9791110 puts [t, b, idx] #=> prints out [0, :a, 0], [0.5, :b, 1], then [2, :a, 2]
9801111 end
981 "
1112 ",
1113 " # at does not consume & interfere with the outer random stream
1114 puts \"main: \", rand # 0.75006103515625
1115 rand_back
1116 at 1 do # the random stream inside the at block is separate and
1117 # isolated from the outer stream.
1118 puts \"at:\", rand # 0.9287109375
1119 puts \"at:\", rand # 0.1043701171875
1120 end
1121
1122 sleep 2
1123 puts \"main: \", rand # value is still 0.75006103515625
1124 ",
1125
1126 "
1127 # Each block run within at has its own isolated random stream:
1128 at [1, 2] do
1129 # first time round (after 1 beat) prints:
1130 puts rand # 0.9287109375
1131 puts rand # 0.1043701171875
1132 end
1133 # second time round (after 2 beats) prints:
1134 # 0.1043701171875
1135 # 0.764617919921875
1136 "
9821137 ]
9831138
9841139
14481603 introduced: Version.new(2,3,0),
14491604 summary: "Random number in centred distribution",
14501605 args: [[:width, :number], [:centre, :number]],
1606 alt_args: [[:width, :number]],
14511607 opts: {:step => "Step size of value to quantise to."},
14521608 accepts_block: false,
14531609 doc: "Returns a random number within the range with width around centre. If optional arg `step:` is used, the result is quantised by step.",
18291985
18301986
18311987 def use_cue_logging(v, &block)
1832 raise "use_cue_logging does not work with a do/end block. Perhaps you meant with_cue_logging" if block
1833 Thread.current.thread_variable_set(:sonic_pi_suppress_cue_logging, !v)
1834 end
1835 doc name: :use_cue_logging,
1836 introduced: Version.new(2,6,0),
1837 summary: "Enable and disable cue logging",
1838 doc: "Enable or disable log messages created on cues. This does not disable the cues themselves, it just stops them from being printed to the log",
1839 args: [[:true_or_false, :boolean]],
1840 opts: nil,
1841 accepts_block: false,
1842 examples: ["use_cue_logging true # Turn on cue messages", "use_cue_logging false # Disable cue messages"]
1843
1844
1845
1846
1847 def with_cue_logging(v, &block)
1848 raise "with_cue_logging requires a do/end block. Perhaps you meant use_cue_logging" unless block
1849 current = Thread.current.thread_variable_get(:sonic_pi_suppress_cue_logging)
1850 Thread.current.thread_variable_set(:sonic_pi_suppress_cue_logging, !v)
1851 block.call
1852 Thread.current.thread_variable_set(:sonic_pi_suppress_cue_logging, current)
1853 end
1854 doc name: :with_cue_logging,
1855 introduced: Version.new(2,6,0),
1856 summary: "Block-level enable and disable cue logging",
1857 doc: "Similar to use_cue_logging except only applies to code within supplied `do`/`end` block. Previous cue log value is restored after block.",
1858 args: [[:true_or_false, :boolean]],
1859 opts: nil,
1860 accepts_block: true,
1861 requires_block: true,
1862 examples: ["
1988 raise "use_cue_logging does not work with a do/end block. Perhaps you meant with_cue_logging" if block
1989 Thread.current.thread_variable_set(:sonic_pi_suppress_cue_logging, !v)
1990 end
1991 doc name: :use_cue_logging,
1992 introduced: Version.new(2,6,0),
1993 summary: "Enable and disable cue logging",
1994 doc: "Enable or disable log messages created on cues. This does not disable the cues themselves, it just stops them from being printed to the log",
1995 args: [[:true_or_false, :boolean]],
1996 opts: nil,
1997 accepts_block: false,
1998 examples: ["use_cue_logging true # Turn on cue messages", "use_cue_logging false # Disable cue messages"]
1999
2000
2001
2002
2003 def with_cue_logging(v, &block)
2004 raise "with_cue_logging requires a do/end block. Perhaps you meant use_cue_logging" unless block
2005 current = Thread.current.thread_variable_get(:sonic_pi_suppress_cue_logging)
2006 Thread.current.thread_variable_set(:sonic_pi_suppress_cue_logging, !v)
2007 block.call
2008 Thread.current.thread_variable_set(:sonic_pi_suppress_cue_logging, current)
2009 end
2010 doc name: :with_cue_logging,
2011 introduced: Version.new(2,6,0),
2012 summary: "Block-level enable and disable cue logging",
2013 doc: "Similar to use_cue_logging except only applies to code within supplied `do`/`end` block. Previous cue log value is restored after block.",
2014 args: [[:true_or_false, :boolean]],
2015 opts: nil,
2016 accepts_block: true,
2017 requires_block: true,
2018 examples: ["
18632019 # Turn on debugging:
18642020 use_cue_logging true
18652021
20562212
20572213
20582214 def density(d, &block)
2059 raise "density must be a positive number" unless d.is_a?(Numeric) && d >= 0
2215 raise "density must be called with a do/end block." unless block
2216 raise "density must be a positive number. Got: #{d.inspect}." unless d.is_a?(Numeric) && d >= 0
20602217 reps = d < 1 ? 1.0 : d
20612218 with_bpm_mul d do
20622219 if block.arity == 0
21022259 " ]
21032260
21042261
2262 def current_random_seed
2263 SonicPi::Core::SPRand.get_seed_plus_idx
2264 end
2265 doc name: :current_random_seed,
2266 introduced: Version.new(2,10,0),
2267 summary: "Get current random seed",
2268 doc: "Returns the current random seed.
2269
2270 This can be set via the fns `use_random_seed` and `with_random_seed. It is incremented every time you use the random number generator via fns such as `choose` and `rand`.",
2271 args: [],
2272 opts: nil,
2273 accepts_block: false,
2274 examples: ["
2275 puts current_random_seed # Print out the current random seed",
2276 "
2277 ## Resetting the seed back to a known place
2278 puts rand #=> 0.75006103515625
2279 puts rand #=> 0.733917236328125
2280 a = current_random_seed # Grab the current seed
2281 puts rand #=> 0.464202880859375
2282 puts rand #=> 0.24249267578125
2283 use_random_seed a # Restore the seed
2284 # we'll now get the same random values:
2285 puts rand #=> 0.464202880859375
2286 puts rand #=> 0.24249267578125
2287 "]
21052288
21062289
21072290 def current_bpm
21402323
21412324 use_bpm 120
21422325 puts current_beat_duration #=> 0.5"]
2326
2327
2328
2329
2330 def beat
2331 Thread.current.thread_variable_get(:sonic_pi_spider_beat)
2332 end
2333 doc name: :beat,
2334 introduced: Version.new(2,10,0),
2335 summary: "Get current beat",
2336 doc: "Returns the beat value for the current thread/live_loop. Beats are advanced only by calls to `sleep` and `sync`. Beats are distinct from virtual time (the value obtained by calling `vt`) in that it has no notion of rate. It is just essentially a counter for sleeps. After a `sync`, the beat is overridden with the beat value from the thread which called `cue`. ",
2337 args: [[]],
2338 opts: nil,
2339 accepts_block: false,
2340 examples: ["
2341 use_bpm 120 # The current BPM makes no difference
2342 puts beat #=> 0
2343 sleep 1
2344 puts beat #=> 1
2345 use_bpm 2000
2346 sleep 2
2347 puts beat #=> 3"]
21432348
21442349
21452350
21902395 def sleep(beats)
21912396 # Schedule messages
21922397 __schedule_delayed_blocks_and_messages!
2398 curr_beat = Thread.current.thread_variable_get(:sonic_pi_spider_beat)
2399 Thread.current.thread_variable_set(:sonic_pi_spider_beat, curr_beat + beats)
21932400
21942401 return if beats == 0
21952402 # Grab the current virtual time
22402447 end
22412448 doc name: :sleep,
22422449 introduced: Version.new(2,0,0),
2243 summary: "Wait for duration",
2450 summary: "Wait for beat duration",
22442451 doc: "Wait for a number of beats before triggering the next command. Beats are converted to seconds by scaling to the current bpm setting.",
22452452 args: [[:beats, :number]],
22462453 opts: nil,
23152522 payload = {
23162523 :time => Thread.current.thread_variable_get(:sonic_pi_spider_time),
23172524 :sleep_mul => Thread.current.thread_variable_get(:sonic_pi_spider_sleep_mul),
2525 :beat => Thread.current.thread_variable_get(:sonic_pi_spider_beat),
23182526 :run => current_job_id,
23192527 :cue_map => args_h,
23202528 :cue => cue_id
23602568 "
23612569 in_thread do # Start a metronome thread
23622570 loop do # Loop forever:
2363 cue :tick # sending tick heartbeat messages
2571 cue :tick # sending tick heartbeat messages
23642572 sleep 0.5 # and sleeping for 0.5 beats between ticks
23652573 end
23662574 end
23822590 # We can now play sounds using the metronome:
23832591
23842592 in_thread do
2385 loop do # In the main thread, just loop
2386 sync :foo # waiting for :foo cue messages
2593 loop do # In the main thread, just loop
2594 sync :foo # waiting for :foo cue messages
23872595 sample :elec_beep # after which play the elec beep sample
23882596 end
23892597 end
23902598
23912599 in_thread do
2392 loop do # In the main thread, just loop
2393 sync :bar # waiting for :bar cue messages
2600 loop do # In the main thread, just loop
2601 sync :bar # waiting for :bar cue messages
23942602 sample :elec_flip # after which play the elec flip sample
23952603 end
23962604 end
23972605
23982606 in_thread do
2399 loop do # In the main thread, just loop
2400 sync :baz # waiting for :baz cue messages
2607 loop do # In the main thread, just loop
2608 sync :baz # waiting for :baz cue messages
24012609 sample :elec_blup # after which play the elec blup sample
24022610 end
2403 end"
2611 end",
2612
2613 "
2614 in_thread do
2615 loop do
2616 cue :tick, foo: 64 # sending tick heartbeat messages with a value :foo
2617 sleep 0.5
2618 end
2619 end
2620
2621 # The value for :foo can now be used in synced threads
2622
2623 loop do
2624 values = sync :tick
2625 play values[:foo] # play the note value from :foo
2626 end",
24042627 ]
2628
2629 def sync_bpm(cue_ids, opts={})
2630 sync cue_ids, opts.merge({bpm_sync: true})
2631 end
2632 doc name: :sync_bpm,
2633 introduced: Version.new(2,10,0),
2634 summary: "Sync and inherit BPM from other threads ",
2635 doc: "An alias for `sync` with the `bpm_sync:` opt set to true.`",
2636 args: [[:cue_id, :symbol]],
2637 opts: {},
2638 accepts_block: false,
2639 advances_time: true,
2640 examples: ["See examples for sync"]
24052641
24062642
24072643 def sync(cue_ids, opts={})
24282664 payload = p.get
24292665 time = payload[:time]
24302666 sleep_mul = payload[:sleep_mul]
2667 beat = payload[:beat]
24312668 bpm_sync = opts.has_key?(:bpm_sync) ? opts[:bpm_sync] : false
24322669 run_id = payload[:run]
24332670 cue_map = payload[:cue_map]
24352672 cue_map = cue_map || {}
24362673 cue_id = payload[:cue]
24372674 cue_map[:cue] = cue_id
2675 Thread.current.thread_variable_set :sonic_pi_spider_beat, beat
24382676 Thread.current.thread_variable_set :sonic_pi_spider_time, time
24392677 Thread.current.thread_variable_set(:sonic_pi_spider_sleep_mul, sleep_mul) if bpm_sync
24402678
25222760 name = args_h[:name]
25232761 delay = args_h[:delay]
25242762 sync_sym = args_h[:sync]
2763 sync_bpm_sym = args_h[:sync_bpm]
2764 sync_sym = nil if sync_bpm_sym
25252765
25262766 raise "in_thread's delay: opt must be a number, got #{delay.inspect}" if delay && !delay.is_a?(Numeric)
25272767
26182858 begin
26192859 sleep delay if delay
26202860 sync sync_sym if sync_sym
2861 sync_bpm sync_bpm_sym if sync_bpm_sym
26212862 block.call
26222863 # ensure delayed jobs and messages are honoured for this
26232864 # thread:
26302871 __schedule_delayed_blocks_and_messages!
26312872 end
26322873 rescue Exception => e
2633 if name
2874 if name
26342875 __error e, "Thread death +--> #{name.inspect}"
26352876 else
26362877 __error e, "Thread death!"
26702911 args: [],
26712912 opts: {:name => "Make this thread a named thread with name. If a thread with this name already exists, a new thread will not be created.",
26722913 :delay => "Initial delay in beats before the thread starts. Default is 0.",
2673 :sync => "Initial sync symbol. Will sync with this symbol before the thread starts."},
2914 :sync => "Initial sync symbol. Will sync with this symbol before the thread starts.",
2915 :sync_bpm => "Initial sync symbol. Will sync with this symbol before the live_loop starts. Live loop will also inherit the BPM of the thread which cued the symbol.",},
26742916 accepts_block: true,
26752917 requires_block: true,
26762918 async_block: true,
28363078 assert_equal 3, 5, \"something is seriously wrong!\"
28373079 " ]
28383080
3081 def load_buffer(path)
3082 path = File.expand_path(path.to_s)
3083 raise "Unable to load buffer - no file found with path: #{path}" unless File.exists?(path)
3084 buf = __current_job_info[:workspace]
3085 __info "loading #{buf} with #{path}"
3086 __replace_buffer(buf, File.read(path))
3087 end
3088 doc name: :load_buffer,
3089 introduced: Version.new(2,10,0),
3090 summary: "Load the contents of a file to the current buffer",
3091 doc: "Given a path to a file, will read the contents and load it into the current buffer. This will replace any previous content.",
3092 args: [[:path, :string]],
3093 opts: nil,
3094 accepts_block: false,
3095 examples: ["
3096 load_buffer \"~/sonic-pi-tracks/phat-beats.rb\" # will replace content of current buffer with contents of the file"]
3097
3098
3099 def load_example(example_name)
3100 path = Dir[examples_path + '/**/' + example_name.to_s + '.rb'].first
3101 raise "Error - no example found with name: #{example_name.inspect}" unless path
3102 buf = __current_job_info[:workspace]
3103 __info "loading #{buf} with #{path}"
3104 title = ActiveSupport::Inflector.titleize(example_name)
3105 __replace_buffer(buf, "# #{title}\n" + File.read(path))
3106 end
3107 doc name: :load_example,
3108 introduced: Version.new(2,10,0),
3109 summary: "Load a built-in example",
3110 doc: "Given a keyword representing an example, will load it into the current buffer. This will replace any previous content.",
3111 args: [[:path, :string]],
3112 opts: nil,
3113 accepts_block: false,
3114 examples: ["
3115 load_example :rerezzed # will replace content of current buffer with the rerezzed example"]
28393116
28403117 def __on_thread_death(&block)
28413118 gc_jobs = Thread.current.thread_variable_get(:sonic_pi__not_inherited__spider_in_thread_gc_jobs) || []
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification and distribution
33 # Full project source: https://github.com/samaaron/sonic-pi
44 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
55 #
6 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
6 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
77 # All rights reserved.
88 #
99 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
1919 require_relative "../chainnode"
2020 require_relative "../fxnode"
2121 require_relative "../fxreplacenode"
22 require_relative "../lazynode"
2223 require_relative "../note"
2324 require_relative "../scale"
2425 require_relative "../chord"
2627 require_relative "../synthtracker"
2728 require_relative "../version"
2829 require_relative "../tuning"
30 require_relative "../sample_loader"
2931 require_relative "support/docsystem"
3032
3133 class Symbol
3739 def +(other)
3840 return self if (self == :r) || (self == :rest)
3941 SonicPi::Note.resolve_midi_note_without_octave(self) + SonicPi::Note.resolve_midi_note_without_octave(other)
42 end
43
44 def to_f
45 return 0.0 if (self == :r) || (self == :rest)
46 SonicPi::Note.resolve_midi_note_without_octave(self).to_f
47 end
48
49 def to_i
50 self.to_f.to_i
4051 end
4152 end
4253
8697 @server_init_args = splat.take(4)
8798
8899 @mod_sound_home_dir = Dir.home
89 @simple_sampler_args = [:amp, :amp_slide, :amp_slide_shape, :amp_slide_curve, :pan, :pan_slide, :pan_slide_shape, :pan_slide_curve, :cutoff, :cutoff_slide, :cutoff_slide_shape, :cutoff_slide_curve, :res, :res_slide, :res_slide_shape, :res_slide_curve, :rate, :slide, :beat_stretch, :rpitch]
90
91 @tuning = Tuning.new
100 @simple_sampler_args = [:amp, :amp_slide, :amp_slide_shape, :amp_slide_curve, :pan, :pan_slide, :pan_slide_shape, :pan_slide_curve, :cutoff, :cutoff_slide, :cutoff_slide_shape, :cutoff_slide_curve, :lpf, :lpf_slide, :lpf_slide_shape, :lpf_slide_curve, :hpf, :hpf_slide, :hpf_slide_shape, :hpf_slide_curve, :rate, :slide, :beat_stretch, :rpitch, :attack, :decay, :sustain, :release, :attack_level, :decay_level, :sustain_level, :env_curve]
101
102 init_tuning
92103
93104 @blank_node = BlankNode.new
94105 @job_proms_queues = {}
97108 @job_proms_joiners = {}
98109
99110 @sample_paths_cache = {}
111
112 @sample_loader = SampleLoader.new("#{samples_path}/**")
100113
101114 @JOB_GROUPS_A = Atom.new(Hamster::Hash.new)
102115 @JOB_GROUP_MUTEX = Mutex.new
177190 end
178191 end
179192
193 # Deprecated fns
194
195 def current_sample_pack_aliases(*args)
196 raise "Sorry, current_sample_pack_aliases is no longer supported since v2.10. Please read Section 3.7 of the tutorial for a more powerful replacement."
197 end
198
199 def with_sample_pack_as(*args)
200 raise "Sorry, with_sample_pack_as is no longer supported since v2.10. Please read Section 3.7 of the tutorial for a more powerful replacement."
201 end
202
203 def use_sample_pack_as(*args)
204 raise "Sorry, use_sample_pack_as is no longer supported since v2.10. Please read Section 3.7 of the tutorial for a more powerful replacement."
205 end
206
207
208
180209
181210 def reboot
211 @sample_loader.reset!
182212 return nil if @mod_sound_studio.rebooting
183213 __no_kill_block do
184214 __stop_other_jobs
194224 stop
195225 end
196226
227
228
229
230 def octs(start, num_octs=1)
231 a = []
232 num_octs.times do |i|
233 a << (note(start) + (12 * i))
234 end
235 a.ring
236 end
237 doc name: :octs,
238 introduced: Version.new(2,8,0),
239 summary: "Create a ring of octaves",
240 args: [[:start, :note], [:num_octaves, :pos_int]],
241 returns: :ring,
242 opts: nil,
243 accepts_block: false,
244 doc: "Create a ring of successive octaves starting at `start` for `num_octaves`. ",
245 examples: [
246 "(octs 60, 2) #=> (ring 60, 72)",
247 "(octs :e3, 3) #=> (ring 52, 64, 76)"
248 ]
249
250
251
252
197253 def sample_free(*paths)
198 full_paths = paths.map{ |p| resolve_sample_symbol_path(p)}
199 @mod_sound_studio.free_sample(full_paths)
254 paths.each do |p|
255 p = [p] unless p.is_a?(Array)
256 filts_and_sources, args_a = sample_split_filts_and_opts(p)
257 resolve_sample_paths(filts_and_sources).each do |p|
258 if sample_loaded?(p)
259 @mod_sound_studio.free_sample([p])
260 __info "Freed sample: #{p.inspect}"
261 end
262 end
263 end
264
265
200266 end
201267 doc name: :sample_free,
202268 introduced: Version.new(2,9,0),
205271 returns: nil,
206272 opts: nil,
207273 accepts_block: false,
208 doc: "Frees the memory and resources consumed by loading the sample on the server. Subsequent calls to `sample` and friends will re-load the sample on the server. You may pass multiple samples to free at once.",
274 doc: "Frees the memory and resources consumed by loading the sample on the server. Subsequent calls to `sample` and friends will re-load the sample on the server.
275
276 You may also specify the same set of source and filter pre-args available to `sample` itself. `sample_free` will then free all matching samples. See `sample`'s docs for more information.",
209277 examples: ["
210278 sample :loop_amen # The Amen break is now loaded into memory and played
211279 sleep 2
226294 sleep 2
227295 sample_free :loop_amen, :ambi_lunar_land
228296 sample :loop_amen # re-loads and plays amen
229 sample :ambi_lunar_land # re-loads and plays lunar land"]
297 sample :ambi_lunar_land # re-loads and plays lunar land",
298
299 "# Using source and filter pre-args
300 dir = \"/path/to/sample/dir\"
301 sample_free dir # frees any loaded samples in \"/path/to/sample/dir\"
302 sample_free dir, 1 # frees sample with index 1 in \"/path/to/sample/dir\"
303 sample_free dir, :foo # frees sample with name \"foo\" in \"/path/to/sample/dir\"
304 sample_free dir, /[Bb]ar/ # frees sample which matches regex /[Bb]ar/ in \"/path/to/sample/dir\"
305
306 ",
307
308 ]
230309
231310
232311
337416 if args_h.has_key?(:on)
338417 on = args_h.delete(:on)
339418 return truthy?(on)
340 end
341
342 tls = if sample
343 Thread.current.thread_variable_get(:sonic_pi_mod_sound_sample_defaults)
344 else
345 Thread.current.thread_variable_get(:sonic_pi_mod_sound_synth_defaults)
346 end
347
348 return true unless tls
349
350 if tls.has_key?(:on)
351 # need to normalise it!
352 on = tls.delete(:on)
353 return truthy?(on)
354
355 end
356
357 true
358 end
359
360
419 else
420 return true
421 end
422 end
423
424 def use_timing_guarantees(v, &block)
425 raise "use_timing_guarantees does not work with a do/end block. Perhaps you meant with_timing_guarantees" if block
426 Thread.current.thread_variable_set(:sonic_pi_mod_sound_timing_guarantees, v)
427 end
428 doc name: :use_timing_guarantees,
429 introduced: Version.new(2,10,0),
430 summary: "Inhibit synth triggers if too late",
431 doc: "If set to true, synths will not trigger if it is too late. If false, some synth triggers may be late.",
432 args: [[:bool, :true_or_false]],
433 opts: nil,
434 accepts_block: true,
435 examples: ["
436 use_timing_guarantees true
437
438 sample :loop_amen #=> if time is behind by any margin, this will not trigger",
439 "
440 use_timing_guarantees false
441
442 sample :loop_amen #=> unless time is too far behind, this will trigger even when late."]
443
444
445
446 def with_timing_guarantees(v, &block)
447 raise "use_timing_guarantees requires a do/end block. Perhaps you meant use_timing_guarnatees" unless block
448 current = Thread.current.thread_variable_get(:sonic_pi_mod_sound_timing_guarantees)
449 Thread.current.thread_variable_set(:sonic_pi_mod_sound_timing_guarantees, v)
450 res = block.call
451 Thread.current.thread_variable_set(:sonic_pi_mod_sound_timing_guarantees, current)
452 res
453 end
454 doc name: :with_timing_guarantees,
455 introduced: Version.new(2,10,0),
456 summary: "Block-scoped inhibition of synth triggers if too late",
457 doc: "For the given block, if set to true, synths will not trigger if it is too late. If false, some synth triggers may be late. After the block has completed, the previous value is restored. ",
458 args: [[:bool, :true_or_false]],
459 opts: nil,
460 accepts_block: true,
461 examples: ["
462 with_timing_guarantees true
463 sample :loop_amen #=> if time is behind by any margin, this will not trigger
464 end",
465 "
466 with_timing_guarantees false
467 sample :loop_amen #=> unless time is too far behind, this will trigger even when late.
468 end"]
469
470
471 def use_external_synths(v, &block)
472 raise "use_external_synths does not work with a do/end block. Perhaps you meant with_external_synths" if block
473 Thread.current.thread_variable_set(:sonic_pi_mod_sound_use_external_synths, v)
474 end
361475
362476
363477 def use_timing_warnings(v, &block)
378492 end
379493
380494
381
382
383495 def use_sample_bpm(sample_name, *args)
384496 args_h = resolve_synth_opts_hash_or_array(args)
385497 num_beats = args_h[:num_beats] || 1
386498
387499 # Don't use sample_duration as that is stretched to the current
388500 # bpm!
389 sd = load_sample(sample_name).duration
501 sd = sample_buffer(sample_name).duration
390502 use_bpm(num_beats * (60.0 / sd))
391503 end
392504 doc name: :use_sample_bpm,
425537 num_beats = args_h[:num_beats] || 1
426538 # Don't use sample_duration as that is stretched to the current
427539 # bpm!
428 sd = load_sample(sample_name).duration
540 sd = sample_buffer(sample_name).duration
429541 with_bpm(num_beats * (60.0 / sd), &block)
430542 end
431543 doc name: :with_sample_bpm,
755867
756868 "]
757869
758
759
870 def set_cent_tuning!(shift)
871 @mod_sound_studio.cent_tuning = shift
872 end
873 doc name: :set_cent_tuning!,
874 introduced: Version.new(2,10,0),
875 summary: "Global Cent tuning",
876 doc: "Globally tune Sonic Pi to play with another external instrument.
877
878 Uniformly tunes your music by shifting all notes played by the specified number of cents. To shift up by a cent use a cent tuning of 1. To shift down use negative numbers. One semitone consists of 100 cents.
879
880 See `use_cent_tuning` for setting the cent tuning value locally for a specific thread or `live_loop`. This is a global value and will shift the tuning for *all* notes. It will also persist for the entire session.
881
882 Important note: the cent tuning set by `set_cent_tuning!` is independent of any thread-local cent tuning values set by `use_cent_tuning` or `with_cent_tuning`. ",
883 args: [[:cent_shift, :number]],
884 opts: nil,
885 accepts_block: false,
886 intro_fn: false,
887 examples: ["
888 play 50 # Plays note 50
889 set_cent_tuning! 1
890 play 50 # Plays note 50.01"]
760891
761892 def use_cent_tuning(shift, &block)
762893 raise "use_cent_tuning does not work with a do/end block. Perhaps you meant with_cent_tuning" if block
9631094 def with_tuning(tuning, fundamental_note = :c, &block)
9641095 raise "with_tuning requires a do/end block. Perhaps you meant use_tuning" unless block
9651096 raise "tuning value must be a symbol like :just or :equal, got #{tuning.inspect}" unless tuning.is_a?(Symbol)
966 curr_tuning, curr_fundamental = Thread.current.thread_variable_get(:sonic_pi_mod_sound_tuning)
1097 curr_tuning_info = Thread.current.thread_variable_get(:sonic_pi_mod_sound_tuning)
1098 curr_tuning, curr_fundamental = curr_tuning_info
9671099 Thread.current.thread_variable_set(:sonic_pi_mod_sound_tuning, [tuning, fundamental_note])
9681100 res = block.call
969 Thread.current.thread_variable_set(:sonic_pi_mod_sound_tuning, [curr_tuning, curr_fundamental])
1101 Thread.current.thread_variable_set(:sonic_pi_mod_sound_tuning, curr_tuning_info)
9701102 res
9711103 end
9721104 doc name: :with_tuning,
9881120 play :e4 # Plays note 64"]
9891121
9901122
991 def use_synth(synth_name, &block)
1123 def use_synth(synth_name, *args, &block)
1124 raise "use_synth does not accept opts such as #{arg_h_pp(resolve_synth_opts_hash_or_array(args))}. \n Consider using use_synth_defaults." unless args.empty?
9921125 raise "use_synth does not work with a do/end block. Perhaps you meant with_synth" if block
9931126 set_current_synth synth_name
9941127 end
10081141
10091142
10101143
1011 def with_synth(synth_name, &block)
1144 def with_synth(synth_name, *args, &block)
1145 raise "with_synth does not accept opts such as #{arg_h_pp(resolve_synth_opts_hash_or_array(args))}. \n Consider using with_synth_defaults." unless args.empty?
10121146 raise "with_synth must be called with a do/end block. Perhaps you meant use_synth" unless block
10131147 orig_synth = current_synth_name
10141148 set_current_synth synth_name
11831317
11841318
11851319 def synth(synth_name, *args)
1186 ensure_good_timing!
1320 synth_name = current_synth unless synth_name
11871321 args_h = resolve_synth_opts_hash_or_array(args)
1188
1189 return nil unless should_trigger?(args_h)
1322 tls = Thread.current.thread_variable_get(:sonic_pi_mod_sound_synth_defaults) || {}
1323
1324 args_h = tls.merge(args_h)
1325
1326 return @blank_node unless should_trigger?(args_h)
11901327
11911328 if rest? args_h
1192 __delayed_message "synth #{synth_name.to_sym.inspect}, {note: :rest}"
1193 return nil
1194 end
1329 unless Thread.current.thread_variable_get(:sonic_pi_mod_sound_synth_silent)
1330 __delayed_message "synth #{synth_name.to_sym.inspect}, {note: :rest}"
1331 end
1332 return @blank_node
1333 end
1334
11951335
11961336 notes = args_h[:notes] || args_h[:note]
1197 if notes.is_a?(SonicPi::Core::RingVector) || notes.is_a?(Array)
1337 if notes.is_a?(SonicPi::Core::SPVector) || notes.is_a?(Array)
11981338 args_h.delete(:notes)
11991339 args_h.delete(:note)
12001340 shifted_notes = notes.map {|n| normalise_transpose_and_tune_note_from_args(n, args_h)}
12121352 doc: "Trigger specified synth with given opts. Bypasses `current_synth` value, yet still honours `current_synth_defaults`. When using `synth`, the note is no longer an explicit argument but an opt with the key `note:`.
12131353
12141354 If note: opt is `nil`, `:r` or `:rest`, play is ignored and treated as a rest. Also, if the `on:` opt is specified and returns `false`, or `nil` then play is similarly ignored and treated as a rest.
1355
1356 If the synth name is `nil` behaviour is identical to that of `play` in that the `current_synth` will determine the actual synth triggered.
12151357
12161358 Note that the default opts listed are only a guide to the most common opts across all the synths. Not all synths support all the default opts and each synth typically supports many more opts specific to that synth. For example, the `:tb303` synth supports 45 unique opts. For a full list of a synth's opts see its documentation in the Help system. This can be accessed directly by clicking on the name of the synth and using the shortcut `C-i`",
12171359 args: [[:synth_name, :symbol]],
12621404
12631405
12641406 def play(n, *args)
1265 ensure_good_timing!
1266 case n
1267 when Array, SonicPi::Core::RingVector
1268 return play_chord(n, *args)
1269 when Hash
1270 # Allow a single hash argument to function unsurprisingly
1271 if args.empty?
1272 args = n
1273 else
1274 args_h = resolve_synth_opts_hash_or_array(args)
1275 args = n.merge(args_h)
1276 end
1277 end
1278
1279 n = note(n)
1280
1281 synth_name = current_synth_name
1282
1283 if n.nil?
1284 unless Thread.current.thread_variable_get(:sonic_pi_mod_sound_synth_silent)
1285 __delayed_message "synth #{synth_name.to_sym.inspect}, {note: :rest}"
1286 end
1287
1288 return nil
1289 end
1290
1291 init_args_h = {}
1292 args_h = resolve_synth_opts_hash_or_array(args)
1293
1294 return nil unless should_trigger?(args_h)
1295
1296 n = normalise_transpose_and_tune_note_from_args(n, args_h)
1297 trigger_inst synth_name, {note: n}.merge(init_args_h.merge(args_h))
1407 if n.is_a?(Hash) && args.empty?
1408 synth nil, n
1409 else
1410 synth nil, {note: n}, *args
1411 end
12981412 end
12991413 doc name: :play,
13001414 introduced: Version.new(2,0,0),
14201534
14211535
14221536 def play_chord(notes, *args)
1423 ensure_good_timing!
14241537 args_h = resolve_synth_opts_hash_or_array(args)
1425 return nil unless should_trigger?(args_h)
1538 return @blank_node unless should_trigger?(args_h)
14261539 shifted_notes = notes.map {|n| normalise_transpose_and_tune_note_from_args(n, args_h)}
14271540
14281541 synth_name = current_synth_name
1429 trigger_chord(synth_name, shifted_notes, args)
1542 trigger_chord(synth_name, shifted_notes, args_h)
14301543 end
14311544 doc name: :play_chord,
14321545 introduced: Version.new(2,0,0),
17571870 fx_synth_name = "fx_#{fx_name}"
17581871 info = Synths::SynthInfo.get_info(fx_synth_name)
17591872
1760 fx_synth_name = fx_name unless info
1873 unless info
1874 raise "Unknown FX #{fx_name.inspect}" unless Thread.current.thread_variable_get(:sonic_pi_mod_sound_use_external_synths)
1875 fx_synth_name = fx_name
1876 end
17611877
17621878 start_subthreads = []
17631879 end_subthreads = []
19632079 :sonic_pi_spider_delayed_blocks,
19642080 :sonic_pi_spider_delayed_messages,
19652081 :sonic_pi_spider_time,
2082 :sonic_pi_spider_beat,
19662083 :sonic_pi_spider_arg_bpm_scaling,
19672084 :sonic_pi_spider_random_gen_idx,
19682085 :sonic_pi_spider_random_gen_seed,
20712188 def use_sample_pack(pack, &block)
20722189 raise "use_sample_pack does not work with a block. Perhaps you meant with_sample_pack" if block
20732190 if pack == :default
2074 pack = samples_path + "/"
2191 pack = samples_path + "/**"
20752192 else
20762193 pack = "#{pack}/" if File.directory?(pack)
20772194 end
20812198 doc name: :use_sample_pack,
20822199 introduced: Version.new(2,0,0),
20832200 summary: "Use sample pack",
2084 doc: "Given a path to a folder of samples on your filesystem, this method makes any `.wav`, `.wave`, `.aif` or `.aiff` files in that folder available as samples. Consider using `use_sample_pack_as` when using multiple sample packs. Use `use_sample_pack :default` To revert back to the default built-in samples.",
2201 doc: "Given a path to a folder of samples on your filesystem, this method makes any `.wav`, `.wave`, `.aif`, `.aiff` or `.flac` files in that folder available as samples. Use `use_sample_pack :default` To revert back to the default built-in samples.",
20852202 args: [[:pack_path, :string]],
20862203 opts: nil,
20872204 accepts_block: false,
20882205 examples:
20892206 ["
20902207 use_sample_pack '/home/yourname/path/to/sample/dir'
2091 sample :foo #=> plays /home/yourname/path/to/sample/dir/foo.{wav|wave|aif|aiff}
2092 # where {wav|wave|aif|aiff} means one of wav, wave aif or aiff.
2208 sample :foo #=> plays /home/yourname/path/to/sample/dir/foo.{wav|wave|aif|aiff|flac}
2209 # where {wav|wave|aif|aiff|flac} means one of wav, wave, aif, aiff or flac.
20932210 sample :bd_haus #=> will not work unless there's a sample in '/home/yourname/path/to/sample/dir'
2094 # called bd_haus.{wav|wave|aif|aiff}
2211 # called bd_haus.{wav|wave|aif|aiff|flac}
20952212 use_sample_pack :default
20962213 sample :bd_haus #=> will play the built-in bd_haus.wav sample" ]
2097
2098
2099
2100
2101 def use_sample_pack_as(pack, pack_alias, &block)
2102 raise "use_sample_pack_as does not work with a block. Perhaps you meant with_sample_pack_as" if block
2103 pack = "#{pack}/" if File.directory?(pack)
2104 aliases = Thread.current.thread_variable_get(:sonic_pi_mod_sound_sample_aliases) || Hamster::Hash.new
2105 new_aliases = aliases.put pack_alias.to_s, pack
2106 Thread.current.thread_variable_set(:sonic_pi_mod_sound_sample_aliases, new_aliases)
2107 end
2108 doc name: :use_sample_pack_as,
2109 introduced: Version.new(2,0,0),
2110 summary: "Use sample pack alias",
2111 doc: "Similar to `use_sample_pack` except you can assign prefix aliases for samples. This lets you 'namespace' your sounds so that they don't clash, even if they have the same filename.",
2112 args: [[:path, :string], [:alias, :string]],
2113 opts: nil,
2114 accepts_block: false,
2115 examples: ["
2116 # let's say you have two folders of your own sample files,
2117 # and they both contain a file named 'bass.wav'
2118 use_sample_pack_as '/home/yourname/my/cool/samples/guitar', :my_guitars
2119 use_sample_pack_as '/home/yourname/my/cool/samples/drums', :my_drums
2120
2121 # You can now play both the 'bass.wav' samples, as they've had the symbol stuck on the front
2122 sample :my_guitars__bass #=> plays '/home/yourname/my/cool/samples/guitar/bass.wav'
2123 sample :my_drums__bass #=> plays '/home/yourname/my/cool/samples/drums/bass.wav'"]
2124
2125
21262214
21272215
21282216 def with_sample_pack(pack, &block)
21292217 raise "with_sample_pack requires a block. Perhaps you meant use_sample_pack" unless block
21302218 if pack == :default
21312219 # allow user to reset sample pack with the :default keyword
2132 pack = samples_path
2220 pack = samples_path + "/**"
21332221 else
21342222 # ensure directories have trailing /
21352223 pack = "#{pack}/" if File.directory?(pack)
21432231 doc name: :with_sample_pack,
21442232 introduced: Version.new(2,0,0),
21452233 summary: "Block-level use sample pack",
2146 doc: "Given a path to a folder of samples on your filesystem, this method makes any `.wav`, `.wave`, `.aif`, or `.aiff` files in that folder available as samples inside the given block. Consider using `with_sample_pack_as` when using multiple sample packs.",
2234 doc: "Given a path to a folder of samples on your filesystem, this method makes any `.wav`, `.wave`, `.aif`, `.aiff` or `.flac` files in that folder available as samples inside the given block.",
21472235 args: [[:pack_path, :string]],
21482236 opts: nil,
21492237 accepts_block: true,
21502238 requires_block: true,
21512239 examples: ["
21522240 with_sample_pack '/path/to/sample/dir' do
2153 sample :foo #=> plays /path/to/sample/dir/foo.{wav|wave|aif|aiff}
2154 end"]
2155
2156
2157
2158
2159 def with_sample_pack_as(pack, name, &block)
2160 raise "with_sample_pack_as requires a do/end block. Perhaps you meant use_sample_pack_as" unless block
2161 pack = "#{pack}/" if File.directory?(pack)
2162 current = Thread.current.thread_variable_get(:sonic_pi_mod_sound_sample_aliases)
2163 aliases = current || Hamster::Hash.new
2164 new_aliases = aliases.put name.to_s, pack
2165 Thread.current.thread_variable_set(:sonic_pi_mod_sound_sample_aliases, new_aliases)
2166 res = block.call
2167 Thread.current.thread_variable_set(:sonic_pi_mod_sound_sample_aliases, current)
2168 res
2169 end
2170 doc name: :with_sample_pack_as,
2171 introduced: Version.new(2,0,0),
2172 summary: "Block-level use sample pack alias",
2173 doc: "Similar to `with_sample_pack` except you can assign prefix aliases for samples. This lets you 'namespace' your sounds so that they don't clash, even if they have the same filename.",
2174 args: [[:pack_path, :string]],
2175 opts: nil,
2176 accepts_block: true,
2177 requires_block: true,
2178 examples: ["
2179 with_sample_pack_as '/home/yourname/path/to/sample/dir', :my_samples do
2180 # The foo sample is now available, with a prefix of 'my_samples'
2181 sample :my_samples__foo #=> plays /home/yourname/path/to/sample/dir/foo.{wav|wave|aif|aiff}
2241 sample :foo #=> plays /path/to/sample/dir/foo.{wav|wave|aif|aiff|flac}
21822242 end"]
21832243
21842244
22202280
22212281
22222282
2223 def current_sample_pack_aliases
2224 Thread.current.thread_variable_get(:sonic_pi_mod_sound_sample_aliases)
2225 end
2226 doc name: :current_sample_pack_aliases,
2227 introduced: Version.new(2,0,0),
2228 summary: "Get current sample pack aliases",
2229 doc: "Returns a map containing the current sample pack aliases.
2230
2231 This can be set via the fns `use_sample_pack_as` and `with_sample_pack_as`.",
2232 args: [],
2233 opts: nil,
2234 accepts_block: false,
2235 examples: ["
2236 puts current_sample_pack_aliases # Print out the current sample pack aliases"]
2283
22372284
22382285
22392286
24372484
24382485
24392486
2440 def sample_loaded?(path)
2441 case path
2442 when Symbol
2443 full_path = resolve_sample_symbol_path(path)
2444 return @mod_sound_studio.sample_loaded?(full_path)
2445 when String
2446 path = File.expand_path(path)
2447 return @mod_sound_studio.sample_loaded?(path)
2448 else
2449 raise "Unknown sample description: #{path}"
2450 end
2451 end
2487 def sample_loaded?(*args)
2488 filts_and_sources, args_a = sample_split_filts_and_opts(args)
2489 path = resolve_sample_path(filts_and_sources)
2490
2491 path = File.expand_path(path)
2492 return @mod_sound_studio.sample_loaded?(path)
2493 end
2494
24522495 doc name: :sample_loaded?,
24532496 introduced: Version.new(2,2,0),
24542497 summary: "Test if sample was pre-loaded",
2455 doc: "Given a path to a `.wav`, `.wave`, `.aif` or `.aiff` file, returns `true` if the sample has already been loaded.",
2498 doc: "Given a path to a `.wav`, `.wave`, `.aif`, `.aiff` or `.flac` file, returns `true` if the sample has already been loaded.",
24562499 args: [[:path, :string]],
24572500 opts: nil,
24582501 accepts_block: false,
24622505 puts sample_loaded? :misc_burp # prints false because it has not been loaded"]
24632506
24642507
2465
2466
2467 def load_sample(path)
2508 def load_sample(*args)
2509 filts_and_sources, args_a = sample_split_filts_and_opts(args)
2510 paths = sample_find_candidates(filts_and_sources)
2511 paths.map do |p|
2512 load_sample_at_path p
2513 end
2514 end
2515 doc name: :load_sample,
2516 introduced: Version.new(2,0,0),
2517 summary: "Pre-load sample(s)",
2518 doc: "Given a path to a `.wav`, `.wave`, `.aif`, `.aiff` or `.flac` file, pre-loads the sample into memory.
2519
2520 You may also specify the same set of source and filter pre-args available to `sample` itself. `load_sample` will then load all matching samples. See `sample`'s docs for more information." ,
2521
2522 args: [[:path, :string]],
2523 opts: nil,
2524 accepts_block: false,
2525 examples: ["
2526 load_sample :elec_blip # :elec_blip is now loaded and ready to play as a sample
2527 sample :elec_blip # No delay takes place when attempting to trigger it",
2528
2529 "# Using source and filter pre-args
2530 dir = \"/path/to/sample/dir\"
2531 load_sample dir # loads any samples in \"/path/to/sample/dir\"
2532 load_sample dir, 1 # loads sample with index 1 in \"/path/to/sample/dir\"
2533 load_sample dir, :foo # loads sample with name \"foo\" in \"/path/to/sample/dir\"
2534 load_sample dir, /[Bb]ar/ # loads sample which matches regex /[Bb]ar/ in \"/path/to/sample/dir\"
2535
2536 " ]
2537
2538
2539 def load_samples(*args)
2540 load_sample(*args)
2541 end
2542 doc name: :load_samples,
2543 introduced: Version.new(2,0,0),
2544 summary: "Pre-load samples",
2545 doc: "Synonym for load_sample",
2546 args: [[:paths, :list]],
2547 opts: nil,
2548 accepts_block: false,
2549 examples: ["# See load_sample for examples"]
2550
2551
2552
2553
2554 def load_sample_at_path(path)
24682555 case path
24692556 when Symbol
24702557 full_path = resolve_sample_symbol_path(path)
24742561 when String
24752562 raise "Attempted to load sample with an empty string as path" if path.empty?
24762563 path = File.expand_path(path)
2477 if File.exists?(path)
2478 info, cached = @mod_sound_studio.load_sample(path)
2479 __info "Loaded sample #{path.inspect}" unless cached
2480 return info
2481 else
2482 raise "No sample exists with path #{path}"
2483 end
2564 info, cached = @mod_sound_studio.load_sample(path)
2565 __info "Loaded sample #{unify_tilde_dir(path).inspect}" unless cached
2566 return info
24842567 else
2485 raise "Unknown sample description: #{path}. Expected a symbol such as :loop_amen or a string containing a path."
2486 end
2487 end
2488 doc name: :load_sample,
2489 introduced: Version.new(2,0,0),
2490 summary: "Pre-load sample",
2491 doc: "Given a path to a `.wav`, `.wave`, `.aif` or `.aiff` file, this loads the file and makes it available as a sample. See `load_samples` for loading multiple samples in one go.",
2492 args: [[:path, :string]],
2493 opts: nil,
2494 accepts_block: false,
2495 examples: ["
2496 load_sample :elec_blip # :elec_blip is now loaded and ready to play as a sample
2497 sample :elec_blip # No delay takes place when attempting to trigger it"]
2498
2499
2500
2501
2502 def load_samples(*paths)
2503 paths.each do |p|
2504 if p.kind_of?(Array)
2505 load_samples *p
2506 else
2507 load_sample p
2508 end
2509 end
2510 end
2511 doc name: :load_samples,
2512 introduced: Version.new(2,0,0),
2513 summary: "Pre-load samples",
2514 doc: "Given an array of paths to `.wav`, `.wave`, `.aif` or `.aiff` files, loads them all into memory so that they may be played with via sample with no delay. See `load_sample`.",
2515 args: [[:paths, :list]],
2516 opts: nil,
2517 accepts_block: false,
2518 examples: ["
2519 sample :ambi_choir # This has to first load the sample before it can play it which may
2520 # cause unwanted delay.
2521
2522 load_samples [:elec_plip, :elec_blip] # Let's load some samples in advance of using them
2523 sample :elec_plip # When we play :elec_plip, there is no extra delay
2524 # as it has already been loaded.",
2525
2526 "
2527 load_samples :elec_plip, :elec_blip # You may omit the square brackets, and
2528 # simply list all samples you wish to load
2529 sample :elec_blip # Before playing them.",
2530 "
2531 load_samples [\"/home/pi/samples/foo.wav\"] # You may also load full paths to samples.
2532 sample \"/home/pi/sample/foo.wav\" # And then trigger them with no more loading."]
2533
2534
2535
2536
2537 def sample_info(path)
2538 load_sample(path)
2568 raise "Unknown sample description: #{path.inspect}\n Expected a symbol such as :loop_amen or a string containing a path."
2569 end
2570 end
2571
2572
2573
2574
2575 def sample_info(*args)
2576 sample_buffer(*args)
25392577 end
25402578 doc name: :sample_info,
25412579 introduced: Version.new(2,0,0),
25492587
25502588
25512589
2552 def sample_buffer(path)
2553 load_sample(path)
2590 def sample_buffer(*args)
2591 filts_and_sources, args_a = sample_split_filts_and_opts(args)
2592 path = resolve_sample_path(filts_and_sources)
2593 load_sample_at_path(path)
25542594 end
25552595 doc name: :sample_buffer,
25562596 introduced: Version.new(2,0,0),
25642604
25652605
25662606
2567 def sample_duration(path, *args)
2568 dur = load_sample(path).duration
2569 args_h = resolve_synth_opts_hash_or_array(args)
2607 def sample_duration(*args)
2608 filts_and_sources, args_a = sample_split_filts_and_opts(args)
2609 path = resolve_sample_path(filts_and_sources)
2610 dur = load_sample_at_path(path).duration
2611 args_h = merge_synth_arg_maps_array(args_a)
25702612 t_l_args = Thread.current.thread_variable_get(:sonic_pi_mod_sound_sample_defaults) || {}
25712613 t_l_args.each do |k, v|
25722614 args_h[k] = v unless args_h.has_key? k
26182660 return real_dur
26192661 end
26202662 end
2663
26212664 doc name: :sample_duration,
26222665 introduced: Version.new(2,0,0),
26232666 summary: "Get duration of sample in beats",
2624 doc: "Given the name of a loaded sample, or a path to a `.wav`, `.wave`, `.aif` or `.aiff` file returns the length of time in beats that the sample would play for. `sample_duration` understands and accounts for all the opts you can pass to `sample` which have an effect on the playback duration such as `rate:`. The time returned is scaled to the current bpm.",
2667 doc: "Given the name of a loaded sample, or a path to a `.wav`, `.wave`, `.aif`, `.aiff` or `.flac` file returns the length of time in beats that the sample would play for. `sample_duration` understands and accounts for all the opts you can pass to `sample` which have an effect on the playback duration such as `rate:`. The time returned is scaled to the current BPM.
2668
2669 *Note:* avoid using `sample_duration` to set the sleep time in `live_loop`s, prefer stretching the sample with the `beat_stretch:` opt or changing the BPM instead. See the examples below for details.",
26252670 args: [[:path, :string]],
26262671 opts: {:rate => "Rate modifier. For example, doubling the rate will halve the duration.",
26272672 :start => "Start position of sample playback as a value from 0 to 1",
27612806
27622807 ]
27632808
2764
2765
2766
2767 def sample(path, *args_a_or_h)
2768 return if path == nil
2769
2770 # Allow for hash only variant with :sample_name
2771 # and procs as sample name inline with note()
2772 case path
2773 when Proc
2774 return sample(path.call, *args_a_or_h)
2775 when Hash
2776 if path.has_key? :name
2777 # handle case where sample receives Hash and args
2778 new_path = path.delete(:name)
2779 args_h = resolve_synth_opts_hash_or_array(args_a_or_h)
2780 return sample(new_path, path.merge(args_h))
2809 def sample_split_filts_and_opts(args)
2810 idx = args.find_index {|el| el.is_a?(Hash)}
2811 if idx
2812 filts_and_sources = args[0...idx]
2813 opts = args[idx..-1]
2814 else
2815 filts_and_sources = args
2816 opts = {}
2817 end
2818
2819 return filts_and_sources, opts
2820 end
2821
2822 def resolve_sample_paths(filts_and_sources)
2823 sample_find_candidates(filts_and_sources)
2824 end
2825
2826 def resolve_sample_path(filts_and_sources)
2827 resolve_sample_paths(filts_and_sources)[0]
2828 end
2829
2830
2831
2832
2833 def sample_paths(*args)
2834 filts_and_sources, args_a = sample_split_filts_and_opts(args)
2835 resolve_sample_paths(filts_and_sources).ring
2836 end
2837 doc name: :sample_paths,
2838 introduced: Version.new(2,10,0),
2839 summary: "Sample Pack Filter Resolution",
2840 doc: "Accepts the same pre-args and opts as `sample` and returns a ring of matched sample paths.",
2841 args: [[:pre_args, :source_and_filter_types]],
2842 returns: :ring,
2843 opts: nil,
2844 accepts_block: false,
2845 examples: ["
2846 sample_paths \"/path/to/samples/\" #=> ring of all top-level samples in /path/to/samples",
2847 "
2848 sample_paths \"/path/to/samples/**\" #=> ring of all nested samples in /path/to/samples",
2849 "
2850 sample_paths \"/path/to/samples/\", \"foo\" #=> ring of all samples in /path/to/samples
2851 containing the string \"foo\" in their filename." ]
2852
2853
2854
2855
2856 def sample(*args)
2857 filts_and_sources, args_a = sample_split_filts_and_opts(args)
2858 args_h = merge_synth_arg_maps_array(args_a)
2859 tls = Thread.current.thread_variable_get(:sonic_pi_mod_sound_sample_defaults) || {}
2860
2861 args_h = tls.merge(args_h)
2862
2863
2864 return @blank_node unless should_trigger?(args_h, true)
2865
2866 if filts_and_sources.size == 0
2867 if args_h.has_key?(:sample_name)
2868 # handle case where sample receives only opts
2869 path = resolve_sample_path([args_h.delete(:sample_name)])
27812870 else
2782 return nil
2783 end
2784 end
2785
2786 ensure_good_timing!
2787 if path.is_a? Buffer
2788 buf_info = path
2789 if buf_info.path
2790 path = buf_info.path
2791 else
2792 path = "Buffer [#{buffer_info.id}]"
2871 return @blank_node
27932872 end
27942873 else
2795 buf_info = load_sample(path)
2796 end
2797 args_h = resolve_synth_opts_hash_or_array(args_a_or_h)
2798
2799 return nil unless should_trigger?(args_h, true)
2800
2801 trigger_sampler path, buf_info.id, buf_info.num_chans, args_h
2802 end
2874 path = resolve_sample_path(filts_and_sources)
2875 end
2876
2877 if path == nil
2878 __delayed_message "sample #{filts_and_sources.inspect}\n - no match found, skipping."
2879 return @blank_node
2880 end
2881
2882 path = unify_tilde_dir(path) if path.is_a? String
2883
2884 # Combine thread local defaults here as
2885 # normalise_and_resolve_synth_args has only been taught about
2886 # synth thread local defaults
2887
2888
2889
2890 if @mod_sound_studio.sample_loaded?(path)
2891 return trigger_sampler path, args_h
2892 else
2893 res = Promise.new
2894 in_thread { res.deliver!(trigger_sampler path, args_h)}
2895 return LazyNode.new(res)
2896 end
2897 end
2898
28032899 doc name: :sample,
28042900 introduced: Version.new(2,0,0),
28052901 summary: "Trigger sample",
2806 doc: "This is the main method for playing back recorded sound files (samples). Sonic Pi comes with lots of great samples included (see the section under help) but you can also load and play `.wav`, `.wave`, `.aif` or `.aiff` files from anywhere on your computer too. The `rate:` opt affects both the speed and the pitch of the playback. To control the rate of the sample in a pitch-meaningful way take a look at the `rpitch:` opt.
2807
2808 The sampler synth has two separate envelopes - one for amplitude and one for the cutoff value for a resonant low pass filter. These work very similar to the standard synth envelopes except for two major differences. Firstly, the envelope times do not stretch or shrink to match the BPM. Secondly, the sustain time by default stretches to make the envelope fit the length of the sample. This is explained in detail in the tutorial.
2809
2810 Check out the `use_sample_pack` and `use_sample_pack_as` fns for details on making it easy to work with a whole folder of your own sample files. Note, that on the first trigger of a sample, Sonic Pi has to load the sample which takes some time and may cause timing issues. To preload the samples you wish to work with consider using `load_sample` or `load_samples`.",
2902 doc: "Play back a recorded sound file (sample). Sonic Pi comes with lots of great samples included (see the section under help) but you can also load and play `.wav`, `.wave`, `.aif`, `.aiff` or `.flac` files from anywhere on your computer too. To play a built-in sample use the corresponding keyword such as `sample :bd_haus`. To play any file on your computer use a full path such as `sample \"/path/to/sample.wav\"`.
2903
2904 There are many opts for manipulating the playback. For example, the `rate:` opt affects both the speed and the pitch of the playback. To control the rate of the sample in a pitch-meaningful way take a look at the `rpitch:` opt.
2905
2906 The sampler synth has three separate envelopes - one for amplitude, one for a low pass filter and another for a high pass filter. These work very similar to the standard synth envelopes except for two major differences. Firstly, the envelope times do not stretch or shrink to match the BPM. Secondly, the sustain time by default stretches to make the envelope fit the length of the sample. This is explained in detail in the tutorial.
2907
2908 Samples are loaded on-the-fly when first requested (and subsequently remembered). If the sample loading process takes longer than the schedule ahead time, the sample trigger will be skipped rather than be played late and out of time. To avoid this you may preload any samples you wish to work with using `load_sample` or `load_samples`.
2909
2910 Finally, the sampler supports a powerful filtering system to make it easier to work with large folders of samples. The filter commands must be used before the first standard opt. There are six kinds of filter parameters you may use:
2911
2912 1. Folder strings - `\"/foo/bar\"` - which will add all samples within the folder to the set of candidates.
2913 2. Sample strings - `\"/path/to/sample.wav\"` - which will add the specific sample to the set of candidates.
2914 3. Other strings - `\"foobar\"` - which will filter the candidates based on whether the filename contains the string.
2915 4. Regular expressions - `/b[aA]z.*/` - which will filter the candidates based on whether the regular expression matches the filename.
2916 5. Keywords - `:quux` - will filter the candidates based on whether the keyword is a direct match of the filename (without extension).
2917 7. Numbers - `0` - will select the candidate with that index (wrapping round like a ring if necessary).
2918 8. Lists of the above - `[\"/foo/bar\", \"baz\", /0-9.*/]` - will recurse down and work through the internal filter parameters as if they were in the top level.
2919
2920 By combining commands which add to the candidates and then filtering those candidates it is possible to work with folders full of samples in very powerful ways. Note that the specific ordering of filter parameters is irrelevant with the exception of the numbers - in which case the last number is the index. All the candidates will be gathered first before the filters are applied.
2921 ",
2922
28112923 args: [[:name_or_path, :symbol_or_string]],
28122924 opts: {:rate => "Rate with which to play back the sample. Higher rates mean an increase in pitch and a decrease in duration. Default is 1.",
28132925 :beat_stretch => "Stretch (or shrink) the sample to last for exactly the specified number of beats. Please note - this does *not* keep the pitch constant and is essentially the same as modifying the rate directly.",
2814 :pitch_stretch => "Stretch (or shrink) the sample to last for exactly the specified number of beats. This attempts to keep the pitch constant using the pitch: opt. Note, it's very likely you'll need to experiment with the `window_size:`, `pitch_dis:` and `time_dis:` opts depending on the sample and the amount you'd like to stretch/shrink from original size.",
2815 :attack => "Time to reach full volume. Default is 0",
2926 :pitch_stretch => "Stretch (or shrink) the sample to last for exactly the specified number of beats. This attempts to keep the pitch constant using the `pitch:` opt. Note, it's very likely you'll need to experiment with the `window_size:`, `pitch_dis:` and `time_dis:` opts depending on the sample and the amount you'd like to stretch/shrink from original size.",
2927 :attack => "Time to reach full volume. Default is 0.",
28162928 :sustain => "Time to stay at full volume. Default is to stretch to length of sample (minus attack and release times).",
2817 :release => "Time (from the end of the sample) to go from full amplitude to 0. Default is 0",
2929 :release => "Time (from the end of the sample) to go from full amplitude to 0. Default is 0.",
28182930 :start => "Position in sample as a fraction between 0 and 1 to start playback. Default is 0.",
28192931 :finish => "Position in sample as a fraction between 0 and 1 to end playback. Default is 1.",
2820 :pan => "Stereo position of audio. -1 is left ear only, 1 is right ear only, and values in between position the sound accordingly. Default is 0",
2821 :amp => "Amplitude of playback",
2822 :norm => "Normalise the audio (make quieter parts of the sample louder and louder parts quieter) - this is similar to the normaliser FX. This may emphasise any clicks caused by clipping.",
2823 :cutoff => "Cutoff value of the built-in resonant low pass filter (rlpf) in MIDI notes. Unless specified, the rlpf is *not* added to the signal chain.",
2824 :cutoff_attack_level => "The peak cutoff (value of cutoff at peak of attack) as a MIDI note. Default value is 130.",
2825 :cutoff_decay_level => "The level of cutoff after the decay phase as a MIDI note. Default value is `:cutoff_attack_level`.",
2826 :cutoff_sustain_level => "The sustain cutoff (value of cutoff at sustain time) as a MIDI note. Default value is `:cutoff_decay_level`.",
2827 :cutoff_attack => "Attack time for cutoff filter. Amount of time (in beats) for sound to reach full cutoff value. Default value is set to match amp envelope's attack value.",
2828 :cutoff_decay => "Decay time for cutoff filter. Amount of time (in beats) for sound to move from full cutoff value (cutoff attack level) to the cutoff sustain level. Default value is set to match amp envelope's decay value.",
2829 :cutoff_sustain => "Amount of time for cutoff value to remain at sustain level in beats. When -1 (the default) will auto-stretch.",
2830 :cutoff_release => "Amount of time (in beats) for sound to move from cutoff sustain value to cutoff min value. Default value is set to match amp envelope's release value.",
2831 :cutoff_env_curve => "Select the shape of the curve between levels in the cutoff envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed",
2832 :res => "Cutoff-specific opt. Only honoured if cutoff: is specified. Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.",
2833 :rpitch => "Rate modified pitch. Multiplies the rate by the appropriate ratio to shift up or down the specified amount in MIDI notes. Please note - this does *not* keep the duration and rhythmical rate constant and ie essentially the same as modifying the rate directly.",
2932 :pan => "Stereo position of audio. -1 is left ear only, 1 is right ear only, and values in between position the sound accordingly. Default is 0.",
2933 :amp => "Amplitude of playback.",
2934 :pre_amp => "Amplitude multiplier which takes place immediately before any internal FX such as the low pass filter, compressor or pitch modification. Use this opt if you want to overload the compressor.",
2935 :norm => "Normalise the audio (make quieter parts of the sample louder and louder parts quieter) - this is similar to the normaliser FX. This may emphasise any clicks caused by clipping.",
2936 :lpf => "Cutoff value of the built-in low pass filter (lpf) in MIDI notes. Unless specified, the lpf is *not* added to the signal chain.",
2937 :lpf_init_level => "The initial low pass filter envelope value as a MIDI note. This envelope is bypassed if no lpf env opts are specified. Default value is to match the `lpf_min:` opt.",
2938 :lpf_attack_level => "The peak lpf cutoff (value of cutoff at peak of attack) as a MIDI note. Default value is to match the `lpf_decay_level:` opt.",
2939 :lpf_decay_level => "The level of lpf cutoff after the decay phase as a MIDI note. Default value is to match the `lpf_sustain_level:` opt.",
2940 :lpf_sustain_level => "The sustain cutoff (value of lpf cutoff at sustain time) as a MIDI note. Default value is to match the `lpf_release_level:` opt.",
2941 :lpf_release_level => "The final value of the low pass filter envelope as a MIDI note. This envelope is bypassed if no lpf env opts are specified. Default value is to match the `lpf:` opt.",
2942 :lpf_attack => "Attack time for lpf cutoff filter. Amount of time (in beats) for sound to reach full cutoff value. Default value is set to match amp envelope's attack value.",
2943 :lpf_decay => "Decay time for lpf cutoff filter. Amount of time (in beats) for sound to move from full cutoff value (cutoff attack level) to the cutoff sustain level. Default value is set to match amp envelope's decay value.",
2944 :lpf_sustain => "Amount of time for lpf cutoff value to remain at sustain level in beats. When -1 (the default) will auto-stretch.",
2945 :lpf_release => "Amount of time (in beats) for sound to move from lpf cutoff sustain value to lpf cutoff min value. Default value is set to match amp envelope's release value.",
2946 :lpf_min => "Starting value of the lpf cutoff envelope. Default is 30.",
2947 :lpf_env_curve => "Select the shape of the curve between levels in the lpf cutoff envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed.",
2948 :hpf => "Cutoff value of the built-in high pass filter (hpf) in MIDI notes. Unless specified, the hpf is *not* added to the signal chain.",
2949 :hpf_init_level => "The initial high pass filter envelope value as a MIDI note. This envelope is bypassed if no hpf env opts are specified. Default value is set to 130.",
2950 :hpf_attack_level => "The peak hpf cutoff (value of cutoff at peak of attack) as a MIDI note. Default value is to match the `hpf_decay_level:` opt.",
2951 :hpf_decay_level => "The level of hpf cutoff after the decay phase as a MIDI note. Default value is to match the `hpf_sustain_level:` opt.",
2952 :hpf_sustain_level => "The sustain cutoff (value of hpf cutoff at sustain time) as a MIDI note. Default value is to match the `hpf_release_level:` opt.",
2953 :hpf_release_level => "The sustain hpf cutoff (value of hpf cutoff at sustain time) as a MIDI note. Default value is to match the `hpf:` opt.",
2954 :hpf_attack => "Attack time for hpf cutoff filter. Amount of time (in beats) for sound to reach full cutoff value. Default value is set to match amp envelope's attack value.",
2955 :hpf_decay => "Decay time for hpf cutoff filter. Amount of time (in beats) for sound to move from full cutoff value (cutoff attack level) to the cutoff sustain level. Default value is set to match amp envelope's decay value.",
2956 :hpf_sustain => "Amount of time for hpf cutoff value to remain at sustain level in beats. When -1 (the default) will auto-stretch.",
2957 :hpf_release => "Amount of time (in beats) for sound to move from hpf cutoff sustain value to hpf cutoff min value. Default value is set to match amp envelope's release value.",
2958 :hpf_env_curve => "Select the shape of the curve between levels in the hpf cutoff envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed.",
2959 :hpf_max => "Maximum value of the high pass filter envelope. Default is 200.",
2960 :rpitch => "Rate modified pitch. Multiplies the rate by the appropriate ratio to shift up or down the specified amount in MIDI notes. Please note - this does *not* keep the duration and rhythmical rate constant and is essentially the same as modifying the rate directly.",
28342961 :pitch => "Pitch adjustment in semitones. 1 is up a semitone, 12 is up an octave, -12 is down an octave etc. Maximum upper limit of 24 (up 2 octaves). Lower limit of -72 (down 6 octaves). Decimal numbers can be used for fine tuning.",
2835 :window_size => "Pitch shift-specific opt - only honoured if the pitch: opt is used. Pitch shift works by chopping the input into tiny slices, then playing these slices at a higher or lower rate. If we make the slices small enough and overlap them, it sounds like the original sound with the pitch changed. The window_size is the length of the slices and is measured in seconds. It needs to be around 0.2 (200ms) or greater for pitched sounds like guitar or bass, and needs to be around 0.02 (20ms) or lower for percussive sounds like drum loops. You can experiment with this to get the best sound for your input.",
2836 :pitch_dis => "Pitch shift-specific opt - only honoured if the pitch: opt is used. Pitch dispersion - how much random variation in pitch to add. Using a low value like 0.001 can help to \"soften up\" the metallic sounds, especially on drum loops. To be really technical, pitch_dispersion is the maximum random deviation of the pitch from the pitch ratio (which is set by the pitch param)",
2837 :time_dis => "Pitch shift-specific opt - only honoured if the pitch: opt is used. Time dispersion - how much random delay before playing each grain (measured in seconds). Again, low values here like 0.001 can help to soften up metallic sounds introduced by the effect. Large values are also fun as they can make soundscapes and textures from the input, although you will most likely lose the rhythm of the original. NB - This won't have an effect if it's larger than window_size.",
2838 :slide => "Default slide time in beats for all slide opts. Individually specified slide opts will override this value" },
2962 :window_size => "Pitch shift-specific opt - only honoured if the `pitch:` opt is used. Pitch shift works by chopping the input into tiny slices, then playing these slices at a higher or lower rate. If we make the slices small enough and overlap them, it sounds like the original sound with the pitch changed. The window_size is the length of the slices and is measured in seconds. It needs to be around 0.2 (200ms) or greater for pitched sounds like guitar or bass, and needs to be around 0.02 (20ms) or lower for percussive sounds like drum loops. You can experiment with this to get the best sound for your input.",
2963 :pitch_dis => "Pitch shift-specific opt - only honoured if the `pitch:` opt is used. Pitch dispersion - how much random variation in pitch to add. Using a low value like 0.001 can help to \"soften up\" the metallic sounds, especially on drum loops. To be really technical, pitch_dispersion is the maximum random deviation of the pitch from the pitch ratio (which is set by the `pitch:` opt).",
2964 :time_dis => "Pitch shift-specific opt - only honoured if the `pitch:` opt is used. Time dispersion - how much random delay before playing each grain (measured in seconds). Again, low values here like 0.001 can help to soften up metallic sounds introduced by the effect. Large values are also fun as they can make soundscapes and textures from the input, although you will most likely lose the rhythm of the original. NB - This won't have an effect if it's larger than window_size.",
2965
2966
2967 :compress => "Enable the compressor. This sits at the end of the internal FX chain immediately before the `amp:` opt. Therefore to drive the compressor use the `pre_amp:` opt which will amplify the signal before it hits any internal FX. The compressor compresses the dynamic range of the incoming signal. Equivalent to automatically turning the amp down when the signal gets too loud and then back up again when it's quiet. Useful for ensuring the containing signal doesn't overwhelm other aspects of the sound. Also a general purpose hard-knee dynamic range processor which can be tuned via the opts to both expand and compress the signal.",
2968
2969 :threshold => "Threshold value determining the break point between slope_below and slope_above. Only valid if the compressor is enabled by turning on the `compress:` opt.",
2970
2971 :slope_below => "Slope of the amplitude curve below the threshold. A value of 1 means that the output of signals with amplitude below the threshold will be unaffected. Greater values will magnify and smaller values will attenuate the signal. Only valid if the compressor is enabled by turning on the `compress:` opt.",
2972 :slope_above => "Slope of the amplitude curve above the threshold. A value of 1 means that the output of signals with amplitude above the threshold will be unaffected. Greater values will magnify and smaller values will attenuate the signal. Only valid if the compressor is enabled by turning on the `compress:` opt.",
2973
2974 :clamp_time => "Time taken for the amplitude adjustments to kick in fully (in seconds). This is usually pretty small (not much more than 10 milliseconds). Also known as the time of the attack phase. Only valid if the compressor is enabled by turning on the `compress:` opt.",
2975
2976 :relax_time => "Time taken for the amplitude adjustments to be released. Usually a little longer than clamp_time. If both times are too short, you can get some (possibly unwanted) artefacts. Also known as the time of the release phase. Only valid if the compressor is enabled by turning on the `compress:` opt.",
2977
2978
2979 :slide => "Default slide time in beats for all slide opts. Individually specified slide opts will override this value." },
28392980 accepts_block: false,
28402981 intro_fn: true,
28412982
28422983
28432984 examples: ["
2844 sample :perc_bell # plays one of Sonic Pi's built in samples",
2845 "sample '/home/yourname/path/to/a/sample.wav' # plays a wav|wave|aif|aiff file from your local filesystem",
2846 "# Let's play with the rate parameter
2847 # play one of the included samples
2985 # Play a built-in sample
2986
2987 sample :loop_amen # Plays the Amen break",
2988 "
2989 # Play two samples at the same time
2990 # with incredible timing accuracy
2991
28482992 sample :loop_amen
2849 sleep sample_duration(:loop_amen) # this sleeps for exactly the length of the sample
2850
2851 # Setting a rate of 0.5 will cause the sample to
2852 # a) play half as fast
2853 # b) play an octave down in pitch
2854 #
2855 # Listen:
2856 sample :loop_amen, rate: 0.5
2857 sleep sample_duration(:loop_amen, rate: 0.5)
2858
2859 # Setting a really low number means the sample takes
2860 # a very long time to finish! Also it sounds very
2861 # different to the original sound
2862 sample :loop_amen, rate: 0.05
2863 sleep sample_duration(:loop_amen, rate: 0.05)",
2864 "# Setting a really negative number can be lots of fun
2865 # It plays the sample backwards!
2866 sample :loop_amen, rate: -1
2867 sleep sample_duration(:loop_amen, rate: 1) # there's no need to give sample_duration a negative number though
2868
2869 # Using a rate of -0.5 is just like using the positive 0.5
2870 # (lower in pitch and slower) except backwards
2871 sample :loop_amen, rate: -0.5
2872 sleep sample_duration(:loop_amen, rate: 0.5) # there's no need to give sample_duration a negative number though",
2873 "# BE CAREFUL
2874 # Don't set the rate to 0 though because it will get stuck
2875 # and won't make any sound at all!
2876 # We can see that the following would take Infinity seconds to finish
2877 puts sample_duration(:loop_amen, rate: 0)",
2878 "# Just like the play method, we can assign our sample player
2879 # to a variable and control the rate parameter whilst it's playing.
2880 #
2881 # The following example sounds a bit like a vinyl speeding up
2882 # Note, this technique only works when you don't use envelope or start/finish opts.
2883 s = sample :loop_amen_full, rate: 0.05
2884 sleep 1
2885 control(s, rate: 0.2)
2886 sleep 1
2887 control(s, rate: 0.4)
2888 sleep 1
2889 control(s, rate: 0.6)
2890 sleep 1
2891 control(s, rate: 0.8)
2892 sleep 1
2893 control(s, rate: 1)",
2993 sample :ambi_lunar_land # Note, for timing guarantees select the pref:
2994 # Studio -> Synths and FX -> Enforce timing guarantees",
28942995 "
2895 # Using the :start and :finish parameters you can play a section of the sample.
2896 # The default start is 0 and the default finish is 1
2897 sample :loop_amen, start: 0.5, finish: 1 # play the last half of a sample",
2996 # Create a simple repeating bass drum
2997
2998 live_loop :bass do
2999 sample :bd_haus
3000 sleep 0.5
3001 end",
28983002 "
2899 # You can also play part of any sample backwards by using a start value that's
2900 # higher than the finish
2901 sample :loop_amen, start: 1, finish: 0.5 # play the last half backwards",
3003 # Create a more complex rhythm with multiple live loops:
3004
3005 live_loop :rhythm do
3006 sample :tabla_ghe3 if (spread 5, 7).tick
3007 sleep 0.125
3008 end
3009
3010 live_loop :bd, sync: :rhythm do
3011 sample :bd_haus, lpf: 90, amp: 2
3012 sleep 0.5
3013 end",
29023014 "
2903 # You can also specify the sample using a Hash with a `:sample_name` key
2904 sample {sample_name: :loop_amen, rate: 2}",
3015 # Change the playback speed of the sample using rate:
3016
3017 sample :loop_amen, rate: 0.5 # Play the Amen break at half speed
3018 # for old school hip-hop",
29053019 "
2906 # You can also specify the sample using a lambda that yields a symbol
2907 # although you probably don't need a lambda for this in most cases.
2908 sample lambda { [:loop_amen, :loop_garzul].choose }"]
3020 # Speed things up
3021
3022 sample :loop_amen, rate: 1.5 # Play the Amen break at 1.5x speed
3023 # for a jungle/gabba sound",
3024 "
3025 # Go backwards
3026
3027 sample :loop_amen, rate: -1 # Negative rates play the sample backwards",
3028 "
3029 # Fast rewind
3030
3031 sample :loop_amen, rate: -3 # Play backwards at 3x speed for a fast rewind effect",
3032 "
3033 # Start mid sample
3034
3035 sample :loop_amen, start: 0.5 # Start playback half way through",
3036 "
3037 # Finish mid sample
3038
3039 sample :loop_amen, finish: 0.5 # Finish playback half way through",
3040 "
3041 # Play part of a sample
3042
3043 sample :loop_amen, start: 0.125, finish: 0.25 # Play the second eighth of the sample",
3044 "
3045 # Finishing before the start plays backwards
3046
3047 sample :loop_amen, start: 0.25, finish: 0.125 # Play the second eighth of the sample backwards",
3048 "
3049 # Play a section of a sample half speed backwards
3050
3051 sample :loop_amen, start: 0.125, finish: 0.25, rate: -0.25 # Play the second eighth of the
3052 # amen break backwards at a
3053 # quarter speed",
3054 "
3055 # Build a simple beat slicer
3056
3057 use_sample_bpm :loop_amen # Set the BPM to match the amen break sample
3058
3059 live_loop :beat_slicer do
3060 n = 8 # Set number of slices. Try changing this
3061 # to 2, 4, 6, 16 or 32
3062
3063 d = 1.0 / n # Calculate the duration of a slice as a
3064 # fraction of the sample
3065
3066 s = (line 0, 1, steps: n).choose # Create a ring of starting points and
3067 # randomly choose one
3068
3069 f = s + d # Calculate the finish point
3070
3071 sample :loop_amen, start: s, finish: f # Play the specific part of the sample
3072
3073 sleep d # Sleep for the duration of the slice
3074 end",
3075 "
3076 # Play with the built-in low pass filter, high pass filter and compressor
3077
3078 sample :loop_amen, lpf: 80, hpf: 70, compress: 1, pre_amp: 10 # Make the amen break sound punchy.",
3079 "
3080 # Use the cutoff filter envelopes
3081
3082 sample :loop_garzul, lpf_attack: 8 # Sweep the low pass filter up over 8 beats
3083 sleep 8
3084 sample :loop_garzul, hpf_attack: 8 # Sweep the high pass filter down over 8 beats",
3085 "
3086 # Sample stretching
3087
3088 puts sample_duration :loop_industrial # => 0.88347
3089 puts sample_duration :loop_industrial, beat_stretch: 1 # => 1
3090
3091 live_loop :industrial do
3092 sample :loop_industrial, beat_stretch: 1 # Stretch the sample to make it 1 beat long
3093 sleep 1 # This now loops perfectly.
3094 # However, note that stretching/shrinking
3095 # also modifies the pitch.
3096 end",
3097 "
3098 # Sample shrinking
3099
3100 puts sample_duration :loop_garzul # => 8
3101 puts sample_duration :loop_garzul, beat_stretch: 6 # => 6
3102
3103 live_loop :garzul do
3104 sample :loop_garzul, beat_stretch: 6 # As :loop_garzul is longer than 6 beats
3105 # it is shrunk to fit. This increases the
3106 # pitch.
3107
3108 sleep 6
3109 end",
3110 "
3111 # Sample stretching matches the BPM
3112
3113 use_bpm 30 # Set the BPM to 30
3114
3115 puts sample_duration :loop_garzul # => 4.0 (at 30 BPM the sample lasts for 4 beats)
3116 puts sample_duration :loop_garzul, beat_stretch: 6 # => 6.0
3117
3118 live_loop :garzul do
3119 sample :loop_garzul, beat_stretch: 6 # The sample is stretched to match 6 beats at 30 BPM
3120 sleep 6
3121 end",
3122 "
3123 # External samples
3124
3125 sample \"/path/to/sample.wav\" # Play any Wav, Aif or FLAC sample on your computer
3126 # by simply passing a string representing the full
3127 # path",
3128 "
3129 # Sample pack filtering
3130
3131 dir = \"/path/to/dir/of/samples\" # You can easily work with a directory of samples
3132
3133 sample dir # Play the first sample in the directory
3134 # (it is sorted alphabetically)
3135
3136 sample dir, 1 # Play the second sample in the directory
3137
3138 sample dir, 99 # Play the 99th sample in the directory, or if there
3139 # are fewer, treat the directory like a ring and keep
3140 # wrapping the index round until a sample is found.
3141 # For example, if there are 90 samples, the 10th sample
3142 # is played (index 9).
3143
3144 sample dir, \"120\" # Play the first sample in the directory that contains
3145 # the substring \"120\".
3146 # For example, this may be \"beat1_120_rave.wav\"
3147
3148 sample dir, \"120\", 1 # Play the second sample in the directory that contains
3149 # the substring \"100\".
3150 # For example, this may be \"beat2_120_rave.wav\"
3151
3152 sample dir, /beat[0-9]/ # Play the first sample in the directory that matches
3153 # the regular expression /beat[0-9]/.
3154 # For example, this may be \"beat0_100_trance.wav\"
3155 # You may use the full power of Ruby's regular expression
3156 # system here: http://ruby-doc.org/core-2.1.1/Regexp.html
3157
3158 sample dir, /beat[0-9]0/, \"100\" # Play the first sample in the directory that both matches
3159 # the regular expression /beat[0-9]0/ and contains the
3160 # the substring \"100\".
3161 # For example, this may be \"beat10_100_rave.wav\"",
3162 "
3163 # Filtering built-in samples
3164
3165 # If you don't pass a directory source, you can filter over
3166 # the built-in samples.
3167 sample \"tabla_\" # Play the first built-in sample that contains the substring
3168 # \"tabla\"
3169
3170 sample \"tabla_\", 2 # Play the second built-in sample that contains the substring
3171 # \"tabla\"",
3172 "
3173 # Play with whole directories of samples
3174
3175 load_samples \"tabla_\" # You may pass any of the source/filter options to load_samples
3176 # to load all matching samples. This will load all the built-in
3177 # samples containing the substring \"tabla_\"
3178
3179 live_loop :tabla do
3180 sample \"tabla_\", tick # Treat the matching samples as a ring and tick through them
3181 sleep 0.125
3182 end",
3183 "
3184 # Specify multiple sources
3185
3186 dir1 = \"/path/to/sample/directory\"
3187 dir2 = \"/path/to/other/sample/directory\"
3188
3189 sample dir1, dir2, \"foo\" # Match the first sample that contains the string \"foo\" out of
3190 # all the samples in dir1 and dir2 combined.
3191
3192 # Note that the sources must be listed before any filters.",
3193 "
3194 # List contents recursively
3195 dir = \"/path/to/sample/directory\" # By default the list of all top-level samples within the directory
3196 # is considered.
3197 dir_recursive = \"/path/to/sample/directory/**\" # However, if you finish your directory string with ** then if that
3198 # directory contains other directories then the samples within the
3199 # subdirectories and their subsubdirectories in turn are considered.
3200
3201 sample dir, 0 # Play the first top-level sample in the directory
3202
3203 sample dir_recursive, 0 # Play the first sample found after combinining all samples found in
3204 # the directory and all directories within it recursively.
3205 # Note that if there are many sub directories this may take some time
3206 # to execute. However, the result is cached so subsequent calls will
3207 # be fast.",
3208 "
3209 # Bespoke filters
3210
3211
3212 filter = lambda do |candidates| # If the built-in String, Regexp and index filters are not sufficient
3213 [candidates.choose] # you may write your own. They need to be a function which takes a list
3214 end # of paths to samples and return a list of samples. This one returns a
3215 # list of a single randomly selected sample.
3216 8.times do
3217 sample \"drum_\", filter # Play 8 randomly selected samples from the built-in sample set that also
3218 sleep 0.25 # contain the substring \"drum_\"
3219 end"
3220 ]
3221
3222
3223
3224
3225
3226
3227
29093228
29103229
29113230
29523271 when Proc
29533272 return note(n.call, *args)
29543273 when Hash
2955 return note(n[:note], *args)
3274 raise "Unable to create a note from the Map: #{n.inspect}"
29563275 end
29573276
29583277 return Note.resolve_midi_note_without_octave(n) if args.empty?
30743393
30753394
30763395
3077 def scale(tonic, name, *opts)
3396 def scale(tonic_or_name, *opts)
3397 tonic = 0
3398 name = :minor
3399 if opts.size == 0
3400 name = tonic_or_name
3401 elsif (opts.size == 1) && opts[0].is_a?(Hash)
3402 name = tonic_or_name
3403 else
3404 tonic = tonic_or_name
3405 name = opts.shift
3406 end
3407
30783408 opts = resolve_synth_opts_hash_or_array(opts)
30793409 opts = {:num_octaves => 1}.merge(opts)
30803410 Scale.new(tonic, name, opts[:num_octaves]).ring
30823412 doc name: :scale,
30833413 introduced: Version.new(2,0,0),
30843414 summary: "Create scale",
3085 doc: "Creates a ring of MIDI note numbers when given a tonic note and a scale type. Also takes an optional `num_octaves:` parameter (octave `1` is the default)",
3415 doc: "Creates a ring of MIDI note numbers when given a tonic note and a scale name. Also takes an optional `num_octaves:` parameter (octave `1` is the default). If only passed the scale name, the tonic defaults to 0. See examples.",
30863416 args: [[:tonic, :symbol], [:name, :symbol]],
30873417 returns: :ring,
30883418 opts: {:num_octaves => "The number of octaves you'd like the scale to consist of. More octaves means a larger scale. Default is 1."},
30893419 accepts_block: false,
30903420 intro_fn: true,
30913421 examples: ["
3092 puts scale(:C, :major) # returns the following ring of MIDI note numbers: (ring 60, 62, 64, 65, 67, 69, 71, 72)",
3422 puts (scale :C, :major) # returns the following ring of MIDI note numbers: (ring 60, 62, 64, 65, 67, 69, 71, 72)",
30933423 "# anywhere you can use a list or ring of notes, you can also use scale
30943424 play_pattern (scale :C, :major)",
30953425 "# you can use the :num_octaves parameter to get more notes
3096 play_pattern(:C, :major, num_octaves: 2)",
3426 play_pattern (scale :C, :major, num_octaves: 2)",
30973427 "# Scales can start with any note:
30983428 puts (scale 50, :minor) #=> (ring 50, 52, 53, 55, 57, 58, 60, 62)
30993429 puts (scale 50.1, :minor) #=> (ring 50.1, 52.1, 53.1, 55.1, 57.1, 58.1, 60.1, 62.1)
3100 puts (scale 0, :minor) #=> (ring 0, 2, 3, 5, 7, 8, 10, 12)",
3430 puts (scale :minor) #=> (ring 0, 2, 3, 5, 7, 8, 10, 12)",
31013431
31023432
31033433 " # scales are also rings
32173547
32183548
32193549
3220 def chord(tonic, name=:major, *opts)
3550 def chord(tonic_or_name, *opts)
3551 tonic = 0
3552 name = :minor
3553 if opts.size == 0
3554 name = tonic_or_name
3555 elsif (opts.size == 1) && opts[0].is_a?(Hash)
3556 name = tonic_or_name
3557 else
3558 tonic = tonic_or_name
3559 name = opts.shift
3560 end
3561
32213562 return [] unless tonic
32223563 opts = resolve_synth_opts_hash_or_array(opts)
32233564 c = []
32333574 doc name: :chord,
32343575 introduced: Version.new(2,0,0),
32353576 summary: "Create chord",
3236 doc: "Creates an immutable ring of Midi note numbers when given a tonic note and a chord type",
3577 doc: "Creates an immutable ring of Midi note numbers when given a tonic note and a chord type. If only passed a chord type, will default the tonic to 0. See examples.",
32373578 args: [[:tonic, :symbol], [:name, :symbol]],
32383579 returns: :ring,
32393580 opts: {invert: "Apply the specified num inversions to chord. See the fn `chord_invert`.",
32513592 play (chord :e3, :minor, invert: 1) # Play the first inversion of :e3, :minor - (ring 55, 59, 64)
32523593 play (chord :e3, :minor, invert: 2) # Play the first inversion of :e3, :minor - (ring 59, 64, 67)
32533594 ",
3595
3596 "# You can create a chord without a tonic:
3597 puts (chord :minor) #=> (ring 0, 3, 7)",
32543598
32553599 "# chords are great for arpeggiators
32563600 live_loop :arp do
32943638 (chord :C, 'm11+')
32953639 (chord :C, '13')
32963640 (chord :C, :m13)
3641 (chord :C, :add2)
3642 (chord :C, :add4)
3643 (chord :C, :add9)
3644 (chord :C, :add11)
3645 (chord :C, :add13)
3646 (chord :C, :madd2)
3647 (chord :C, :madd4)
3648 (chord :C, :madd9)
3649 (chord :C, :madd11)
3650 (chord :C, :madd13)
32973651 (chord :C, :major)
32983652 (chord :C, :M)
32993653 (chord :C, :minor)
33193673
33203674 def chord_invert(notes, shift)
33213675 raise "Inversion shift value must be a number, got #{shift.inspect}" unless shift.is_a?(Numeric)
3322 raise "Notes must be a list of notes, got #{notes.inspect}" unless (notes.is_a?(SonicPi::Core::RingVector) || notes.is_a?(Array))
3676 raise "Notes must be a list of notes, got #{notes.inspect}" unless (notes.is_a?(SonicPi::Core::SPVector) || notes.is_a?(Array))
33233677 if(shift > 0)
33243678 chord_invert(notes.to_a[1..-1] + [notes.to_a[0]+12], shift-1)
33253679 elsif(shift < 0)
33573711
33583712
33593713 def control(node, *args)
3360 ensure_good_timing!
3714
33613715 return nil if node.nil?
3362
3716 raise "You may only control a SynthNode. You tried to control a #{node.class}: #{node.inspect}" unless node.is_a?(Node)
33633717 args_h = resolve_synth_opts_hash_or_array(args)
33643718
3719 return nil unless should_trigger?(args_h)
33653720 # set default slide times
33663721 default_slide_time = args_h[:slide]
33673722 args_h.delete :slide
33733728 resolve_midi_args!(args_h, info)
33743729 end
33753730
3376 if args_h.has_key?(:note)
3377 n = normalise_transpose_and_tune_note_from_args(args_h[:note], args_h)
3378 args_h[:note] = n
3379 end
3380
3381 notes = args_h[:notes]
3382 if node.is_a?(ChordGroup) && notes
3731
3732
3733 if node.is_a?(ChordGroup)
3734
3735 note = args_h.delete(:note)
3736 notes = args_h.delete(:notes)
3737 notes = note if note && !notes
3738 notes = [notes] unless notes.is_a?(Array) || notes.is_a?(SonicPi::Core::SPVector)
3739 normalise_args! args_h
33833740 # don't normalise notes key as it is special
33843741 # when controlling ChordGroups.
33853742 # TODO: remove this hard coded behaviour
3386 args_h.delete(:notes)
3387 normalise_args! args_h
33883743 args_h[:notes] = notes.map{|n| normalise_transpose_and_tune_note_from_args(n, args_h)}
33893744 else
3745 note = args_h[:note]
3746 if note
3747 note = normalise_transpose_and_tune_note_from_args(note, args_h)
3748 args_h[:note] = note
3749 end
33903750 normalise_args! args_h
33913751 end
33923752
33933753 if Thread.current.thread_variable_get(:sonic_pi_mod_sound_check_synth_args)
33943754 info.ctl_validate!(args_h) if info
3755 end
3756
3757 if Thread.current.thread_variable_get(:sonic_pi_mod_sound_timing_guarantees)
3758 unless in_good_time?
3759 __delayed_message "!! Out of time, skipping: control node #{node.id}, #{arg_h_pp(args_h)}"
3760 return node
3761 end
33953762 end
33963763
33973764 node.control args_h
34043771 doc name: :control,
34053772 introduced: Version.new(2,0,0),
34063773 summary: "Control running synth",
3407 doc: "Control a running synth node by passing new parameters to it. A synth node represents a running synth and can be obtained by assigning the return value of a call to play or sample or by specifying a parameter to the do/end block of an FX. You may modify any of the parameters you can set when triggering the synth, sample or FX. See documentation for opt details. If the synth to control is a chord, then control will change all the notes of that chord group at once to a new target set of notes - see example. ",
3774 doc: "Control a running synth node by passing new parameters to it. A synth node represents a running synth and can be obtained by assigning the return value of a call to play or sample or by specifying a parameter to the do/end block of an FX. You may modify any of the parameters you can set when triggering the synth, sample or FX. See documentation for opt details. If the synth to control is a chord, then control will change all the notes of that chord group at once to a new target set of notes - see example. Also, you may use the on: opt to conditionally trigger the control - see the docs for the `synth` and `sample` fns for more information.",
34083775 args: [[:node, :synth_node]],
34093776 opts: {},
34103777 accepts_block: false,
34893856
34903857
34913858 def kill(node)
3492 ensure_good_timing!
3859 in_good_time?
34933860 return nil if node.nil?
34943861
34953862 alive = node.live?
35223889
35233890
35243891 def sample_names(group)
3525 Synths::BaseInfo.grouped_samples[group][:samples].ring
3892 g = Synths::BaseInfo.grouped_samples[group]
3893 raise "Unknown sample group #{group.inspect}" unless g
3894 g[:samples].sort.ring
35263895 end
35273896 doc name: :sample_names,
35283897 introduced: Version.new(2,0,0),
35293898 summary: "Get sample names",
3530 doc: "Return a list of sample names for the specified group",
3899 doc: "Return a ring of sample names for the specified group",
35313900 args: [[:group, :symbol]],
3901 returns: :ring,
35323902 opts: nil,
35333903 accepts_block: false,
35343904 examples: []
35373907
35383908
35393909 def all_sample_names
3540 Synths::BaseInfo.all_samples.ring
3910 Synths::BaseInfo.all_samples.sort.ring
35413911 end
35423912 doc name: :all_sample_names,
35433913 introduced: Version.new(2,0,0),
35523922
35533923
35543924 def sample_groups
3555 Synths::BaseInfo.grouped_samples.keys.ring
3925 Synths::BaseInfo.grouped_samples.keys.sort.ring
35563926 end
35573927 doc name: :sample_groups,
35583928 introduced: Version.new(2,0,0),
35673937
35683938
35693939 def synth_names
3570 Synths::BaseInfo.all_synths.ring
3940 Synths::BaseInfo.all_synths.sort.ring
35713941 end
35723942 doc name: :synth_names,
35733943 introduced: Version.new(2,9,0),
35793949 examples: []
35803950
35813951
3952 def fx_names
3953 Synths::BaseInfo.all_fx.sort.ring
3954 end
3955 doc name: :fx_names,
3956 introduced: Version.new(2,10,0),
3957 summary: "Get all FX names",
3958 doc: "Return a list of all the FX available",
3959 args: [],
3960 opts: nil,
3961 accepts_block: false,
3962 examples: []
35823963
35833964
35843965 def load_synthdefs(path=synthdef_path)
35923973 summary: "Load external synthdefs",
35933974 doc: "Load all pre-compiled synth designs in the specified directory. The binary files containing synth designs need to have the extension `.scsyndef`. This is useful if you wish to use your own SuperCollider synthesiser designs within Sonic Pi.
35943975
3595 ## Important note
3596
3597 If you wish your synth to work with Sonic Pi's automatic stereo sound infrastructure *you need to ensure your synth outputs a stereo signal* to an audio bus with an index specified by a synth arg named `out_bus`. For example, the following synth would work nicely:
3976 ## Important notes
3977
3978 You may not trigger external synthdefs unless you enable the following GUI preference:
3979
3980 ```
3981 Studio -> Synths -> Enable external synths and FX
3982 ```
3983
3984 Also, if you wish your synth to work with Sonic Pi's automatic stereo sound infrastructure *you need to ensure your synth outputs a stereo signal* to an audio bus with an index specified by a synth arg named `out_bus`. For example, the following synth would work nicely:
35983985
35993986
36003987 (
36144001
36154002
36164003 def scale_names
3617 Scale::SCALE.keys.ring
4004 Scale::SCALE.keys.sort.ring
36184005 end
36194006 doc name: :scale_names,
36204007 introduced: Version.new(2,6,0),
36274014
36284015
36294016 def chord_names
3630 Chord::CHORD.keys.ring
4017 Chord::CHORD.keys.sort.ring
36314018 end
36324019 doc name: :chord_names,
36334020 introduced: Version.new(2,6,0),
36394026 examples: ["puts chord_names #=> prints a list of all the chords"]
36404027
36414028 private
4029
4030 def init_tuning
4031 @tuning = Tuning.new
4032 end
36424033
36434034 def normalise_args!(args_h, defaults={})
36444035 args_h.keys.each do |k|
36544045 when FalseClass
36554046 args_h[k] = 0.0
36564047 when NilClass
3657 args_h[k] = 0.0
4048 args_h[k] = nil
36584049 else
36594050 begin
36604051 args_h[k] = res.to_f
36714062 when FalseClass
36724063 args_h[k] = 0.0
36734064 when NilClass
3674 args_h[k] = 0.0
4065 args_h[k] = nil
36754066 else
36764067 begin
36774068 args_h[k] = v.to_f
36844075 end
36854076
36864077 def find_sample_with_path(path)
3687 ["wav", "aiff", "aif", "wave"].each do |ext|
4078 ["wav", "wave", "aif", "aiff", "flac"].each do |ext|
36884079 full = "#{path}.#{ext}"
36894080 return full if File.exists?(full)
36904081 end
36914082 return nil
36924083 end
36934084
3694 def fetch_or_cache_sample_path(sym)
3695 cached = @sample_paths_cache[sym]
3696 return cached if cached
3697
3698 res = find_sample_with_path("#{samples_path}/#{sym.to_s}")
3699
3700 raise "No sample exists called :#{sym} in default sample pack" unless res
3701 @sample_paths_cache[sym] = res
3702 res
3703 end
3704
3705 def resolve_sample_symbol_path(sym)
3706 aliases = Thread.current.thread_variable_get(:sonic_pi_mod_sound_sample_aliases)
3707 path = Thread.current.thread_variable_get(:sonic_pi_mod_sound_sample_path)
3708
3709 return fetch_or_cache_sample_path(sym) unless (aliases || path)
3710
3711 if (aliases &&
3712 (m = sym.to_s.match /\A(.+?)__(.+)/) &&
3713 (p = aliases[m[1]]))
3714 path = p
3715 sym = m[2]
3716 partial = "#{p}#{sym}"
3717 elsif path
3718 partial = path + sym.to_s
3719 else
3720 path = samples_path
3721 partial = path + "/" + sym.to_s
3722 end
3723
3724 res = find_sample_with_path(partial)
3725
3726 raise "No sample exists called #{sym.inspect} in sample pack #{path.inspect} (#{File.expand_path(path)})" unless res
3727
3728 res
3729 end
37304085
37314086 def complex_sampler_args?(args_h)
37324087 # break out early if any of the 'complex' keys exist in the
37364091 end
37374092
37384093
3739 def trigger_sampler(path, buf_id, num_chans, args_h, group=current_job_synth_group)
4094 def resolve_specific_sampler(num_chans, args_h)
37404095 if complex_sampler_args?(args_h)
37414096 #complex
3742 synth_name = (num_chans == 1) ? :mono_player : :stereo_player
4097 (num_chans == 1) ? :mono_player : :stereo_player
37434098 else
37444099 #basic
3745 synth_name = (num_chans == 1) ? :basic_mono_player : :basic_stereo_player
3746 end
3747
3748 trigger_specific_sampler(synth_name, path, buf_id, num_chans, args_h, group)
3749 end
3750
3751 def trigger_specific_sampler(sampler_type, path, buf_id, num_chans, args_h, group=current_job_synth_group)
3752
3753 sn = sampler_type.to_sym
4100 (num_chans == 1) ? :basic_mono_player : :basic_stereo_player
4101 end
4102 end
4103
4104 def trigger_sampler(path, args_h, group=current_job_synth_group)
4105 case path
4106 when Buffer
4107 buf_info = path
4108 if buf_info.path
4109 path = buf_info.path
4110 else
4111 path = path[0]
4112 end
4113 else
4114 buf_info = load_sample_at_path(path)
4115 end
4116 sn = resolve_specific_sampler(buf_info.num_chans, args_h)
4117
37544118 info = Synths::SynthInfo.get_info(sn)
3755 path = unify_tilde_dir(path) if path.is_a? String
3756
3757 # Combine thread local defaults here as
3758 # normalise_and_resolve_synth_args has only been taught about
3759 # synth thread local defaults
4119 args_h = normalise_and_resolve_sample_args(path, args_h, info)
4120
4121 buf_id = buf_info.id
4122
4123 if Thread.current.thread_variable_get(:sonic_pi_mod_sound_timing_guarantees)
4124 unless in_good_time?
4125 if args_h.empty?
4126 __delayed_message "!! Out of time, skipping: sample #{path.inspect}"
4127 else
4128 __delayed_message "!! Out of time, skipping: sample #{path.inspect}, #{arg_h_pp(args_h)}"
4129 end
4130 return @blank_node
4131 end
4132 end
4133
4134
4135 unless Thread.current.thread_variable_get(:sonic_pi_mod_sound_synth_silent)
4136 if args_h.empty?
4137 __delayed_message "sample #{File.dirname(path).inspect},\n #{File.basename(path).inspect}"
4138 else
4139 __delayed_message "sample #{File.dirname(path).inspect},\n #{File.basename(path).inspect}, #{arg_h_pp(args_h)}"
4140
4141 end
4142 end
4143 add_arg_slide_times!(args_h, info)
4144 args_h[:buf] = buf_id
4145 return trigger_synth(sn, args_h, group, info)
4146 end
4147
4148
4149 def trigger_inst(synth_name, args_h, group=current_job_synth_group)
4150 sn = synth_name.to_sym
4151 info = Synths::SynthInfo.get_info(sn)
4152 raise "Unknown synth #{sn.inspect}" unless info || Thread.current.thread_variable_get(:sonic_pi_mod_sound_use_external_synths)
4153 processed_args = normalise_and_resolve_synth_args(args_h, info, true)
4154
4155 if Thread.current.thread_variable_get(:sonic_pi_mod_sound_timing_guarantees)
4156 unless in_good_time?
4157 __delayed_message "!! Out of time, skipping: synth #{synth_name.inspect}, #{arg_h_pp(processed_args)}"
4158
4159 return @blank_node
4160 end
4161 end
4162
4163
4164 unless Thread.current.thread_variable_get(:sonic_pi_mod_sound_synth_silent)
4165 __delayed_message "synth #{synth_name.inspect}, #{arg_h_pp(processed_args)}"
4166 end
4167 add_arg_slide_times!(processed_args, info)
4168 out_bus = current_out_bus
4169 trigger_synth(synth_name, processed_args, group, info, false, out_bus)
4170 end
4171
4172 def trigger_chord(synth_name, notes, args_a_or_h, group=current_job_synth_group)
4173 sn = synth_name.to_sym
4174 info = Synths::SynthInfo.get_info(sn)
4175 args_h = resolve_synth_opts_hash_or_array(args_a_or_h)
4176 args_h = normalise_and_resolve_synth_args(args_h, info, true)
4177
4178 chord_group = @mod_sound_studio.new_group(:tail, group, "CHORD")
4179 cg = ChordGroup.new(chord_group, notes, info)
4180
4181 if Thread.current.thread_variable_get(:sonic_pi_mod_sound_timing_guarantees)
4182 unless in_good_time?
4183 __delayed_message "!! Out of time, skipping: synth #{sn.inspect}, #{arg_h_pp({note: notes}.merge(args_h))}"
4184 return @blank_node
4185 end
4186 end
4187
4188 unless Thread.current.thread_variable_get(:sonic_pi_mod_sound_synth_silent)
4189 __delayed_message "synth #{sn.inspect}, #{arg_h_pp({note: notes}.merge(args_h))}"
4190 end
4191
4192 # Scale down amplitude based on number of notes in chord
4193 amp = args_h[:amp] || 1.0
4194 args_h[:amp] = amp.to_f / notes.size
4195
4196 nodes = []
4197
4198 notes.each do |note|
4199 if note
4200 args_h[:note] = note
4201 nodes << trigger_synth(synth_name, args_h, cg, info)
4202 end
4203 end
4204 cg.sub_nodes = nodes
4205 cg
4206 end
4207
4208 def trigger_fx(synth_name, args_h, info, in_bus, group=current_fx_group, now=false, t_minus_delta=false)
4209 args_h = normalise_and_resolve_synth_args(args_h, info, false)
4210 add_arg_slide_times!(args_h, info)
4211 out_bus = current_out_bus
4212 n = trigger_synth(synth_name, args_h, group, info, now, out_bus, t_minus_delta)
4213 FXNode.new(n, in_bus, out_bus)
4214 end
4215
4216 # Function that actually triggers synths now that all args are resolved
4217 def trigger_synth(synth_name, args_h, group, info, now=false, out_bus=nil, t_minus_delta=false)
4218
4219
4220
4221 add_out_bus_and_rand_buf!(args_h, out_bus)
4222 orig_synth_name = synth_name
4223
4224 synth_name = info ? info.scsynth_name : synth_name
4225
4226 validate_if_necessary! info, args_h
4227
4228 ensure_good_timing!
4229
4230 job_id = current_job_id
4231 __no_kill_block do
4232
4233 p = Promise.new
4234 job_synth_proms_add(job_id, p)
4235
4236 s = @mod_sound_studio.trigger_synth synth_name, group, args_h, info, now, t_minus_delta
4237
4238 trackers = Thread.current.thread_variable_get(:sonic_pi_mod_sound_trackers)
4239
4240 if trackers
4241 s.on_started do
4242 trackers.each{|t| t.synth_started(s)}
4243 end
4244 end
4245
4246 s.on_destroyed do
4247 trackers.each{|t| t.synth_finished(s)} if trackers
4248 job_synth_proms_rm(job_id, p)
4249 p.deliver! true
4250 end
4251
4252 s
4253 end
4254 end
4255
4256 def add_out_bus_and_rand_buf!(args_h, out_bus=nil)
4257 out_bus = current_out_bus unless out_bus
4258 args_h["out_bus"] = out_bus.to_i
4259 args_h[:rand_buf] = @mod_sound_studio.rand_buf_id if args_h[:seed]
4260 end
4261
4262
4263 def normalise_and_resolve_sample_args(path, args_h, info, combine_tls=false)
4264 purge_nil_vals!(args_h)
4265
4266 defaults = info ? info.arg_defaults : {}
37604267 t_l_args = Thread.current.thread_variable_get(:sonic_pi_mod_sound_sample_defaults) || {}
37614268 t_l_args.each do |k, v|
3762 args_h[k] = v unless args_h.has_key? k
4269 args_h[k] = v unless args_h.has_key? k || v.nil?
37634270 end
37644271
37654272 stretch_duration = args_h[:beat_stretch]
37674274 raise "beat_stretch: opt needs to be a positive number. Got: #{stretch_duration.inspect}" unless stretch_duration.is_a?(Numeric) && stretch_duration > 0
37684275 stretch_duration = stretch_duration.to_f
37694276 rate = args_h[:rate] || 1
3770 dur = load_sample(path).duration
4277 dur = sample_buffer(path).duration
37714278 args_h[:rate] = (1.0 / stretch_duration) * rate * (current_bpm / (60.0 / dur))
37724279 end
37734280
37764283 raise "pitch_stretch: opt needs to be a positive number. Got: #{pitch_stretch_duration.inspect}" unless pitch_stretch_duration.is_a?(Numeric) && pitch_stretch_duration > 0
37774284 pitch_stretch_duration = pitch_stretch_duration.to_f
37784285 rate = args_h[:rate] || 1
3779 dur = load_sample(path).duration
4286 dur = sample_buffer(path).duration
37804287 new_rate = (1.0 / pitch_stretch_duration) * (current_bpm / (60.0 / dur))
37814288 pitch_shift = ratio_to_pitch(new_rate)
37824289 args_h[:rate] = new_rate * rate
37894296 args_h[:rate] = new_rate * (args_h[:rate] || 1)
37904297 end
37914298
3792 args_h = normalise_and_resolve_synth_args(args_h, info)
3793
3794
3795 unless Thread.current.thread_variable_get(:sonic_pi_mod_sound_synth_silent)
3796 if args_h.empty?
3797 __delayed_message "sample #{path.inspect}"
3798 else
3799 __delayed_message "sample #{path.inspect}, #{arg_h_pp(args_h)}"
3800 end
3801 end
3802 add_arg_slide_times!(args_h, info)
3803 args_h[:buf] = buf_id
3804 trigger_synth(sn, args_h, group, info)
3805 end
3806
3807 def trigger_inst(synth_name, args_h, group=current_job_synth_group)
3808 sn = synth_name.to_sym
3809 info = Synths::SynthInfo.get_info(sn)
3810
3811 processed_args = normalise_and_resolve_synth_args(args_h, info, nil, true)
3812
3813 unless Thread.current.thread_variable_get(:sonic_pi_mod_sound_synth_silent)
3814 __delayed_message "synth #{synth_name.inspect}, #{arg_h_pp(processed_args)}"
3815 end
3816 add_arg_slide_times!(processed_args, info)
3817 out_bus = current_out_bus
3818 trigger_synth(synth_name, processed_args, group, info, false, out_bus)
3819 end
3820
3821 def trigger_chord(synth_name, notes, args_a_or_h, group=current_job_synth_group)
3822 sn = synth_name.to_sym
3823 info = Synths::SynthInfo.get_info(sn)
3824 args_h = resolve_synth_opts_hash_or_array(args_a_or_h)
3825 args_h = normalise_and_resolve_synth_args(args_h, info, nil, true)
3826
3827 chord_group = @mod_sound_studio.new_group(:tail, group, "CHORD")
3828 cg = ChordGroup.new(chord_group, notes, info)
3829
3830 unless Thread.current.thread_variable_get(:sonic_pi_mod_sound_synth_silent)
3831 __delayed_message "synth #{sn.inspect}, #{arg_h_pp({note: notes}.merge(args_h))}"
3832 end
3833
3834 # Scale down amplitude based on number of notes in chord
3835 amp = args_h[:amp] || 1.0
3836 args_h[:amp] = amp.to_f / notes.size
3837
3838 nodes = []
3839
3840 notes.each do |note|
3841 if note
3842 args_h[:note] = note
3843 nodes << trigger_synth(synth_name, args_h, cg, info)
3844 end
3845 end
3846 cg.sub_nodes = nodes
3847 cg
3848 end
3849
3850 def trigger_fx(synth_name, args_h, info, in_bus, group=current_fx_group, now=false, t_minus_delta=false)
3851
3852 args_h = normalise_and_resolve_synth_args(args_h, info, nil, true)
3853 add_arg_slide_times!(args_h, info)
3854 out_bus = current_out_bus
3855 n = trigger_synth(synth_name, args_h, group, info, now, out_bus, t_minus_delta)
3856 FXNode.new(n, in_bus, out_bus)
3857 end
3858
3859 # Function that actually triggers synths now that all args are resolved
3860 def trigger_synth(synth_name, args_h, group, info, now=false, out_bus=nil, t_minus_delta=false)
3861 add_out_bus_and_rand_buf!(args_h, out_bus)
3862 orig_synth_name = synth_name
3863 synth_name = info ? info.scsynth_name : synth_name
3864 validate_if_necessary! info, args_h
3865 job_id = current_job_id
3866 __no_kill_block do
3867
3868 p = Promise.new
3869 job_synth_proms_add(job_id, p)
3870
3871 s = @mod_sound_studio.trigger_synth synth_name, group, args_h, info, now, t_minus_delta
3872
3873 trackers = Thread.current.thread_variable_get(:sonic_pi_mod_sound_trackers)
3874
3875 if trackers
3876 s.on_started do
3877 trackers.each{|t| t.synth_started(s)}
3878 end
3879 end
3880
3881 s.on_destroyed do
3882 trackers.each{|t| t.synth_finished(s)} if trackers
3883 job_synth_proms_rm(job_id, p)
3884 p.deliver! true
3885 end
3886
3887 s
3888 end
3889 end
3890
3891 def add_out_bus_and_rand_buf!(args_h, out_bus=nil)
3892 out_bus = current_out_bus unless out_bus
3893 args_h["out_bus"] = out_bus.to_i
3894 args_h[:rand_buf] = @mod_sound_studio.rand_buf_id if args_h[:seed]
3895 end
3896
3897
3898 def normalise_and_resolve_synth_args(args_h, info, out_bus=nil, combine_tls=false)
4299 args_h = info.munge_opts(args_h) if info
4300 resolve_midi_args!(args_h, info) if info
4301 normalise_args!(args_h, defaults)
4302 scale_time_args_to_bpm!(args_h, info, true) if info && Thread.current.thread_variable_get(:sonic_pi_spider_arg_bpm_scaling)
4303 args_h
4304 end
4305
4306
4307 def normalise_and_resolve_synth_args(args_h, info, combine_tls=false)
4308 purge_nil_vals!(args_h)
38994309 defaults = info ? info.arg_defaults : {}
39004310 if combine_tls
39014311 t_l_args = Thread.current.thread_variable_get(:sonic_pi_mod_sound_synth_defaults) || {}
39024312 t_l_args.each do |k, v|
3903 args_h[k] = v unless args_h.has_key? k
4313 args_h[k] = v unless args_h.has_key? k || v.nil?
39044314 end
39054315 end
4316
4317 args_h = info.munge_opts(args_h) if info
39064318
39074319 resolve_midi_args!(args_h, info) if info
39084320 normalise_args!(args_h, defaults)
41534565
41544566 def ensure_good_timing!
41554567 return true if Thread.current.thread_variable_get(:sonic_pi_mod_sound_disable_timing_warnings)
4156
4568 raise "Timing Exception: thread got too far behind time." if time_diff > 1.1
4569 end
4570
4571 def time_diff
4572 # negative values mean we're ahead of time
4573 # positive values mean we're behind time
41574574 vt = Thread.current.thread_variable_get :sonic_pi_spider_time
4158 sat = @mod_sound_studio.sched_ahead_time + 1.1
4159 raise "Timing Exception: thread got too far behind time." if (Time.now - sat) > vt
4575 sat = @mod_sound_studio.sched_ahead_time
4576 compensated = (Time.now - sat)
4577 compensated - vt
4578 end
4579
4580 def in_good_time?(error_window=0)
4581 diff = time_diff
4582 if diff < error_window
4583 return true
4584 else
4585 if diff < 1.1
4586 return false
4587 else
4588 raise "Timing Exception: thread got too far behind time."
4589 end
4590 end
41604591 end
41614592
41624593 def current_synth_name
41674598 def set_current_synth(name)
41684599 Thread.current.thread_variable_set(:sonic_pi_mod_sound_current_synth_name, name)
41694600 end
4170
4171 def __freesound_path(id)
4172 cache_dir = home_dir + '/freesound/'
4173 ensure_dir(cache_dir)
4174
4175 cache_file = cache_dir + "freesound-" + id.to_s + ".wav"
4176
4177 return cache_file if File.exists?(cache_file)
4178
4179 __info "Caching freesound #{id}..."
4180
4181 in_thread(name: "download_freesound_#{id}".to_sym) do
4182 # API key borrowed from Overtone
4183 apiURL = 'http://www.freesound.org/api/sounds/' + id.to_s + '/serve/?api_key=47efd585321048819a2328721507ee23'
4184
4185 resp = Net::HTTP.get_response(URI(apiURL))
4186 case resp
4187 when Net::HTTPSuccess then
4188 if not resp['Content-Disposition'] =~ /\.wav\"$/ then
4189 raise 'Only WAV freesounds are supported, sorry!'
4190 end
4191
4192 open(cache_file, 'wb') do |file|
4193 file.write(resp.body)
4194 end
4195 __info "Freesound #{id} loaded and ready to fire!"
4196 else
4197 __info "Failed to download freesound #{id}: " + resp.value
4198 end
4199 end
4200 return nil
4201 end
4202 # doc name: :freesound_path,
4203 # introduced: Version.new(2,1,0),
4204 # summary: "Return local path for sound from freesound.org",
4205 # doc: "Download and cache a sample by ID from freesound.org. Returns path as string if cached. If not cached, returns nil and starts a background thread to download the sample.",
4206 # args: [[:id, :number]],
4207 # opts: nil,
4208 # accepts_block: false,
4209 # examples: ["
4210 # puts freesound(250129) # preloads a freesound and prints its local path, such as '/home/user/.sonic_pi/freesound/250129.wav'"]
42114601
42124602 def scale_time_args_to_bpm!(args_h, info, force_add = true)
42134603 # some of the args in args_h need to be scaled to match the
42844674 n += (cent_shift / 100.0)
42854675 end
42864676
4677 if @mod_sound_studio
4678 n += (@mod_sound_studio.cent_tuning / 100.0)
4679 end
4680
42874681 n += args_h[:pitch].to_f
42884682
42894683 n = normalise_tuning(n)
42904684 return n
42914685 end
42924686
4293
4294 def __freesound(id, *opts)
4295 path = __freesound_path(id)
4296 arg_h = resolve_synth_opts_hash_or_array(opts)
4297 fallback = arg_h[:fallback]
4298
4299 if path
4300 sample path
4301 elsif fallback
4302 raise "Freesound fallback must be a symbol" unless fallback.is_a? Symbol
4303 __info "Freesound #{id} not yet loaded, playing #{fallback}"
4304 sample fallback
4305 else
4306 __info "Freesound #{id} not yet loaded, skipping"
4307 end
4308
4309 end
4310 # doc name: :freesound,
4311 # introduced: Version.new(2,1,0),
4312 # summary: "Play sample from freesound.org",
4313 # doc: "Fetch from cache (or download then cache) a sample by ID from freesound.org, and then play it.",
4314 # args: [[:id, :number]],
4315 # opts: {:fallback => "Symbol representing built-in sample to play if the freesound id isn't yet downloaded"},
4316 # accepts_block: false,
4317 # examples: ["
4318 # freesound(250129) # takes time to download the first time, but then the sample is cached locally
4319 # ",
4320 # "
4321 # loop do
4322 # sample freesound(27130)
4323 # sleep sample_duration(27130)
4324 # end
4325 # "
4326 # ]
4687 def sample_find_candidates(*args)
4688 @sample_loader.find_candidates(*args)
4689 end
43274690 end
4691
43284692 end
43294693 end
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
0 #--
1 # This file is part of Sonic Pi: http://sonic-pi.net
2 # Full project source: https://github.com/samaaron/sonic-pi
3 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 #
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 # All rights reserved.
7 #
8 # Permission is granted for use, copying, modification, and
9 # distribution of modified versions of this work as long as this
10 # notice is included.
11 #++
12
13 require_relative "buffer"
14 module SonicPi
15 class LazyBuffer < Buffer
16 def initialize(server, id, prom)
17 @server = server
18 @id = id
19 @prom = prom
20 @realised = false
21 @prom_mut = Mutex.new
22 end
23
24 def num_frames
25 wait_for_prom unless @realised
26 @num_frames
27 end
28
29 def num_chans
30 wait_for_prom unless @realised
31 @num_chans
32 end
33
34 def sample_rate
35 wait_for_prom unless @realised
36 @sample_rate
37 end
38
39 def duration
40 wait_for_prom unless @realised
41 @duration
42 end
43
44 def to_s
45 wait_for_prom unless @realised
46 if @path
47 "#<Buffer @id=#{@id}, @num_chans=#{@num_chans}, @num_frames=#{@num_frames}, @sample_rate=#{@sample_rate}, @duration=#{@duration}, @path=#{@path}>"
48 else
49 "#<Buffer @id=#{@id}, @num_chans=#{@num_chans.inspect}, @num_frames=#{@num_frames}, @sample_rate=#{@sample_rate}, @duration=#{@duration}>"
50 end
51 end
52
53
54 private
55
56 def wait_for_prom
57 return true if @realised
58 @prom_mut.synchronize do
59 return true if @realised
60 num_frames, num_chans, sample_rate = @prom.get
61 @num_frames = num_frames
62 @num_chans = num_chans
63 @sample_rate = sample_rate
64 @duration = num_frames.to_f / sample_rate.to_f
65 @state = :live
66 @mutex = Mutex.new
67 @path = nil
68 @realised = true
69 end
70 end
71 end
72 end
0 #--
1 # This file is part of Sonic Pi: http://sonic-pi.net
2 # Full project source: https://github.com/samaaron/sonic-pi
3 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 #
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 # All rights reserved.
7 #
8 # Permission is granted for use, copying, modification, and
9 # distribution of modified versions of this work as long as this
10 # notice is included.
11 #++
12 require_relative "synthnode"
13
14 module SonicPi
15 class LazyNode < SynthNode
16
17 def initialize(prom)
18 @realised = false
19 @prom_mut = Mutex.new
20 @node = nil
21 @prom = prom
22 end
23
24 def args
25 wait_for_prom unless @realised
26 @node.args
27 end
28
29 def name
30 wait_for_prom unless @realised
31 @node.name
32 end
33
34 def on_destroyed(&block)
35 wait_for_prom unless @realised
36 @node.on_destroyed(&block)
37 end
38
39 def on_started(&block)
40 wait_for_prom unless @realised
41 @node.on_started(&block)
42 end
43
44 def kill(now=false)
45 wait_for_prom unless @realised
46 @node.kill(now)
47 end
48
49 def pause(now=false)
50 wait_for_prom unless @realised
51 @node.pause(now)
52 end
53
54 def run(now=false)
55 wait_for_prom unless @realised
56 @node.run(now)
57 end
58
59 def ctl(*args)
60 wait_for_prom unless @realised
61 @node.ctl(*args)
62 end
63
64 def control(*args)
65 wait_for_prom unless @realised
66 @node.ctl(*args)
67 end
68
69 def ctl_now(*args)
70 wait_for_prom unless @realised
71 @node.ctl_now(*args)
72 end
73
74 def live?
75 wait_for_prom unless @realised
76 @node.live?
77 end
78
79 def destroyed?
80 wait_for_prom unless @realised
81 @node.destroyed?
82 end
83
84 def paused?
85 wait_for_prom unless @realised
86 @node.paused?
87 end
88
89 def running?
90 wait_for_prom unless @realised
91 @node.running?
92 end
93
94 def state
95 wait_for_prom unless @realised
96 @node.state
97 end
98
99 def name
100 wait_for_prom unless @realised
101 @node.name
102 end
103
104 def to_i
105 wait_for_prom unless @realised
106 @node.to_i
107 end
108
109 def to_f
110 wait_for_prom unless @realised
111 @node.to_f
112 end
113
114 def to_s
115 wait_for_prom unless @realised
116 "#<SonicPi::LazySynthNode @id=#{@node.id}>"
117 end
118
119 def id
120 wait_for_prom unless @realised
121 @node.id
122 end
123
124 def inspect
125 wait_for_prom unless @realised
126 to_s
127 end
128
129 def blank_node?
130 false
131 end
132
133 def info
134 wait_for_prom unless @realised
135 @node.info
136 end
137
138
139 private
140
141 def wait_for_prom
142 return true if @realised
143 @prom_mut.synchronize do
144 return true if @realised
145 @node = @prom.get
146 end
147 end
148 end
149 end
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
9595
9696 args_encoded << get_from_or_add_to_string_cache(arg)
9797 else
98 raise "Unknown arg type to encode: #{arg}"
98 raise "Unknown arg type to encode: #{arg.inspect}"
9999 end
100100 end
101101
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
1414 module SonicPi
1515 module OSC
1616 class UDPServer
17 def initialize(port, opts={}, &proc)
17 def initialize(port, opts={}, &global_method)
1818 open = opts[:open]
1919 use_decoder_cache = opts[:use_decoder_cache]
2020 decoder_cache_size = opts[:decoder_cache_size] || 1000
2929 @socket.bind('127.0.0.1', port )
3030 end
3131 @matchers = {}
32 @global_matcher = proc
32 @global_matcher = global_method
3333 @decoder = OscDecode.new(use_decoder_cache, decoder_cache_size)
3434 @encoder = OscEncode.new(use_encoder_cache, encoder_cache_size)
3535 @listener_thread = Thread.new {start_listener}
7070
7171 def start_listener
7272 loop do
73 osc_data, network = @socket.recvfrom( 16384 )
73 begin
74 osc_data, network = @socket.recvfrom( 16384 )
75 rescue Exception => e
76 STDERR.puts "\n==========="
77 STDERR.puts "Critical: UDP Server for address #{address} had issues receiving reading socket"
78 STDERR.puts e.message
79 STDERR.puts e.backtrace.inspect
80 STDERR.puts "===========\n"
81 Kernel.sleep 1
82 redo
83 end
84
7485 begin
7586 address, args = @decoder.decode_single_message(osc_data)
7687 if @global_matcher
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
2222 def self.preparse(rb)
2323 SonicPi::Lang::Core.vec_fns.each do |fn|
2424 fn = fn[:name].to_s
25 rb.gsub!(/\((\s*)#{fn}(\s)/, '\1' + fn + '(\2')
25 rb.gsub!(/\((\s*)#{fn}([, ]+)/) {|s| ' ' + $1 + fn + '(' + (' ' * ($2.size - 1))}
2626
2727 rb.gsub!(/:([a-zA-Z0-9\!\?=_]+:[a-zA-Z0-9\!\?=_]+[a-zA-Z0-9\!\?=_]*)/){|s| "::SonicPi::SPSym.new(#{$1.split(':').map(&:to_sym)})"}
2828
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
175175 end
176176
177177 def __print_version_outdated_info(v=@server_version)
178 __info "Your version of Sonic Pi is outdated"
179 __info "The latest is #{v}"
180 __info "Please consider updating..."
178 __info "--- IMPORTANT NOTICE ---\n\n Your version of Sonic Pi is outdated\n The latest is #{v}\n Please consider updating:\n\n http://sonic-pi.net\n\n", 1
181179 end
182180
183181
191189 end
192190 end
193191
194 def __info(s)
195 @msg_queue.push({:type => :info, :val => s.to_s})
192 def __info(s, style=0)
193 @msg_queue.push({:type => :info, :style => style, :val => s.to_s})
196194 end
197195
198196 def __multi_message(m)
311309 err_msg.gsub!(/for #<SonicPiSpiderUser[a-z0-9:]+>/, '')
312310 res = ""
313311 if line != -1
314 res = res + "[#{info[:workspace]}, line #{line}]"
312
313 # TODO: Remove this hack when we have projects
314 w = info[:workspace]
315 w = "buffer " + w[10..-1]
316 # TODO: end of hack
317
318 res = res + "[#{w}, line #{line}]"
315319 else
316 res = res + "[#{info[:workspace]}]"
320 res = res + "[#{w}]"
317321 end
318322 res = res + "\n" + m if m
319323 res = res + "\n #{err_msg}"
388392 @user_jobs.each_id do |id|
389393 __stop_job id
390394 end
395 # Force a GC collection now everything has stopped
396 GC.start
391397 end
392398
393399 def __stop_other_jobs
436442 return nil
437443 end
438444
439 def __complete_snippet_or_indent_lines(workspace_id, buf, start_line, finish_line, point_line, point_index)
445 def __indent_lines(buf)
446
447 end
448
449
450 def __buffer_indent_lines(workspace_id, buf, start_line, finish_line, point_line, point_index)
451 __buffer_complete_snippet_or_indent_lines(workspace_id, buf, start_line, finish_line, point_line, point_index, false)
452 end
453
454 def __complete_snippet_or_indent_lines(buf, start_line, finish_line, point_line, point_index, complete_snippet=true)
440455 orig_finish_line = finish_line
441456 snippet_completion = false
442 id = workspace_id.to_s
443457 buf = buf + "\n"
444458 buf_lines = buf.lines.to_a
445459 if (start_line == finish_line)
446460 completion_line = buf_lines[start_line].to_s.rstrip
447461
448 c = __snippet_completion?(completion_line[0...point_index])
462 c = complete_snippet && __snippet_completion?(completion_line[0...point_index])
449463 if c
450464 snippet_completion = true
451465 completion_key, val = *c
488502 # Calculate amount of whitespace at start of original line
489503 orig_point_line = buf_lines[point_line]
490504 orig_point_line_ws_len = orig_point_line[/\A */].size
491
492 if buf_lines[point_line] =~ /^\s*$/
493 #line is just whitespace, put in a dummy line so it gets autoindented
494 buf_lines[point_line] = "#dummy\n"
495 dummy_line = true
496 else
497 dummy_line = false
505 dummy_lines = false
506 dummy_point_line = false
507
508 (start_line..finish_line).each do |line_idx|
509 b = buf_lines[line_idx]
510 if b.match(/\A\s*\Z/)
511 #line is just whitespace, put in a dummy line so it gets autoindented
512 buf_lines[line_idx] = "#___sonic_pi_dummy_line___\n"
513 dummy_lines = true
514 dummy_point_line = true if point_line == line_idx
515 end
498516 end
499517 else
500518 manipulate_point = false
507525 # calculate amount of whitespace at start of beautified line
508526 beautiful_lines = beautiful.lines.to_a
509527 if manipulate_point
510 if dummy_line
528 if dummy_point_line
511529 # remove dummy line and extract leading whitespace
512530 indented_dummy = beautiful_lines[point_line]
513531 indented_dummy_whitespace = indented_dummy.match(/\A(\s*)/)[1]
524542 point_index = new_point_line.size - 1 if point_index > new_point_line.size
525543 point_index = orig_point_line_ws_len if point_index < orig_point_line_ws_len
526544 end
545
546 if dummy_lines
547 # remove other dummy lines
548 (start_line..finish_line).each do |line_idx|
549 line = beautiful_lines[line_idx]
550 m = line.match(/\A(\s*)#___sonic_pi_dummy_line___/)
551 beautiful_lines[line_idx] = m[1] + "\n" if m
552 end
553 end
527554 end
528555 indented_lines = beautiful_lines[start_line..finish_line].join
529556 finish_line = orig_finish_line if snippet_completion
530 @msg_queue.push({type: "replace-lines", buffer_id: id, val: indented_lines, start_line: start_line, finish_line: finish_line, point_line: point_line, point_index: point_index})
531
532 end
557
558 return {val: indented_lines, start_line: start_line, finish_line: finish_line, point_line: point_line, point_index: point_index}
559 end
560
561 def __buffer_complete_snippet_or_indent_lines(workspace_id, buf, start_line, finish_line, point_line, point_index, complete_snippet=true)
562 id = workspace_id.to_s
563 res = __complete_snippet_or_indent_lines(buf, start_line, finish_line, point_line, point_index, true)
564 @msg_queue.push(res.merge({type: "replace-lines", buffer_id: id}))
565 end
566
567 def __buffer_newline_and_indent(workspace_id, buf, point_line, point_index, first_line)
568 id = workspace_id.to_s
569 lines = buf.lines.to_a
570 if lines == []
571 lines = ["\n"]
572 else
573 if lines[point_line]
574 lines[point_line].insert(point_index , "\n")
575 else
576 lines[point_line] = "\n"
577 end
578 end
579
580 buf = lines.join
581
582 __buffer_beautify(id, buf, point_line + 1, 0, first_line)
583 end
584
533585
534586 def __toggle_comment(workspace_id, buf, start_line, finish_line, point_line, point_index)
535587 id = workspace_id.to_s
541593 # Otherwise comment
542594 lines = buf_lines[start_line..finish_line]
543595
544 if(lines.all?{|el| el.match(/^\s*#.*/) || el.match(/^\s*$/)})
545 # need to uncomment
596 if(lines.all?{|el| el.match(/^\s*#.*?/) || el.match(/^\s*$/)})
597 # need to uncomment ##| style comments
546598 lines = lines.map do |l|
547 m = l.match(/^(\s*)#+[ ]?(.*)/)
599 m = l.match(/^(\s*)#[#\| ]*(.*)/)
548600 if m
549601 m[1] + m[2] + "\n"
550602 else
551603 l
552604 end
553605 end
554
555606 else
556607 # need to comment
557608 # find shortest amount of whitespace at beginning of line
562613 end
563614
564615 lines.each do |l|
565 l[ws] = "# #{l[ws]}" unless l.match(/^(\s*)$/)
616 l[ws] = "##| #{l[ws]}" unless l.match(/^(\s*)$/)
566617 end
567618 end
568619
569620 @msg_queue.push({type: "replace-lines", buffer_id: id, val: lines.join, start_line: start_line, finish_line: finish_line, point_line: point_line, point_index: point_index})
570621 end
571622
572 def __beautify_buffer(id, buf, line, index, first_line)
623 def __buffer_beautify(id, buf, line, index, first_line)
573624 id = id.to_s
574625 buf = buf + "\n"
575626 buf_lines = buf.lines.to_a
576
627 buf = buf_lines.inspect
628 buf_lines = buf_lines.map! do |l|
629 if l.match /^\s*$/
630 "_____sonic_pi_tmp_insert_____\n"
631 else
632 l
633 end
634 end
635 buf = buf_lines.join
577636 ## ensure point isn't beyond buffer
578637 max_buf_idx = buf_lines.size - 1
579638 line = max_buf_idx if line > max_buf_idx
590649 # calculate amount of whitespace at start of beautified line
591650 beautiful_lines = beautiful.lines.to_a
592651 beautiful_len = beautiful_lines.size
652 beautiful_lines.map! {|l| l.slice! "_____sonic_pi_tmp_insert_____" ; l}
653
593654 post_line = beautiful_lines[line]
594655 post_ws_len = post_line[/\A */].size
656 beautiful = beautiful_lines.join
595657
596658 # shift index based on how much the line was indented so the
597659 # cursor stays in the same place relative to the original line
599661 index = index + (post_ws_len - prev_ws_len)
600662 index = post_line.size - 1 if index > post_line.size
601663
602 # Strip whitespace at the beginning of the buffer
603 beautiful.lstrip!
604
605664 # adjust line number based on how many lines were removed as a
606665 # result of the whitespace stripping
607666 post_lstrip_len = beautiful.lines.to_a.size
608667 line = line - (beautiful_len - post_lstrip_len)
609668 line = 0 if line < 0
610
611 # Strip whitespace from the end of the buffer
612 beautiful.rstrip!
613 post_rstrip_len = beautiful.lines.to_a.size
614
615 # move point to end of buffer if whitespace stripping at end of
616 # buffer put point out of bounds
617 if line >= post_rstrip_len
618 line = post_rstrip_len
619 index = beautiful.lines.to_a.last.size
620 end
669 beautiful.chomp!
621670 @msg_queue.push({type: "replace-buffer", buffer_id: id, val: beautiful, line: line, index: index, first_line: first_line})
622671 end
623672
650699
651700 # skip __nosave lines for error reporting
652701 firstline = 1
653 firstline -= code.split(/\r?\n/).count{|l| l.include? "#__nosave__"}
702 firstline -= code.lines.to_a.take_while{|l| l.include? "#__nosave__"}.count
654703 start_t_prom = Promise.new
655704 info[:workspace] = 'eval' unless info[:workspace]
656705 job = Thread.new do
679728 start_t_prom.deliver! now
680729 Thread.current.thread_variable_set :sonic_pi_spider_time, now
681730 Thread.current.thread_variable_set :sonic_pi_spider_start_time, now
682 @global_start_time = now if num_running_jobs == 1
731 Thread.current.thread_variable_set :sonic_pi_spider_beat, 0
732 if num_running_jobs == 1
733 @global_start_time = now
734 # Force a GC collection before we start making music!
735 GC.start
736 end
683737 __info "Starting run #{id}"
684738 code = PreParser.preparse(code)
685739
695749 error_line = ""
696750 if line
697751 line = line.to_i
698 err_msg = "[#{info[:workspace]}, line #{line}] \n #{message}"
699 error_line = code.lines.to_a[line + 1] || ""
752
753 # TODO: Remove this hack when we have projects
754 w = info[:workspace]
755 w = "buffer " + w[10..-1]
756 # TODO: end of hack
757
758 err_msg = "[#{w}, line #{line}] \n #{message}"
759 error_line = code.lines.to_a[line] || ""
700760 else
701761 line = -1
702762 err_msg = "\n #{e.message}"
735795 end
736796
737797 def __exit
798 log "Runtime - shutting down..."
799 @event_t.kill
800 log "Runtime - stopping all jobs..."
738801 __stop_jobs
739802 @msg_queue.push({:type => :exit, :jobid => __current_job_id, :jobinfo => __current_job_info})
740 @event_t.kill
741
742
803 log "Runtime - shutdown completed."
743804 end
744805
745806 def __describe_threads
848909 end
849910
850911 def filter_for_save(s)
851 s.split(/\r?\n/).reject{|l| l.include? "#__nosave__"}.join("\n")
912 s.lines.to_a.reject{|l| l.include? "#__nosave__"}.join
852913 end
853914
854915 def sthread(name)
874935 @git_hash = __extract_git_hash
875936 gh_short = @git_hash ? "-#{@git_hash[0, 5]}" : ""
876937 @settings = Config::Settings.new(user_settings_path)
877 # @version = Version.new(2, 9, 0, "dev#{gh_short}")
878 @version = Version.new(2, 9, 0)
938 @version = Version.new(2, 10, 0)
879939 @server_version = __server_version
880940 @life_hooks = LifeCycleHooks.new
881941 @msg_queue = msg_queue
897957
898958 @gui_heartbeats = {}
899959 @gui_last_heartbeat = nil
900 @gitsave = GitSave.new(project_path)
960 begin
961 @gitsave = GitSave.new(project_path)
962 rescue
963 @gitsave = nil
964 end
901965
902966 @save_queue = SizedQueue.new(20)
903967
921985 File.open(path, 'w') {|f| f.write(content) }
922986 @gitsave.save!(filename, content, "#{@version} -- #{@session_id} -- ")
923987 rescue Exception => e
988 log "Exception saving buffer #{filename}:\n#{e.inspect}"
924989 ##TODO: remove this and ensure that git saving actually works
925990 ##instead of cowardly hiding the issue!
926991 end
927992 end
928993 end
929 __info "Welcome to Sonic Pi"
994 __info "Welcome to Sonic Pi", 1
930995 __info "Session #{@session_id[0..7]}"
931996 date = Time.now
932997 __info "#{date.strftime("%A")} #{date.day.ordinalize} #{date.strftime("%B, %Y")}"
933998 __info "%02d:%02d, %s" % [date.hour, date.min, date.zone]
934
935 __info "#{@version} Ready..."
936999
9371000 __info [
9381001 "Hello, somewhere in the world
9441007 "Turn your head towards the sun
9451008 and the shadows
9461009 will fall
947 behind you."].sample
1010 behind you."].sample, 1
9481011
9491012 msg = @settings.get(:message) || ""
9501013 msg = msg.strip
9531016
9541017 __info msg unless msg.empty?
9551018
1019
9561020 load_snippets(snippets_path, true)
1021
1022 if safe_mode?
1023 __info "!!WARNING!! - file permissions issue:\n Unable to write to folder #{home_dir} \n Booting in SAFE MODE.\n Buffer auto-saving is disabled, please save your work manually.", 1
1024 end
1025
1026 log "Unable to initialise git repo at #{project_path}" unless @gitsave
1027
1028 __info "#{@version} Ready..."
1029
9571030 end
9581031
9591032
0 #--
1 # This file is part of Sonic Pi: http://sonic-pi.net
2 # Full project source: https://github.com/samaaron/sonic-pi
3 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 #
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 # All rights reserved.
7 #
8 # Permission is granted for use, copying, modification, and
9 # distribution of modified versions of this work as long as this
10 # notice is included.
11 #++
12
13 module SonicPi
14 class SampleLoader
15 def initialize(samples_path)
16 @cached_candidates = {}
17 @cached_extracted_candidates = {}
18 @cached_extracted_candidates_mutex = Mutex.new
19 @cached_candidates_mutex = Mutex.new
20 @cached_folder_contents = {}
21 @mutex = Mutex.new
22 @folder_contents_mutex = Mutex.new
23
24 @samples_path = samples_path
25 end
26
27 def find_candidates(filts_and_sources)
28 return [] if filts_and_sources.empty?
29 filts_and_sources.flatten!
30
31 res = @cached_candidates[filts_and_sources]
32 return res if res
33
34 orig_candidates, filters_and_procs = split_candidates_and_filts(filts_and_sources)
35
36 candidates = extract_candidates(orig_candidates).dup
37 found_proc = false
38
39 if orig_candidates.empty?
40 default_samples_paths.each do |p|
41 if p.end_with?("**")
42 candidates.concat(ls_samples(p[0...-2], true))
43 else
44 candidates.concat(ls_samples(p))
45 end
46 end
47 end
48 filters_and_procs.each do |f|
49 case f
50 when String
51 candidates.keep_if do |v|
52 bn = File.basename(v, ".*")
53 bn.downcase.include?(f.downcase) || (File.basename(v) == f)
54 end
55 when Symbol
56 candidates.keep_if do |v|
57 bn = File.basename(v, ".*")
58 bn == f.to_s
59 end
60 when Regexp
61 candidates.keep_if do |v|
62 bn = File.basename(v, ".*")
63 bn.match f
64 end
65 when Fixnum
66 unless candidates.empty?
67 candidates = [candidates[f % candidates.size]]
68 end
69 when NilClass
70 # Do nothing
71 when Proc
72 raise "Sample Pack Proc needs to accept either 0 or 1 arguments. Found #{block.arity}" unless f.arity == 1
73 found_proc = true
74 candidates = f.call(candidates)
75 raise "Sample Pack Filter Proc needs to return an array or ring. Got #{candidates.class}: #{candidates.inspect}" unless candidates.is_a?(Array) || candidates.is_a?(SonicPi::Core::RingVector)
76 else
77 raise "Unknown sample filter type: #{f.class} - got: #{f.inspect}"
78 end
79 end
80
81 # don't cache contents if there's a proc as it may be stateful or
82 # random and therefore the same proc might exhibit different
83 # behaviour each time it is called.
84 unless found_proc
85 @mutex.synchronize do
86 @cached_candidates[filts_and_sources] = candidates.freeze
87 end
88 #end mutex
89 end
90
91 return candidates
92 end
93
94
95 def extract_candidates(candidates)
96 return [] if candidates.empty?
97 cached_all_candidates = @cached_extracted_candidates[candidates]
98 return cached_all_candidates if cached_all_candidates
99
100 @cached_extracted_candidates_mutex.synchronize do
101 cached_all_candidates = @cached_extracted_candidates[candidates]
102 return cached_all_candidates if cached_all_candidates
103
104 all_candidates = []
105
106 candidates.each do |c|
107 expanded = File.expand_path(c)
108 if expanded.end_with?("**") && File.directory?(expanded[0...-2])
109 all_candidates.concat(ls_samples(expanded[0...-2], true))
110 elsif File.directory?(expanded)
111 all_candidates.concat(ls_samples(expanded))
112 elsif File.exists?(expanded)
113 all_candidates << expanded
114 else
115 raise "Unknown sample candidate kind: #{expanded.inspect}. Not a file, directory or /** glob."
116 end
117 all_candidates_copy = all_candidates.clone
118 @cached_extracted_candidates[candidates] = all_candidates_copy.freeze
119 end
120
121 return all_candidates
122 end
123 end
124
125
126 def split_candidates_and_filts(filts_and_sources)
127 candidates = []
128 idx = 0
129 filts_and_sources.each_with_index do |el|
130 break unless el.is_a?(String)
131
132 p = File.expand_path(el)
133
134 if @cached_folder_contents[p] || File.exists?(p) || (p.end_with?("**") && File.directory?(p[0...-2]))
135 idx += 1
136 candidates << p
137 else
138 break
139 end
140 end
141
142 return candidates, filts_and_sources[idx..-1]
143 end
144
145 def ls_samples(path, recursive=false)
146 return [] unless File.directory?(path)
147 res = @cached_folder_contents[path]
148 return res if res
149
150 @folder_contents_mutex.synchronize do
151 res = @cached_folder_contents[path]
152 return res if res
153 if recursive
154 res = Dir.chdir(path) { Dir.glob("**/*.{wav,wave,aif,aiff,flac}").map {|path| File.expand_path(path) } }.sort
155 else
156 res = Dir.chdir(path) { Dir.glob("*.{wav,wave,aif,aiff,flac}").map {|path| File.expand_path(path) } }.sort
157 end
158 @cached_folder_contents[path] = res.freeze
159 end
160 res
161 end
162
163 def reset!
164 @cached_extracted_candidates_mutex.synchronize do
165 @cached_candidates_mutex.synchronize do
166 @mutex.synchronize do
167 @cached_extracted_candidates = {}
168 @cached_candidates = {}
169 @cached_folder_contents = {}
170 end
171 end
172 end
173 end
174
175 private
176
177 def default_samples_paths
178 path = Thread.current.thread_variable_get(:sonic_pi_mod_sound_sample_path) || @samples_path
179 path = [path] unless path.is_a?(Array) or path.is_a?(SonicPi::Core::SPVector)
180 end
181
182 end
183 end
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
6666
6767 def shutdown
6868 log "Sending /quit command to server"
69 @server.send(@hostname, @port, "/quit")
69 begin
70 @server.send(@hostname, @port, "/quit")
71 rescue Exception => e
72 log "Error during scsynth shutdown when attempting to send /quit OSC message to server #{@hostname} on port #{@port}"
73 end
7074 @server.stop
7175 t1, t2 = nil, nil
7276 if @jack_pid
112116 log "going to kill #{pid}"
113117 return kill_pid_win(pid) if os == :windows
114118 pid = Integer(pid)
115 Process.kill(15, pid)
116
117 safe_wait.to_i.times do
118 sleep 1
119 begin
120 alive = Process.waitpid(pid, Process::WNOHANG)
121 return unless alive
122 rescue SystemCallError
123 # process is definitely dead!
124 return nil
125 end
126 end
127
128 Process.kill(9, pid)
119 begin
120 Process.kill(15, pid)
121 safe_wait.to_i.times do
122 begin
123 alive = Process.waitpid(pid, Process::WNOHANG)
124 unless alive
125 log "Successfully killed #{pid}"
126 return nil
127 end
128 rescue Exception => e
129 # process is definitely dead!
130 log "Error waiting for process #{pid} - assumed already killed"
131 return nil
132 end
133 sleep 1
134 end
135
136 Process.kill(9, pid)
137 log "Forcibly killed #{pid}"
138 rescue Errno::ECHILD => e
139 log "Unable to wait for #{pid} - child process does not exist"
140 rescue Errno::ESRCH
141 log "Unable to kill #{pid} - process does not exist"
142 end
143
144 return nil
129145 end
130146
131147 def boot
182198 log ""
183199 end
184200
185 def osx_scsynth_path
186 potential_paths = [
187 "#{native_path}/scsynth",
188 "/Applications/SuperCollider/scsynth",
189 "/Applications/SuperCollider.app/Contents/Resources/scsynth",
190 "/Applications/SuperCollider/SuperCollider.app/Contents/Resources/scsynth"]
191 path = potential_paths.find {|path| File.exists? path }
192 raise "Unable to find SuperCollider. Is it installed? I looked here: #{potential_paths.inspect}" unless path
193 path
194 end
195
196201 def scsynth_path
197202 case os
198203 when :raspberry
200205 when :linux
201206 "scsynth"
202207 when :osx
203 osx_scsynth_path
208 path = "#{native_path}/scsynth"
209 raise "Unable to find SuperCollider. Is it installed? I looked here: #{path.inspect}" unless File.exists?(path)
210 path
204211 when :windows
205 potential_paths = ["#{native_path}/scsynth.exe"]
206 path = potential_paths.find {|path| File.exists? path }
207 raise "Unable to find SuperCollider. Is it installed? I looked here: #{potential_paths.inspect}" unless path
212 path = "#{native_path}/scsynth.exe"
213 raise "Unable to find SuperCollider. Is it installed? I looked here: #{path.inspect}" unless File.exists?(path)
208214 path
209215 end
210216 end
211217
212218 def boot_and_wait(*args)
219 log "Boot - Starting the SuperCollider server..."
213220 p = Promise.new
214221 p2 = Promise.new
215222
216223 booted = false
217224 connected = false
218 FileUtils.rm scsynth_log_path if File.exists?(scsynth_log_path)
219
220 log "Boot - Starting the SuperCollider server..."
221 @scsynth_log_file = File.open(scsynth_log_path, 'w')
222 @scsynth_log_file.puts "# Starting SuperCollider #{Time.now.strftime("%Y-%m-%d %H:%M:%S")}"
225
226 begin
227 FileUtils.rm scsynth_log_path if File.exists?(scsynth_log_path)
228 @scsynth_log_file = File.open(scsynth_log_path, 'w')
229 rescue
230 @scsynth_log_file = nil
231 end
232
233 @scsynth_log_file.puts "# Starting SuperCollider #{Time.now.strftime("%Y-%m-%d %H:%M:%S")}" if @scsynth_log_file
223234 at_exit { @scsynth_log_file.close if @scsynth_log_file}
224235 scsynth_pipe = IO.popen(args)
225236 @scsynth_pid = scsynth_pipe.pid
242253 t1.kill
243254 Process.kill(9, @scsynth_pid)
244255 end
245 raise "Unable to boot SuperCollider - boot server log does not report server ready" unless v
256 raise "Unable to boot SuperCollider - boot server log did not report server ready" unless v
257
258 log "Boot - SuperCollider booted successfully."
259 log "Boot - Connecting to the SuperCollider server..."
246260
247261 boot_s = OSC::UDPServer.new(5998) do |a, b|
248262 log "Boot - Receiving ack from server on port 5998"
268282 rescue Exception => e
269283 Process.kill(9, @scsynth_pid)
270284 ensure
271
272285 t2.kill
273286 boot_s.stop
274287 end
275288
276 raise "Boot - Unable to connect to scsynth" unless connected
289 unless connected
290 log "Boot - Unable to connect to SuperCollider"
291 raise "Boot - Unable to connect to SuperCollider"
292 end
277293
278294 log "Boot - Server connection established"
279295 end
302318 audio_out_rate = CoreAudio.default_output_device.nominal_rate
303319 log "Boot - Input audio rate now: #{audio_in_rate}"
304320 log "Boot - Output audio rate now: #{audio_out_rate}"
305 if audio_in.nominal_rate != audio_out.nominal_rate
321 if (audio_in_rate != :unknown_in_rate) && (audio_out_rate != :unknown_out_rate) && (audio_in_rate != audio_out_rate)
306322 log "Boot - Sample rates do not match, exiting"
307323 raise
308324 end
338354 sys("jackd -R -p 32 -d alsa -d hw:#{audio_card} -n 3 -p 2048 -r 44100& ")
339355
340356 # Wait for Jackd to start
341 while `jack_wait -c`.match /not.*/
357 while `jack_wait -c`.match /^not running$/
342358 sleep 0.25
343359 end
344360
358374 log_boot_msg
359375 log "Booting on Linux"
360376 #Start Jack if not already running
361 if `jack_wait -c`.match /not.*/
377 if `jack_wait -c`.match /^not running$/
362378 #Jack not running - start a new instance
363379 log "Jackd not running on system. Starting..."
364380 sys("jackd -R -T -p 32 -d alsa -n 3 -p 2048 -r 44100& ")
44 # Full project source: https://github.com/samaaron/sonic-pi
55 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
66 #
7 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
7 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
88 # All rights reserved.
99 #
1010 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
1717 require_relative "promise"
1818 require_relative "incomingevents"
1919 require_relative "counter"
20 require_relative "buffer"
20 require_relative "lazybuffer"
2121 require_relative "bufferstream"
2222 require_relative "scsynthexternal"
2323 #require_relative "scsynthnative"
331331 def buffer_info(id)
332332 prom = Promise.new
333333 @osc_events.add_handler(@osc_path_b_info, @osc_events.gensym("/sonicpi/server")) do |payload|
334 if (id == payload.to_a[0])
335 prom.deliver! payload
334 p = payload.to_a
335 if (id == p[0])
336 p.shift
337 prom.deliver! p
336338 :remove_handler
337339 end
338340 end
339341 osc @osc_path_b_query, id
340 res = prom.get
341
342 args = res.to_a
343 Buffer.new(self, args[0], args[1], args[2], args[3])
342 LazyBuffer.new(self, id, prom)
344343 end
345344
346345 def with_done_sync(&block)
450449
451450 def shutdown
452451 @scsynth.shutdown
452 @osc_events.shutdown
453453 end
454454
455455 end
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
2222 include Util
2323
2424 attr_reader :synth_group, :fx_group, :mixer_group, :recording_group, :mixer_id, :mixer_bus, :mixer, :max_concurrent_synths, :rand_buf_id, :amp, :rebooting
25
26 attr_accessor :cent_tuning
2527
2628 def initialize(hostname, port, msg_queue, max_concurrent_synths)
2729 @hostname = hostname
3335 @sample_sem = Mutex.new
3436 @reboot_mutex = Mutex.new
3537 @rebooting = false
38 @cent_tuning = 0
39 @reboot_queue = Queue.new
40 @reboot_queue << :check
41
3642 init_studio
3743 reset_server
38 @check_server_t = Thread.new do
44
45 @server_rebooter = Thread.new do
3946 Thread.current.thread_variable_set(:sonic_pi_thread_group, "server checker")
4047 Thread.current.priority = 300
48 Kernel.sleep 10
4149 loop do
42 unless @rebooting
43 begin
44 if @server.status(5)
45 # server is alive
46 else
47 @error_occured_mutex.synchronize do
48 @error_occurred_since_last_check = true
50 vs = []
51 vs << @reboot_queue.pop
52 # drain any other messages
53 @reboot_queue.size.times {vs << @reboot_queue.pop}
54 begin
55 if vs.include? :reboot
56 begin
57 server_reboot
58 Kernel.sleep 10
59 @reboot_queue << :check
60 rescue Exception => e
61 message "Error rebooting server: #{e}, #{e.backtrace}"
62 message "Attempting to reboot again in 10s"
63 begin
64 message "Forcing shutdown of any running server"
65 @server.shutdown
66 rescue Exception => e
67 message "Error shutting down server: #{e}, #{e.backtrace}"
4968 end
50 message "Sound server is down."
51 begin
52 reboot
53 rescue
54 message "Error rebooting server"
69 Kernel.sleep 10
70 @reboot_queue << :reboot
71 end
72 else
73 begin
74 if @server.status(5)
75 # server is alive
76 # check again in 5 seconds...
77 Thread.new do
78 Kernel.sleep 5
79 @reboot_queue << :check
80 end
81 else
82 message "Sound server is down. Rebooting..."
83 @reboot_queue << :reboot
5584 end
56 end
57 rescue
58 @error_occured_mutex.synchronize do
59 @error_occurred_since_last_check = true
60 end
61 message "Error communicating with sound server."
62 begin
63 reboot
64 rescue
65 message "Error rebooting server"
85 rescue Exception => e
86 message "Error communicating with sound server. Rebooting... #{e}, #{e.backtrace}"
87 @reboot_queue << :reboot
6688 end
6789 end
90 rescue Exception => e
91 message "Error in reboot thread: #{e}, #{e.backtrace}"
6892 end
69 Kernel.sleep 5
7093 end
7194 end
7295 end
80103 server.add_event_handler("/sonic-pi/amp", "/sonic-pi/amp") do |payload|
81104 @amp = [payload[2], payload[3]]
82105 end
106
107 old_synthdefs = @loaded_synthdefs
108 @loaded_synthdefs = Set.new
109
110 (old_synthdefs || []).each do |s|
111 message "Reloading synthdefs in #{unify_tilde_dir(s)}"
112 internal_load_synthdefs(s, server)
113 end
114
83115 # load rand stream directly - ensuring it doesn't get considered as a 'sample'
84116 rand_buf_id = server.buffer_alloc_read(buffers_path + "/rand-stream.wav").to_i
85117 old_samples = @samples
86118 @samples = {}
87119
88 (old_samples || {}).each do |k, v|
89 message "Reloading sample - #{unify_tilde_dir(k)}"
90 internal_load_sample(k, server)
91 end
92
93 old_synthdefs = @loaded_synthdefs
94 @loaded_synthdefs = Set.new
95
96 (old_synthdefs || []).each do |s|
97 message "Reloading synthdefs in #{unify_tilde_dir(s)}"
98 internal_load_synthdefs(s, server)
99 end
120 Thread.new do
121 Thread.current.thread_variable_set(:sonic_pi_thread_group, "Studio sample loader")
122 Thread.current.priority = -10
123 (old_samples || {}).each do |k, v|
124 message "Reloading sample - #{unify_tilde_dir(k)}"
125 internal_load_sample(k, server)
126 end
127 end
128
129
100130
101131 @recorders = {}
102132 @recording_mutex = Mutex.new
116146 end
117147
118148 def load_synthdefs(path, server=@server)
119 raise StudioCurrentlyRebootingError if @rebooting
149 check_for_server_rebooting!(:load_synthdefs)
120150 internal_load_synthdefs(path, server)
121151 end
122152
125155 end
126156
127157 def load_sample(path, server=@server)
128 raise StudioCurrentlyRebootingError if @rebooting
158 check_for_server_rebooting!(:load_sample)
129159 internal_load_sample(path, server)
130160 end
131161
132162 def free_sample(paths, server=@server)
133 raise StudioCurrentlyRebootingError if @rebooting
163 check_for_server_rebooting!(:free_sample)
134164 @sample_sem.synchronize do
135165 paths.each do |p|
136166 info = @samples[p]
142172 end
143173
144174 def free_all_samples(server=@server)
145 raise StudioCurrentlyRebootingError if @rebooting
175 check_for_server_rebooting!(:free_all_samples)
146176 @sample_sem.synchronize do
147177 @samples.each do |k, v|
148178 server.buffer_free(v)
153183
154184
155185 def start_amp_monitor
156 raise StudioCurrentlyRebootingError if @rebooting
186 check_for_server_rebooting!(:start_amp_monitor)
157187 unless @amp_synth
158188 @amp_synth = @server.trigger_synth :head, @recording_group, "sonic-pi-amp_stereo_monitor", {"bus" => 0}, true
159189 end
161191
162192
163193 def trigger_synth(synth_name, group, args, info, now=false, t_minus_delta=false )
164 raise StudioCurrentlyRebootingError if @rebooting
194 check_for_server_rebooting!(:trigger_synth)
165195 @server.trigger_synth(:head, group, synth_name, args, info, now, t_minus_delta)
166196 end
167197
168198 def volume=(vol)
169 raise StudioCurrentlyRebootingError if @rebooting
199 check_for_server_rebooting!(:invert)
170200 message "Setting main volume to #{vol}"
171201 @server.node_ctl @mixer, {"amp" => vol}
172202 end
173203
174204 def mixer_invert_stereo(invert)
175 raise StudioCurrentlyRebootingError if @rebooting
205 check_for_server_rebooting!(:mixer_invert_stereo)
176206 # invert should be true or false
177207 invert_i = invert ? 1 : 0
178208 @server.node_ctl @mixer, {"invert_stereo" => invert_i}, true
179209 end
180210
181211 def mixer_control(opts)
182 raise StudioCurrentlyRebootingError if @rebooting
212 check_for_server_rebooting!(:mixer_control)
183213 now = 0
184214 opts = opts.clone
185215 if opts[:now].is_a?(Numeric)
192222 end
193223
194224 def mixer_reset
195 raise StudioCurrentlyRebootingError if @rebooting
225 check_for_server_rebooting!(:mixer_reset)
196226 info = Synths::SynthInfo.get_info(:main_mixer)
197227 mixer_control(info.slide_arg_defaults)
198228 mixer_control(info.arg_defaults)
199229 end
200230
201231 def mixer_stereo_mode
202 raise StudioCurrentlyRebootingError if @rebooting
232 check_for_server_rebooting!(:mixer_stereo_mode)
203233 @server.node_ctl @mixer, {"force_mono" => 0}, true
204234 end
205235
206236 def mixer_mono_mode
207 raise StudioCurrentlyRebootingError if @rebooting
237 check_for_server_rebooting!(:mixer_mono_mode)
208238 @server.node_ctl @mixer, {"force_mono" => 1}, true
209239 end
210240
211241 def status
212 raise StudioCurrentlyRebootingError if @rebooting
242 check_for_server_rebooting!(:status)
213243 @server.status
214244 end
215245
216246 def stop
217 raise StudioCurrentlyRebootingError if @rebooting
247 check_for_server_rebooting!(:stop)
218248 @server.clear_schedule
219249 @server.group_clear @synth_group
220250 end
221251
222252 def new_group(position, target, name="")
223 raise StudioCurrentlyRebootingError if @rebooting
253 check_for_server_rebooting!(:new_group)
224254 @server.create_group(position, target, name)
225255 end
226256
227257 def new_synth_group(id=-1)
228 raise StudioCurrentlyRebootingError if @rebooting
258 check_for_server_rebooting!(:new_synth_group)
229259 new_group(:tail, @synth_group, "Run-#{id}-Synths")
230260 end
231261
232262 def new_fx_group(id=-1)
233 raise StudioCurrentlyRebootingError if @rebooting
263 check_for_server_rebooting!(:new_fx_group)
234264 new_group(:tail, @fx_group, "Run-#{id}-FX")
235265 end
236266
237267 def new_fx_bus
238 raise StudioCurrentlyRebootingError if @rebooting
268 check_for_server_rebooting!(:new_fx_bus)
239269 @server.allocate_audio_bus
240270 end
241271
242272 def sched_ahead_time
243 raise StudioCurrentlyRebootingError if @rebooting
244273 @server.sched_ahead_time
245274 end
246275
247276 def sched_ahead_time=(t)
248 raise StudioCurrentlyRebootingError if @rebooting
249277 @server.sched_ahead_time = t
250278 end
251279
252280 def control_delta
253 raise StudioCurrentlyRebootingError if @rebooting
254281 @server.control_delta
255282 end
256283
257284 def control_delta=(t)
258 raise StudioCurrentlyRebootingError if @rebooting
259285 @server.control_delta = t
260286 end
261287
262288 def recording?(bus=0)
263 raise StudioCurrentlyRebootingError if @rebooting
264289 @recorders[bus]
265290 end
266291
267292 def recording_start(path, bus=0)
268 raise StudioCurrentlyRebootingError if @rebooting
293 check_for_server_rebooting!(:recording_start)
269294 return false if @recorders[bus]
270295 @recording_mutex.synchronize do
271296 return false if @recorders[bus]
277302 end
278303
279304 def recording_stop(bus=0)
280 raise StudioCurrentlyRebootingError if @rebooting
305 check_for_server_rebooting!(:recording_stop)
281306 return false unless @recorders[bus]
282307 @recording_mutex.synchronize do
283308 return false unless @recorders[bus]
290315 end
291316
292317 def shutdown
293 raise StudioCurrentlyRebootingError if @rebooting
318 @server_reboot.kill
319 begin
320 @server.shutdown
321 rescue Exception => e
322 end
323 end
324
325
326 def reboot
327 @reboot_queue.push :reboot
328 end
329
330 private
331
332 def server_reboot
333 # Important:
334 # This method should only be called from the @server_rebooter
335 # thread.
336 @rebooting = true
337 message "Rebooting server. Please wait..."
294338 @server.shutdown
295 end
296
297 def reboot
298 return nil if @rebooting
299 @reboot_mutex.synchronize do
300 @rebooting = true
301 message "Rebooting server. Please wait..."
302 @server.shutdown
303 init_studio
304 reset_server
305 message "Server ready."
306 @rebooting = false
307 end
339 init_studio
340 reset_server
341 message "Server ready."
342 @rebooting = false
308343 true
309344 end
310345
311 private
346 def check_for_server_rebooting!(msg=nil)
347 if @rebooting
348 message "Oops, already rebooting: #{msg}"
349 log "Oops, already rebooting: #{msg}"
350 raise StudioCurrentlyRebootingError if @rebooting
351 end
352 end
312353
313354 def message(s)
314 @msg_queue.push({:type => :info, :val => "Studio: #{s.to_s}"})
355 m = s.to_s
356 log "Studio - #{m}"
357 @msg_queue.push({:type => :info, :val => "Studio: #{m}"})
315358 end
316359
317360
344387 buf_info = nil
345388 @sample_sem.synchronize do
346389 return @samples[path] if @samples[path]
347 buf_info = server.buffer_alloc_read(path)
348 buf_info.path = path
390 raise "No sample exists with path:\n #{unify_tilde_dir(path).inspect}" unless File.exists?(path) && !File.directory?(path)
391 buf_info = server.buffer_alloc_read(path)
392 buf_info.path = path
349393 @samples[path] = buf_info
350394 end
351395 [buf_info, false]
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
4242 r + smallest
4343 end
4444
45 def alias_opts!(alias_opt, orig_opt, args_h)
46 if args_h.has_key?(alias_opt) && !args_h.has_key?(orig_opt)
47 args_h[orig_opt] = args_h[alias_opt]
48 args_h.delete(alias_opt)
49 end
50 args_h
51 end
52
53 def munge_opts(args_h)
54 args_h
55 end
56
4557 def doc
4658 "Please write documentation!"
4759 end
92104
93105 args_h.each do |k, v|
94106 k_sym = k.to_sym
95 arg_information = @info[k_sym] || {}
107 arg_information = @info[k_sym]
108 next unless arg_information
96109 arg_validations = arg_information[:validations] || []
97110 arg_validations(k_sym).each do |v_fn, msg|
98111 raise "Value of opt #{k_sym.inspect} #{msg}, got #{v.inspect}." unless v_fn.call(args_h)
537550 end
538551
539552 class SonicPiSynth < SynthInfo
553 def user_facing?
554 true
555 end
540556 end
541557
542558 class DullBell < SonicPiSynth
871887 :detune_slide_shape => 1,
872888 :detune_slide_curve => 0,
873889 }
890 end
891 end
892
893 class DTri < DSaw
894 def name
895 "Detuned Triangle Wave"
896 end
897
898 def introduced
899 Version.new(2, 10, 0)
900 end
901
902 def synth_name
903 "dtri"
904 end
905
906 def doc
907 "A pair of detuned triangle waves passed through a low pass filter. Two pulse waves with slightly different frequencies generates a nice thick sound which can be used as a basis for some nice bass sounds. Thicken the sound by increasing the detune value, or create an octave-playing synth by choosing a detune of 12 (12 MIDI notes is an octave)."
874908 end
875909 end
876910
17671801 end
17681802 end
17691803
1804 class SynthPluck < SonicPiSynth
1805 def name
1806 "SynthPluck"
1807 end
1808
1809 def introduced
1810 Version.new(2,10,0)
1811 end
1812
1813 def synth_name
1814 "pluck"
1815 end
1816
1817 def doc
1818 "A basic plucked string synthesiser that uses Karplus-Strong synthesis. Note that due to the plucked nature of this synth the envelope opts such as `attack:`, `sustain:` and `release:` do not work as expected. They can only shorten the natural length of the note, not prolong it. Also, the `note:` opt will only honour whole tones."
1819 end
1820
1821 def arg_defaults
1822 {
1823 :note => 52,
1824 :note_slide => 0,
1825 :note_slide_shape => 1,
1826 :note_slide_curve => 0,
1827 :amp => 1,
1828 :amp_slide => 0,
1829 :amp_slide_shape => 1,
1830 :amp_slide_curve => 0,
1831 :pan => 0,
1832 :pan_slide => 0,
1833 :pan_slide_shape => 1,
1834 :pan_slide_curve => 0,
1835 :attack => 0,
1836 :sustain => 0,
1837 :release => 1,
1838 :attack_level => 1,
1839 :decay => 0,
1840 :decay_level => :sustain_level,
1841 :sustain_level => 1,
1842 :noise_amp => 0.8,
1843 :max_delay_time => 0.125,
1844 :pluck_decay => 30,
1845 :coef => 0.3
1846 }
1847 end
1848
1849 def specific_arg_info
1850 {
1851 :note =>
1852 {
1853 :doc => "Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`. Note that the piano synth can only play whole tones such as 60 and does not handle floats such as 60.3",
1854 :validations => [v_positive(:note)],
1855 :modulatable => true
1856 },
1857
1858 :noise_amp => {
1859 :doc => "Amplitude of source (pink) noise.",
1860 :validations => [v_between_inclusive(:noise_amp, 0, 1)],
1861 :modulatable => false},
1862
1863 :max_delay_time => {
1864 :doc => "Maximum length of the delay line buffer.",
1865 :validations => [v_between_inclusive(:max_delay_time, 0.125, 1)],
1866 :modulatable => false},
1867
1868 :pluck_decay => {
1869 :doc => "How long the pluck takes to stabilise on a note. This doesn't have a dramatic effect on the sound.",
1870 :validations => [v_between_inclusive(:pluck_decay, 1, 100)],
1871 :modulatable => false},
1872
1873 :coef =>
1874 {
1875 :doc => "Coefficient of the internal OnePole filter. Values around zero are resonant and bright, values towards 1 sound more dampened and cutoff. It's a little bit like playing nearer the soundhole/fingerboard for values near zero and more toward the bridge for values approaching one, although this isn't an exact comparison.",
1876 :validations => [v_between_inclusive(:coef, -1, 1)],
1877 :modulatable => false
1878 },
1879
1880 :decay =>
1881 {
1882 :doc => "Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level). With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.",
1883 :validations => [v_positive(:decay)],
1884 :modulatable => false,
1885 :bpm_scale => true
1886 },
1887
1888 :sustain =>
1889 {
1890 :doc => "Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.",
1891 :validations => [v_positive(:sustain)],
1892 :modulatable => false,
1893 :bpm_scale => true
1894 },
1895
1896 :release =>
1897 {
1898 :doc => "Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.",
1899 :validations => [v_positive(:release)],
1900 :modulatable => false,
1901 :bpm_scale => true
1902 }
1903
1904
1905 }
1906
1907 end
1908 end
1909
17701910 class SynthPiano < SonicPiSynth
17711911 def name
17721912 "SynthPiano"
22282368 {
22292369 :norm =>
22302370 {
2231 :doc => "Normalise the audio (make quieter parts of the sample louder and louder parts quieter) - this is similar to the normaliser FX. This may emphasise any clicks caused by clipping.",
2371 :doc => "Normalise the audio (make quieter parts of the synth's sound louder and louder parts quieter) - this is similar to the normaliser FX. This may emphasise any clicks caused by clipping.",
22322372 :validations => [v_one_of(:norm, [0, 1])],
22332373 :modulatable => true
22342374 },
24462586
24472587 end
24482588
2449 class Pitchless < SonicPiSynth
2450 end
2451
2452 class Noise < Pitchless
2453 def name
2454 "Noise"
2455 end
2456
2457 def introduced
2458 Version.new(2,0,0)
2459 end
2460
2461 def synth_name
2462 "noise"
2463 end
2464
2465 def doc
2466 "Noise that contains equal amounts of energy at every frequency - comparable to radio static. Useful for generating percussive sounds such as snares and hand claps. Also useful for simulating wind or sea effects."
2589 class ChipLead < SonicPiSynth
2590 def name
2591 "Chip Lead"
2592 end
2593
2594 def introduced
2595 Version.new(2,10,0)
2596 end
2597
2598 def synth_name
2599 "chiplead"
2600 end
2601
2602 def doc
2603 "A slightly clipped square (pulse) wave with phases of 12.5%, 25% or 50% modelled after the 2A03 chip found in voices 1 and 2 of the NES games console. This can be used for retro sounding leads and harmonised lines. This also adds an opt 'note_resolution' which locks the note slide to certain pitches which are multiples of the step size. This allows for emulation of the sweep setting on the 2A03."
24672604 end
24682605
24692606 def arg_defaults
24702607 {
2608 :note => 60,
2609 :note_slide => 0,
2610 :note_slide_shape => 1,
2611 :note_slide_curve => 0,
2612 :note_resolution => 0.1,
24712613 :amp => 1,
24722614 :amp_slide => 0,
24732615 :amp_slide_shape => 1,
24862628 :sustain_level => 1,
24872629 :env_curve => 2,
24882630
2631 :width => 0
2632 }
2633 end
2634
2635 def specific_arg_info
2636 {
2637 :width =>
2638 {
2639 :doc => "Which of the three pulse_widths to use - 0 => 12.5%, 1 => 25%, 2 => 50%",
2640 :validations => [v_one_of(:width, [0, 1, 2])],
2641 :modulatable => true,
2642 },
2643
2644 :note_resolution =>
2645 {
2646 :doc => "Locks down the note resolution to be multiples of this (MIDI) number. For example, a `note_resolution:` of 1 will only allow semitones to be played. When used in conjunction with `note_slide:` produces a staircase of notes rather than a continuous line which is how things were on the NES. Set to 0 to disable. This wasn't a feature of this triangle (bass) channel on the original chip but some emulators have added it in since.",
2647 :validations => [v_positive(:note_resolution)],
2648 :modulatable => true
2649 },
2650 }
2651 end
2652 end
2653
2654 class ChipBass < SonicPiSynth
2655 def name
2656 "Chip Bass"
2657 end
2658
2659 def introduced
2660 Version.new(2,10,0)
2661 end
2662
2663 def synth_name
2664 "chipbass"
2665 end
2666
2667 def doc
2668 "A 16 step triangle wave modelled after the 2A03 chip found in voice 3 of the NES games console. This can be used for retro sounding basslines. For complete authenticity with the 2A03 bear in mind that the triangle channel on that chip didn't have a volume control."
2669 end
2670
2671 def arg_defaults
2672 {
2673 :note => 60,
2674 :note_slide => 0,
2675 :note_slide_shape => 1,
2676 :note_slide_curve => 0,
2677 :note_resolution => 0.1,
2678 :amp => 1,
2679 :amp_slide => 0,
2680 :amp_slide_shape => 1,
2681 :amp_slide_curve => 0,
2682 :pan => 0,
2683 :pan_slide => 0,
2684 :pan_slide_shape => 1,
2685 :pan_slide_curve => 0,
2686
2687 :attack => 0,
2688 :decay => 0,
2689 :sustain => 0,
2690 :release => 1,
2691 :attack_level => 1,
2692 :decay_level => :sustain_level,
2693 :sustain_level => 1,
2694 :env_curve => 2,
2695 }
2696 end
2697
2698 def specific_arg_info
2699 {
2700 :note_resolution =>
2701 {
2702 :doc => "Locks down the note resolution to be multiples of this (MIDI) number. For example, a `note_resolution:` of 1 will only allow semitones to be played. When used in conjunction with `note_slide:` produces a staircase of notes rather than a continuous line which is how things were on the NES. Set to 0 to disable. This wasn't a feature of this triangle (bass) channel on the original chip but some emulators have added it in since.",
2703 :validations => [v_positive(:note_resolution)],
2704 :modulatable => true
2705 },
2706 }
2707 end
2708 end
2709
2710 class Pitchless < SonicPiSynth
2711 end
2712
2713 class Noise < Pitchless
2714 def name
2715 "Noise"
2716 end
2717
2718 def introduced
2719 Version.new(2,0,0)
2720 end
2721
2722 def synth_name
2723 "noise"
2724 end
2725
2726 def doc
2727 "Noise that contains equal amounts of energy at every frequency - comparable to radio static. Useful for generating percussive sounds such as snares and hand claps. Also useful for simulating wind or sea effects."
2728 end
2729
2730 def arg_defaults
2731 {
2732 :amp => 1,
2733 :amp_slide => 0,
2734 :amp_slide_shape => 1,
2735 :amp_slide_curve => 0,
2736 :pan => 0,
2737 :pan_slide => 0,
2738 :pan_slide_shape => 1,
2739 :pan_slide_curve => 0,
2740
2741 :attack => 0,
2742 :decay => 0,
2743 :sustain => 0,
2744 :release => 1,
2745 :attack_level => 1,
2746 :decay_level => :sustain_level,
2747 :sustain_level => 1,
2748 :env_curve => 2,
2749
24892750 :cutoff => 110,
24902751 :cutoff_slide => 0,
24912752 :cutoff_slide_shape => 1,
25742835
25752836 end
25762837
2838 class ChipNoise < Noise
2839 def name
2840 "Chip Noise"
2841 end
2842
2843 def introduced
2844 Version.new(2,10,0)
2845 end
2846
2847 def synth_name
2848 "chipnoise"
2849 end
2850
2851 def doc
2852 "Generates noise whose values are either -1 or 1 (like a pulse or square wave) with one of 16 particular frequencies. This is similar to the noise channel on the 2A03 chip used in the NES games console, although it lacks the same Pseudo-Random Number Generator (PRNG) and doesn't implement the 2A03's lesser used noise mode. The amplitude envelope defaults to moving by step to keep that 16 bit feel and this synth also has a slight soft clipping to better imitate the original sound of the device. Use for retro effects, hand claps, snare drums and hi-hats."
2853 end
2854
2855 def arg_defaults
2856 {
2857 :amp => 1,
2858 :amp_slide => 0,
2859 :amp_slide_shape => 0,
2860 :amp_slide_curve => 1,
2861 :pan => 0,
2862 :pan_slide => 0,
2863 :pan_slide_shape => 1,
2864 :pan_slide_curve => 0,
2865
2866 :attack => 0,
2867 :decay => 0,
2868 :sustain => 1,
2869 :release => 0,
2870 :attack_level => 1,
2871 :decay_level => :sustain_level,
2872 :sustain_level => 1,
2873 :env_curve => 0,
2874
2875 :freq_band => 0,
2876 :freq_band_slide => 0,
2877 :freq_band_slide_shape => 1,
2878 :freq_band_slide_curve => 0,
2879 }
2880 end
2881
2882 def specific_arg_info
2883 {
2884 :freq_band =>
2885 {
2886 :doc => "Which of the 16 frequency bands to use, from 0 to 15. These range from 220Hz to 225kHz as on the original chip. This arg will accept floats but round to the nearest integer to allow for sweeping through the 16 set points with envelopes.",
2887 :validations => [v_between_inclusive(:freq_band, 0, 15)],
2888 :modulatable => true,
2889 },
2890
2891 :freq_band_slide =>
2892 {
2893 :doc => generic_slide_doc(:freq_band),
2894 :validations => [v_positive(:freq_band_slide)],
2895 :modulatable => true,
2896 :bpm_scale => true
2897 },
2898 }
2899 end
2900 end
2901
25772902 class StudioInfo < SonicPiSynth
2578
2903 def user_facing?
2904 false
2905 end
25792906 end
25802907
25812908 class SoundIn < StudioInfo
25842911 end
25852912
25862913 def introduced
2587 Version.new(2,0,0)
2914 Version.new(2,10,0)
25882915 end
25892916
25902917 def synth_name
25912918 "sound_in"
2919 end
2920
2921 def doc
2922 "Treat sound card input as a synth. If your audio card has inputs, you may use this synth to feed the incoming audio into Sonic Pi. This synth will read in a single mono audio stream - for example from a standard microphone or guitar. See `:sound_in_stereo` for a similar synth capable of reading in a stereo signal.
2923
2924 As with all Sonic Pi synths, there is a default envelope which determines the duration of the lifetime of the synth. Therefore, to get a continuous stream of audio, you need to place consecutive calls to this synth in iteration or a `live_loop`. For example:
2925
2926 ```
2927 live_loop :playback do
2928 ```
2929
2930 ```
2931 synth :sound_in, sustain: 8
2932 ```
2933
2934 ```
2935 sleep 8
2936 ```
2937
2938 ```
2939 end
2940 ```
2941 Note that if the microphone and speaker are close together (on a laptop or in a small room) you will potentially get a harsh feedback sound."
25922942 end
25932943
25942944 def arg_defaults
26012951 :pan_slide => 0,
26022952 :pan_slide_shape => 1,
26032953 :pan_slide_curve => 0,
2604 :input => 0
2605 }
2606 end
2607
2608 end
2609
2954
2955 :attack => 0,
2956 :decay => 0,
2957 :sustain => 1,
2958 :release => 0,
2959 :attack_level => 1,
2960 :decay_level => :sustain_level,
2961 :sustain_level => 1,
2962 :env_curve => 0,
2963
2964 :input => 1
2965 }
2966 end
2967
2968 def specific_arg_info
2969 {
2970 :input =>
2971 {
2972 :doc => "Sound card input channel to obtain audio from. Indexing starts at 1 so input 1 represents the first channel, and channel 2 can be represented by `input: 2`",
2973 :validations => [v_greater_than_oet(:input, 1)],
2974 :modulatable => true,
2975 }
2976 }
2977 end
2978
2979 end
2980
2981 class SoundInStereo < SoundIn
2982 def name
2983 "Sound In Stereo"
2984 end
2985
2986 def synth_name
2987 "sound_in_stereo"
2988 end
2989
2990 def specific_arg_info
2991 {
2992 :input =>
2993 {
2994 :doc => "First of two consecutive sound card input channels to obtain audio from. Indexing starts at 1 so input 1 represents the first channel, and channel 2 can be represented by `input: 2`",
2995 :validations => [v_greater_than_oet(:input, 1)],
2996 :modulatable => true,
2997 }
2998 }
2999 end
3000
3001 def doc
3002 "Treat sound card input as a synth. If your audio card has inputs, you may use this synth to feed the incoming audio into Sonic Pi. This synth will read in a stereo audio stream - for example from a stereo microphone or external stereo keyboard. See `:sound_in` for a similar synth capable of reading in a mono signal. The stereo input is expected to be on consecutive sound card channels.
3003
3004 As with all Sonic Pi synths, there is a default envelope which determines the duration of the lifetime of the synth. Therefore, to get a continuous stream of audio, you need to place consecutive calls to this synth in iteration or a `live_loop`. For example:
3005
3006 ```
3007 live_loop :playback do
3008 ```
3009
3010 ```
3011 synth :sound_in_stereo, sustain: 8
3012 ```
3013
3014 ```
3015 sleep 8
3016 ```
3017
3018 ```
3019 end
3020 ```
3021
3022 Note that if the microphone and speaker are close together (on a laptop or in a small room) you will potentially get a harsh feedback sound."
3023 end
3024 end
26103025
26113026
26123027 class BasicMonoPlayer < StudioInfo
26243039
26253040 def doc
26263041 ""
3042 end
3043
3044 def munge_opts(args_h)
3045 alias_opts!(:cutoff, :lpf, args_h)
3046 alias_opts!(:cutoff_slide, :lpf_slide, args_h)
3047 alias_opts!(:cutoff_slide_curve, :lpf_slide_curve, args_h)
3048 alias_opts!(:cutoff_slide_shape, :lpf_slide_shape, args_h)
3049 args_h
26273050 end
26283051
26293052 def arg_defaults
26373060 :pan_slide_shape => 1,
26383061 :pan_slide_curve => 0,
26393062 :rate => 1,
2640 :cutoff => 0,
2641 :cutoff_slide => 0,
2642 :cutoff_slide_shape => 1,
2643 :cutoff_slide_curve => 0,
2644 :res => 0,
2645 :res_slide => 0,
2646 :res_slide_shape => 1,
2647 :res_slide_curve => 0,
3063 :lpf => -1,
3064 :lpf_slide => 0,
3065 :lpf_slide_shape => 1,
3066 :lpf_slide_curve => 0,
3067 :hpf => -1,
3068 :hpf_slide => 0,
3069 :hpf_slide_shape => 1,
3070 :hpf_slide_curve => 0
26483071 }
26493072 end
26503073
26543077 {
26553078 :validations => [v_not_zero(:rate)],
26563079 :modulatable => false
3080 },
3081
3082
3083 :lpf =>
3084 {
3085 :doc => "Low pass filter cutoff value. A MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.",
3086 :validations => [v_positive(:lpf), v_less_than(:lpf, 131)],
3087 :modulatable => true,
3088 :midi => true
26573089 }
26583090 }
3091
26593092 end
26603093 end
26613094
26773110 end
26783111 end
26793112
2680 class MonoPlayer < StudioInfo
3113 class MonoPlayer < BasicMonoPlayer
26813114 def name
26823115 "Mono Sample Player"
26833116 end
27003133 :amp_slide => 0,
27013134 :amp_slide_shape => 1,
27023135 :amp_slide_curve => 0,
3136 :pre_amp => 1,
3137 :pre_amp_slide => 0,
3138 :pre_amp_slide_shape => 1,
3139 :pre_amp_slide_curve => 0,
27033140 :pan => 0,
27043141 :pan_slide => 0,
27053142 :pan_slide_shape => 1,
27063143 :pan_slide_curve => 0,
27073144
3145
27083146 :attack => 0,
27093147 :decay => 0,
27103148 :sustain => -1,
27113149 :release => 0,
27123150
3151 :lpf => -1,
3152 :lpf_slide => 0,
3153 :lpf_slide_shape => 1,
3154 :lpf_slide_curve => 0,
3155 :lpf_attack => 0,
3156 :lpf_decay => 0,
3157 :lpf_sustain => -1,
3158 :lpf_release => 0,
3159 :lpf_init_level => -1,
3160 :lpf_attack_level => -1,
3161 :lpf_decay_level => -1,
3162 :lpf_sustain_level => -1,
3163 :lpf_release_level => -1,
3164 :lpf_env_curve => 2,
3165 :lpf_min => -1,
3166 :lpf_min_slide => 0,
3167 :lpf_min_slide_shape => 1,
3168 :lpf_min_slide_curve => 0,
3169
3170 :hpf => -1,
3171 :hpf_slide => 0,
3172 :hpf_slide_shape => 1,
3173 :hpf_slide_curve => 0,
3174 :hpf_attack => 0,
3175 :hpf_sustain => -1,
3176 :hpf_decay => 0,
3177 :hpf_release => 0,
3178 :hpf_init_level => -1,
3179 :hpf_attack_level => -1,
3180 :hpf_decay_level => -1,
3181 :hpf_sustain_level => -1,
3182 :hpf_release_level => -1,
3183 :hpf_env_curve => 2,
3184 :hpf_max => -1,
3185 :hpf_max_slide => 0,
3186 :hpf_max_slide_shape => 1,
3187 :hpf_max_slide_curve => 0,
3188
3189
27133190 :attack_level => 1,
27143191 :decay_level => :sustain_level,
27153192 :sustain_level => 1,
27163193 :env_curve => 2,
27173194
2718 :cutoff_attack => 0,
2719 :cutoff_decay => 0,
2720 :cutoff_sustain => -1,
2721 :cutoff_release => 0,
2722 :cutoff_attack_level => :cutoff,
2723 :cutoff_decay_level => :cutoff,
2724 :cutoff_sustain_level => :cutoff,
2725 :cutoff_env_curve => 2,
2726 :cutoff_min => 30,
2727 :cutoff_min_slide => 0,
2728 :cutoff_min_slide_shape => 1,
2729 :cutoff_min_slide_curve => 0,
27303195
27313196 :rate => 1,
27323197 :start => 0,
27333198 :finish => 1,
27343199
2735 :res => 0,
2736 :res_slide => 0,
2737 :res_slide_shape => 1,
2738 :res_slide_curve => 0,
2739 :cutoff => 0,
2740 :cutoff_slide => 0,
2741 :cutoff_slide_shape => 1,
2742 :cutoff_slide_curve => 0,
3200
27433201 :norm => 0,
27443202
27453203 :pitch => 0,
27573215 :time_dis => 0.0,
27583216 :time_dis_slide => 0,
27593217 :time_dis_slide_shape => 1,
2760 :time_dis_slide_curve => 0
3218 :time_dis_slide_curve => 0,
3219
3220 :compress => 0,
3221 :threshold => 0.2,
3222 :threshold_slide => 0,
3223 :threshold_slide_shape => 1,
3224 :threshold_slide_curve => 0,
3225 :clamp_time => 0.01,
3226 :clamp_time_slide => 0,
3227 :clamp_time_slide_shape => 1,
3228 :clamp_time_slide_curve => 0,
3229 :slope_above => 0.5,
3230 :slope_above_slide => 0,
3231 :slope_above_slide_shape => 1,
3232 :slope_above_slide_curve => 0,
3233 :slope_below => 1,
3234 :slope_below_slide => 0,
3235 :slope_below_slide_shape => 1,
3236 :slope_below_slide_curve => 0,
3237 :relax_time => 0.01,
3238 :relax_time_slide => 0,
3239 :relax_time_slide_shape => 1,
3240 :relax_time_slide_curve => 0
27613241 }
27623242 end
27633243
27643244 def specific_arg_info
2765 {
3245 super.merge({
27663246
27673247 :attack =>
27683248 {
27693249 :doc => "Duration of the attack phase of the envelope.",
27703250 :validations => [v_positive(:attack)],
2771 :modulatable => false
3251 :modulatable => false,
3252 :default => 0
27723253 },
27733254
27743255 :decay =>
27753256 {
27763257 :doc => "Duration of the decay phase of the envelope.",
27773258 :validations => [v_positive(:decay)],
2778 :modulatable => false
3259 :modulatable => false,
3260 :default => 0
27793261 },
27803262
27813263 :sustain =>
27833265 :doc => "Duration of the sustain phase of the envelope. When -1 (the default) will auto-stretch.",
27843266 :validations => [[lambda{|args| v = args[:sustain] ; (v == -1) || (v >= 0)}, "must either be a positive value or -1"]],
27853267
2786 :modulatable => false
3268 :modulatable => false,
3269 :default => -1
27873270 },
27883271
27893272 :release =>
27903273 {
27913274 :doc => "Duration of the release phase of the envelope.",
27923275 :validations => [v_positive(:release)],
2793 :modulatable => false
3276 :modulatable => false,
3277 :default => 0
27943278 },
27953279
27963280
27983282 {
27993283 :doc => "Rate with which to play back - default is 1. Playing the sample at rate 2 will play it back at double the normal speed. This will have the effect of doubling the frequencies in the sample and halving the playback time. Use rates lower than 1 to slow the sample down. Negative rates will play the sample in reverse.",
28003284 :validations => [v_not_zero(:rate)],
2801 :modulatable => false
3285 :modulatable => false,
3286 :default => 1
28023287 },
28033288
28043289 :start =>
28053290 {
28063291 :doc => "A fraction (between 0 and 1) representing where in the sample to start playback. 1 represents the end of the sample, 0.5 half-way through etc.",
28073292 :validations => [v_between_inclusive(:start, 0, 1)],
2808 :modulatable => false
3293 :modulatable => false,
3294 :default => 0
28093295 },
28103296
28113297 :finish =>
28123298 {
28133299 :doc => "A fraction (between 0 and 1) representing where in the sample to finish playback. 1 represents the end of the sample, 0.5 half-way through etc.",
28143300 :validations => [v_between_inclusive(:finish, 0, 1)],
2815 :modulatable => false
3301 :modulatable => false,
3302 :default => 1
28163303 },
28173304
28183305 :norm =>
28193306 {
28203307 :doc => "Normalise the audio (make quieter parts of the sample louder and louder parts quieter) - this is similar to the normaliser FX. This may emphasise any clicks caused by clipping.",
28213308 :validations => [v_one_of(:norm, [0, 1])],
2822 :modulatable => true
2823 },
2824
2825 :res =>
2826 {
2827 :doc => "Filter resonance as a value between 0 and 1. Only functional if a cutoff value is specified. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.",
2828 :validations => [v_positive(:res), v_less_than(:res, 1)],
2829 :modulatable => true
3309 :modulatable => true,
3310 :default => 0
28303311 },
28313312
28323313 :window_size =>
28353316
28363317 The window_size is the length of the slices and is measured in seconds. It needs to be around 0.2 (200ms) or greater for pitched sounds like guitar or bass, and needs to be around 0.02 (20ms) or lower for percussive sounds like drum loops. You can experiment with this to get the best sound for your input.",
28373318 :validations => [v_greater_than(:window_size, 0.00005)],
2838 :modulatable => true
3319 :modulatable => true,
3320 :default => 0.2
3321 },
3322
3323 :pitch =>
3324 {
3325 :doc => "Pitch adjustment in semitones. 1 is up a semitone, 12 is up an octave, -12 is down an octave etc. Maximum upper limit of 24 (up 2 octaves). Lower limit of -72 (down 6 octaves). Decimal numbers can be used for fine tuning.",
3326 :validations => [v_greater_than_oet(:pitch, -72), v_less_than_oet(:pitch, 24)],
3327 :modulatable => true,
3328 :default => 0
28393329 },
28403330
28413331 :pitch_dis =>
28443334 :validations => [v_greater_than_oet(:pitch_dis, 0)],
28453335 :modulatable => true
28463336 },
3337
28473338 :time_dis =>
28483339 {
28493340 :doc => "Time dispersion - how much random delay before playing each grain (measured in seconds). Again, low values here like 0.001 can help to soften up metallic sounds introduced by the effect. Large values are also fun as they can make soundscapes and textures from the input, although you will most likely lose the rhythm of the original. NB - This won't have an effect if it's larger than window_size.",
28513342 :modulatable => true
28523343 },
28533344
2854 :cutoff_attack_level =>
2855 {
2856 :doc => "The peak cutoff (value of cutoff at peak of attack) as a MIDI note.",
2857 :validations => [v_between_inclusive(:cutoff_attack_level, 0, 130)],
2858 :modulatable => false
2859 },
2860
2861 :cutoff_decay_level =>
2862 {
2863 :doc => "The level of cutoff after the decay phase as a MIDI note.",
2864 :validations => [v_between_inclusive(:cutoff_decay_level, 0, 130)],
2865 :modulatable => false
2866 },
2867
2868
2869 :cutoff_sustain_level =>
2870 {
2871 :doc => "The sustain cutoff (value of cutoff at sustain time) as a MIDI note.",
2872 :validations => [v_between_inclusive(:cutoff_sustain_level, 0, 130)],
2873 :modulatable => false
2874 },
2875
2876 :cutoff_attack =>
2877 {
2878 :doc => "Attack time for cutoff filter. Amount of time (in beats) for sound to reach full cutoff value. Default value is set to match amp envelope's attack value.",
2879 :validations => [v_positive(:cutoff_attack)],
3345 :lpf_init_level =>
3346 {
3347 :doc => "The initial low pass filter envelope value as a MIDI note. This envelope is bypassed if no lpf env opts are specified. Default value is to match the `lpf_min:` opt.",
3348 :validations => [v_between_inclusive(:lpf_init_level, 0, 130)],
3349 :default => "lpf_min",
3350 :modulatable => false,
3351 :midi => true
3352 },
3353
3354 :lpf_attack_level =>
3355 {
3356 :doc => "The peak low pass filter envelope value after the attack phase as a MIDI note. This envelope is bypassed if no lpf env opts are specified. Default value is match the `lpf_decay_level:` opt.",
3357 :validations => [v_between_inclusive(:lpf_attack_level, 0, 130)],
3358 :modulatable => false,
3359 :default => "lpf_decay_level",
3360 :midi => true
3361 },
3362
3363 :lpf_decay_level =>
3364 {
3365 :doc => "The level of the low pass filter envelope after the decay phase as a MIDI note. This envelope is bypassed if no lpf env opts are specified. Default value is to match the `lpf_sustain_level:` opt.",
3366 :validations => [v_between_inclusive(:lpf_decay_level, 0, 130)],
3367 :modulatable => false,
3368 :default => "lpf_sustain_level",
3369 :midi => true
3370 },
3371
3372 :lpf_sustain_level =>
3373 {
3374 :doc => "The level of the low pass filter envelope after the sustain phase as a MIDI note. This envelope is bypassed if no lpf env opts are specified. Default value is to match the `lpf_release_level:` opt.",
3375 :validations => [v_between_inclusive(:lpf_sustain_level, 0, 130)],
3376 :modulatable => false,
3377 :default => "lpf_release_level",
3378 :midi => true
3379 },
3380
3381 :lpf_release_level =>
3382 {
3383 :doc => "The final value of the low pass filter envelope as a MIDI note. This envelope is bypassed if no lpf env opts are specified. Default value is to match the `lpf:` opt.",
3384 :validations => [v_between_inclusive(:lpf_release_level, 0, 130)],
3385 :modulatable => false,
3386 :default => "lpf",
3387 :midi => true
3388 },
3389
3390 :lpf_attack =>
3391 {
3392 :doc => "Attack time for low pass filter envelope. Amount of time (in beats) for sound to reach attack_level value. This envelope is bypassed if no lpf env opts are specified. Default value is set to match amp envelope's attack value.",
3393 :validations => [v_positive(:lpf_attack)],
28803394 :modulatable => false,
28813395 :default => "attack"
28823396 },
28833397
2884 :cutoff_decay =>
2885 {
2886 :doc => "Decay time for cutoff filter. Amount of time (in beats) for sound to move from full cutoff value (cutoff attack level) to the cutoff sustain level. Default value is set to match amp envelope's decay value.",
2887 :validations => [v_positive(:cutoff_decay)],
3398 :lpf_decay =>
3399 {
3400 :doc => "Decay time for low pass filter envelope. Amount of time (in beats) for sound to move from `lpf_attack_level:` to the `lpf_sustain_level:`. This envelope is bypassed if no lpf env opts are specified. Default value is set to match amp envelope's decay value.",
3401 :validations => [v_positive(:lpf_decay)],
28883402 :modulatable => false,
28893403 :default => "decay"
28903404 },
28913405
2892 :cutoff_sustain =>
2893 {
2894 :doc => "Amount of time for cutoff value to remain at sustain level in beats. When -1 (the default) will auto-stretch.",
2895 :validations => [[lambda{|args| v = args[:cutoff_sustain] ; (v == -1) || (v >= 0)}, "must either be a positive value or -1"]],
3406 :lpf_sustain =>
3407 {
3408 :doc => "Amount of time for low pass filter envelope value to remain at sustain level in beats. This envelope is bypassed if no lpf env opts are specified. When -1 (the default) will auto-stretch.",
3409 :validations => [[lambda{|args| v = args[:lpf_sustain] ; (v == -1) || (v >= 0)}, "must either be a positive value or -1"]],
28963410 :modulatable => false,
28973411 :default => "sustain"
28983412 },
28993413
2900 :cutoff_release =>
2901 {
2902 :doc => "Amount of time (in beats) for sound to move from cutoff sustain value to cutoff min value. Default value is set to match amp envelope's release value.",
2903 :validations => [v_positive(:cutoff_release)],
3414 :lpf_release =>
3415 {
3416 :doc => "Amount of time (in beats) for sound to move from `lpf_sustain_level:` to `lpf_release_level:`. This envelope is bypassed if no lpf env opts are specified. ",
3417 :validations => [v_positive(:lpf_release)],
29043418 :modulatable => false,
29053419 :default => "release"
29063420 },
29073421
2908 :cutoff_env_curve =>
3422 :lpf_env_curve =>
29093423 {
29103424 :doc => "Select the shape of the curve between levels in the cutoff envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed",
2911 :validations => [v_one_of(:cutoff_env_curve, [1, 2, 3, 4, 6, 7])],
3425 :validations => [v_one_of(:lpf_env_curve, [1, 2, 3, 4, 6, 7])],
29123426 :modulatable => false
29133427 },
29143428
2915 :cutoff_min =>
3429 :lpf_min =>
3430 {
3431 :doc => "The minimum low pass filter value.",
3432 :validations => [v_less_than_oet(:lpf_min, 130)],
3433 :modulatable => true,
3434 :default => 130,
3435 :midi => true
3436 },
3437
3438 :lpf_min_slide =>
3439 {
3440 :doc => generic_slide_doc(:lpf_min),
3441 :validations => [v_positive(:lpf_min_slide)],
3442 :modulatable => true,
3443 :bpm_scale => true
3444 },
3445
3446 :hpf_init_level =>
3447 {
3448 :doc => "The initial high pass filter envelope value as a MIDI note. This envelope is bypassed if no hpf env opts are specified. Default value is set to 130",
3449 :validations => [v_between_inclusive(:hpf_init_level, 0, 130)],
3450 :modulatable => false,
3451 :default => 130,
3452 :midi => true
3453 },
3454
3455 :hpf_attack_level =>
3456 {
3457 :doc => "The peak hpf cutoff (value of hpf cutoff at peak of attack) as a MIDI note.",
3458 :validations => [v_between_inclusive(:hpf_attack_level, 0, 130)],
3459 :modulatable => false,
3460 :midi => true,
3461 :default => "hpf_decay_level"
3462 },
3463
3464 :hpf_decay_level =>
3465 {
3466 :doc => "The level of hpf cutoff after the decay phase as a MIDI note.",
3467 :validations => [v_between_inclusive(:hpf_decay_level, 0, 130)],
3468 :modulatable => false,
3469 :midi => true,
3470 :default => "hpf_sustain_level"
3471
3472 },
3473
3474
3475 :hpf_sustain_level =>
3476 {
3477 :doc => "The sustain hpf cutoff (value of hpf cutoff at sustain time) as a MIDI note.",
3478 :validations => [v_between_inclusive(:hpf_sustain_level, 0, 130)],
3479 :modulatable => false,
3480 :midi => true,
3481 :default => "hpf_release_level"
3482 },
3483
3484 :hpf_release_level =>
3485 {
3486 :doc => "The sustain hpf cutoff (value of hpf cutoff at sustain time) as a MIDI note.",
3487 :validations => [v_between_inclusive(:hpf_release_level, 0, 130)],
3488 :modulatable => false,
3489 :midi => true,
3490 :default => "hpf"
3491 },
3492
3493
3494 :hpf_attack =>
3495 {
3496 :doc => "Attack time for hpf cutoff filter. Amount of time (in beats) for sound to reach full hpf cutoff value. Default value is set to match amp envelope's attack value.",
3497 :validations => [v_positive(:hpf_attack)],
3498 :modulatable => false,
3499 :default => "attack"
3500 },
3501
3502 :hpf_decay =>
3503 {
3504 :doc => "Decay time for hpf cutoff filter. Amount of time (in beats) for sound to move from full hpf cutoff value (cutoff attack level) to the hpf cutoff sustain level. Default value is set to match amp envelope's decay value.",
3505 :validations => [v_positive(:hpf_decay)],
3506 :modulatable => false,
3507 :default => "decay"
3508 },
3509
3510 :hpf_sustain =>
3511 {
3512 :doc => "Amount of time for hpf cutoff value to remain at hpf sustain level in beats. When -1 (the default) will auto-stretch.",
3513 :validations => [[lambda{|args| v = args[:hpf_sustain] ; (v == -1) || (v >= 0)}, "must either be a positive value or -1"]],
3514 :modulatable => false,
3515 :default => "sustain"
3516 },
3517
3518 :hpf_release =>
3519 {
3520 :doc => "Amount of time (in beats) for sound to move from hpf cutoff sustain value to hpf cutoff min value. Default value is set to match amp envelope's release value.",
3521 :validations => [v_positive(:hpf_release)],
3522 :modulatable => false,
3523 :default => "release"
3524 },
3525
3526 :hpf_env_curve =>
3527 {
3528 :doc => "Select the shape of the curve between levels in the hpf cutoff envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed",
3529 :validations => [v_one_of(:hpf_env_curve, [1, 2, 3, 4, 6, 7])],
3530 :modulatable => false
3531 },
3532
3533 :hpf_min =>
29163534 {
29173535 :doc => "The minimum cutoff value.",
2918 :validations => [v_less_than_oet(:cutoff_min, 130)],
3536 :validations => [v_less_than_oet(:hpf_min, 130)],
29193537 :modulatable => true,
29203538 :midi => true
29213539 },
29223540
2923 :cutoff_min_slide =>
2924 {
2925 :doc => generic_slide_doc(:cutoff_min),
2926 :validations => [v_positive(:cutoff_min_slide)],
2927 :modulatable => true,
2928 :bpm_scale => true
2929 },
2930
2931 }
3541 :hpf_min_slide =>
3542 {
3543 :doc => generic_slide_doc(:hpf_min),
3544 :validations => [v_positive(:hpf_min_slide)],
3545 :modulatable => true,
3546 :bpm_scale => true
3547 },
3548
3549
3550 :hpf_max =>
3551 {
3552 :doc => "The maximum high pass filter value.",
3553 :validations => [v_less_than_oet(:hpf_max, 130)],
3554 :modulatable => true,
3555 :default => 200,
3556 :midi => true
3557 },
3558
3559
3560 :compress =>
3561 {
3562 :doc => "Enable the compressor. This sits at the end of the internal FX chain immediately before the `amp:` opt. Therefore to drive the compressor use the `pre_amp:` opt which will amplify the signal before it hits any internal FX. The compressor compresses the dynamic range of the incoming signal. Equivalent to automatically turning the amp down when the signal gets too loud and then back up again when it's quiet. Useful for ensuring the containing signal doesn't overwhelm other aspects of the sound. Also a general purpose hard-knee dynamic range processor which can be tuned via the opts to both expand and compress the signal.",
3563 :validations => [v_one_of(:compress, [0, 1])],
3564 :modulatable => true
3565 },
3566
3567 :threshold =>
3568 {
3569 :doc => "Threshold value determining the break point between slope_below and slope_above. Only valid if the compressor is enabled by turning on the comp: opt.",
3570 :validations => [v_positive(:threshold)],
3571 :modulatable => true
3572 },
3573
3574 :threshold_slide =>
3575 {
3576 :doc => generic_slide_doc(:threshold),
3577 :validations => [v_positive(:threshold_slide)],
3578 :modulatable => true,
3579 :bpm_scale => true
3580 },
3581
3582 :slope_below =>
3583 {
3584 :doc => "Slope of the amplitude curve below the threshold. A value of 1 means that the output of signals with amplitude below the threshold will be unaffected. Greater values will magnify and smaller values will attenuate the signal. Only valid if the compressor is enabled by turning on the comp: opt.",
3585 :validations => [],
3586 :modulatable => true
3587 },
3588
3589 :slope_below_slide =>
3590 {
3591 :doc => generic_slide_doc(:slope_below),
3592 :validations => [v_positive(:slope_below_slide)],
3593 :modulatable => true,
3594 :bpm_scale => true
3595 },
3596
3597 :slope_above =>
3598 {
3599 :doc => "Slope of the amplitude curve above the threshold. A value of 1 means that the output of signals with amplitude above the threshold will be unaffected. Greater values will magnify and smaller values will attenuate the signal. Only valid if the compressor is enabled by turning on the comp: opt.",
3600
3601 :validations => [],
3602 :modulatable => true
3603 },
3604
3605 :slope_above_slide =>
3606 {
3607 :doc => generic_slide_doc(:slope_above),
3608 :validations => [v_positive(:slope_above_slide)],
3609 :modulatable => true,
3610 :bpm_scale => true
3611 },
3612
3613 :clamp_time =>
3614 {
3615 :doc => "Time taken for the amplitude adjustments to kick in fully (in seconds). This is usually pretty small (not much more than 10 milliseconds). Also known as the time of the attack phase. Only valid if the compressor is enabled by turning on the comp: opt.",
3616 :validations => [v_positive(:clamp_time)],
3617 :modulatable => true
3618 },
3619
3620 :clamp_time_slide =>
3621 {
3622 :doc => generic_slide_doc(:clamp_time),
3623 :validations => [v_positive(:clamp_time_slide)],
3624 :modulatable => true,
3625 :bpm_scale => true
3626 },
3627
3628 :relax_time =>
3629 {
3630 :doc => "Time taken for the amplitude adjustments to be released. Usually a little longer than clamp_time. If both times are too short, you can get some (possibly unwanted) artefacts. Also known as the time of the release phase. Only valid if the compressor is enabled by turning on the comp: opt.",
3631 :validations => [v_positive(:relax_time)],
3632 :modulatable => true
3633 },
3634
3635 :relax_time_slide =>
3636 {
3637 :doc => generic_slide_doc(:relax_time),
3638 :validations => [v_positive(:relax_time_slide)],
3639 :modulatable => true,
3640 :bpm_scale => true
3641 },
3642
3643 :pre_amp =>
3644 {
3645 :doc => "Amplitude multiplier which takes place immediately before any internal FX such as the low pass filter, compressor or pitch modification. Use this opt if you want to overload the compressor.",
3646 :validations => [v_positive(:pre_amp)],
3647 :modulatable => true
3648 },
3649
3650 :pre_amp_slide =>
3651 {
3652 :doc => generic_slide_doc(:pre_amp),
3653 :validations => [v_positive(:pre_amp_slide)],
3654 :modulatable => true,
3655 :bpm_scale => true
3656 }
3657
3658 })
29323659 end
29333660
29343661 end
30233750 end
30243751
30253752 class FXInfo < BaseInfo
3753 def user_facing?
3754 true
3755 end
30263756
30273757 def trigger_with_logical_clock?
30283758 true
34564186 :amp_slide => 0,
34574187 :amp_slide_shape => 1,
34584188 :amp_slide_curve => 0,
4189 }
4190 end
4191 end
4192
4193 class FXMono < FXInfo
4194 def name
4195 "Mono"
4196 end
4197
4198 def introduced
4199 Version.new(2,10,0)
4200 end
4201
4202 def synth_name
4203 "fx_mono"
4204 end
4205
4206 def doc
4207 "Sum left and right channels. Useful with stereo samples that you need as a mono sound, or for use with panslicer."
4208 end
4209
4210 def arg_defaults
4211 {
4212 :amp => 1,
4213 :amp_slide => 0,
4214 :amp_slide_shape => 1,
4215 :amp_slide_curve => 0,
4216 :pan => 0,
4217 :pan_slide => 0,
4218 :pan_slide_shape => 1,
4219 :pan_slide_curve => 0,
4220 :mix => 1,
4221 :mix_slide => 0,
4222 :mix_slide_shape => 1,
4223 :mix_slide_curve => 0,
34594224 }
34604225 end
34614226 end
44515216 end
44525217 end
44535218
5219 class FXWhammy < FXInfo
5220 def name
5221 "Whammy"
5222 end
5223
5224 def introduced
5225 Version.new(2,10,0)
5226 end
5227
5228 def synth_name
5229 "fx_whammy"
5230 end
5231
5232 def doc
5233 "A cheap sounding transposition effect, with a slightly robotic edge. Good for adding alien sounds and harmonies to everything from beeps to guitar samples. It's similar to pitch shift although not as smooth sounding."
5234 end
5235
5236 def arg_defaults
5237 {
5238 :amp => 1,
5239 :amp_slide => 0,
5240 :amp_slide_shape => 1,
5241 :amp_slide_curve => 0,
5242 :mix => 1,
5243 :pre_amp => 1,
5244 :pre_amp_slide => 0,
5245 :pre_amp_slide_shape => 1,
5246 :pre_amp_slide_curve => 0,
5247 :transpose => 12,
5248 :transpose_slide => 0,
5249 :transpose_slide_shape => 1,
5250 :transpose_slide_curve => 0,
5251 :max_delay_time => 1,
5252 :deltime => 0.05,
5253 :grainsize => 0.075
5254 }
5255 end
5256
5257 def specific_arg_info
5258 {
5259
5260 :transpose =>
5261 {
5262 :doc => "This is how much to transpose the input, expressed as a midi pitch.",
5263 :modulatable => true
5264 },
5265
5266 :transpose_slide =>
5267 {
5268 :doc => generic_slide_doc(:transpose),
5269 :validations => [v_positive(:transpose_slide)],
5270 :modulatable => true,
5271 },
5272
5273 :deltime =>
5274 {
5275 :doc => "The delay time to be used for the effect. This shouldn't need to be adjusted.",
5276 :validations => [v_positive(:deltime)],
5277 },
5278
5279 :max_delay_time =>
5280 {
5281 :doc => "The max delay time to be used for the effect. This shouldn't need to be adjusted.",
5282 :validations => [v_positive(:max_delay_time)],
5283 },
5284
5285 :grainsize =>
5286 {
5287 :doc => "The size of the initial grain used for transposition. This shouldn't need to be adjusted.",
5288 :validations => [v_positive(:grainsize)],
5289 },
5290 }
5291 end
5292 end
44545293
44555294 class FXCompressor < FXInfo
44565295 def name
45855424 end
45865425 end
45875426
5427 class FXVowel < FXInfo
5428 def name
5429 "Vowel"
5430 end
5431
5432 def introduced
5433 Version.new(2,10,0)
5434 end
5435
5436 def synth_name
5437 "fx_vowel"
5438 end
5439
5440 def arg_defaults
5441 {
5442 :amp => 1,
5443 :amp_slide => 0,
5444 :amp_slide_shape => 1,
5445 :amp_slide_curve => 0,
5446 :pre_amp => 1,
5447 :pre_amp_slide => 0,
5448 :pre_amp_slide_shape => 1,
5449 :pre_amp_slide_curve => 0,
5450 :vowel_sound => 1,
5451 :voice => 0
5452 }
5453 end
5454
5455 def specific_arg_info
5456 {
5457 :vowel_sound =>
5458 {
5459 :doc => "1,2,3,4,5 => A,E,I,O,U",
5460 :validations => [v_one_of(:vowel_sound, [1,2,3,4,5])],
5461 :modulatable => true
5462 },
5463 :voice =>
5464 {
5465 :doc => "0,1,2,3,4 => Soprano,Alto,Counter Tenor, Tenor, Bass",
5466 :validations => [v_one_of(:voice, [0,1,2,3,4])],
5467 :modulatable => true
5468 }
5469 }
5470 end
5471
5472 def doc
5473 "This effect filters the input to match a human voice singing a certain vowel sound. Human singing voice sounds are easily achieved with a source of a saw wave with a little vibrato."
5474 end
5475 end
5476
45885477 class FXOctaver < FXInfo
45895478 def name
45905479 "Octaver"
46125501 :pre_amp_slide => 0,
46135502 :pre_amp_slide_shape => 1,
46145503 :pre_amp_slide_curve => 0,
4615 :oct1_amp => 1,
4616 :oct1_amp_slide => 0,
4617 :oct1_amp_slide_shape => 1,
4618 :oct1_amp_slide_curve => 0,
4619 :oct1_interval => 12,
4620 :oct1_interval_slide => 0,
4621 :oct1_interval_slide_shape => 1,
4622 :oct1_interval_slide_curve => 0,
4623 :oct2_amp => 1,
4624 :oct2_amp_slide => 0,
4625 :oct2_amp_slide_shape => 1,
4626 :oct2_amp_slide_curve => 0,
4627 :oct3_amp => 1,
4628 :oct3_amp_slide => 0,
4629 :oct3_amp_slide_shape => 1,
4630 :oct3_amp_slide_curve => 0
5504 :super_amp => 1,
5505 :super_amp_slide => 0,
5506 :super_amp_slide_shape => 1,
5507 :super_amp_slide_curve => 0,
5508 :sub_amp => 1,
5509 :sub_amp_slide => 0,
5510 :sub_amp_slide_shape => 1,
5511 :sub_amp_slide_curve => 0,
5512 :subsub_amp => 1,
5513 :subsub_amp_slide => 0,
5514 :subsub_amp_slide_shape => 1,
5515 :subsub_amp_slide_curve => 0
46315516 }
46325517 end
46335518
46345519 def specific_arg_info
46355520 {
4636 :oct1_amp =>
5521 :super_amp =>
46375522 {
46385523 :doc => "Volume of the signal 1 octave above the input",
4639 :validations => [v_positive(:oct1_amp)],
4640 :modulatable => true
4641 },
4642 :oct2_amp =>
5524 :validations => [v_positive(:super_amp)],
5525 :modulatable => true
5526 },
5527 :sub_amp =>
46435528 {
46445529 :doc => "Volume of the signal 1 octave below the input",
4645 :validations => [v_positive(:oct2_amp)],
4646 :modulatable => true
4647 },
4648 :oct3_amp =>
5530 :validations => [v_positive(:sub_amp)],
5531 :modulatable => true
5532 },
5533 :subsub_amp =>
46495534 {
46505535 :doc => "Volume of the signal 2 octaves below the input",
4651 :validations => [v_positive(:oct3_amp)],
5536 :validations => [v_positive(:subsub_amp)],
46525537 :modulatable => true
46535538 }
46545539 }
46555540 end
46565541
46575542 def doc
4658 "This harmoniser adds three pitches based on the input sound. The first is the original sound transposed up an octave, the second is the original sound transposed down an octave and the third is the original sound transposed down two octaves.
4659
4660 The way the transpositions are done adds some distortion, particularly to the lower octaves, whilst the upper octave has a 'cheap' quality. This effect is often used in guitar effects pedals but it can work with other sounds too."
5543 "This effect adds three pitches based on the input sound. The first is the original sound transposed up an octave (super_amp), the second is the original sound transposed down an octave (sub_amp) and the third is the original sound transposed down two octaves (subsub_amp).
5544
5545 The way the transpositions are done adds some distortion/fuzz, particularly to the lower octaves, whilst the upper octave has a 'cheap' quality. This effect is often used in guitar effects pedals but it can work with other sounds too. There's a great description of the science behind this on Wikipedia here: https://en.wikipedia.org/wiki/Octave_effect"
46615546 end
46625547 end
46635548
54176302 :mix_slide => 0,
54186303 :mix_slide_shape => 1,
54196304 :mix_slide_curve => 0,
5420 :krunch => 1,
6305 :krunch => 5,
54216306 :krunch_slide => 0,
54226307 :krunch_slide_shape => 1,
54236308 :krunch_slide_curve => 0,
58696754 :drum_cymbal_closed,
58706755 :drum_cymbal_pedal,
58716756 :drum_bass_soft,
5872 :drum_bass_hard]},
6757 :drum_bass_hard,
6758 :drum_cowbell,
6759 :drum_roll]},
58736760
58746761 :elec => {
58756762 :desc => "Electric Sounds",
59146801 :desc => "Miscellaneous Sounds",
59156802 :prefix => "misc_",
59166803 :samples => [
5917 :misc_burp]},
6804 :misc_burp,
6805 :misc_crow,
6806 :misc_cineboom]},
59186807
59196808 :perc => {
59206809 :desc => "Percussive Sounds",
59226811 :samples => [
59236812 :perc_bell,
59246813 :perc_snap,
5925 :perc_snap2]},
6814 :perc_snap2,
6815 :perc_swash,
6816 :perc_till]},
59266817
59276818 :ambi => {
59286819 :desc => "Ambient Sounds",
59526843 :bass_voxy_hit_c,
59536844 :bass_dnb_f]},
59546845
5955 :snares => {
6846 :sn => {
59566847 :desc => "Snare Drums",
59576848 :prefix => "sn_",
59586849 :samples => [
59606851 :sn_dolf,
59616852 :sn_zome]},
59626853
5963 :bass_drums => {
6854 :bd => {
59646855 :desc => "Bass Drums",
59656856 :prefix => "bd_",
59666857 :samples => [
59876878 :loop_amen_full,
59886879 :loop_garzul,
59896880 :loop_mika,
5990 :loop_breakbeat]}}
6881 :loop_breakbeat,
6882 :loop_safari,
6883 :loop_tabla]},
6884
6885 :tabla => {
6886 :desc => "Sounds of a Tabla Drum",
6887 :prefix => "tabla_",
6888 :samples => [
6889 :tabla_tas1,
6890 :tabla_tas2,
6891 :tabla_tas3,
6892 :tabla_ke1,
6893 :tabla_ke2,
6894 :tabla_ke3,
6895 :tabla_na,
6896 :tabla_na_o,
6897 :tabla_tun1,
6898 :tabla_tun2,
6899 :tabla_tun3,
6900 :tabla_te1,
6901 :tabla_te2,
6902 :tabla_te_ne,
6903 :tabla_te_m,
6904 :tabla_ghe1,
6905 :tabla_ghe2,
6906 :tabla_ghe3,
6907 :tabla_ghe4,
6908 :tabla_ghe5,
6909 :tabla_ghe6,
6910 :tabla_ghe7,
6911 :tabla_ghe8,
6912 :tabla_dhec,
6913 :tabla_na_s,
6914 :tabla_re]},
6915
6916 :vinyl => {
6917 :desc => "Vinyl sounds",
6918 :prefix => "vinyl_",
6919 :samples => [
6920 :vinyl_backspin,
6921 :vinyl_rewind,
6922 :vinyl_scratch,
6923 :vinyl_hiss]}
6924 }
6925
59916926
59926927 @@all_samples = (@@grouped_samples.values.reduce([]) {|s, el| s << el[:samples]}).flatten
59936928
60046939 :tri => Tri.new,
60056940 :dsaw => DSaw.new,
60066941 :dpulse => DPulse.new,
6942 :dtri => DTri.new,
60076943 :fm => FM.new,
60086944 :mod_fm => ModFM.new,
60096945 :mod_saw => ModSaw.new,
60126948 :mod_beep => ModSine.new,
60136949 :mod_tri => ModTri.new,
60146950 :mod_pulse => ModPulse.new,
6951 :chiplead => ChipLead.new,
6952 :chipbass => ChipBass.new,
60156953 :tb303 => TB303.new,
60166954 :supersaw => Supersaw.new,
60176955 :hoover => Hoover.new,
60266964 :stereo_player => StereoPlayer.new,
60276965 :blade => SynthViolin.new,
60286966 :piano => SynthPiano.new,
6967 :pluck => SynthPluck.new,
60296968
60306969 :sound_in => SoundIn.new,
6970 :sound_in_stereo => SoundInStereo.new,
60316971 :noise => Noise.new,
60326972 :pnoise => PNoise.new,
60336973 :bnoise => BNoise.new,
60346974 :gnoise => GNoise.new,
60356975 :cnoise => CNoise.new,
6976 :chipnoise => ChipNoise.new,
60366977
60376978 :basic_mono_player => BasicMonoPlayer.new,
60386979 :basic_stereo_player => BasicStereoPlayer.new,
60456986 :fx_gverb => FXGVerb.new,
60466987 :fx_replace_reverb => FXReverb.new,
60476988 :fx_level => FXLevel.new,
6989 :fx_mono => FXMono.new,
60486990 :fx_replace_level => FXLevel.new,
60496991 :fx_echo => FXEcho.new,
60506992 :fx_replace_echo => FXEcho.new,
60566998 :fx_ixi_techno => FXIXITechno.new,
60576999 :fx_replace_ixi_techno => FXIXITechno.new,
60587000 :fx_compressor => FXCompressor.new,
7001 :fx_whammy => FXWhammy.new,
60597002 :fx_replace_compressor => FXCompressor.new,
60607003 :fx_rlpf => FXRLPF.new,
60617004 :fx_replace_rlpf => FXRLPF.new,
60887031 :fx_pitch_shift => FXPitchShift.new,
60897032 :fx_ring_mod => FXRingMod.new,
60907033 #:fx_chorus => FXChorus.new,
6091 #:fx_harmoniser => FXHarmoniser.new,
7034 :fx_octaver => FXOctaver.new,
7035 :fx_vowel => FXVowel.new,
60927036 :fx_flanger => FXFlanger.new
60937037 }
60947038
61097053 end
61107054
61117055 def self.all_synths
6112 @@synth_infos.keys
7056 @@synth_infos.select {|k, v| v.is_a?(SonicPiSynth) && v.user_facing?}.keys
7057 end
7058
7059 def self.all_fx
7060 fx = @@synth_infos.select {|k, v| v.is_a?(FXInfo) && v.user_facing? && !k.to_s.include?('replace_')}.keys
7061 fx.map { |k, v| k.to_s[3..-1].to_sym }
61137062 end
61147063
61157064 def self.info_doc_html_map(klass)
61407089 doc << "<p><table class=\"arguments\"><tr>\n"
61417090 cnt = 0
61427091 v.arg_info.each do |ak, av|
6143 doc << "</tr><tr>" if (cnt > 0) and cnt % 6 == 0
6144 td_class = cnt.even? ? "even" : "odd"
6145 doc << "<td class=\"#{td_class}\"><a href=\"##{ak}\">#{ak}:</a></td>\n"
6146 doc << "<td class=\"#{td_class}\">#{av[:default]}</td>\n"
7092 doc << "</tr><tr>" if (cnt > 0) and cnt % 4 == 0
7093 doc << "<td class=\"even\"><a href=\"##{ak}\">#{ak}:</a></td>\n"
7094 doc << "<td class=\"odd\">#{av[:default]}</td>\n"
61477095 cnt += 1
61487096 end
61497097 doc << "</tr></table></p>\n\n"
61657113 doc << "<p class=\"introduced\">"
61667114 doc << "Introduced in " << v.introduced.to_s << "</p>\n\n"
61677115
6168 doc << "<h2>Parameters</h2>\n"
7116 doc << "<h2>Options</h2>\n"
61697117
61707118 doc << "<p><table class=\"details\">\n"
61717119
61837131 doc << " Default: #{av[:default]}\n"
61847132 doc << " <br/>#{av[:constraints].join(",").capitalize}\n" unless av[:constraints].empty?
61857133 doc << " <br/>#{av[:modulatable] ? "May be changed whilst playing" : "Can not be changed once set"}\n"
6186 doc << " <br/><a href=\"#slide\">Has slide parameters to shape changes</a>\n" if av[:slidable]
7134 doc << " <br/><a href=\"#slide\">Has slide options to shape changes</a>\n" if av[:slidable]
61877135 doc << " <br/>Scaled with current BPM value\n" if av[:bpm_scale]
61887136 doc << " </p>\n"
61897137 doc << " </td>\n"
61957143
61967144 if any_slidable then
61977145 doc << "<a name=slide></a>\n"
6198 doc << "<h2>Slide Parameters</h2>\n"
6199 doc << "<p>Any parameter that is slidable has three additional parameters named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:</p>\n"
7146 doc << "<h2>Slide Options</h2>\n"
7147 doc << "<p>Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:</p>\n"
62007148 slide_args = {
62017149 :_slide => {:default => 0, :doc=>v.generic_slide_doc('parameter')},
62027150 :_slide_shape => {:default=>5, :doc=>v.generic_slide_shape_doc('parameter')},
62357183
62367184 get_all.each do |k, v|
62377185 next unless v.is_a? klass
7186 next if k.to_s.include? 'replace_'
62387187 snake_case = v.name.downcase.gsub(/ /, "-")
62397188 res << "* [#{v.name}](##{snake_case})\n"
62407189 end
62417190 res << "\n"
62427191 get_all.each do |k, v|
62437192 next unless v.is_a? klass
7193 next if k.to_s.include? 'replace_'
62447194 res << "## " << v.name << "\n\n"
62457195 res << "### Key:\n"
62467196 mk = key_mod ? key_mod.call(k) : k
62567206 res << " - #{av[:modulatable] ? "May be changed whilst playing" : "Can not be changed once set"}\n"
62577207 res << " - Scaled with current BPM value\n" if av[:bpm_scale]
62587208 res << " - Accepts note symbols such as :e3\n" if av[:midi]
6259 res << " - Has slide parameters for shaping changes\n" if av[:slidable]
7209 res << " - Has slide options for shaping changes\n" if av[:slidable]
62607210 end
62617211 res << "\n\n"
62627212
62917241 doc << "<h1>" << v[:desc] << "</h1>\n"
62927242 doc << "<p><table class=\"arguments\"><tr>\n"
62937243 StereoPlayer.new.arg_info.each do |ak, av|
6294 doc << "</tr><tr>" if (cnt > 0) and cnt % 6 == 0
6295 td_class = cnt.even? ? "even" : "odd"
6296 doc << "<td class=\"#{td_class}\"><a href=\"##{ak}\">#{ak}:</a></td>\n"
6297 doc << "<td class=\"#{td_class}\">#{av[:default]}</td>\n"
7244 doc << "</tr><tr>" if (cnt > 0) and cnt % 4 == 0
7245 doc << "<td class=\"even\"><a href=\"##{ak}\">#{ak}:</a></td>\n"
7246 doc << "<td class=\"odd\">#{av[:default]}</td>\n"
62987247 cnt += 1
62997248 end
63007249 doc << "</tr></table></p>\n"
63107259
63117260 cnt = 0
63127261 StereoPlayer.new.arg_info.each do |ak, av|
6313 td_class = cnt.even? ? "even" : "odd"
63147262 doc << "<a name=\"#{ak}\"></a>\n"
63157263 doc << "<tr>\n"
6316 doc << " <td class=\"#{td_class} key\">#{ak}:</td>\n"
6317 doc << " <td class=\"#{td_class}\">\n"
7264 doc << " <td class=\"even key\">#{ak}:</td>\n"
7265 doc << " <td class=\"odd\">\n"
63187266 doc << " <p>#{av[:doc] || 'write me'}</p>\n"
63197267 doc << " <p class=\"properties\">\n"
63207268 doc << " Default: #{av[:default]}\n"
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
9494 end
9595
9696 def midi_to_hz(n)
97 440.0 * (2 ** ((n - 69) / 12.0))
97 (440.0 * (2 ** ((n - 69) / 12.0))).round(9)
9898 end
9999
100100 def hz_to_midi(freq)
101 (12 * (Math.log(freq * 0.0022727272727) / Math.log(2))) + 69
101 ((12 * (Math.log(freq * 0.0022727272727) / Math.log(2))) + 69).round(9)
102102 end
103103
104104 private
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
1515
1616 module SonicPi
1717 module Util
18 @@safe_mode = false
1819 @@tilde_dir = Dir.home
1920 @@project_path = nil
2021 @@log_path = nil
2122 @@current_uuid = nil
2223 @@home_dir = nil
2324 @@util_lock = Mutex.new
24 @@raspberry_pi_1 = RUBY_PLATFORM.match(/.*arm.*-linux.*/) && File.exists?('/proc/cpuinfo') && !(`cat /proc/cpuinfo | grep ARMv6`.empty?)
25 @@raspberry_pi_1 = RUBY_PLATFORM.match(/.*arm.*-linux.*/) && File.exists?('/proc/cpuinfo') && !(`cat /proc/cpuinfo | grep BCM2708`).empty?
26 @@raspberry_pi_2 = RUBY_PLATFORM.match(/.*arm.*-linux.*/) && File.exists?('/proc/cpuinfo') && !(`cat /proc/cpuinfo | grep BCM2709`).empty? && (`cat /proc/cpuinfo | grep crc32`).empty?
27 @@raspberry_pi_3 = RUBY_PLATFORM.match(/.*arm.*-linux.*/) && File.exists?('/proc/cpuinfo') && !(`cat /proc/cpuinfo | grep BCM2709`).empty? && !(`cat /proc/cpuinfo | grep crc32`).empty?
28
29 @@home_dir = File.expand_path((ENV['SONIC_PI_HOME'] || Dir.home) + '/.sonic-pi/')
30 @@project_path = @@home_dir + '/store/default/'
31 @@log_path = @@home_dir + '/log/'
32
33 [@@home_dir, @@project_path, @@log_path].each do |dir|
34
35 begin
36 FileUtils.mkdir_p(dir) unless File.exists?(dir)
37 rescue
38 @@safe_mode = true
39 STDERR.puts "Unable to create #{dir} due to permissions errors"
40 end
41 end
42
43 begin
44 @@log_file = File.open("#{@@log_path}/debug.log", 'w')
45 rescue
46 @@safe_mode = true
47 STDERR.puts "Unable to open log file #{@@log_path}/debug.log"
48 @@log_file = nil
49 end
50
51
52 at_exit do
53 @@log_file.close if @@log_file
54 end
2555
2656 def os
2757 case RUBY_PLATFORM
3868 end
3969 end
4070
71 def raspberry_pi?
72 os == :raspberry
73 end
74
4175 def raspberry_pi_1?
4276 os == :raspberry && @@raspberry_pi_1
4377 end
4478
4579 def raspberry_pi_2?
46 os == :raspberry && !@@raspberry_pi_1
80 os == :raspberry && @@raspberry_pi_2
81 end
82
83 def raspberry_pi_3?
84 os == :raspberry && @@raspberry_pi_3
4785 end
4886
4987 def unify_tilde_dir(path)
6098 end
6199
62100 def default_sched_ahead_time
63 if (os == :raspberry)
101 if raspberry_pi_1?
64102 1
65103 else
66 0.2
104 0.5
67105 end
68106 end
69107
71109 case os
72110 when :raspberry
73111 if raspberry_pi_1?
112 "Raspberry Pi 1"
113 elsif raspberry_pi_2?
114 "Raspberry Pi 2"
115 elsif raspberry_pi_3?
116 "Raspberry Pi 3"
117 else
74118 "Raspberry Pi"
75 else
76 "Raspberry Pi 2"
77119 end
78120 when :linux
79121 "Linux"
85127 end
86128
87129 def default_control_delta
88 if raspberry_pi_1?
89 0.02
90 elsif raspberry_pi_2?
91 0.013
130 if raspberry_pi?
131 if raspberry_pi_1?
132 0.02
133 else
134 0.013
135 end
92136 else
93137 0.005
94138 end
95139 end
96140
97141 def home_dir
98 return @@home_dir if @@home_dir
99 @@util_lock.synchronize do
100 return @@home_dir if @@home_dir
101 path = File.expand_path((ENV['SONIC_PI_HOME'] || Dir.home) + '/.sonic-pi/')
102 ensure_dir(path)
103 @@home_dir = path
104 path
105 end
142 @@home_dir
106143 end
107144
108145 def init_path
110147 end
111148
112149 def project_path
113 return @@project_path if @@project_path
114 @@util_lock.synchronize do
115 return @@project_path if @@project_path
116 ## TODO: allow user to modify this for different projects
117 path = home_dir + '/store/default/'
118 ensure_dir(path)
119 @@project_path = path
120 path
121 end
150 @@project_path
122151 end
123152
124153 def log_path
125 return @@log_path if @@log_path
126 @@util_lock.synchronize do
127 return @@log_path if @@log_path
128 path = home_dir + '/log/'
129 ensure_dir(path)
130 @@log_path = path
131 path
132 end
154 @@log_path
133155 end
134156
135157 def global_uuid
149171
150172 # invalid or no uuid - create and store a new one
151173 new_uuid = SecureRandom.uuid
152 File.open(path, 'w') {|f| f.write(new_uuid)}
174 begin
175 File.open(path, 'w') {|f| f.write(new_uuid)}
176 rescue
177 @@safe_mode = true
178 log "Unable to write uuid file to #{path}"
179 end
153180 @@current_uuid = new_uuid
154181 new_uuid
155182 end
156183 end
157184
158185 def ensure_dir(d)
159 FileUtils.mkdir_p(d) unless File.exists?(d)
186 begin
187 FileUtils.mkdir_p(dir) unless File.exists?(dir)
188 rescue
189 @@safe_mode = true
190 log "Unable to create #{dir} due to permissions errors"
191 end
192 end
193
194 def linux_fhs?
195 # use FHS directory scheme:
196 # check if Sonic Pi's ruby server is not running inside the
197 # user's home directory, but is installed in /usr/lib/sonic-pi
198 # on Linux from a distribution's package
199 File.dirname(__FILE__).start_with?("/usr/lib/sonic-pi")
160200 end
161201
162202 def root_path
168208 end
169209
170210 def snippets_path
171 File.absolute_path("#{etc_path}/snippets")
211 linux_fhs? ?
212 File.absolute_path("/usr/share/sonic-pi/snippets") :
213 File.absolute_path("#{etc_path}/snippets")
172214 end
173215
174216 def doc_path
175 File.absolute_path("#{etc_path}/doc")
217 linux_fhs? ?
218 File.absolute_path("/usr/share/doc/sonic-pi") :
219 File.absolute_path("#{etc_path}/doc")
176220 end
177221
178222 def cheatsheets_path
184228 end
185229
186230 def tmp_path
187 File.absolute_path("#{root_path}/tmp")
231 linux_fhs? ?
232 File.absolute_path("/tmp") :
233 File.absolute_path("#{root_path}/tmp")
188234 end
189235
190236 def synthdef_path
191 File.absolute_path("#{etc_path}/synthdefs/compiled")
237 linux_fhs? ?
238 File.absolute_path("/usr/share/sonic-pi/synthdefs/compiled") :
239 File.absolute_path("#{etc_path}/synthdefs/compiled")
192240 end
193241
194242 def samples_path
195 File.absolute_path("#{etc_path}/samples")
243 linux_fhs? ?
244 File.absolute_path("/usr/share/sonic-pi/samples") :
245 File.absolute_path("#{etc_path}/samples")
196246 end
197247
198248 def buffers_path
199 File.absolute_path("#{etc_path}/buffers")
249 linux_fhs? ?
250 File.absolute_path("/usr/share/sonic-pi/buffers") :
251 File.absolute_path("#{etc_path}/buffers")
200252 end
201253
202254 def app_path
242294 end
243295
244296 def log_raw(s)
245 # TODO: consider moving this into a worker thread to reduce file
246 # io overhead:
247 File.open("#{log_path}/debug.log", 'a') {|f| f.write("[#{Time.now.strftime("%Y-%m-%d %H:%M:%S")}] #{s}")}
297 if @@log_file
298 @@log_file.write("[#{Time.now.strftime("%Y-%m-%d %H:%M:%S")}] #{s}")
299 @@log_file.flush
300 else
301 Kernel.puts("[#{Time.now.strftime("%Y-%m-%d %H:%M:%S")}] #{s}")
302 end
248303 end
249304
250305 def log_exception(e, context="")
266321 def log(message)
267322 if debug_mode
268323 res = ""
324 res << "\n" if message.empty?
269325 first = true
270326 while !(message.empty?)
271327 if first
276332 res << " "
277333 res << message.slice!(0..133)
278334 res << "\n"
279
280335 end
281336 end
282337 log_raw res
321376 return res if idx == size
322377 left = (opts_a[idx..-1])
323378 raise "There must be an even number of trailing synth args" unless left.size.even?
324 res.merge(Hash[*left])
379 h = Hash[*left]
380 res.merge()
381 end
382
383 def purge_nil_vals!(m)
384 m.delete_if { |k, v| v.nil? }
325385 end
326386
327387 def arg_h_pp(arg_h)
328388 s = "{"
329389 arg_h.each do |k, v|
330 rounded = v.is_a?(Float) ? v.round(4) : v.inspect
331 s << "#{k}: #{rounded}, "
390 if v
391 rounded = v.is_a?(Float) ? v.round(4) : v.inspect
392 s << "#{k}: #{rounded}, "
393 end
332394 end
333395 s.chomp(", ") << "}"
334396 end
335397
336
398 def safe_mode?
399 @@safe_mode
400 end
337401 end
338402 end
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
33 # Full project source: https://github.com/samaaron/sonic-pi
44 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
55 #
6 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
6 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
77 # All rights reserved.
88 #
99 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
2727 @mock_sound.stubs(:ensure_good_timing!) # avoid loading Spider class
2828 @mock_sound.stubs(:__delayed_user_message)
2929 @mock_sound.stubs(:current_synth_name).returns(:beep)
30 @mock_sound.send(:init_tuning)
3031 end
3132
3233 def test_play_with_various_args
3738 @mock_sound.play :c, release: 0.1
3839
3940 # Single hash
40 @mock_sound.expects(:trigger_inst).with(:beep, {note: :c, release: 0.1})
41 @mock_sound.expects(:trigger_inst).with(:beep, {note: 60, release: 0.1})
4142 @mock_sound.play({note: :c, release: 0.1})
4243
43 # Hash and args
44 @mock_sound.expects(:trigger_inst).with(:beep, {note: :c, amp: 1, release: 0.1})
45 @mock_sound.play({note: :c, amp: 1}, {release: 0.1})
44 # nils are culled (but only prior to encoding as an OSC message)
45 @mock_sound.expects(:trigger_inst).with(:beep, {note: 60, cutoff: nil})
46 @mock_sound.play({note: :c, cutoff: nil})
4647 end
4748
49 def test_multi_notes
50 @mock_sound.expects(:trigger_chord).with(:beep, [62.0], {})
51 @mock_sound.play [62]
52 end
53
54 def test_note_with_tuning
55 @mock_sound.expects(:trigger_inst).with(:beep, {note: 62.039100017})
56 @mock_sound.with_tuning :just do
57 @mock_sound.play 62
58 end
59 end
60
61 def test_chord_with_tuning
62 @mock_sound.expects(:trigger_chord).with(:beep, [62.039100017], {})
63 @mock_sound.with_tuning :just do
64 @mock_sound.play [62]
65 end
66 end
67
68 def test_play_chord_with_tuning
69 @mock_sound.expects(:trigger_chord).with(:beep, [62.039100017], {})
70 @mock_sound.with_tuning :just do
71 @mock_sound.play_chord [62]
72 end
73 end
4874 end
4975 end
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
1515 require_relative "../../../lib/sonicpi/buffer"
1616 require_relative "../../../lib/sonicpi/lang/core"
1717 require_relative "../../../lib/sonicpi/lang/sound"
18 require_relative "../../../lib/sonicpi/synths/synthinfo"
1819 require 'mocha/setup'
1920 require 'ostruct'
2021
2122 module SonicPi
2223 class SampleTester < Minitest::Test
24 class MockStudio
25 def initialize
26 @mod_sound_studio = Object.new
27 @mod_sound_studio.stubs(:sample_loaded?).returns(true)
28 end
29 end
30
2331 def setup
24 @mock_sound = Object.new
32 @mock_sound = MockStudio.new
2533 @mock_sound.extend(Lang::Sound)
2634 @mock_sound.extend(Lang::Core)
2735 @mock_sound.stubs(:sleep) # avoid loading Spider class
2836 @mock_sound.stubs(:ensure_good_timing!) # avoid loading Spider class
29 @mock_sound.stubs(:load_sample).returns(OpenStruct.new({id: 42, num_chans: 2}))
37 @mock_sound.stubs(:sample_loaded?).returns(true)
38 @mock_sound.stubs(:__delayed_user_message).returns(true)
39 @mock_sound.stubs(:sample_find_candidates).returns(["/foo/bar.wav"])
40 @mock_sound.stubs(:load_sample_at_path).returns(OpenStruct.new({id: 42, num_chans: 2}))
41 @info = Synths::SynthInfo.get_info(:stereo_player)
3042 end
3143
3244 def test_sample_with_various_args
33 @mock_sound.expects(:trigger_sampler).with(:loop_amen, 42, 2, {})
45 @mock_sound.expects(:trigger_sampler).with("/foo/bar.wav", {})
3446 @mock_sound.sample :loop_amen
3547
36 @mock_sound.expects(:trigger_sampler).with(:loop_amen, 42, 2, {rate: 2})
48 @mock_sound.expects(:trigger_sampler).with("/foo/bar.wav", {rate: 2})
3749 @mock_sound.sample :loop_amen, rate: 2
3850
39 @mock_sound.expects(:trigger_sampler).with(:loop_amen, 42, 2, {rate: 2})
40 @mock_sound.sample lambda { :loop_amen }, rate: 2
51 # # This works in the codebase, but need to figure out a nice way of
52 # # testing it...
53 # # @mock_sound.expects(:trigger_sampler).with(:loop_amen, 42, 2, {rate: 2})
54 # # @mock_sound.sample lambda { :loop_amen }, rate: 2
4155
42 # Single hash
43 @mock_sound.expects(:trigger_sampler).with(:loop_amen, 42, 2, {rate: 2})
44 @mock_sound.sample name: :loop_amen, rate: 2
56 #Single hash
57 @mock_sound.expects(:trigger_sampler).with("/foo/bar.wav", {rate: 2})
58 @mock_sound.sample sample_name: :loop_amen, rate: 2
4559
4660 # Hash and args
47 @mock_sound.expects(:trigger_sampler).with(:loop_amen, 42, 2, {rate: 2})
48 @mock_sound.sample({name: :loop_amen}, {rate: 2})
61 @mock_sound.expects(:trigger_sampler).with("/foo/bar.wav", {rate: 2})
62 @mock_sound.sample({sample_name: :loop_amen}, {rate: 2})
4963 end
5064
5165 end
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
1212
1313 require_relative "../../setup_test"
1414 require_relative "../../../lib/sonicpi/util"
15 require_relative "../../../lib/sonicpi/lang/sound"
15 require_relative "../../../lib/sonicpi/sample_loader"
1616
1717 module SonicPi
1818 module Lang
1919 module Sound
2020 module_function :sample_duration
2121 module_function :pitch_to_ratio
22 module_function :sample_split_filts_and_opts
23
2224
2325 # mock out load_sample to always return a sample with duration 8
24 def self.load_sample(path)
26 def self.load_sample_at_path(path)
2527 mock_samp = Struct.new(:duration)
2628 mock_samp.new(8)
2729 end
2931 # mock out current bpm to be 60
3032 def self.current_bpm
3133 60
34 end
35
36 def self.resolve_sample_path(*args)
37 "/foo/bar"
3238 end
3339 end
3440 end
0 #--
1 # This file is part of Sonic Pi: http://sonic-pi.net
2 # Full project source: https://github.com/samaaron/sonic-pi
3 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 #
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 # All rights reserved.
7 #
8 # Permission is granted for use, copying, modification, and
9 # distribution of modified versions of this work as long as this
10 # notice is included.
11 #++
12
13 require_relative "../../setup_test"
14 require_relative "../../../lib/sonicpi/sample_loader"
15
16 module SonicPi
17 class SampleLoaderTester < Minitest::Test
18 def setup
19 @fake_built_in_sample_dir = File.expand_path("#{File.dirname(__FILE__)}../../../fake_built_in_sample_dir")
20 # Contains:
21 # - beans.flac
22 # - foo.wav
23 # - quux.wav
24
25 @fake_sample_dir = File.expand_path("#{File.dirname(__FILE__)}../../../fake_sample_dir")
26 # Contains:
27 # - a_text_file.txt
28 # - bar_baz.aiff
29 # - buzz_100.flac
30 # - eggs.wav
31 # - first_foo.wav
32 # - foo.wav
33 # - woo_100.aiff
34 # - xylophone-test-samp.wave
35 # - subdir
36 # |
37 # - quux.wav
38 @loader = SampleLoader.new(@fake_sample_dir)
39 @loader.stubs(:default_samples_paths).returns([@fake_built_in_sample_dir])
40 end
41
42 def test_ls_candidates
43 files = [
44 @fake_built_in_sample_dir + "/beans.flac",
45 @fake_built_in_sample_dir + "/foo.wav",
46 @fake_built_in_sample_dir + "/quux.wav"]
47
48 assert_equal(@loader.ls_samples(@fake_built_in_sample_dir), files)
49 # test cache
50 assert_equal(@loader.ls_samples(@fake_built_in_sample_dir), files)
51 end
52
53 def test_split_candidates_and_filts_simple
54 filts_and_sources = [@fake_sample_dir, 1]
55 candidates, filts = @loader.split_candidates_and_filts(filts_and_sources)
56 assert_equal([@fake_sample_dir], candidates)
57 assert_equal([1], filts)
58 end
59
60 def test_split_candidates_and_filts_no_filts
61 filts_and_sources = [@fake_sample_dir]
62 candidates, filts = @loader.split_candidates_and_filts(filts_and_sources)
63 assert_equal([@fake_sample_dir], candidates)
64 assert_equal([], filts)
65 end
66
67 def test_split_candidates_and_filts_multi_candidates_no_filts
68 filts_and_sources = [@fake_sample_dir, @fake_sample_dir + "/eggs.wav"]
69 candidates, filts = @loader.split_candidates_and_filts(filts_and_sources)
70 assert_equal([@fake_sample_dir, @fake_sample_dir + "/eggs.wav"], candidates)
71 assert_equal([], filts)
72 end
73
74 def test_split_candidates_and_filts_no_candidates_no_filts
75 filts_and_sources = []
76 candidates, filts = @loader.split_candidates_and_filts(filts_and_sources)
77 assert_equal([], candidates)
78 assert_equal([], filts)
79 end
80
81 def test_split_candidates_and_filts_no_candidates_one_filt
82 filts_and_sources = [:foo]
83 candidates, filts = @loader.split_candidates_and_filts(filts_and_sources)
84 assert_equal([], candidates)
85 assert_equal([:foo], filts)
86 end
87
88 def test_split_candidates_and_filts_no_candidates_one_filt2
89 filts_and_sources = [:woo_100]
90 candidates, filts = @loader.split_candidates_and_filts(filts_and_sources)
91 assert_equal([], candidates)
92 assert_equal([:woo_100], filts)
93 end
94
95 def test_split_candidates_and_filts_no_candidates_one_string_filt
96 filts_and_sources = ["foobar"]
97 candidates, filts = @loader.split_candidates_and_filts(filts_and_sources)
98 assert_equal([], candidates)
99 assert_equal(["foobar"], filts)
100 end
101
102 def test_split_candidates_and_filts_no_candidates_multi_filts
103 filts_and_sources = ["foobar", 1, :foo, /bar/]
104 candidates, filts = @loader.split_candidates_and_filts(filts_and_sources)
105 assert_equal([], candidates)
106 assert_equal(["foobar", 1, :foo, /bar/], filts)
107 end
108
109 def test_split_candidates_and_filts_glob_candidate
110 filts_and_sources = [@fake_sample_dir + "/**"]
111 candidates, filts = @loader.split_candidates_and_filts(filts_and_sources)
112 assert_equal([@fake_sample_dir + "/**"], candidates)
113 assert_equal([], filts)
114 end
115
116 def test_single_builtin_symbol
117 res = @loader.find_candidates([:beans])
118 assert_equal(res, ["#{@fake_built_in_sample_dir}/beans.flac"])
119 end
120
121 def test_single_builtin_symbol_cache
122 res = @loader.find_candidates([:foo])
123 assert_equal(res, ["#{@fake_built_in_sample_dir}/foo.wav"])
124 res = @loader.find_candidates([:foo])
125 assert_equal(res, ["#{@fake_built_in_sample_dir}/foo.wav"])
126 res = @loader.find_candidates([:foo])
127 assert_equal(res, ["#{@fake_built_in_sample_dir}/foo.wav"])
128 res = @loader.find_candidates([:quux])
129 assert_equal(res, ["#{@fake_built_in_sample_dir}/quux.wav"])
130 res = @loader.find_candidates([:quux])
131 assert_equal(res, ["#{@fake_built_in_sample_dir}/quux.wav"])
132 end
133
134 def test_path_and_symbol_does_not_include_builtin_samples
135 res = @loader.find_candidates([@fake_sample_dir, :foo])
136 refute_includes(res, "#{@fake_built_in_sample_dir}/foo.wav")
137 end
138
139
140 def test_globs_count
141 res = @loader.find_candidates(["#{@fake_sample_dir}/**"])
142 assert_equal(res.count, 8)
143 end
144
145 def test_non_globs_count
146 res = @loader.find_candidates([@fake_sample_dir])
147 assert_equal(res.count, 7)
148 end
149
150 def test_globs_filt
151 res = @loader.find_candidates(["#{@fake_sample_dir}/**", :quux])
152 assert_equal(["#{@fake_sample_dir}/subdir/quux.wav"], res)
153 end
154
155 def test_non_globs_filt_does_not_include_subdir
156 res = @loader.find_candidates([@fake_sample_dir, :quux])
157 assert_equal([], res)
158 end
159
160 def test_non_globs_symbol_matches_name_exactly
161 res = @loader.find_candidates([@fake_sample_dir, :foo])
162 assert_equal(res, ["#{@fake_sample_dir}/foo.wav"])
163 end
164
165 def test_idx
166 res = @loader.find_candidates([@fake_sample_dir, 1])
167 assert_equal(["#{@fake_sample_dir}/buzz_100.flac"], res)
168 end
169
170 def test_mult_idx_overrides
171 res = @loader.find_candidates([@fake_sample_dir, 1, 3, 5, 1])
172 assert_equal(["#{@fake_sample_dir}/buzz_100.flac"], res)
173 end
174
175 def test_idx_wrap
176 res = @loader.find_candidates([@fake_sample_dir, 7])
177 assert_equal(["#{@fake_sample_dir}/bar_baz.aiff"], res)
178 end
179
180 def test_glob_idx_wrap
181 res = @loader.find_candidates([@fake_sample_dir + "/**", 8])
182 assert_equal(["#{@fake_sample_dir}/bar_baz.aiff"], res)
183 end
184
185 def test_str_filter
186 res = @loader.find_candidates([@fake_sample_dir, "100"])
187 assert_equal(["#{@fake_sample_dir}/buzz_100.flac",
188 "#{@fake_sample_dir}/woo_100.aiff"], res)
189 end
190
191 def test_regex_filter
192 res = @loader.find_candidates([@fake_sample_dir, /b[uU]zz/])
193 assert_equal(["#{@fake_sample_dir}/buzz_100.flac"], res)
194 end
195
196 def test_1_arity_proc_filter
197 proc = lambda {|c| c.keep_if { |v| v.include? "foo"}}
198 res = @loader.find_candidates([@fake_sample_dir, proc])
199 assert_equal(["#{@fake_sample_dir}/first_foo.wav",
200 "#{@fake_sample_dir}/foo.wav"], res)
201 end
202
203 def test_multi_filters
204 identity_proc = lambda {|c| c }
205 res = @loader.find_candidates([@fake_sample_dir, identity_proc, "100", /100/, 1])
206 assert_equal(["#{@fake_sample_dir}/woo_100.aiff"], res)
207 end
208
209 def test_multi_filters_with_nil
210 identity_proc = lambda {|c| c }
211 res = @loader.find_candidates([@fake_sample_dir, nil, identity_proc, "100", /100/, nil, 1])
212 assert_equal(["#{@fake_sample_dir}/woo_100.aiff"], res)
213 end
214
215 def test_arrays
216 identity_proc = lambda {|c| c }
217 res = @loader.find_candidates([@fake_sample_dir, [[identity_proc, "100"], /100/], [1]])
218 assert_equal(["#{@fake_sample_dir}/woo_100.aiff"], res)
219 end
220
221 def test_string_filtering_with_hyphens
222 res = @loader.find_candidates([@fake_sample_dir, "xylophone-"])
223 assert_equal(["#{@fake_sample_dir}/xylophone-test-samp.wave"], res)
224 end
225
226 def test_empty_strings_dont_filter
227 res = @loader.find_candidates([@fake_sample_dir, "", "xylophone-", "", ""])
228 assert_equal(["#{@fake_sample_dir}/xylophone-test-samp.wave"], res)
229 end
230
231 end
232 end
0 #--
1 # This file is part of Sonic Pi: http://sonic-pi.net
2 # Full project source: https://github.com/samaaron/sonic-pi
3 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 #
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 # All rights reserved.
7 #
8 # Permission is granted for use, copying, modification, and
9 # distribution of modified versions of this work as long as this
10 # notice is included.
11 #++
12
13 require_relative "../../setup_test"
14 require_relative "../../../lib/sonicpi/lang/sound"
15
16 module SonicPi
17 class SoundTester < Minitest::Test
18
19 def setup
20 @mock_sound = Object.new
21 @mock_sound.extend(Lang::Sound)
22 end
23
24 def test_rest
25 assert_equal(false, @mock_sound.rest?(1))
26
27 assert_equal(true, @mock_sound.rest?(:rest))
28 assert_equal(true, @mock_sound.rest?(:r))
29 assert_equal(false, @mock_sound.rest?(:norest))
30
31 assert_equal(true, @mock_sound.rest?(nil))
32
33 assert_equal(false, @mock_sound.rest?(Hash.new))
34
35 assert_equal(false, @mock_sound.rest?("a string"))
36 end
37
38 def test_truthy
39 assert_equal(false, @mock_sound.truthy?(0))
40 assert_equal(true, @mock_sound.truthy?(1))
41 assert_equal(true, @mock_sound.truthy?(-1))
42 assert_equal(true, @mock_sound.truthy?(0.01))
43
44 assert_equal(false, @mock_sound.truthy?(nil))
45
46 assert_equal(true, @mock_sound.truthy?(true))
47 assert_equal(false, @mock_sound.truthy?(false))
48
49 proc = Proc.new {true}
50 assert_equal(true, @mock_sound.truthy?(proc))
51 end
52
53 def test_should_trigger
54 h = {on: true, a: 123, c: "d"}
55 assert_equal(true, @mock_sound.should_trigger?(h))
56 assert_equal(false, h.has_key?(:on))
57
58 h = {on: false, a: 123, c: "d"}
59 assert_equal(false, @mock_sound.should_trigger?(h))
60 assert_equal(false, h.has_key?(:on))
61
62 h = {a: 123, c: "d"}
63 assert_equal(true, @mock_sound.should_trigger?(h))
64 end
65
66 end
67 end
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
2222
2323 def test_basic_ring_change
2424 a = "(ring 50, 60, 70)"
25 b = "ring( 50, 60, 70)"
25 b = " ring(50, 60, 70)"
26 assert_equal(b, PreParser.preparse(a))
27 end
28
29 def test_basic_ring_change_with_leading_space
30 a = "( ring 50, 60, 70)"
31 b = " ring(50, 60, 70)"
32 assert_equal(b, PreParser.preparse(a))
33 end
34
35 def test_basic_rings_with_commas
36 a = "(ring, 50, 60, 70)"
37 b = " ring( 50, 60, 70)"
38 assert_equal(b, PreParser.preparse(a))
39 end
40
41 def test_basic_rings_with_commas_and_no_space
42 a = "(ring,50, 60, 70)"
43 b = " ring(50, 60, 70)"
44 assert_equal(b, PreParser.preparse(a))
45 end
46
47 def test_spaced_rings_with_commas
48 a = "(ring , 50, 60, 70)"
49 b = " ring( 50, 60, 70)"
2650 assert_equal(b, PreParser.preparse(a))
2751 end
2852
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
2424 assert_equal(SonicPi::Core::RingVector, stretch([:e1], 3).class)
2525 assert_equal([:a2,:a2], stretch(:a2, 2))
2626
27 assert_raises SonicPi::Core::EmptyVectorError do
28 stretch([:e2], 0)
29 end
27 assert_equal(stretch([:e2], 0), ring())
28
3029 end
3130
3231 def test_knit
3433 assert_equal(knit(:e1, 3, :c1, 2), [:e1, :e1, :e1, :c1, :c1])
3534 assert_equal(knit(:e2, -1, :c1, 3), [:c1, :c1, :c1])
3635 assert_equal(knit(:e1, 3).class, SonicPi::Core::RingVector)
37 assert_raises SonicPi::Core::EmptyVectorError do
38 knit(:e2, 0)
39 end
40
41 assert_raises SonicPi::Core::EmptyVectorError do
42 knit(:e2, -1)
43 end
36 assert_equal(knit([:e2], 0), ring())
37 assert_equal(knit(:e2, -1), ring())
4438
4539 assert_raises RuntimeError, "even number" do
46 knit(:e2, 1, :c3)
40 assert_equal(knit(:e2, 1, :c3), ring())
4741 end
4842
4943 end
5852 assert_equal(range(10, 50, step: 10), [10, 20, 30, 40])
5953 assert_equal(range(1, 5, step: -1), [1, 2, 3, 4])
6054 assert_equal(range(1, 3).class, SonicPi::Core::RingVector)
55 assert_equal(range(10, 10, step: -1), ring())
6156
62 assert_raises SonicPi::Core::EmptyVectorError do
63 range(10, 10, step: -1)
64 end
6557 end
6658
6759
8880 assert_equal(bools(:a, 1, nil, true, 0), [true, true, false, true, false])
8981 assert_equal(bools(1,0, 0).class, SonicPi::Core::RingVector)
9082
91 assert_raises SonicPi::Core::EmptyVectorError do
92 assert_equal(bools(), [])
93 end
83
84 assert_equal(bools(), ring())
85
9486 end
9587
9688 def test_spread
9789 assert_equal(spread(5, 13), [true, false, false, true, false, false, true, false, true, false, false, true, false])
9890 assert_equal(spread(3, 8, rotate: 1), [true, false, false, true, false, true, false, false])
9991 end
92
93 def test_plus
94 assert_equal(ring(1, 2, 3) + 10, ring(11.0, 12.0, 13.0))
95 end
96
97 def test_list_plus
98 assert_equal(ring(1, 2, 3) + ring(4), ring(1, 2, 3, 4))
99 assert_equal(ring(1, 2, 3) + ring(1), ring(1, 2, 3, 1))
100 end
101
102 def test_minus
103 assert_equal(ring(10, 20, 30) - 5, ring(5.0, 15.0, 25.0))
104 end
105
106 def test_list_minus
107 assert_equal(ring(1, 2, 3) - ring(1), ring(2, 3))
108 assert_equal(ring(1, 2, 3) - ring(10), ring(1, 2, 3))
109 end
110
111 def test_take
112 assert_equal(ring(1), ring(1, 2, 3).take(1))
113 assert_equal(ring(1, 2), ring(1, 2, 3).take(2))
114 assert_equal(ring(1, 2, 3, 1), ring(1, 2, 3).take(4))
115 assert_equal(ring(3), ring(1, 2, 3).take(-1))
116 assert_equal(ring(3, 2), ring(1, 2, 3).take(-2))
117 assert_equal(ring(3, 2, 1, 3, 2), ring(1, 2, 3).take(-5))
118 assert_equal(ring(), ring(1, 2, 3).take(0))
119 end
100120 end
101121 end
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
0 #--
1 # This file is part of Sonic Pi: http://sonic-pi.net
2 # Full project source: https://github.com/samaaron/sonic-pi
3 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 #
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 # All rights reserved.
7 #
8 # Permission is granted for use, copying, modification, and
9 # distribution of modified versions of this work as long as this
10 # notice is included.
11 #++
12
13 require_relative "./setup_test"
14 require_relative "../lib/sonicpi/lang/core"
15
16 module SonicPi
17 class VectorTester < Minitest::Test
18 include SonicPi::Lang::Core
19
20 def test_index
21 v = vector(:a, :b, :c)
22 assert_equal(v[0], :a)
23 assert_equal(v[-1], :c)
24 assert_equal(v[-100], nil)
25 assert_equal(v[100], nil)
26 end
27
28 end
29 end
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
22 # Full project source: https://github.com/samaaron/sonic-pi
33 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
44 #
5 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
5 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
66 # All rights reserved.
77 #
88 # Permission is granted for use, copying, modification, and
00 #!/bin/bash
1
2 #--
3 # This file is part of Sonic Pi: http://sonic-pi.net
4 # Full project source: https://github.com/samaaron/sonic-pi
5 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
6 #
7 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
8 # All rights reserved.
9 #
10 # Permission is granted for use, copying, modification, and
11 # distribution of modified versions of this work as long as this
12 # notice is included.
13 #++
114
215 eval $(dbus-launch --auto-syntax)
316
0 #!/bin/bash
1
2 #--
3 # This file is part of Sonic Pi: http://sonic-pi.net
4 # Full project source: https://github.com/samaaron/sonic-pi
5 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
6 #
7 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
8 # All rights reserved.
9 #
10 # Permission is granted for use, copying, modification, and
11 # distribution of modified versions of this work as long as this
12 # notice is included.
13 #++
14 echo '
15
16
17 ─ ╛▒╛
18 ▐╫ ▄█├
19 ─╟╛ █▄ ╪▓▀
20 ╓┤┤┤┤┤┤┤┤┤ ╩▌ ██ ▀▓▌
21 ▐▒ ╬▒ ╟▓╘ ─▓█ ▓▓├
22 ▒╫ ▒╪ ▓█ ▓▓─ ▓▓▄
23 ╒▒─ │▒ ▓█ ▓▓ ─▓▓─
24 ╬▒ ▄▒ ╒ ╪▓═ ╬▓╬ ▌▓▄
25 ╥╒ ╦╥ ╕█╒ ╙▓▐ ▄▓╫
26 ▐╩ ▒▒ ▀▀
27 ╒╪ ▐▄
28
29 _____ __ ____ __
30 / ___/____ ____ /_/____ / __ \/_/
31 \__ \/ __ \/ __ \/ / ___/ / /_/ / /
32 ___/ / /_/ / / / / / /__ / ____/ /
33 /____/\____/_/ /_/_/\___/ /_/ /_/
34
35 The Live Coding Synth for Everyone
36
37 http://sonic-pi.net
38
39 '
00 # FX
11
2 * [FX Reverb](#fx-reverb)
3 * [FX Reverb](#fx-reverb)
4 * [FX Level Amplifier](#fx-level-amplifier)
5 * [FX Level Amplifier](#fx-level-amplifier)
6 * [FX Echo](#fx-echo)
7 * [FX Echo](#fx-echo)
8 * [FX Slicer](#fx-slicer)
9 * [FX Slicer](#fx-slicer)
10 * [FX Techno](#fx-techno)
11 * [FX Techno](#fx-techno)
12 * [FX Compressor](#fx-compressor)
13 * [FX Compressor](#fx-compressor)
14 * [FX Resonant Low Pass Filter](#fx-resonant-low-pass-filter)
15 * [FX Resonant Low Pass Filter](#fx-resonant-low-pass-filter)
16 * [FX Normalised Resonant Low Pass Filter](#fx-normalised-resonant-low-pass-filter)
17 * [FX Normalised Resonant Low Pass Filter](#fx-normalised-resonant-low-pass-filter)
18 * [FX Resonant High Pass Filter](#fx-resonant-high-pass-filter)
19 * [FX Resonant High Pass Filter](#fx-resonant-high-pass-filter)
20 * [FX Normalised Resonant High Pass Filter](#fx-normalised-resonant-high-pass-filter)
21 * [FX Normalised Resonant High Pass Filter](#fx-normalised-resonant-high-pass-filter)
22 * [FX High Pass Filter](#fx-high-pass-filter)
23 * [FX High Pass Filter](#fx-high-pass-filter)
24 * [FX Normalised High Pass Filter](#fx-normalised-high-pass-filter)
25 * [FX Normalised High Pass Filter](#fx-normalised-high-pass-filter)
26 * [FX Low Pass Filter](#fx-low-pass-filter)
27 * [FX Low Pass Filter](#fx-low-pass-filter)
28 * [FX Normalised Low Pass Filter](#fx-normalised-low-pass-filter)
29 * [FX Normalised Low Pass Filter](#fx-normalised-low-pass-filter)
30 * [FX Normaliser](#fx-normaliser)
31 * [FX Normaliser](#fx-normaliser)
32 * [FX Distortion](#fx-distortion)
33 * [FX Distortion](#fx-distortion)
34
35 ## FX Reverb
2 * [Bitcrusher](#bitcrusher)
3 * [krush](#krush)
4 * [Reverb](#reverb)
5 * [GVerb](#gverb)
6 * [Level Amplifier](#level-amplifier)
7 * [Echo](#echo)
8 * [Slicer](#slicer)
9 * [Pan Slicer](#pan-slicer)
10 * [Wobble](#wobble)
11 * [Techno from IXI Lang](#techno-from-ixi-lang)
12 * [Compressor](#compressor)
13 * [Whammy](#whammy)
14 * [Resonant Low Pass Filter](#resonant-low-pass-filter)
15 * [Normalised Resonant Low Pass Filter](#normalised-resonant-low-pass-filter)
16 * [Resonant High Pass Filter](#resonant-high-pass-filter)
17 * [Normalised Resonant High Pass Filter](#normalised-resonant-high-pass-filter)
18 * [High Pass Filter](#high-pass-filter)
19 * [Normalised High Pass Filter](#normalised-high-pass-filter)
20 * [Low Pass Filter](#low-pass-filter)
21 * [Normalised Low Pass Filter.](#normalised-low-pass-filter.)
22 * [Normaliser](#normaliser)
23 * [Distortion](#distortion)
24 * [Pan](#pan)
25 * [Band Pass Filter](#band-pass-filter)
26 * [Normalised Band Pass Filter](#normalised-band-pass-filter)
27 * [Resonant Band Pass Filter](#resonant-band-pass-filter)
28 * [Normalised Resonant Band Pass Filter](#normalised-resonant-band-pass-filter)
29 * [Band EQ Filter](#band-eq-filter)
30 * [Hyperbolic Tangent](#hyperbolic-tangent)
31 * [Pitch shift](#pitch-shift)
32 * [Ring Modulator](#ring-modulator)
33 * [Octaver](#octaver)
34 * [Vowel](#vowel)
35 * [Flanger](#flanger)
36
37 ## Bitcrusher
38
39 ### Key:
40 :bitcrusher
41
42 ### Doc:
43 Creates lo-fi output by decimating and deconstructing the incoming audio by lowering both the sample rate and bit depth. The default sample rate for CD audio is 44100, so use values less than that for that crunchy chip-tune sound full of artefacts and bitty distortion. Similarly, the default bit depth for CD audio is 16, so use values less than that for lo-fi sound.
44
45 ### Opts:
46 * amp:
47 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
48 - default: 1
49 - constraints: must be zero or greater
50 - May be changed whilst playing
51 - Has slide parameters for shaping changes
52 * mix:
53 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
54 - default: 1
55 - constraints: must be a value between 0 and 1 inclusively
56 - May be changed whilst playing
57 - Has slide parameters for shaping changes
58 * pre_amp:
59 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
60 - default: 1
61 - constraints: must be zero or greater
62 - May be changed whilst playing
63 - Has slide parameters for shaping changes
64 * sample_rate:
65 - doc: The sample rate the audio will be resampled at. This represents the number of times per second the audio is sampled. The higher the sample rate, the closer to the original the sound will be, the lower the more low-fi it will sound. The highest sample rate is 44100 (full quality) and the lowest is ~100 (extremely low quality). Try values in between such as 1000, 3000, 8000...
66 - default: 10000
67 - constraints: must be greater than zero
68 - May be changed whilst playing
69 - Has slide parameters for shaping changes
70 * bits:
71 - doc: The bit depth of the resampled audio. Lower bit depths make the audio sound grainy and less defined. The highest bit depth is 16 (full quality) and the lowest is 1 (lowest quality).
72 - default: 8
73 - constraints: must be greater than zero
74 - May be changed whilst playing
75 - Has slide parameters for shaping changes
76 * cutoff:
77 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
78 - default: 0
79 - constraints: must be zero or greater,must be a value less than 131
80 - May be changed whilst playing
81 - Has slide parameters for shaping changes
82
83
84 ## krush
85
86 ### Key:
87 :krush
88
89 ### Doc:
90 Krush that sound!
91
92 ### Opts:
93 * amp:
94 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
95 - default: 1
96 - constraints: must be zero or greater
97 - May be changed whilst playing
98 - Has slide parameters for shaping changes
99 * mix:
100 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
101 - default: 1
102 - constraints: must be a value between 0 and 1 inclusively
103 - May be changed whilst playing
104 - Has slide parameters for shaping changes
105 * pre_amp:
106 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
107 - default: 1
108 - constraints: must be zero or greater
109 - May be changed whilst playing
110 - Has slide parameters for shaping changes
111 * gain:
112 - doc: Amount of crushing to serve
113 - default: 5
114 - constraints: must be greater than zero
115 - May be changed whilst playing
116 - Has slide parameters for shaping changes
117 * cutoff:
118 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
119 - default: 100
120 - constraints: must be zero or greater,must be a value less than 131
121 - May be changed whilst playing
122 - Has slide parameters for shaping changes
123 * res:
124 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
125 - default: 0
126 - constraints: must be zero or greater,must be a value less than 1
127 - May be changed whilst playing
128 - Has slide parameters for shaping changes
129
130
131 ## Reverb
36132
37133 ### Key:
38134 :reverb
39135
40136 ### Doc:
41 Please write documentation!
42
43 ### Arguments:
44 * mix:
45 - doc: write me
137 Make the incoming signal sound more spacious or distant as if it were played in a large room or cave. Signal may also be dampened by reducing the amplitude of the higher frequencies.
138
139 ### Opts:
140 * amp:
141 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
142 - default: 1
143 - constraints: must be zero or greater
144 - May be changed whilst playing
145 - Has slide parameters for shaping changes
146 * mix:
147 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
46148 - default: 0.4
149 - constraints: must be a value between 0 and 1 inclusively
150 - May be changed whilst playing
151 - Has slide parameters for shaping changes
152 * pre_amp:
153 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
154 - default: 1
155 - constraints: must be zero or greater
156 - May be changed whilst playing
157 - Has slide parameters for shaping changes
158 * room:
159 - doc: The room size - a value between 0 (no reverb) and 1 (maximum reverb).
160 - default: 0.6
161 - constraints: must be a value between 0 and 1 inclusively
162 - May be changed whilst playing
163 - Has slide parameters for shaping changes
164 * damp:
165 - doc: High frequency dampening - a value between 0 (no dampening) and 1 (maximum dampening)
166 - default: 0.5
167 - constraints: must be a value between 0 and 1 inclusively
168 - May be changed whilst playing
169 - Has slide parameters for shaping changes
170
171
172 ## GVerb
173
174 ### Key:
175 :gverb
176
177 ### Doc:
178 Make the incoming signal sound more spacious or distant as if it were played in a large room or cave. Similar to reverb but with a more spacious feel.
179
180 ### Opts:
181 * amp:
182 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
183 - default: 1
184 - constraints: must be zero or greater
185 - May be changed whilst playing
186 - Has slide parameters for shaping changes
187 * mix:
188 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
189 - default: 0.4
190 - constraints: must be a value between 0 and 1 inclusively
191 - May be changed whilst playing
192 - Has slide parameters for shaping changes
193 * pre_amp:
194 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
195 - default: 1
196 - constraints: must be zero or greater
197 - May be changed whilst playing
198 - Has slide parameters for shaping changes
199 * spread:
200 - doc: Stereo spread. Amount of stereo spread the reverb has over the left and right channels. A value of 0 means no spread at all - left and right stereo values of the incoming signal are preserved. A value of 1 means full spread - the left and right channels are fully mixed within the reverb - bleeding into each other.
201 - default: 0.5
202 - constraints: must be a value between 0 and 1 inclusively
203 - May be changed whilst playing
204 - Has slide parameters for shaping changes
205 * damp:
206 - doc: High frequency rolloff. 0 is no damping (the reverb will ring out more) and 1 dampens the reverb signal completely
207 - default: 0.5
208 - constraints: must be a value between 0 and 1 inclusively
209 - May be changed whilst playing
210 - Has slide parameters for shaping changes
211 * pre_damp:
212 - doc: High frequency rolloff of input signal. 0 is no damping (the reverb will ring out more) and 1 dampens the reverb signal completely
213 - default: 0.5
214 - constraints: must be a value between 0 and 1 inclusively
215 - May be changed whilst playing
216 - Has slide parameters for shaping changes
217 * dry:
218 - doc: Amount of original dry signal present in the effect. This is distinct from mix.
219 - default: 1
220 - constraints: must be a value greater than or equal to 0
221 - May be changed whilst playing
222 - Has slide parameters for shaping changes
223 * room:
224 - doc: The room size in squared metres
225 - default: 10
226 - constraints: must be a value greater than or equal to 0
227 - May be changed whilst playing
228 * release:
229 - doc: Time for reverberation to complete in seconds
230 - default: 3
231 - constraints: must be a value greater than 0
232 - May be changed whilst playing
233 * ref_level:
234 - doc: Reflection level
235 - default: 0.7
236 - constraints: must be a value greater than or equal to 0
237 - May be changed whilst playing
238 * tail_level:
239 - doc: Tail level amount
240 - default: 0.5
241 - constraints: must be a value greater than or equal to 0
242 - May be changed whilst playing
243
244
245 ## Level Amplifier
246
247 ### Key:
248 :level
249
250 ### Doc:
251 Amplitude modifier. All FX have their own amp built in, so it may be the case that you don't specifically need an isolated amp FX. However, it is useful to be able to control the overall amplitude of a number of running synths. All sounds created in the FX block will have their amplitudes multipled by the amp level of this FX. For example, use an amp of 0 to silence all internal synths.
252
253 ### Opts:
254 * amp:
255 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
256 - default: 1
257 - constraints: must be zero or greater
258 - May be changed whilst playing
259 - Has slide parameters for shaping changes
260
261
262 ## Echo
263
264 ### Key:
265 :echo
266
267 ### Doc:
268 Standard echo with variable phase duration (time between echoes) and decay (length of echo fade out). If you wish to have a phase duration longer than 2s, you need to specify the longest phase duration you'd like with the arg max_phase. Be warned, echo FX with very long phases can consume a lot of memory and take longer to initialise.
269
270 ### Opts:
271 * amp:
272 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
273 - default: 1
274 - constraints: must be zero or greater
275 - May be changed whilst playing
276 - Has slide parameters for shaping changes
277 * mix:
278 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
279 - default: 1
280 - constraints: must be a value between 0 and 1 inclusively
281 - May be changed whilst playing
282 - Has slide parameters for shaping changes
283 * pre_amp:
284 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
285 - default: 1
286 - constraints: must be zero or greater
287 - May be changed whilst playing
288 - Has slide parameters for shaping changes
289 * phase:
290 - doc: The time between echoes in beats.
291 - default: 0.25
292 - constraints: must be greater than zero
293 - May be changed whilst playing
294 - Scaled with current BPM value
295 - Has slide parameters for shaping changes
296 * decay:
297 - doc: The time it takes for the echoes to fade away in beats.
298 - default: 2
299 - constraints: must be greater than zero
300 - May be changed whilst playing
301 - Scaled with current BPM value
302 - Has slide parameters for shaping changes
303 * max_phase:
304 - doc: The maximum phase duration in beats.
305 - default: 2
306 - constraints: must be greater than zero
307 - Can not be changed once set
308
309
310 ## Slicer
311
312 ### Key:
313 :slicer
314
315 ### Doc:
316 Modulates the amplitude of the input signal with a specific control wave and phase duration. With the default pulse wave, slices the signal in and out, with the triangle wave, fades the signal in and out and with the saw wave, phases the signal in and then dramatically out. Control wave may be inverted with the arg invert_wave for more variety.
317
318 ### Opts:
319 * amp:
320 - doc: The amplitude of the resulting effect.
321 - default: 1
322 - constraints: must be zero or greater
323 - May be changed whilst playing
324 - Has slide parameters for shaping changes
325 * mix:
326 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
327 - default: 1
328 - constraints: must be a value between 0 and 1 inclusively
329 - May be changed whilst playing
330 - Has slide parameters for shaping changes
331 * pre_amp:
332 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
333 - default: 1
334 - constraints: must be zero or greater
335 - May be changed whilst playing
336 - Has slide parameters for shaping changes
337 * phase:
338 - doc: The phase duration (in beats) of the slices
339 - default: 0.25
340 - constraints: must be greater than zero
341 - May be changed whilst playing
342 - Scaled with current BPM value
343 - Has slide parameters for shaping changes
344 * amp_min:
345 - doc: Minimum amplitude of the slicer
346 - default: 0
347 - constraints: must be zero or greater
348 - May be changed whilst playing
349 - Has slide parameters for shaping changes
350 * amp_max:
351 - doc: Maximum amplitude of the slicer
352 - default: 1
353 - constraints: must be zero or greater
354 - May be changed whilst playing
355 - Has slide parameters for shaping changes
356 * pulse_width:
357 - doc: The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.
358 - default: 0.5
359 - constraints: must be a value between 0 and 1 exclusively
360 - May be changed whilst playing
361 - Has slide parameters for shaping changes
362 * phase_offset:
363 - doc: Initial phase offset.
364 - default: 0
365 - constraints: must be a value between 0 and 1 inclusively
366 - Can not be changed once set
367 * wave:
368 - doc: Control waveform used to modulate the amplitude. 0=saw, 1=pulse, 2=tri, 3=sine
369 - default: 1
370 - constraints: must be one of the following values: [0, 1, 2, 3]
371 - May be changed whilst playing
372 * invert_wave:
373 - doc: Invert control waveform (i.e. flip it on the y axis). 0=uninverted wave, 1=inverted wave.
374 - default: 0
375 - constraints: must be one of the following values: [0, 1]
376 - May be changed whilst playing
377 * probability:
378 - doc: Probability (as a value between 0 and 1) that a given slice will be replaced by the value of the prob_pos opt (which defaults to 0, i.e. silence)
379 - default: 0
380 - constraints: must be a value between 0 and 1 inclusively
381 - May be changed whilst playing
382 - Has slide parameters for shaping changes
383 * prob_pos:
384 - doc: Position of the slicer that will be jumped to when the probability test passes as a value between 0 and 1
385 - default: 0
386 - constraints: must be a value between 0 and 1 inclusively
387 - May be changed whilst playing
388 - Has slide parameters for shaping changes
389 * seed:
390 - doc: Seed value for rand num generator used for probability test
391 - default: 0
47392 - constraints: none
48393 - Can not be changed once set
49
50 * mix_slide:
51 - doc: write me
394 * smooth:
395 - doc: Amount of time in seconds to transition from the current value to the next. Allows you to round off harsh edges in the slicer wave which may cause clicks.
396 - default: 0
397 - constraints: must be zero or greater
398 - May be changed whilst playing
399 - Has slide parameters for shaping changes
400 * smooth_up:
401 - doc: Amount of time in seconds to transition from the current value to the next only when the value is going up. This smoothing happens before the main smooth mechanism.
402 - default: 0
403 - constraints: must be zero or greater
404 - May be changed whilst playing
405 - Has slide parameters for shaping changes
406 * smooth_down:
407 - doc: Amount of time in seconds to transition from the current value to the next only when the value is going down. This smoothing happens before the main smooth mechanism.
408 - default: 0
409 - constraints: must be zero or greater
410 - May be changed whilst playing
411 - Has slide parameters for shaping changes
412
413
414 ## Pan Slicer
415
416 ### Key:
417 :panslicer
418
419 ### Doc:
420 Slice the pan automatically from left to right. Behaves similarly to slicer and wobble FX but modifies stereo panning of sound in left and right speakers. Default slice wave form is square (hard slicing between left and right) however other wave forms can be set with the `wave:` opt.
421
422 ### Opts:
423 * amp:
424 - doc: The amplitude of the resulting effect.
425 - default: 1
426 - constraints: must be zero or greater
427 - May be changed whilst playing
428 - Has slide parameters for shaping changes
429 * mix:
430 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
431 - default: 1
432 - constraints: must be a value between 0 and 1 inclusively
433 - May be changed whilst playing
434 - Has slide parameters for shaping changes
435 * pre_amp:
436 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
437 - default: 1
438 - constraints: must be zero or greater
439 - May be changed whilst playing
440 - Has slide parameters for shaping changes
441 * phase:
442 - doc: The phase duration (in beats) of the slices
443 - default: 0.25
444 - constraints: must be greater than zero
445 - May be changed whilst playing
446 - Scaled with current BPM value
447 - Has slide parameters for shaping changes
448 * pan_min:
449 - doc: Minimum pan value (-1 is the left speaker only)
450 - default: -1
451 - constraints: must be a value between -1 and 1 inclusively
452 - May be changed whilst playing
453 - Has slide parameters for shaping changes
454 * pan_max:
455 - doc: Maximum pan value (+1 is the right speaker only)
456 - default: 1
457 - constraints: must be a value between -1 and 1 inclusively
458 - May be changed whilst playing
459 - Has slide parameters for shaping changes
460 * pulse_width:
461 - doc: The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.
462 - default: 0.5
463 - constraints: must be a value between 0 and 1 exclusively
464 - May be changed whilst playing
465 - Has slide parameters for shaping changes
466 * phase_offset:
467 - doc: Initial phase offset.
468 - default: 0
469 - constraints: must be a value between 0 and 1 inclusively
470 - Can not be changed once set
471 * wave:
472 - doc: Control waveform used to modulate the amplitude. 0=saw, 1=pulse, 2=tri, 3=sine
473 - default: 1
474 - constraints: must be one of the following values: [0, 1, 2, 3]
475 - May be changed whilst playing
476 * invert_wave:
477 - doc: Invert control waveform (i.e. flip it on the y axis). 0=uninverted wave, 1=inverted wave.
478 - default: 0
479 - constraints: must be one of the following values: [0, 1]
480 - May be changed whilst playing
481 * probability:
482 - doc: Probability (as a value between 0 and 1) that a given slice will be replaced by the value of the prob_pos opt (which defaults to 0, i.e. silence)
483 - default: 0
484 - constraints: must be a value between 0 and 1 inclusively
485 - May be changed whilst playing
486 - Has slide parameters for shaping changes
487 * prob_pos:
488 - doc: Position of the slicer that will be jumped to when the probability test passes as a value between 0 and 1
489 - default: 0
490 - constraints: must be a value between 0 and 1 inclusively
491 - May be changed whilst playing
492 - Has slide parameters for shaping changes
493 * seed:
494 - doc: Seed value for rand num generator used for probability test
52495 - default: 0
53496 - constraints: none
54497 - Can not be changed once set
55
56 * room:
57 - doc: write me
498 * smooth:
499 - doc: Amount of time in seconds to transition from the current value to the next. Allows you to round off harsh edges in the slicer wave which may cause clicks.
500 - default: 0
501 - constraints: must be zero or greater
502 - May be changed whilst playing
503 - Has slide parameters for shaping changes
504 * smooth_up:
505 - doc: Amount of time in seconds to transition from the current value to the next only when the value is going up. This smoothing happens before the main smooth mechanism.
506 - default: 0
507 - constraints: must be zero or greater
508 - May be changed whilst playing
509 - Has slide parameters for shaping changes
510 * smooth_down:
511 - doc: Amount of time in seconds to transition from the current value to the next only when the value is going down. This smoothing happens before the main smooth mechanism.
512 - default: 0
513 - constraints: must be zero or greater
514 - May be changed whilst playing
515 - Has slide parameters for shaping changes
516
517
518 ## Wobble
519
520 ### Key:
521 :wobble
522
523 ### Doc:
524 Versatile wobble FX. Will repeatedly modulate a range of filters (rlpf, rhpf) between two cutoff values using a range of control wave forms (saw, pulse, tri, sine). You may alter the phase duration of the wobble, and the resonance of the filter. Combines well with the dsaw synth for crazy dub wobbles. Cutoff value is at cutoff_min at the start of phase
525
526 ### Opts:
527 * amp:
528 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
529 - default: 1
530 - constraints: must be zero or greater
531 - May be changed whilst playing
532 - Has slide parameters for shaping changes
533 * mix:
534 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
535 - default: 1
536 - constraints: must be a value between 0 and 1 inclusively
537 - May be changed whilst playing
538 - Has slide parameters for shaping changes
539 * pre_amp:
540 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
541 - default: 1
542 - constraints: must be zero or greater
543 - May be changed whilst playing
544 - Has slide parameters for shaping changes
545 * phase:
546 - doc: The phase duration (in beats) for filter modulation cycles
547 - default: 0.5
548 - constraints: must be greater than zero
549 - May be changed whilst playing
550 - Scaled with current BPM value
551 - Has slide parameters for shaping changes
552 * cutoff_min:
553 - doc: Minimum (MIDI) note that filter will move to whilst wobbling. Choose a lower note for a higher range of movement. Full range of movement is the distance between cutoff_max and cutoff_min
554 - default: 60
555 - constraints: must be zero or greater,must be a value less than 130
556 - May be changed whilst playing
557 - Has slide parameters for shaping changes
558 * cutoff_max:
559 - doc: Maximum (MIDI) note that filter will move to whilst wobbling. Choose a higher note for a higher range of movement. Full range of movement is the distance between cutoff_max and cutoff_min
560 - default: 120
561 - constraints: must be zero or greater,must be a value less than 130
562 - May be changed whilst playing
563 - Has slide parameters for shaping changes
564 * res:
565 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
566 - default: 0.8
567 - constraints: must be zero or greater,must be a value less than 1
568 - May be changed whilst playing
569 - Has slide parameters for shaping changes
570 * phase_offset:
571 - doc: Initial modulation phase offset (a value between 0 and 1).
572 - default: 0
573 - constraints: must be a value between 0 and 1 inclusively
574 - Can not be changed once set
575 * wave:
576 - doc: Wave shape of wobble. Use 0 for saw wave, 1 for pulse, 2 for triangle wave and 3 for a sine wave.
577 - default: 0
578 - constraints: must be one of the following values: [0, 1, 2, 3]
579 - May be changed whilst playing
580 * invert_wave:
581 - doc: Invert control waveform (i.e. flip it on the y axis). 0=uninverted wave, 1=inverted wave.
582 - default: 0
583 - constraints: must be one of the following values: [0, 1]
584 - May be changed whilst playing
585 * pulse_width:
586 - doc: Only valid if wave is type pulse.
587 - default: 0.5
588 - constraints: must be zero or greater
589 - May be changed whilst playing
590 - Has slide parameters for shaping changes
591 * filter:
592 - doc: Filter used for wobble effect. Use 0 for a resonant low pass filter or 1 for a resonant high pass filter
593 - default: 0
594 - constraints: must be one of the following values: [0, 1]
595 - May be changed whilst playing
596 * probability:
597 - doc: Probability (as a value between 0 and 1) that a given wobble will be replaced by the value of the prob_pos opt (which defaults to 0, i.e. min_cutoff)
598 - default: 0
599 - constraints: must be a value between 0 and 1 inclusively
600 - May be changed whilst playing
601 - Has slide parameters for shaping changes
602 * prob_pos:
603 - doc: Position of the wobble that will be jumped to when the probability test passes as a value between 0 and 1
604 - default: 0
605 - constraints: must be a value between 0 and 1 inclusively
606 - May be changed whilst playing
607 - Has slide parameters for shaping changes
608 * seed:
609 - doc: Seed value for rand num generator used for probability test
610 - default: 0
611 - constraints: none
612 - Can not be changed once set
613 * smooth:
614 - doc: Amount of time in seconds to transition from the current value to the next. Allows you to round off harsh edges in the slicer wave which may cause clicks.
615 - default: 0
616 - constraints: must be zero or greater
617 - May be changed whilst playing
618 - Has slide parameters for shaping changes
619 * smooth_up:
620 - doc: Amount of time in seconds to transition from the current value to the next only when the value is going up. This smoothing happens before the main smooth mechanism.
621 - default: 0
622 - constraints: must be zero or greater
623 - May be changed whilst playing
624 - Has slide parameters for shaping changes
625 * smooth_down:
626 - doc: Amount of time in seconds to transition from the current value to the next only when the value is going down. This smoothing happens before the main smooth mechanism.
627 - default: 0
628 - constraints: must be zero or greater
629 - May be changed whilst playing
630 - Has slide parameters for shaping changes
631
632
633 ## Techno from IXI Lang
634
635 ### Key:
636 :ixi_techno
637
638 ### Doc:
639 Moving resonant low pass filter between min and max cutoffs. Great for sweeping effects across long synths or samples.
640
641 ### Opts:
642 * amp:
643 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
644 - default: 1
645 - constraints: must be zero or greater
646 - May be changed whilst playing
647 - Has slide parameters for shaping changes
648 * mix:
649 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
650 - default: 1
651 - constraints: must be a value between 0 and 1 inclusively
652 - May be changed whilst playing
653 - Has slide parameters for shaping changes
654 * pre_amp:
655 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
656 - default: 1
657 - constraints: must be zero or greater
658 - May be changed whilst playing
659 - Has slide parameters for shaping changes
660 * phase:
661 - doc: The phase duration (in beats) for filter modulation cycles
662 - default: 4
663 - constraints: must be greater than zero
664 - May be changed whilst playing
665 - Scaled with current BPM value
666 - Has slide parameters for shaping changes
667 * phase_offset:
668 - doc: Initial modulation phase offset (a value between 0 and 1).
669 - default: 0
670 - constraints: must be a value between 0 and 1 inclusively
671 - Can not be changed once set
672 * cutoff_min:
673 - doc: Minimum (MIDI) note that filter will move to whilst wobbling. Choose a lower note for a higher range of movement. Full range of movement is the distance between cutoff_max and cutoff_min
674 - default: 60
675 - constraints: must be zero or greater,must be a value less than 130
676 - May be changed whilst playing
677 - Has slide parameters for shaping changes
678 * cutoff_max:
679 - doc: Maximum (MIDI) note that filter will move to whilst wobbling. Choose a higher note for a higher range of movement. Full range of movement is the distance between cutoff_max and cutoff_min
680 - default: 120
681 - constraints: must be zero or greater,must be a value less than 130
682 - May be changed whilst playing
683 - Has slide parameters for shaping changes
684 * res:
685 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
686 - default: 0.8
687 - constraints: must be zero or greater,must be a value less than 1
688 - May be changed whilst playing
689 - Has slide parameters for shaping changes
690
691
692 ## Compressor
693
694 ### Key:
695 :compressor
696
697 ### Doc:
698 Compresses the dynamic range of the incoming signal. Equivalent to automatically turning the amp down when the signal gets too loud and then back up again when it's quiet. Useful for ensuring the containing signal doesn't overwhelm other aspects of the sound. Also a general purpose hard-knee dynamic range processor which can be tuned via the opts to both expand and compress the signal.
699
700 ### Opts:
701 * amp:
702 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
703 - default: 1
704 - constraints: must be zero or greater
705 - May be changed whilst playing
706 - Has slide parameters for shaping changes
707 * mix:
708 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
709 - default: 1
710 - constraints: must be a value between 0 and 1 inclusively
711 - May be changed whilst playing
712 * pre_amp:
713 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
714 - default: 1
715 - constraints: must be zero or greater
716 - May be changed whilst playing
717 - Has slide parameters for shaping changes
718 * threshold:
719 - doc: Threshold value determining the break point between slope_below and slope_above.
720 - default: 0.2
721 - constraints: must be zero or greater
722 - May be changed whilst playing
723 - Has slide parameters for shaping changes
724 * clamp_time:
725 - doc: Time taken for the amplitude adjustments to kick in fully (in seconds). This is usually pretty small (not much more than 10 milliseconds). Also known as the time of the attack phase
726 - default: 0.01
727 - constraints: must be zero or greater
728 - May be changed whilst playing
729 - Has slide parameters for shaping changes
730 * slope_above:
731 - doc: Slope of the amplitude curve above the threshold. A value of 1 means that the output of signals with amplitude above the threshold will be unaffected. Greater values will magnify and smaller values will attenuate the signal.
732 - default: 0.5
733 - constraints: none
734 - May be changed whilst playing
735 - Has slide parameters for shaping changes
736 * slope_below:
737 - doc: Slope of the amplitude curve below the threshold. A value of 1 means that the output of signals with amplitude below the threshold will be unaffected. Greater values will magnify and smaller values will attenuate the signal.
738 - default: 1
739 - constraints: none
740 - May be changed whilst playing
741 - Has slide parameters for shaping changes
742 * relax_time:
743 - doc: Time taken for the amplitude adjustments to be released. Usually a little longer than clamp_time. If both times are too short, you can get some (possibly unwanted) artefacts. Also known as the time of the release phase.
744 - default: 0.01
745 - constraints: must be zero or greater
746 - May be changed whilst playing
747 - Has slide parameters for shaping changes
748
749
750 ## Whammy
751
752 ### Key:
753 :whammy
754
755 ### Doc:
756 A cheap sounding transposition effect, with a slightly robotic edge. Good for adding alien sounds and harmonies to everything from beeps to guitar samples. It's similar to pitch shift although not as smooth sounding.
757
758 ### Opts:
759 * amp:
760 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
761 - default: 1
762 - constraints: must be zero or greater
763 - May be changed whilst playing
764 - Has slide parameters for shaping changes
765 * mix:
766 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
767 - default: 1
768 - constraints: must be a value between 0 and 1 inclusively
769 - May be changed whilst playing
770 * pre_amp:
771 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
772 - default: 1
773 - constraints: must be zero or greater
774 - May be changed whilst playing
775 - Has slide parameters for shaping changes
776 * transpose:
777 - doc: This is how much to transpose the input, expressed as a midi pitch.
778 - default: 12
779 - constraints: none
780 - May be changed whilst playing
781 - Has slide parameters for shaping changes
782 * max_delay_time:
783 - doc: The max delay time to be used for the effect. This shouldn't need to be adjusted.
784 - default: 1
785 - constraints: must be zero or greater
786 - Can not be changed once set
787 * deltime:
788 - doc: The delay time to be used for the effect. This shouldn't need to be adjusted.
789 - default: 0.05
790 - constraints: must be zero or greater
791 - Can not be changed once set
792 * grainsize:
793 - doc: The size of the initial grain used for transposition. This shouldn't need to be adjusted.
794 - default: 0.075
795 - constraints: must be zero or greater
796 - Can not be changed once set
797
798
799 ## Resonant Low Pass Filter
800
801 ### Key:
802 :rlpf
803
804 ### Doc:
805 Dampens the parts of the signal that are higher than the cutoff point (typically the crunchy fizzy harmonic overtones) and keeps the lower parts (typically the bass/mid of the sound). The resonant part of the resonant low pass filter emphasises/resonates the frequencies around the cutoff point. The amount of emphasis is controlled by the res opt with a higher res resulting in greater resonance. High amounts of resonance (rq ~1) can create a whistling sound around the cutoff frequency.
806
807 Choose a higher cutoff to keep more of the high frequences/treble of the sound and a lower cutoff to make the sound more dull and only keep the bass.
808
809 ### Opts:
810 * amp:
811 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
812 - default: 1
813 - constraints: must be zero or greater
814 - May be changed whilst playing
815 - Has slide parameters for shaping changes
816 * mix:
817 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
818 - default: 1
819 - constraints: must be a value between 0 and 1 inclusively
820 - May be changed whilst playing
821 - Has slide parameters for shaping changes
822 * pre_amp:
823 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
824 - default: 1
825 - constraints: must be zero or greater
826 - May be changed whilst playing
827 - Has slide parameters for shaping changes
828 * cutoff:
829 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
830 - default: 100
831 - constraints: must be zero or greater,must be a value less than 131
832 - May be changed whilst playing
833 - Has slide parameters for shaping changes
834 * res:
835 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
836 - default: 0.5
837 - constraints: must be zero or greater,must be a value less than 1
838 - May be changed whilst playing
839 - Has slide parameters for shaping changes
840
841
842 ## Normalised Resonant Low Pass Filter
843
844 ### Key:
845 :nrlpf
846
847 ### Doc:
848 Dampens the parts of the signal that are higher than the cutoff point (typically the crunchy fizzy harmonic overtones) and keeps the lower parts (typically the bass/mid of the sound). The resonant part of the resonant low pass filter emphasises/resonates the frequencies around the cutoff point. The amount of emphasis is controlled by the res opt with a higher res resulting in greater resonance. High amounts of resonance (rq ~1) can create a whistling sound around the cutoff frequency.
849
850 Choose a higher cutoff to keep more of the high frequences/treble of the sound and a lower cutoff to make the sound more dull and only keep the bass.
851
852 ### Opts:
853 * amp:
854 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
855 - default: 1
856 - constraints: must be zero or greater
857 - May be changed whilst playing
858 - Has slide parameters for shaping changes
859 * mix:
860 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
861 - default: 1
862 - constraints: must be a value between 0 and 1 inclusively
863 - May be changed whilst playing
864 - Has slide parameters for shaping changes
865 * pre_amp:
866 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
867 - default: 1
868 - constraints: must be zero or greater
869 - May be changed whilst playing
870 - Has slide parameters for shaping changes
871 * cutoff:
872 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
873 - default: 100
874 - constraints: must be zero or greater,must be a value less than 131
875 - May be changed whilst playing
876 - Has slide parameters for shaping changes
877 * res:
878 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
879 - default: 0.5
880 - constraints: must be zero or greater,must be a value less than 1
881 - May be changed whilst playing
882 - Has slide parameters for shaping changes
883
884
885 ## Resonant High Pass Filter
886
887 ### Key:
888 :rhpf
889
890 ### Doc:
891 Dampens the parts of the signal that are lower than the cutoff point (typically the bass of the sound) and keeps the higher parts (typically the crunchy fizzy harmonic overtones). The resonant part of the resonant high pass filter emphasises/resonates the frequencies around the cutoff point. The amount of emphasis is controlled by the res opt with a higher res resulting in greater resonance. High amounts of resonance (rq ~1) can create a whistling sound around the cutoff frequency.
892
893 Choose a lower cutoff to keep more of the bass/mid and a higher cutoff to make the sound more light and crispy.
894
895 ### Opts:
896 * amp:
897 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
898 - default: 1
899 - constraints: must be zero or greater
900 - May be changed whilst playing
901 - Has slide parameters for shaping changes
902 * mix:
903 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
904 - default: 1
905 - constraints: must be a value between 0 and 1 inclusively
906 - May be changed whilst playing
907 - Has slide parameters for shaping changes
908 * pre_amp:
909 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
910 - default: 1
911 - constraints: must be zero or greater
912 - May be changed whilst playing
913 - Has slide parameters for shaping changes
914 * cutoff:
915 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
916 - default: 100
917 - constraints: must be zero or greater,must be a value less than 131
918 - May be changed whilst playing
919 - Has slide parameters for shaping changes
920 * res:
921 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
922 - default: 0.5
923 - constraints: must be zero or greater,must be a value less than 1
924 - May be changed whilst playing
925 - Has slide parameters for shaping changes
926
927
928 ## Normalised Resonant High Pass Filter
929
930 ### Key:
931 :nrhpf
932
933 ### Doc:
934 Dampens the parts of the signal that are lower than the cutoff point (typically the bass of the sound) and keeps the higher parts (typically the crunchy fizzy harmonic overtones). The resonant part of the resonant high pass filter emphasises/resonates the frequencies around the cutoff point. The amount of emphasis is controlled by the res opt with a higher res resulting in greater resonance. High amounts of resonance (rq ~1) can create a whistling sound around the cutoff frequency.
935
936 Choose a lower cutoff to keep more of the bass/mid and a higher cutoff to make the sound more light and crispy.
937
938 ### Opts:
939 * amp:
940 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
941 - default: 1
942 - constraints: must be zero or greater
943 - May be changed whilst playing
944 - Has slide parameters for shaping changes
945 * mix:
946 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
947 - default: 1
948 - constraints: must be a value between 0 and 1 inclusively
949 - May be changed whilst playing
950 - Has slide parameters for shaping changes
951 * pre_amp:
952 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
953 - default: 1
954 - constraints: must be zero or greater
955 - May be changed whilst playing
956 - Has slide parameters for shaping changes
957 * cutoff:
958 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
959 - default: 100
960 - constraints: must be zero or greater,must be a value less than 131
961 - May be changed whilst playing
962 - Has slide parameters for shaping changes
963 * res:
964 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
965 - default: 0.5
966 - constraints: must be zero or greater,must be a value less than 1
967 - May be changed whilst playing
968 - Has slide parameters for shaping changes
969
970
971 ## High Pass Filter
972
973 ### Key:
974 :hpf
975
976 ### Doc:
977 Dampens the parts of the signal that are lower than the cutoff point (typically the bass of the sound) and keeps the higher parts (typically the crunchy fizzy harmonic overtones). Choose a lower cutoff to keep more of the bass/mid and a higher cutoff to make the sound more light and crispy.
978
979 ### Opts:
980 * amp:
981 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
982 - default: 1
983 - constraints: must be zero or greater
984 - May be changed whilst playing
985 - Has slide parameters for shaping changes
986 * mix:
987 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
988 - default: 1
989 - constraints: must be a value between 0 and 1 inclusively
990 - May be changed whilst playing
991 - Has slide parameters for shaping changes
992 * pre_amp:
993 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
994 - default: 1
995 - constraints: must be zero or greater
996 - May be changed whilst playing
997 - Has slide parameters for shaping changes
998 * cutoff:
999 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1000 - default: 100
1001 - constraints: must be zero or greater,must be a value less than 131
1002 - May be changed whilst playing
1003 - Has slide parameters for shaping changes
1004
1005
1006 ## Normalised High Pass Filter
1007
1008 ### Key:
1009 :nhpf
1010
1011 ### Doc:
1012 A high pass filter chained to a normaliser. Ensures that the signal is both filtered by a standard high pass filter and then normalised to ensure the amplitude of the final output is constant. A high pass filter will reduce the amplitude of the resulting signal (as some of the sound has been filtered out) the normaliser can compensate for this loss (although will also have the side effect of flattening all dynamics). See doc for hpf.
1013
1014 ### Opts:
1015 * amp:
1016 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1017 - default: 1
1018 - constraints: must be zero or greater
1019 - May be changed whilst playing
1020 - Has slide parameters for shaping changes
1021 * mix:
1022 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1023 - default: 1
1024 - constraints: must be a value between 0 and 1 inclusively
1025 - May be changed whilst playing
1026 - Has slide parameters for shaping changes
1027 * pre_amp:
1028 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1029 - default: 1
1030 - constraints: must be zero or greater
1031 - May be changed whilst playing
1032 - Has slide parameters for shaping changes
1033 * cutoff:
1034 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1035 - default: 100
1036 - constraints: must be zero or greater,must be a value less than 131
1037 - May be changed whilst playing
1038 - Has slide parameters for shaping changes
1039
1040
1041 ## Low Pass Filter
1042
1043 ### Key:
1044 :lpf
1045
1046 ### Doc:
1047 Dampens the parts of the signal that are higher than the cutoff point (typically the crunchy fizzy harmonic overtones) and keeps the lower parts (typically the bass/mid of the sound). Choose a higher cutoff to keep more of the high frequences/treble of the sound and a lower cutoff to make the sound more dull and only keep the bass.
1048
1049 ### Opts:
1050 * amp:
1051 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1052 - default: 1
1053 - constraints: must be zero or greater
1054 - May be changed whilst playing
1055 - Has slide parameters for shaping changes
1056 * mix:
1057 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1058 - default: 1
1059 - constraints: must be a value between 0 and 1 inclusively
1060 - May be changed whilst playing
1061 - Has slide parameters for shaping changes
1062 * pre_amp:
1063 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1064 - default: 1
1065 - constraints: must be zero or greater
1066 - May be changed whilst playing
1067 - Has slide parameters for shaping changes
1068 * cutoff:
1069 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1070 - default: 100
1071 - constraints: must be zero or greater,must be a value less than 131
1072 - May be changed whilst playing
1073 - Has slide parameters for shaping changes
1074
1075
1076 ## Normalised Low Pass Filter.
1077
1078 ### Key:
1079 :nlpf
1080
1081 ### Doc:
1082 A low pass filter chained to a normaliser. Ensures that the signal is both filtered by a standard low pass filter and then normalised to ensure the amplitude of the final output is constant. A low pass filter will reduce the amplitude of the resulting signal (as some of the sound has been filtered out) the normaliser can compensate for this loss (although will also have the side effect of flattening all dynamics). See doc for lpf.
1083
1084 ### Opts:
1085 * amp:
1086 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1087 - default: 1
1088 - constraints: must be zero or greater
1089 - May be changed whilst playing
1090 - Has slide parameters for shaping changes
1091 * mix:
1092 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1093 - default: 1
1094 - constraints: must be a value between 0 and 1 inclusively
1095 - May be changed whilst playing
1096 - Has slide parameters for shaping changes
1097 * pre_amp:
1098 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1099 - default: 1
1100 - constraints: must be zero or greater
1101 - May be changed whilst playing
1102 - Has slide parameters for shaping changes
1103 * cutoff:
1104 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1105 - default: 100
1106 - constraints: must be zero or greater,must be a value less than 131
1107 - May be changed whilst playing
1108 - Has slide parameters for shaping changes
1109
1110
1111 ## Normaliser
1112
1113 ### Key:
1114 :normaliser
1115
1116 ### Doc:
1117 Raise or lower amplitude of sound to a specified level. Evens out the amplitude of incoming sound across the frequency spectrum by flattening all dynamics.
1118
1119 ### Opts:
1120 * amp:
1121 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1122 - default: 1
1123 - constraints: must be zero or greater
1124 - May be changed whilst playing
1125 - Has slide parameters for shaping changes
1126 * mix:
1127 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1128 - default: 1
1129 - constraints: must be a value between 0 and 1 inclusively
1130 - May be changed whilst playing
1131 - Has slide parameters for shaping changes
1132 * pre_amp:
1133 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1134 - default: 1
1135 - constraints: must be zero or greater
1136 - May be changed whilst playing
1137 - Has slide parameters for shaping changes
1138 * level:
1139 - doc: The peak output amplitude level at which to normalise the input.
1140 - default: 1
1141 - constraints: must be a value greater than or equal to 0
1142 - May be changed whilst playing
1143 - Has slide parameters for shaping changes
1144
1145
1146 ## Distortion
1147
1148 ### Key:
1149 :distortion
1150
1151 ### Doc:
1152 Distorts the signal reducing clarity in favour of raw crunchy noise.
1153
1154 ### Opts:
1155 * amp:
1156 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1157 - default: 1
1158 - constraints: must be zero or greater
1159 - May be changed whilst playing
1160 - Has slide parameters for shaping changes
1161 * mix:
1162 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1163 - default: 1
1164 - constraints: must be a value between 0 and 1 inclusively
1165 - May be changed whilst playing
1166 - Has slide parameters for shaping changes
1167 * pre_amp:
1168 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1169 - default: 1
1170 - constraints: must be zero or greater
1171 - May be changed whilst playing
1172 - Has slide parameters for shaping changes
1173 * distort:
1174 - doc: Amount of distortion to be applied (as a value between 0 and 1)
1175 - default: 0.5
1176 - constraints: must be a value greater than or equal to 0,must be a value less than 1
1177 - May be changed whilst playing
1178 - Has slide parameters for shaping changes
1179
1180
1181 ## Pan
1182
1183 ### Key:
1184 :pan
1185
1186 ### Doc:
1187 Specify where in the stereo field the sound should be heard. A value of -1 for pan will put the sound in the left speaker, a value of 1 will put the sound in the right speaker and values in between will shift the sound accordingly.
1188
1189 ### Opts:
1190 * amp:
1191 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1192 - default: 1
1193 - constraints: must be zero or greater
1194 - May be changed whilst playing
1195 - Has slide parameters for shaping changes
1196 * mix:
1197 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1198 - default: 1
1199 - constraints: must be a value between 0 and 1 inclusively
1200 - May be changed whilst playing
1201 - Has slide parameters for shaping changes
1202 * pre_amp:
1203 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1204 - default: 1
1205 - constraints: must be zero or greater
1206 - May be changed whilst playing
1207 - Has slide parameters for shaping changes
1208 * pan:
1209 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
1210 - default: 0
1211 - constraints: must be a value between -1 and 1 inclusively
1212 - May be changed whilst playing
1213 - Has slide parameters for shaping changes
1214
1215
1216 ## Band Pass Filter
1217
1218 ### Key:
1219 :bpf
1220
1221 ### Doc:
1222 Combines low pass and high pass filters to only allow a 'band' of frequencies through. If the band is very narrow (a low res value like 0.0001) then the BPF will reduce the original sound, almost down to a single frequency (controlled by the centre opt).
1223
1224 With higher values for res we can simulate other filters e.g. telephone lines, by cutting off low and high frequencies.
1225
1226 Use FX `:band_eq` with a negative db for the opposite effect - to attenuate a given band of frequencies.
1227
1228 ### Opts:
1229 * amp:
1230 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1231 - default: 1
1232 - constraints: must be zero or greater
1233 - May be changed whilst playing
1234 - Has slide parameters for shaping changes
1235 * mix:
1236 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1237 - default: 1
1238 - constraints: must be a value between 0 and 1 inclusively
1239 - May be changed whilst playing
1240 - Has slide parameters for shaping changes
1241 * pre_amp:
1242 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1243 - default: 1
1244 - constraints: must be zero or greater
1245 - May be changed whilst playing
1246 - Has slide parameters for shaping changes
1247 * centre:
1248 - doc: Centre frequency for the filter as a MIDI note.
1249 - default: 100
1250 - constraints: must be a value greater than or equal to 0
1251 - May be changed whilst playing
1252 - Has slide parameters for shaping changes
1253 * res:
1254 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
1255 - default: 0.6
1256 - constraints: must be zero or greater,must be a value less than 1
1257 - May be changed whilst playing
1258 - Has slide parameters for shaping changes
1259
1260
1261 ## Normalised Band Pass Filter
1262
1263 ### Key:
1264 :nbpf
1265
1266 ### Doc:
1267 Like the Band Pass Filter but normalised. The normaliser is useful here as some volume is lost when filtering the original signal.
1268
1269 ### Opts:
1270 * amp:
1271 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1272 - default: 1
1273 - constraints: must be zero or greater
1274 - May be changed whilst playing
1275 - Has slide parameters for shaping changes
1276 * mix:
1277 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1278 - default: 1
1279 - constraints: must be a value between 0 and 1 inclusively
1280 - May be changed whilst playing
1281 - Has slide parameters for shaping changes
1282 * pre_amp:
1283 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1284 - default: 1
1285 - constraints: must be zero or greater
1286 - May be changed whilst playing
1287 - Has slide parameters for shaping changes
1288 * centre:
1289 - doc: Centre frequency for the filter as a MIDI note.
1290 - default: 100
1291 - constraints: must be a value greater than or equal to 0
1292 - May be changed whilst playing
1293 - Has slide parameters for shaping changes
1294 * res:
1295 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
1296 - default: 0.6
1297 - constraints: must be zero or greater,must be a value less than 1
1298 - May be changed whilst playing
1299 - Has slide parameters for shaping changes
1300
1301
1302 ## Resonant Band Pass Filter
1303
1304 ### Key:
1305 :rbpf
1306
1307 ### Doc:
1308 Like the Band Pass Filter but with a resonance (slight volume boost) around the target frequency. This can produce an interesting whistling effect, especially when used with larger values for the res opt.
1309
1310 ### Opts:
1311 * amp:
1312 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1313 - default: 1
1314 - constraints: must be zero or greater
1315 - May be changed whilst playing
1316 - Has slide parameters for shaping changes
1317 * mix:
1318 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1319 - default: 1
1320 - constraints: must be a value between 0 and 1 inclusively
1321 - May be changed whilst playing
1322 - Has slide parameters for shaping changes
1323 * pre_amp:
1324 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1325 - default: 1
1326 - constraints: must be zero or greater
1327 - May be changed whilst playing
1328 - Has slide parameters for shaping changes
1329 * centre:
1330 - doc: Centre frequency for the filter as a MIDI note.
1331 - default: 100
1332 - constraints: must be a value greater than or equal to 0
1333 - May be changed whilst playing
1334 - Has slide parameters for shaping changes
1335 * res:
1336 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
1337 - default: 0.5
1338 - constraints: must be zero or greater,must be a value less than 1
1339 - May be changed whilst playing
1340 - Has slide parameters for shaping changes
1341
1342
1343 ## Normalised Resonant Band Pass Filter
1344
1345 ### Key:
1346 :nrbpf
1347
1348 ### Doc:
1349 Like the Band Pass Filter but normalised, with a resonance (slight volume boost) around the target frequency. This can produce an interesting whistling effect, especially when used with larger values for the res opt.
1350
1351 The normaliser is useful here as some volume is lost when filtering the original signal.
1352
1353 ### Opts:
1354 * amp:
1355 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1356 - default: 1
1357 - constraints: must be zero or greater
1358 - May be changed whilst playing
1359 - Has slide parameters for shaping changes
1360 * mix:
1361 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1362 - default: 1
1363 - constraints: must be a value between 0 and 1 inclusively
1364 - May be changed whilst playing
1365 - Has slide parameters for shaping changes
1366 * pre_amp:
1367 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1368 - default: 1
1369 - constraints: must be zero or greater
1370 - May be changed whilst playing
1371 - Has slide parameters for shaping changes
1372 * centre:
1373 - doc: Centre frequency for the filter as a MIDI note.
1374 - default: 100
1375 - constraints: must be a value greater than or equal to 0
1376 - May be changed whilst playing
1377 - Has slide parameters for shaping changes
1378 * res:
1379 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
1380 - default: 0.5
1381 - constraints: must be zero or greater,must be a value less than 1
1382 - May be changed whilst playing
1383 - Has slide parameters for shaping changes
1384
1385
1386 ## Band EQ Filter
1387
1388 ### Key:
1389 :band_eq
1390
1391 ### Doc:
1392 Attenuate or Boost a frequency band
1393
1394 ### Opts:
1395 * amp:
1396 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1397 - default: 1
1398 - constraints: must be zero or greater
1399 - May be changed whilst playing
1400 - Has slide parameters for shaping changes
1401 * mix:
1402 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1403 - default: 1
1404 - constraints: must be a value between 0 and 1 inclusively
1405 - May be changed whilst playing
1406 - Has slide parameters for shaping changes
1407 * pre_amp:
1408 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1409 - default: 1
1410 - constraints: must be zero or greater
1411 - May be changed whilst playing
1412 - Has slide parameters for shaping changes
1413 * freq:
1414 - doc: Centre frequency of the band in MIDI.
1415 - default: 100
1416 - constraints: must be greater than zero
1417 - May be changed whilst playing
1418 - Has slide parameters for shaping changes
1419 * res:
1420 - doc: Width of the band as a value between 0 and 1
1421 - default: 0.6
1422 - constraints: must be zero or greater,must be a value less than 1
1423 - May be changed whilst playing
1424 - Has slide parameters for shaping changes
1425 * db:
1426 - doc: Amount of boost or attenuation of the frequency band. A positive value boosts frequencies in the band, a negative value attenuates them.
581427 - default: 0.6
591428 - constraints: none
60 - Can not be changed once set
61
62 * room_slide:
63 - doc: write me
64 - default: 0
1429 - May be changed whilst playing
1430 - Has slide parameters for shaping changes
1431
1432
1433 ## Hyperbolic Tangent
1434
1435 ### Key:
1436 :tanh
1437
1438 ### Doc:
1439 Please write documentation!
1440
1441 ### Opts:
1442 * amp:
1443 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1444 - default: 1
1445 - constraints: must be zero or greater
1446 - May be changed whilst playing
1447 - Has slide parameters for shaping changes
1448 * pre_amp:
1449 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1450 - default: 1
1451 - constraints: must be zero or greater
1452 - May be changed whilst playing
1453 - Has slide parameters for shaping changes
1454 * mix:
1455 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1456 - default: 1
1457 - constraints: must be a value between 0 and 1 inclusively
1458 - May be changed whilst playing
1459 - Has slide parameters for shaping changes
1460 * krunch:
1461 - doc: Higher values progressively destroy the sound. Achieved through a balanced manipulation of pre_amp and amp such that the tanh is pushed harder with higher krunch values yet the overall amplitude stays similar.
1462 - default: 5
651463 - constraints: none
66 - Can not be changed once set
67
68 * damp:
69 - doc: write me
70 - default: 0.5
71 - constraints: none
72 - Can not be changed once set
73
74 * damp_slide:
75 - doc: write me
76 - default: 0
77 - constraints: none
78 - Can not be changed once set
79
80
81
82 ## FX Reverb
83
84 ### Key:
85 :replace_reverb
86
87 ### Doc:
88 Please write documentation!
89
90 ### Arguments:
91 * mix:
92 - doc: write me
93 - default: 0.4
94 - constraints: none
95 - Can not be changed once set
96
97 * mix_slide:
98 - doc: write me
99 - default: 0
100 - constraints: none
101 - Can not be changed once set
102
103 * room:
104 - doc: write me
105 - default: 0.6
106 - constraints: none
107 - Can not be changed once set
108
109 * room_slide:
110 - doc: write me
111 - default: 0
112 - constraints: none
113 - Can not be changed once set
114
115 * damp:
116 - doc: write me
117 - default: 0.5
118 - constraints: none
119 - Can not be changed once set
120
121 * damp_slide:
122 - doc: write me
123 - default: 0
124 - constraints: none
125 - Can not be changed once set
126
127
128
129 ## FX Level Amplifier
130
131 ### Key:
132 :level
133
134 ### Doc:
135 Please write documentation!
136
137 ### Arguments:
138 * amp:
139 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
140 - default: 1
141 - constraints: must be zero or greater
142 - May be changed whilst playing
143
144 * amp_slide:
145 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
146 - default: 0
147 - constraints: must be zero or greater
148 - May be changed whilst playing
149
150
151
152 ## FX Level Amplifier
153
154 ### Key:
155 :replace_level
156
157 ### Doc:
158 Please write documentation!
159
160 ### Arguments:
161 * amp:
162 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
163 - default: 1
164 - constraints: must be zero or greater
165 - May be changed whilst playing
166
167 * amp_slide:
168 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
169 - default: 0
170 - constraints: must be zero or greater
171 - May be changed whilst playing
172
173
174
175 ## FX Echo
176
177 ### Key:
178 :echo
179
180 ### Doc:
181 Please write documentation!
182
183 ### Arguments:
184 * max_delay:
185 - doc: The maximum delay time in seconds.
186 - default: 1
1464 - May be changed whilst playing
1465 - Has slide parameters for shaping changes
1466
1467
1468 ## Pitch shift
1469
1470 ### Key:
1471 :pitch_shift
1472
1473 ### Doc:
1474 Changes the pitch of a signal without affecting tempo. Does this mainly through the pitch parameter which takes a midi number to transpose by. You can also play with the other params to produce some interesting textures and sounds.
1475
1476 ### Opts:
1477 * amp:
1478 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1479 - default: 1
1480 - constraints: must be zero or greater
1481 - May be changed whilst playing
1482 - Has slide parameters for shaping changes
1483 * pre_amp:
1484 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1485 - default: 1
1486 - constraints: must be zero or greater
1487 - May be changed whilst playing
1488 - Has slide parameters for shaping changes
1489 * mix:
1490 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1491 - default: 1
1492 - constraints: must be a value between 0 and 1 inclusively
1493 - May be changed whilst playing
1494 - Has slide parameters for shaping changes
1495 * window_size:
1496 - doc: Pitch shift works by chopping the input into tiny slices, then playing these slices at a higher or lower rate. If we make the slices small enough and overlap them, it sounds like the original sound with the pitch changed.
1497
1498 The window_size is the length of the slices and is measured in seconds. It needs to be around 0.2 (200ms) or greater for pitched sounds like guitar or bass, and needs to be around 0.02 (20ms) or lower for percussive sounds like drum loops. You can experiment with this to get the best sound for your input.
1499 - default: 0.2
1500 - constraints: must be a value greater than 5.0e-05
1501 - May be changed whilst playing
1502 - Has slide parameters for shaping changes
1503 * pitch:
1504 - doc: Pitch adjustment in semitones. 1 is up a semitone, 12 is up an octave, -12 is down an octave etc. Maximum upper limit of 24 (up 2 octaves). Lower limit of -72 (down 6 octaves). Decimal numbers can be used for fine tuning.
1505 - default: 0
1506 - constraints: must be a value greater than or equal to -72,must be a value less than or equal to 24
1507 - May be changed whilst playing
1508 - Has slide parameters for shaping changes
1509 * pitch_dis:
1510 - doc: Pitch dispersion - how much random variation in pitch to add. Using a low value like 0.001 can help to "soften up" the metallic sounds, especially on drum loops. To be really technical, pitch_dispersion is the maximum random deviation of the pitch from the pitch ratio (which is set by the pitch param)
1511 - default: 0.0
1512 - constraints: must be a value greater than or equal to 0
1513 - May be changed whilst playing
1514 - Has slide parameters for shaping changes
1515 * time_dis:
1516 - doc: Time dispersion - how much random delay before playing each grain (measured in seconds). Again, low values here like 0.001 can help to soften up metallic sounds introduced by the effect. Large values are also fun as they can make soundscapes and textures from the input, although you will most likely lose the rhythm of the original. NB - This won't have an effect if it's larger than window_size.
1517 - default: 0.0
1518 - constraints: must be a value greater than or equal to 0
1519 - May be changed whilst playing
1520 - Has slide parameters for shaping changes
1521
1522
1523 ## Ring Modulator
1524
1525 ### Key:
1526 :ring_mod
1527
1528 ### Doc:
1529 Attack of the Daleks! Ring mod is a classic effect often used on soundtracks to evoke robots or aliens as it sounds hollow or metallic. We take a 'carrier' signal (a sine wave controlled by the freq opt) and modulate its amplitude using the signal given inside the fx block. This produces a wide variety of sounds - the best way to learn is to experiment!
1530
1531 ### Opts:
1532 * freq:
1533 - doc: Frequency of the carrier signal (as a midi note).
1534 - default: 30
1871535 - constraints: must be greater than zero
188 - Can not be changed once set
189
190 * delay:
191 - doc: The time between echoes in seconds.
192 - default: 0.4
193 - constraints: must be greater than zero
194 - May be changed whilst playing
195
196 * delay_slide:
197 - doc: Slide time in seconds between delay values
198 - default: 0
199 - constraints: must be zero or greater
200 - May be changed whilst playing
201
202 * decay:
203 - doc: The time it takes for the echoes to fade away in seconds.
204 - default: 8
205 - constraints: must be greater than zero
206 - May be changed whilst playing
207
208 * decay_slide:
209 - doc: Slide time in seconds between decay times
210 - default: 0
211 - constraints: must be zero or greater
212 - May be changed whilst playing
213
214 * amp:
215 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
216 - default: 1
217 - constraints: must be zero or greater
218 - May be changed whilst playing
219
220
221
222 ## FX Echo
223
224 ### Key:
225 :replace_echo
226
227 ### Doc:
228 Please write documentation!
229
230 ### Arguments:
231 * max_delay:
232 - doc: The maximum delay time in seconds.
233 - default: 1
234 - constraints: must be greater than zero
235 - Can not be changed once set
236
237 * delay:
238 - doc: The time between echoes in seconds.
239 - default: 0.4
240 - constraints: must be greater than zero
241 - May be changed whilst playing
242
243 * delay_slide:
244 - doc: Slide time in seconds between delay values
245 - default: 0
246 - constraints: must be zero or greater
247 - May be changed whilst playing
248
249 * decay:
250 - doc: The time it takes for the echoes to fade away in seconds.
251 - default: 8
252 - constraints: must be greater than zero
253 - May be changed whilst playing
254
255 * decay_slide:
256 - doc: Slide time in seconds between decay times
257 - default: 0
258 - constraints: must be zero or greater
259 - May be changed whilst playing
260
261 * amp:
262 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
263 - default: 1
264 - constraints: must be zero or greater
265 - May be changed whilst playing
266
267
268
269 ## FX Slicer
270
271 ### Key:
272 :slicer
273
274 ### Doc:
275 Please write documentation!
276
277 ### Arguments:
278 * rate:
279 - doc: The frequency of the slices
1536 - May be changed whilst playing
1537 - Has slide parameters for shaping changes
1538 * amp:
1539 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1540 - default: 1
1541 - constraints: must be zero or greater
1542 - May be changed whilst playing
1543 - Has slide parameters for shaping changes
1544 * mix:
1545 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1546 - default: 1
1547 - constraints: must be a value between 0 and 1 inclusively
1548 - May be changed whilst playing
1549 - Has slide parameters for shaping changes
1550 * pre_amp:
1551 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1552 - default: 1
1553 - constraints: must be zero or greater
1554 - May be changed whilst playing
1555 - Has slide parameters for shaping changes
1556 * mod_amp:
1557 - doc: Amplitude of the modulation
1558 - default: 1
1559 - constraints: must be zero or greater
1560 - May be changed whilst playing
1561 - Has slide parameters for shaping changes
1562
1563
1564 ## Octaver
1565
1566 ### Key:
1567 :octaver
1568
1569 ### Doc:
1570 This effect adds three pitches based on the input sound. The first is the original sound transposed up an octave (super_amp), the second is the original sound transposed down an octave (sub_amp) and the third is the original sound transposed down two octaves (subsub_amp).
1571
1572 The way the transpositions are done adds some distortion/fuzz, particularly to the lower octaves, whilst the upper octave has a 'cheap' quality. This effect is often used in guitar effects pedals but it can work with other sounds too. There's a great description of the science behind this on Wikipedia here: https://en.wikipedia.org/wiki/Octave_effect
1573
1574 ### Opts:
1575 * amp:
1576 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1577 - default: 1
1578 - constraints: must be zero or greater
1579 - May be changed whilst playing
1580 - Has slide parameters for shaping changes
1581 * mix:
1582 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1583 - default: 1
1584 - constraints: must be a value between 0 and 1 inclusively
1585 - May be changed whilst playing
1586 - Has slide parameters for shaping changes
1587 * pre_amp:
1588 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1589 - default: 1
1590 - constraints: must be zero or greater
1591 - May be changed whilst playing
1592 - Has slide parameters for shaping changes
1593 * super_amp:
1594 - doc: Volume of the signal 1 octave above the input
1595 - default: 1
1596 - constraints: must be zero or greater
1597 - May be changed whilst playing
1598 - Has slide parameters for shaping changes
1599 * sub_amp:
1600 - doc: Volume of the signal 1 octave below the input
1601 - default: 1
1602 - constraints: must be zero or greater
1603 - May be changed whilst playing
1604 - Has slide parameters for shaping changes
1605 * subsub_amp:
1606 - doc: Volume of the signal 2 octaves below the input
1607 - default: 1
1608 - constraints: must be zero or greater
1609 - May be changed whilst playing
1610 - Has slide parameters for shaping changes
1611
1612
1613 ## Vowel
1614
1615 ### Key:
1616 :vowel
1617
1618 ### Doc:
1619 This effect filters the input to match a human voice singing a certain vowel sound. Human singing voice sounds are easily achieved with a source of a saw wave with a little vibrato.
1620
1621 ### Opts:
1622 * amp:
1623 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1624 - default: 1
1625 - constraints: must be zero or greater
1626 - May be changed whilst playing
1627 - Has slide parameters for shaping changes
1628 * pre_amp:
1629 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1630 - default: 1
1631 - constraints: must be zero or greater
1632 - May be changed whilst playing
1633 - Has slide parameters for shaping changes
1634 * vowel_sound:
1635 - doc: 1,2,3,4,5 => A,E,I,O,U
1636 - default: 1
1637 - constraints: must be one of the following values: [1, 2, 3, 4, 5]
1638 - May be changed whilst playing
1639 * voice:
1640 - doc: 0,1,2,3,4 => Soprano,Alto,Counter Tenor, Tenor, Bass
1641 - default: 0
1642 - constraints: must be one of the following values: [0, 1, 2, 3, 4]
1643 - May be changed whilst playing
1644
1645
1646 ## Flanger
1647
1648 ### Key:
1649 :flanger
1650
1651 ### Doc:
1652 Mix the incoming signal with a copy of itself which has a rate modulating faster and slower than the original. Creates a swirling/whooshing effect.
1653
1654 ### Opts:
1655 * amp:
1656 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1657 - default: 1
1658 - constraints: must be zero or greater
1659 - May be changed whilst playing
1660 - Has slide parameters for shaping changes
1661 * mix:
1662 - doc: The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.
1663 - default: 1
1664 - constraints: must be a value between 0 and 1 inclusively
1665 - May be changed whilst playing
1666 - Has slide parameters for shaping changes
1667 * pre_amp:
1668 - doc: Amplification applied to the input signal immediately before it is passed to the FX.
1669 - default: 1
1670 - constraints: must be zero or greater
1671 - May be changed whilst playing
1672 - Has slide parameters for shaping changes
1673 * phase:
1674 - doc: Phase duration in beats of flanger modulation.
2801675 - default: 4
2811676 - constraints: must be greater than zero
2821677 - May be changed whilst playing
283
284 * rate_slide:
285 - doc: Slide time in seconds between rate values
286 - default: 0
287 - constraints: must be zero or greater
288 - May be changed whilst playing
289
290 * width:
291 - doc: The width of the slices - 0 - 1.
292 - default: 0.5
293 - constraints: must be a value between 0 and 1 exclusively
294 - May be changed whilst playing
295
296 * width_slide:
297 - doc: Slide time in seconds between width values
298 - default: 0
299 - constraints: must be zero or greater
300 - May be changed whilst playing
301
302 * phase:
303 - doc: Initial phase.
1678 - Scaled with current BPM value
1679 - Has slide parameters for shaping changes
1680 * phase_offset:
1681 - doc: Initial modulation phase offset (a value between 0 and 1).
3041682 - default: 0
3051683 - constraints: must be a value between 0 and 1 inclusively
3061684 - Can not be changed once set
307
308 * amp:
309 - doc: The amplitude of the resulting effect.
310 - default: 1
311 - constraints: must be zero or greater
312 - May be changed whilst playing
313
314 * amp_slide:
315 - doc: The slide lag time for amplitude changes.
316 - default: 0.05
317 - constraints: must be zero or greater
318 - May be changed whilst playing
319
320
321
322 ## FX Slicer
323
324 ### Key:
325 :replace_slicer
326
327 ### Doc:
328 Please write documentation!
329
330 ### Arguments:
331 * rate:
332 - doc: The frequency of the slices
1685 * wave:
1686 - doc: Wave type - 0 saw, 1 pulse, 2 triangle, 3 sine, 4 cubic. Different waves will produce different flanging modulation effects.
3331687 - default: 4
334 - constraints: must be greater than zero
335 - May be changed whilst playing
336
337 * rate_slide:
338 - doc: Slide time in seconds between rate values
339 - default: 0
340 - constraints: must be zero or greater
341 - May be changed whilst playing
342
343 * width:
344 - doc: The width of the slices - 0 - 1.
345 - default: 0.5
346 - constraints: must be a value between 0 and 1 exclusively
347 - May be changed whilst playing
348
349 * width_slide:
350 - doc: Slide time in seconds between width values
351 - default: 0
352 - constraints: must be zero or greater
353 - May be changed whilst playing
354
355 * phase:
356 - doc: Initial phase.
357 - default: 0
358 - constraints: must be a value between 0 and 1 inclusively
1688 - constraints: must be one of the following values: [0, 1, 2, 3, 4]
1689 - May be changed whilst playing
1690 * invert_wave:
1691 - doc: Invert flanger control waveform (i.e. flip it on the y axis). 0=uninverted wave, 1=inverted wave.
1692 - default: 0
1693 - constraints: must be one of the following values: [0, 1]
1694 - May be changed whilst playing
1695 * stereo_invert_wave:
1696 - doc: Make the flanger control waveform in the left ear an inversion of the control waveform in the right ear. 0=uninverted wave, 1=inverted wave. This happens after the standard wave inversion with param :invert_wave.
1697 - default: 0
1698 - constraints: must be one of the following values: [0, 1]
1699 - May be changed whilst playing
1700 * delay:
1701 - doc: Amount of delay time between original and flanged version of audio.
1702 - default: 5
1703 - constraints: none
1704 - May be changed whilst playing
1705 - Has slide parameters for shaping changes
1706 * max_delay:
1707 - doc: Max delay time. Used to set internal buffer size.
1708 - default: 20
1709 - constraints: must be zero or greater
3591710 - Can not be changed once set
360
361 * amp:
362 - doc: The amplitude of the resulting effect.
363 - default: 1
364 - constraints: must be zero or greater
365 - May be changed whilst playing
366
367 * amp_slide:
368 - doc: The slide lag time for amplitude changes.
369 - default: 0.05
370 - constraints: must be zero or greater
371 - May be changed whilst playing
372
373
374
375 ## FX Techno
376
377 ### Key:
378 :techno
379
380 ### Doc:
381 Please write documentation!
382
383 ### Arguments:
384 * rate:
385 - doc: The frequency of filter modulation
386 - default: 0.1
387 - constraints: must be greater than zero
388 - May be changed whilst playing
389
390 * rate_slide:
391 - doc: write me
392 - default: 0
1711 * depth:
1712 - doc: Flange depth - greater depths produce a more prominent effect.
1713 - default: 5
3931714 - constraints: none
394 - Can not be changed once set
395
396 * cutoff_min:
397 - doc: write me
398 - default: 880
399 - constraints: none
400 - Can not be changed once set
401
402 * cutoff_min_slide:
403 - doc: write me
404 - default: 0
405 - constraints: none
406 - Can not be changed once set
407
408 * cutoff_max:
409 - doc: write me
410 - default: 12000
411 - constraints: none
412 - Can not be changed once set
413
414 * cutoff_max_slide:
415 - doc: write me
416 - default: 0
417 - constraints: none
418 - Can not be changed once set
419
420 * res:
421 - doc: write me
422 - default: 0.2
423 - constraints: none
424 - Can not be changed once set
425
426 * res_slide:
427 - doc: write me
428 - default: 0
429 - constraints: none
430 - Can not be changed once set
431
432
433
434 ## FX Techno
435
436 ### Key:
437 :replace_techno
438
439 ### Doc:
440 Please write documentation!
441
442 ### Arguments:
443 * rate:
444 - doc: The frequency of filter modulation
445 - default: 0.1
446 - constraints: must be greater than zero
447 - May be changed whilst playing
448
449 * rate_slide:
450 - doc: write me
451 - default: 0
452 - constraints: none
453 - Can not be changed once set
454
455 * cutoff_min:
456 - doc: write me
457 - default: 880
458 - constraints: none
459 - Can not be changed once set
460
461 * cutoff_min_slide:
462 - doc: write me
463 - default: 0
464 - constraints: none
465 - Can not be changed once set
466
467 * cutoff_max:
468 - doc: write me
469 - default: 12000
470 - constraints: none
471 - Can not be changed once set
472
473 * cutoff_max_slide:
474 - doc: write me
475 - default: 0
476 - constraints: none
477 - Can not be changed once set
478
479 * res:
480 - doc: write me
481 - default: 0.2
482 - constraints: none
483 - Can not be changed once set
484
485 * res_slide:
486 - doc: write me
487 - default: 0
488 - constraints: none
489 - Can not be changed once set
490
491
492
493 ## FX Compressor
494
495 ### Key:
496 :compressor
497
498 ### Doc:
499 Please write documentation!
500
501 ### Arguments:
502 * amp:
503 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
504 - default: 1
505 - constraints: must be zero or greater
506 - May be changed whilst playing
507
508 * amp_slide:
509 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
510 - default: 0
511 - constraints: must be zero or greater
512 - May be changed whilst playing
513
514 * threshold:
515 - doc: write me
516 - default: 0.2
517 - constraints: none
518 - Can not be changed once set
519
520 * threshold_slide:
521 - doc: write me
522 - default: 0
523 - constraints: none
524 - Can not be changed once set
525
526 * clamp_time:
527 - doc: write me
528 - default: 0.01
529 - constraints: none
530 - Can not be changed once set
531
532 * clamp_time_slide:
533 - doc: write me
534 - default: 0
535 - constraints: none
536 - Can not be changed once set
537
538 * slope_above:
539 - doc: write me
540 - default: 0.5
541 - constraints: none
542 - Can not be changed once set
543
544 * slope_above_slide:
545 - doc: write me
546 - default: 0
547 - constraints: none
548 - Can not be changed once set
549
550 * slope_below:
551 - doc: write me
552 - default: 1
553 - constraints: none
554 - Can not be changed once set
555
556 * slope_below_slide:
557 - doc: write me
558 - default: 0
559 - constraints: none
560 - Can not be changed once set
561
562 * relax_time:
563 - doc: write me
564 - default: 0.01
565 - constraints: none
566 - Can not be changed once set
567
568 * relax_time_slide:
569 - doc: write me
570 - default: 0
571 - constraints: none
572 - Can not be changed once set
573
574
575
576 ## FX Compressor
577
578 ### Key:
579 :replace_compressor
580
581 ### Doc:
582 Please write documentation!
583
584 ### Arguments:
585 * amp:
586 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
587 - default: 1
588 - constraints: must be zero or greater
589 - May be changed whilst playing
590
591 * amp_slide:
592 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
593 - default: 0
594 - constraints: must be zero or greater
595 - May be changed whilst playing
596
597 * threshold:
598 - doc: write me
599 - default: 0.2
600 - constraints: none
601 - Can not be changed once set
602
603 * threshold_slide:
604 - doc: write me
605 - default: 0
606 - constraints: none
607 - Can not be changed once set
608
609 * clamp_time:
610 - doc: write me
611 - default: 0.01
612 - constraints: none
613 - Can not be changed once set
614
615 * clamp_time_slide:
616 - doc: write me
617 - default: 0
618 - constraints: none
619 - Can not be changed once set
620
621 * slope_above:
622 - doc: write me
623 - default: 0.5
624 - constraints: none
625 - Can not be changed once set
626
627 * slope_above_slide:
628 - doc: write me
629 - default: 0
630 - constraints: none
631 - Can not be changed once set
632
633 * slope_below:
634 - doc: write me
635 - default: 1
636 - constraints: none
637 - Can not be changed once set
638
639 * slope_below_slide:
640 - doc: write me
641 - default: 0
642 - constraints: none
643 - Can not be changed once set
644
645 * relax_time:
646 - doc: write me
647 - default: 0.01
648 - constraints: none
649 - Can not be changed once set
650
651 * relax_time_slide:
652 - doc: write me
653 - default: 0
654 - constraints: none
655 - Can not be changed once set
656
657
658
659 ## FX Resonant Low Pass Filter
660
661 ### Key:
662 :rlpf
663
664 ### Doc:
665 Please write documentation!
666
667 ### Arguments:
668 * cutoff:
669 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
670 - default: 100
671 - constraints: must be zero or greater, must be a value less than 130
672 - May be changed whilst playing
673
674 * cutoff_slide:
675 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
676 - default: 0
677 - constraints: must be zero or greater
678 - May be changed whilst playing
679
680 * res:
681 - doc: write me
682 - default: 0.5
683 - constraints: none
684 - Can not be changed once set
685
686 * res_slide:
687 - doc: write me
688 - default: 0
689 - constraints: none
690 - Can not be changed once set
691
692
693
694 ## FX Resonant Low Pass Filter
695
696 ### Key:
697 :replace_rlpf
698
699 ### Doc:
700 Please write documentation!
701
702 ### Arguments:
703 * cutoff:
704 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
705 - default: 100
706 - constraints: must be zero or greater, must be a value less than 130
707 - May be changed whilst playing
708
709 * cutoff_slide:
710 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
711 - default: 0
712 - constraints: must be zero or greater
713 - May be changed whilst playing
714
715 * res:
716 - doc: write me
717 - default: 0.5
718 - constraints: none
719 - Can not be changed once set
720
721 * res_slide:
722 - doc: write me
723 - default: 0
724 - constraints: none
725 - Can not be changed once set
726
727
728
729 ## FX Normalised Resonant Low Pass Filter
730
731 ### Key:
732 :norm_rlpf
733
734 ### Doc:
735 Please write documentation!
736
737 ### Arguments:
738 * cutoff:
739 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
740 - default: 100
741 - constraints: must be zero or greater, must be a value less than 130
742 - May be changed whilst playing
743
744 * cutoff_slide:
745 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
746 - default: 0
747 - constraints: must be zero or greater
748 - May be changed whilst playing
749
750 * res:
751 - doc: write me
752 - default: 0.5
753 - constraints: none
754 - Can not be changed once set
755
756 * res_slide:
757 - doc: write me
758 - default: 0
759 - constraints: none
760 - Can not be changed once set
761
762
763
764 ## FX Normalised Resonant Low Pass Filter
765
766 ### Key:
767 :replace_norm_rlpf
768
769 ### Doc:
770 Please write documentation!
771
772 ### Arguments:
773 * cutoff:
774 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
775 - default: 100
776 - constraints: must be zero or greater, must be a value less than 130
777 - May be changed whilst playing
778
779 * cutoff_slide:
780 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
781 - default: 0
782 - constraints: must be zero or greater
783 - May be changed whilst playing
784
785 * res:
786 - doc: write me
787 - default: 0.5
788 - constraints: none
789 - Can not be changed once set
790
791 * res_slide:
792 - doc: write me
793 - default: 0
794 - constraints: none
795 - Can not be changed once set
796
797
798
799 ## FX Resonant High Pass Filter
800
801 ### Key:
802 :rhpf
803
804 ### Doc:
805 Please write documentation!
806
807 ### Arguments:
808 * cutoff:
809 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
810 - default: 100
811 - constraints: must be zero or greater, must be a value less than 130
812 - May be changed whilst playing
813
814 * cutoff_slide:
815 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
816 - default: 0
817 - constraints: must be zero or greater
818 - May be changed whilst playing
819
820 * res:
821 - doc: write me
822 - default: 0.5
823 - constraints: none
824 - Can not be changed once set
825
826 * res_slide:
827 - doc: write me
828 - default: 0
829 - constraints: none
830 - Can not be changed once set
831
832
833
834 ## FX Resonant High Pass Filter
835
836 ### Key:
837 :replace_rhpf
838
839 ### Doc:
840 Please write documentation!
841
842 ### Arguments:
843 * cutoff:
844 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
845 - default: 100
846 - constraints: must be zero or greater, must be a value less than 130
847 - May be changed whilst playing
848
849 * cutoff_slide:
850 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
851 - default: 0
852 - constraints: must be zero or greater
853 - May be changed whilst playing
854
855 * res:
856 - doc: write me
857 - default: 0.5
858 - constraints: none
859 - Can not be changed once set
860
861 * res_slide:
862 - doc: write me
863 - default: 0
864 - constraints: none
865 - Can not be changed once set
866
867
868
869 ## FX Normalised Resonant High Pass Filter
870
871 ### Key:
872 :norm_rhpf
873
874 ### Doc:
875 Please write documentation!
876
877 ### Arguments:
878 * cutoff:
879 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
880 - default: 100
881 - constraints: must be zero or greater, must be a value less than 130
882 - May be changed whilst playing
883
884 * cutoff_slide:
885 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
886 - default: 0
887 - constraints: must be zero or greater
888 - May be changed whilst playing
889
890 * res:
891 - doc: write me
892 - default: 0.5
893 - constraints: none
894 - Can not be changed once set
895
896 * res_slide:
897 - doc: write me
898 - default: 0
899 - constraints: none
900 - Can not be changed once set
901
902
903
904 ## FX Normalised Resonant High Pass Filter
905
906 ### Key:
907 :replace_norm_rhpf
908
909 ### Doc:
910 Please write documentation!
911
912 ### Arguments:
913 * cutoff:
914 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
915 - default: 100
916 - constraints: must be zero or greater, must be a value less than 130
917 - May be changed whilst playing
918
919 * cutoff_slide:
920 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
921 - default: 0
922 - constraints: must be zero or greater
923 - May be changed whilst playing
924
925 * res:
926 - doc: write me
927 - default: 0.5
928 - constraints: none
929 - Can not be changed once set
930
931 * res_slide:
932 - doc: write me
933 - default: 0
934 - constraints: none
935 - Can not be changed once set
936
937
938
939 ## FX High Pass Filter
940
941 ### Key:
942 :hpf
943
944 ### Doc:
945 Please write documentation!
946
947 ### Arguments:
948 * cutoff:
949 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
950 - default: 100
951 - constraints: must be zero or greater, must be a value less than 130
952 - May be changed whilst playing
953
954 * cutoff_slide:
955 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
956 - default: 0
957 - constraints: must be zero or greater
958 - May be changed whilst playing
959
960
961
962 ## FX High Pass Filter
963
964 ### Key:
965 :replace_hpf
966
967 ### Doc:
968 Please write documentation!
969
970 ### Arguments:
971 * cutoff:
972 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
973 - default: 100
974 - constraints: must be zero or greater, must be a value less than 130
975 - May be changed whilst playing
976
977 * cutoff_slide:
978 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
979 - default: 0
980 - constraints: must be zero or greater
981 - May be changed whilst playing
982
983
984
985 ## FX Normalised High Pass Filter
986
987 ### Key:
988 :norm_hpf
989
990 ### Doc:
991 Please write documentation!
992
993 ### Arguments:
994 * cutoff:
995 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
996 - default: 100
997 - constraints: must be zero or greater, must be a value less than 130
998 - May be changed whilst playing
999
1000 * cutoff_slide:
1001 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
1002 - default: 0
1003 - constraints: must be zero or greater
1004 - May be changed whilst playing
1005
1006 * res:
1007 - doc: write me
1008 - default: 0.5
1009 - constraints: none
1010 - Can not be changed once set
1011
1012 * res_slide:
1013 - doc: write me
1014 - default: 0
1015 - constraints: none
1016 - Can not be changed once set
1017
1018
1019
1020 ## FX Normalised High Pass Filter
1021
1022 ### Key:
1023 :replace_norm_hpf
1024
1025 ### Doc:
1026 Please write documentation!
1027
1028 ### Arguments:
1029 * cutoff:
1030 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1031 - default: 100
1032 - constraints: must be zero or greater, must be a value less than 130
1033 - May be changed whilst playing
1034
1035 * cutoff_slide:
1036 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
1037 - default: 0
1038 - constraints: must be zero or greater
1039 - May be changed whilst playing
1040
1041 * res:
1042 - doc: write me
1043 - default: 0.5
1044 - constraints: none
1045 - Can not be changed once set
1046
1047 * res_slide:
1048 - doc: write me
1049 - default: 0
1050 - constraints: none
1051 - Can not be changed once set
1052
1053
1054
1055 ## FX Low Pass Filter
1056
1057 ### Key:
1058 :lpf
1059
1060 ### Doc:
1061 Please write documentation!
1062
1063 ### Arguments:
1064 * cutoff:
1065 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1066 - default: 100
1067 - constraints: must be zero or greater, must be a value less than 130
1068 - May be changed whilst playing
1069
1070 * cutoff_slide:
1071 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
1072 - default: 0
1073 - constraints: must be zero or greater
1074 - May be changed whilst playing
1075
1076
1077
1078 ## FX Low Pass Filter
1079
1080 ### Key:
1081 :replace_lpf
1082
1083 ### Doc:
1084 Please write documentation!
1085
1086 ### Arguments:
1087 * cutoff:
1088 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1089 - default: 100
1090 - constraints: must be zero or greater, must be a value less than 130
1091 - May be changed whilst playing
1092
1093 * cutoff_slide:
1094 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
1095 - default: 0
1096 - constraints: must be zero or greater
1097 - May be changed whilst playing
1098
1099
1100
1101 ## FX Normalised Low Pass Filter
1102
1103 ### Key:
1104 :norm_lpf
1105
1106 ### Doc:
1107 Please write documentation!
1108
1109 ### Arguments:
1110 * cutoff:
1111 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1112 - default: 100
1113 - constraints: must be zero or greater, must be a value less than 130
1114 - May be changed whilst playing
1115
1116 * cutoff_slide:
1117 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
1118 - default: 0
1119 - constraints: must be zero or greater
1120 - May be changed whilst playing
1121
1122 * res:
1123 - doc: write me
1124 - default: 0.5
1125 - constraints: none
1126 - Can not be changed once set
1127
1128 * res_slide:
1129 - doc: write me
1130 - default: 0
1131 - constraints: none
1132 - Can not be changed once set
1133
1134
1135
1136 ## FX Normalised Low Pass Filter
1137
1138 ### Key:
1139 :replace_norm_lpf
1140
1141 ### Doc:
1142 Please write documentation!
1143
1144 ### Arguments:
1145 * cutoff:
1146 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1147 - default: 100
1148 - constraints: must be zero or greater, must be a value less than 130
1149 - May be changed whilst playing
1150
1151 * cutoff_slide:
1152 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
1153 - default: 0
1154 - constraints: must be zero or greater
1155 - May be changed whilst playing
1156
1157 * res:
1158 - doc: write me
1159 - default: 0.5
1160 - constraints: none
1161 - Can not be changed once set
1162
1163 * res_slide:
1164 - doc: write me
1165 - default: 0
1166 - constraints: none
1167 - Can not be changed once set
1168
1169
1170
1171 ## FX Normaliser
1172
1173 ### Key:
1174 :normaliser
1175
1176 ### Doc:
1177 Please write documentation!
1178
1179 ### Arguments:
1180 * amp:
1181 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
1182 - default: 1
1183 - constraints: must be zero or greater
1184 - May be changed whilst playing
1185
1186 * amp_slide:
1187 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
1188 - default: 0
1189 - constraints: must be zero or greater
1190 - May be changed whilst playing
1191
1192
1193
1194 ## FX Normaliser
1195
1196 ### Key:
1197 :replace_normaliser
1198
1199 ### Doc:
1200 Please write documentation!
1201
1202 ### Arguments:
1203 * amp:
1204 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
1205 - default: 1
1206 - constraints: must be zero or greater
1207 - May be changed whilst playing
1208
1209 * amp_slide:
1210 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
1211 - default: 0
1212 - constraints: must be zero or greater
1213 - May be changed whilst playing
1214
1215
1216
1217 ## FX Distortion
1218
1219 ### Key:
1220 :distortion
1221
1222 ### Doc:
1223 Please write documentation!
1224
1225 ### Arguments:
1226 * distort:
1227 - doc: write me
1228 - default: 0.5
1229 - constraints: none
1230 - Can not be changed once set
1231
1232 * distort_slide:
1233 - doc: write me
1234 - default: 0
1235 - constraints: none
1236 - Can not be changed once set
1237
1238
1239
1240 ## FX Distortion
1241
1242 ### Key:
1243 :replace_distortion
1244
1245 ### Doc:
1246 Please write documentation!
1247
1248 ### Arguments:
1249 * distort:
1250 - doc: write me
1251 - default: 0.5
1252 - constraints: none
1253 - Can not be changed once set
1254
1255 * distort_slide:
1256 - doc: write me
1257 - default: 0
1258 - constraints: none
1259 - Can not be changed once set
1260
1261
1262
1715 - May be changed whilst playing
1716 - Has slide parameters for shaping changes
1717 * decay:
1718 - doc: Flange decay time in ms
1719 - default: 2
1720 - constraints: must be zero or greater
1721 - May be changed whilst playing
1722 - Has slide parameters for shaping changes
1723 * feedback:
1724 - doc: Amount of feedback.
1725 - default: 0
1726 - constraints: must be zero or greater
1727 - May be changed whilst playing
1728 - Has slide parameters for shaping changes
1729 * invert_flange:
1730 - doc: Invert flanger signal. 0=no inversion, 1=inverted signal.
1731 - default: 0
1732 - constraints: must be one of the following values: [0, 1]
1733 - May be changed whilst playing
1734
1735
5252 * :guit_harmonics
5353 * :guit_e_fifths
5454 * :guit_e_slide
55 * :guit_em9
5556
5657
5758 ## Miscellaneous Sounds
5859 * :misc_burp
5960
6061
61 ## Percurssive Sounds
62 ## Percussive Sounds
6263 * :perc_bell
64 * :perc_snap
65 * :perc_snap2
6366
6467
6568 ## Ambient Sounds
8689 * :bass_dnb_f
8790
8891
92 ## Snare Drums
93 * :sn_dub
94 * :sn_dolf
95 * :sn_zome
96
97
98 ## Bass Drums
99 * :bd_ada
100 * :bd_pure
101 * :bd_808
102 * :bd_zum
103 * :bd_gas
104 * :bd_sone
105 * :bd_haus
106 * :bd_zome
107 * :bd_boom
108 * :bd_klub
109 * :bd_fat
110 * :bd_tek
111
112
89113 ## Sounds for Looping
90114 * :loop_industrial
91115 * :loop_compus
92116 * :loop_amen
93117 * :loop_amen_full
118 * :loop_garzul
119 * :loop_mika
120 * :loop_breakbeat
94121
95122
11
22 * [Dull Bell](#dull-bell)
33 * [Pretty Bell](#pretty-bell)
4 * [Sine Wave](#sine-wave)
5 * [Sine Wave](#sine-wave)
46 * [Saw Wave](#saw-wave)
5 * [Sine Wave](#sine-wave)
7 * [Pulse Wave](#pulse-wave)
8 * [Pulse Wave with sub](#pulse-wave-with-sub)
9 * [Square Wave](#square-wave)
10 * [Triangle Wave](#triangle-wave)
611 * [Detuned Saw wave](#detuned-saw-wave)
12 * [Detuned Pulse Wave](#detuned-pulse-wave)
13 * [Detuned Triangle Wave](#detuned-triangle-wave)
714 * [Basic FM synthesis](#basic-fm-synthesis)
15 * [Basic FM synthesis with frequency modulation.](#basic-fm-synthesis-with-frequency-modulation.)
816 * [Modulated Saw Wave](#modulated-saw-wave)
9 * [Simple Modulated Saw Wave](#simple-modulated-saw-wave)
1017 * [Modulated Detuned Saw Waves](#modulated-detuned-saw-waves)
11 * [Modulated Detuned Saw Waves Simple](#modulated-detuned-saw-waves-simple)
1218 * [Modulated Sine Wave](#modulated-sine-wave)
13 * [Simple Modulated Sine Wave](#simple-modulated-sine-wave)
19 * [Modulated Sine Wave](#modulated-sine-wave)
1420 * [Modulated Triangle Wave](#modulated-triangle-wave)
15 * [Simple Modulated Triangle Wave](#simple-modulated-triangle-wave)
1621 * [Modulated Pulse](#modulated-pulse)
17 * [Simple Modulated Pulse](#simple-modulated-pulse)
1822 * [TB-303 Emulation](#tb-303-emulation)
1923 * [Supersaw](#supersaw)
20 * [Supersaw Simple](#supersaw-simple)
24 * [Hoover](#hoover)
2125 * [The Prophet](#the-prophet)
2226 * [Zawa](#zawa)
27 * [Dark Ambience](#dark-ambience)
28 * [Growl](#growl)
29 * [Hollow](#hollow)
2330 * [Mono Sample Player](#mono-sample-player)
2431 * [Stereo Sample Player](#stereo-sample-player)
25 * [Basic Mono Sample Player - (no envelope)](#basic-mono-sample-player---(no-envelope))
26 * [Basic Stereo Sample Player - (no envelope)](#basic-stereo-sample-player---(no-envelope))
32 * [Blade Runner style strings](#blade-runner-style-strings)
33 * [SynthPiano](#synthpiano)
34 * [SynthPluck](#synthpluck)
35 * [Sound In](#sound-in)
36 * [Noise](#noise)
37 * [Pink Noise](#pink-noise)
38 * [Brown Noise](#brown-noise)
39 * [Grey Noise](#grey-noise)
40 * [Clip Noise](#clip-noise)
41 * [Basic Mono Sample Player (no env)](#basic-mono-sample-player-(no-env))
42 * [Basic Stereo Sample Player (no env)](#basic-stereo-sample-player-(no-env))
43 * [Basic Mixer](#basic-mixer)
44 * [Main Mixer](#main-mixer)
2745
2846 ## Dull Bell
2947
3351 ### Doc:
3452 A simple dull discordant bell sound.
3553
36 ### Arguments:
54 ### Opts:
3755 * note:
38 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
56 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
3957 - default: 52
4058 - constraints: must be zero or greater
4159 - May be changed whilst playing
42
43 * note_slide:
44 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
45 - default: 0
46 - constraints: must be zero or greater
47 - May be changed whilst playing
48
49 * amp:
50 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
51 - default: 1
52 - constraints: must be zero or greater
53 - May be changed whilst playing
54
55 * amp_slide:
56 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
57 - default: 0
58 - constraints: must be zero or greater
59 - May be changed whilst playing
60
60 - Has slide parameters for shaping changes
61 * amp:
62 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
63 - default: 1
64 - constraints: must be zero or greater
65 - May be changed whilst playing
66 - Has slide parameters for shaping changes
6167 * pan:
6268 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
6369 - default: 0
6470 - constraints: must be a value between -1 and 1 inclusively
6571 - May be changed whilst playing
66
67 * pan_slide:
68 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
69 - default: 0
70 - constraints: must be zero or greater
71 - May be changed whilst playing
72
72 - Has slide parameters for shaping changes
7373 * attack:
74 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
75 - default: 0.01
76 - constraints: must be zero or greater
77 - Can not be changed once set
78
74 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
75 - default: 0
76 - constraints: must be zero or greater
77 - Can not be changed once set
78 - Scaled with current BPM value
79 * decay:
80 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
81 - default: 0
82 - constraints: must be zero or greater
83 - Can not be changed once set
84 - Scaled with current BPM value
7985 * sustain:
80 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
81 - default: 0
82 - constraints: must be zero or greater
83 - Can not be changed once set
84
86 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
87 - default: 0
88 - constraints: must be zero or greater
89 - Can not be changed once set
90 - Scaled with current BPM value
8591 * release:
86 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
87 - default: 1
88 - constraints: must be zero or greater
89 - Can not be changed once set
90
92 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
93 - default: 1
94 - constraints: must be zero or greater
95 - Can not be changed once set
96 - Scaled with current BPM value
97 * attack_level:
98 - doc: Amplitude level reached after attack phase and immediately before decay phase
99 - default: 1
100 - constraints: must be zero or greater
101 - Can not be changed once set
102 * decay_level:
103 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
104 - default: sustain_level
105 - constraints: must be zero or greater
106 - Can not be changed once set
107 * sustain_level:
108 - doc: Amplitude level reached after decay phase and immediately before release phase.
109 - default: 1
110 - constraints: must be zero or greater
111 - Can not be changed once set
112 * env_curve:
113 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
114 - default: 2
115 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
116 - Can not be changed once set
91117
92118
93119 ## Pretty Bell
96122 :pretty_bell
97123
98124 ### Doc:
99 A simple pretty bell sound.
100
101 ### Arguments:
125 A pretty bell sound. Works well with short attacks and long decays.
126
127 ### Opts:
102128 * note:
103 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
129 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
104130 - default: 52
105131 - constraints: must be zero or greater
106132 - May be changed whilst playing
107
108 * note_slide:
109 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
110 - default: 0
111 - constraints: must be zero or greater
112 - May be changed whilst playing
113
114 * amp:
115 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
116 - default: 1
117 - constraints: must be zero or greater
118 - May be changed whilst playing
119
120 * amp_slide:
121 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
122 - default: 0
123 - constraints: must be zero or greater
124 - May be changed whilst playing
125
133 - Has slide parameters for shaping changes
134 * amp:
135 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
136 - default: 1
137 - constraints: must be zero or greater
138 - May be changed whilst playing
139 - Has slide parameters for shaping changes
126140 * pan:
127141 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
128142 - default: 0
129143 - constraints: must be a value between -1 and 1 inclusively
130144 - May be changed whilst playing
131
132 * pan_slide:
133 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
134 - default: 0
135 - constraints: must be zero or greater
136 - May be changed whilst playing
137
145 - Has slide parameters for shaping changes
138146 * attack:
139 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
140 - default: 0.01
141 - constraints: must be zero or greater
142 - Can not be changed once set
143
147 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
148 - default: 0
149 - constraints: must be zero or greater
150 - Can not be changed once set
151 - Scaled with current BPM value
152 * decay:
153 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
154 - default: 0
155 - constraints: must be zero or greater
156 - Can not be changed once set
157 - Scaled with current BPM value
144158 * sustain:
145 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
146 - default: 0
147 - constraints: must be zero or greater
148 - Can not be changed once set
149
159 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
160 - default: 0
161 - constraints: must be zero or greater
162 - Can not be changed once set
163 - Scaled with current BPM value
150164 * release:
151 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
152 - default: 1
153 - constraints: must be zero or greater
154 - Can not be changed once set
155
156
157
158 ## Saw Wave
159
160 ### Key:
161 :saw_beep
162
163 ### Doc:
164 A simple saw wave with a low pass filter.
165
166 ### Arguments:
165 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
166 - default: 1
167 - constraints: must be zero or greater
168 - Can not be changed once set
169 - Scaled with current BPM value
170 * attack_level:
171 - doc: Amplitude level reached after attack phase and immediately before decay phase
172 - default: 1
173 - constraints: must be zero or greater
174 - Can not be changed once set
175 * decay_level:
176 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
177 - default: sustain_level
178 - constraints: must be zero or greater
179 - Can not be changed once set
180 * sustain_level:
181 - doc: Amplitude level reached after decay phase and immediately before release phase.
182 - default: 1
183 - constraints: must be zero or greater
184 - Can not be changed once set
185 * env_curve:
186 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
187 - default: 2
188 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
189 - Can not be changed once set
190
191
192 ## Sine Wave
193
194 ### Key:
195 :beep
196
197 ### Doc:
198 A simple pure sine wave. The sine wave is the simplest, purest sound there is and is the fundamental building block of all noise. The mathematician Fourier demonstrated that any sound could be built out of a number of sine waves (the more complex the sound, the more sine waves needed). Have a play combining a number of sine waves to design your own sounds!
199
200 ### Opts:
167201 * note:
168 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
202 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
169203 - default: 52
170204 - constraints: must be zero or greater
171205 - May be changed whilst playing
172
173 * note_slide:
174 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
175 - default: 0
176 - constraints: must be zero or greater
177 - May be changed whilst playing
178
179 * amp:
180 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
181 - default: 1
182 - constraints: must be zero or greater
183 - May be changed whilst playing
184
185 * amp_slide:
186 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
187 - default: 0
188 - constraints: must be zero or greater
189 - May be changed whilst playing
190
206 - Has slide parameters for shaping changes
207 * amp:
208 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
209 - default: 1
210 - constraints: must be zero or greater
211 - May be changed whilst playing
212 - Has slide parameters for shaping changes
191213 * pan:
192214 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
193215 - default: 0
194216 - constraints: must be a value between -1 and 1 inclusively
195217 - May be changed whilst playing
196
197 * pan_slide:
198 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
199 - default: 0
200 - constraints: must be zero or greater
201 - May be changed whilst playing
202
218 - Has slide parameters for shaping changes
203219 * attack:
204 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
205 - default: 0.1
206 - constraints: must be zero or greater
207 - Can not be changed once set
208
220 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
221 - default: 0
222 - constraints: must be zero or greater
223 - Can not be changed once set
224 - Scaled with current BPM value
225 * decay:
226 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
227 - default: 0
228 - constraints: must be zero or greater
229 - Can not be changed once set
230 - Scaled with current BPM value
209231 * sustain:
210 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
211 - default: 0
212 - constraints: must be zero or greater
213 - Can not be changed once set
214
232 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
233 - default: 0
234 - constraints: must be zero or greater
235 - Can not be changed once set
236 - Scaled with current BPM value
215237 * release:
216 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
217 - default: 0.3
218 - constraints: must be zero or greater
219 - Can not be changed once set
220
238 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
239 - default: 1
240 - constraints: must be zero or greater
241 - Can not be changed once set
242 - Scaled with current BPM value
243 * attack_level:
244 - doc: Amplitude level reached after attack phase and immediately before decay phase
245 - default: 1
246 - constraints: must be zero or greater
247 - Can not be changed once set
248 * decay_level:
249 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
250 - default: sustain_level
251 - constraints: must be zero or greater
252 - Can not be changed once set
253 * sustain_level:
254 - doc: Amplitude level reached after decay phase and immediately before release phase.
255 - default: 1
256 - constraints: must be zero or greater
257 - Can not be changed once set
258 * env_curve:
259 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
260 - default: 2
261 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
262 - Can not be changed once set
221263
222264
223265 ## Sine Wave
224266
225267 ### Key:
226 :beep
227
228 ### Doc:
229 A simple pure sine wave.
230
231 ### Arguments:
268 :sine
269
270 ### Doc:
271 A simple pure sine wave. The sine wave is the simplest, purest sound there is and is the fundamental building block of all noise. The mathematician Fourier demonstrated that any sound could be built out of a number of sine waves (the more complex the sound, the more sine waves needed). Have a play combining a number of sine waves to design your own sounds!
272
273 ### Opts:
232274 * note:
233 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
275 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
234276 - default: 52
235277 - constraints: must be zero or greater
236278 - May be changed whilst playing
237
238 * note_slide:
239 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
240 - default: 0
241 - constraints: must be zero or greater
242 - May be changed whilst playing
243
244 * amp:
245 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
246 - default: 1
247 - constraints: must be zero or greater
248 - May be changed whilst playing
249
250 * amp_slide:
251 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
252 - default: 0
253 - constraints: must be zero or greater
254 - May be changed whilst playing
255
279 - Has slide parameters for shaping changes
280 * amp:
281 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
282 - default: 1
283 - constraints: must be zero or greater
284 - May be changed whilst playing
285 - Has slide parameters for shaping changes
256286 * pan:
257287 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
258288 - default: 0
259289 - constraints: must be a value between -1 and 1 inclusively
260290 - May be changed whilst playing
261
262 * pan_slide:
263 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
264 - default: 0
265 - constraints: must be zero or greater
266 - May be changed whilst playing
267
291 - Has slide parameters for shaping changes
268292 * attack:
269 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
270 - default: 0.1
271 - constraints: must be zero or greater
272 - Can not be changed once set
273
293 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
294 - default: 0
295 - constraints: must be zero or greater
296 - Can not be changed once set
297 - Scaled with current BPM value
298 * decay:
299 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
300 - default: 0
301 - constraints: must be zero or greater
302 - Can not be changed once set
303 - Scaled with current BPM value
274304 * sustain:
275 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
276 - default: 0
277 - constraints: must be zero or greater
278 - Can not be changed once set
279
305 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
306 - default: 0
307 - constraints: must be zero or greater
308 - Can not be changed once set
309 - Scaled with current BPM value
280310 * release:
281 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
282 - default: 0.3
283 - constraints: must be zero or greater
284 - Can not be changed once set
285
286
287
288 ## Detuned Saw wave
289
290 ### Key:
291 :dsaw
292
293 ### Doc:
294 A pair of detuned saw waves with a lop pass filter.
295
296 ### Arguments:
311 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
312 - default: 1
313 - constraints: must be zero or greater
314 - Can not be changed once set
315 - Scaled with current BPM value
316 * attack_level:
317 - doc: Amplitude level reached after attack phase and immediately before decay phase
318 - default: 1
319 - constraints: must be zero or greater
320 - Can not be changed once set
321 * decay_level:
322 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
323 - default: sustain_level
324 - constraints: must be zero or greater
325 - Can not be changed once set
326 * sustain_level:
327 - doc: Amplitude level reached after decay phase and immediately before release phase.
328 - default: 1
329 - constraints: must be zero or greater
330 - Can not be changed once set
331 * env_curve:
332 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
333 - default: 2
334 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
335 - Can not be changed once set
336
337
338 ## Saw Wave
339
340 ### Key:
341 :saw
342
343 ### Doc:
344 A saw wave with a low pass filter. Great for using with FX such as the built in low pass filter (available via the cutoff arg) due to the complexity and thickness of the sound.
345
346 ### Opts:
297347 * note:
298 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
348 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
299349 - default: 52
300350 - constraints: must be zero or greater
301351 - May be changed whilst playing
302
303 * note_slide:
304 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
305 - default: 0
306 - constraints: must be zero or greater
307 - May be changed whilst playing
308
309 * amp:
310 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
311 - default: 1
312 - constraints: must be zero or greater
313 - May be changed whilst playing
314
315 * amp_slide:
316 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
317 - default: 0
318 - constraints: must be zero or greater
319 - May be changed whilst playing
320
352 - Has slide parameters for shaping changes
353 * amp:
354 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
355 - default: 1
356 - constraints: must be zero or greater
357 - May be changed whilst playing
358 - Has slide parameters for shaping changes
321359 * pan:
322360 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
323361 - default: 0
324362 - constraints: must be a value between -1 and 1 inclusively
325363 - May be changed whilst playing
326
327 * pan_slide:
328 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
329 - default: 0
330 - constraints: must be zero or greater
331 - May be changed whilst playing
332
364 - Has slide parameters for shaping changes
333365 * attack:
334 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
335 - default: 0
336 - constraints: must be zero or greater
337 - Can not be changed once set
338
366 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
367 - default: 0
368 - constraints: must be zero or greater
369 - Can not be changed once set
370 - Scaled with current BPM value
371 * decay:
372 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
373 - default: 0
374 - constraints: must be zero or greater
375 - Can not be changed once set
376 - Scaled with current BPM value
339377 * sustain:
340 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
341 - default: 0
342 - constraints: must be zero or greater
343 - Can not be changed once set
344
378 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
379 - default: 0
380 - constraints: must be zero or greater
381 - Can not be changed once set
382 - Scaled with current BPM value
345383 * release:
346 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
347 - default: 0.2
348 - constraints: must be zero or greater
349 - Can not be changed once set
350
384 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
385 - default: 1
386 - constraints: must be zero or greater
387 - Can not be changed once set
388 - Scaled with current BPM value
389 * attack_level:
390 - doc: Amplitude level reached after attack phase and immediately before decay phase
391 - default: 1
392 - constraints: must be zero or greater
393 - Can not be changed once set
394 * decay_level:
395 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
396 - default: sustain_level
397 - constraints: must be zero or greater
398 - Can not be changed once set
399 * sustain_level:
400 - doc: Amplitude level reached after decay phase and immediately before release phase.
401 - default: 1
402 - constraints: must be zero or greater
403 - Can not be changed once set
404 * env_curve:
405 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
406 - default: 2
407 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
408 - Can not be changed once set
409
410
411 ## Pulse Wave
412
413 ### Key:
414 :pulse
415
416 ### Doc:
417 A simple pulse wave with a low pass filter. This defaults to a square wave, but the timbre can be changed dramatically by adjusting the pulse_width arg between 0 and 1. The pulse wave is thick and heavy with lower notes and is a great ingredient for bass sounds.
418
419 ### Opts:
420 * note:
421 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
422 - default: 52
423 - constraints: must be zero or greater
424 - May be changed whilst playing
425 - Has slide parameters for shaping changes
426 * amp:
427 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
428 - default: 1
429 - constraints: must be zero or greater
430 - May be changed whilst playing
431 - Has slide parameters for shaping changes
432 * pan:
433 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
434 - default: 0
435 - constraints: must be a value between -1 and 1 inclusively
436 - May be changed whilst playing
437 - Has slide parameters for shaping changes
438 * attack:
439 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
440 - default: 0
441 - constraints: must be zero or greater
442 - Can not be changed once set
443 - Scaled with current BPM value
444 * decay:
445 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
446 - default: 0
447 - constraints: must be zero or greater
448 - Can not be changed once set
449 - Scaled with current BPM value
450 * sustain:
451 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
452 - default: 0
453 - constraints: must be zero or greater
454 - Can not be changed once set
455 - Scaled with current BPM value
456 * release:
457 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
458 - default: 1
459 - constraints: must be zero or greater
460 - Can not be changed once set
461 - Scaled with current BPM value
462 * attack_level:
463 - doc: Amplitude level reached after attack phase and immediately before decay phase
464 - default: 1
465 - constraints: must be zero or greater
466 - Can not be changed once set
467 * decay_level:
468 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
469 - default: sustain_level
470 - constraints: must be zero or greater
471 - Can not be changed once set
472 * sustain_level:
473 - doc: Amplitude level reached after decay phase and immediately before release phase.
474 - default: 1
475 - constraints: must be zero or greater
476 - Can not be changed once set
477 * env_curve:
478 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
479 - default: 2
480 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
481 - Can not be changed once set
351482 * cutoff:
352 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
483 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
353484 - default: 100
354 - constraints: must be zero or greater, must be a value less than 130
355 - May be changed whilst playing
356
357 * cutoff_slide:
358 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
359 - default: 0
360 - constraints: must be zero or greater
361 - May be changed whilst playing
362
485 - constraints: must be zero or greater,must be a value less than 131
486 - May be changed whilst playing
487 - Has slide parameters for shaping changes
488 * pulse_width:
489 - doc: The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.
490 - default: 0.5
491 - constraints: must be a value between 0 and 1 exclusively
492 - May be changed whilst playing
493 - Has slide parameters for shaping changes
494
495
496 ## Pulse Wave with sub
497
498 ### Key:
499 :subpulse
500
501 ### Doc:
502 A pulse wave with a sub sine wave passed through a low pass filter. The pulse wave is thick and heavy with lower notes and is a great ingredient for bass sounds - especially with the sub wave.
503
504 ### Opts:
505 * note:
506 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
507 - default: 52
508 - constraints: must be zero or greater
509 - May be changed whilst playing
510 - Has slide parameters for shaping changes
511 * amp:
512 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
513 - default: 1
514 - constraints: must be zero or greater
515 - May be changed whilst playing
516 - Has slide parameters for shaping changes
517 * pan:
518 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
519 - default: 0
520 - constraints: must be a value between -1 and 1 inclusively
521 - May be changed whilst playing
522 - Has slide parameters for shaping changes
523 * attack:
524 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
525 - default: 0
526 - constraints: must be zero or greater
527 - Can not be changed once set
528 - Scaled with current BPM value
529 * decay:
530 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
531 - default: 0
532 - constraints: must be zero or greater
533 - Can not be changed once set
534 - Scaled with current BPM value
535 * sustain:
536 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
537 - default: 0
538 - constraints: must be zero or greater
539 - Can not be changed once set
540 - Scaled with current BPM value
541 * release:
542 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
543 - default: 1
544 - constraints: must be zero or greater
545 - Can not be changed once set
546 - Scaled with current BPM value
547 * attack_level:
548 - doc: Amplitude level reached after attack phase and immediately before decay phase
549 - default: 1
550 - constraints: must be zero or greater
551 - Can not be changed once set
552 * decay_level:
553 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
554 - default: sustain_level
555 - constraints: must be zero or greater
556 - Can not be changed once set
557 * sustain_level:
558 - doc: Amplitude level reached after decay phase and immediately before release phase.
559 - default: 1
560 - constraints: must be zero or greater
561 - Can not be changed once set
562 * env_curve:
563 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
564 - default: 2
565 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
566 - Can not be changed once set
567 * cutoff:
568 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
569 - default: 100
570 - constraints: must be zero or greater,must be a value less than 131
571 - May be changed whilst playing
572 - Has slide parameters for shaping changes
573 * pulse_width:
574 - doc: The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.
575 - default: 0.5
576 - constraints: must be a value between 0 and 1 exclusively
577 - May be changed whilst playing
578 - Has slide parameters for shaping changes
579 * sub_amp:
580 - doc: Amplitude for the additional sine wave.
581 - default: 1
582 - constraints: none
583 - May be changed whilst playing
584 - Has slide parameters for shaping changes
585 * sub_detune:
586 - doc: Amount of detune from the note for the additional sine wave. Default is -12
587 - default: -12
588 - constraints: none
589 - May be changed whilst playing
590 - Has slide parameters for shaping changes
591
592
593 ## Square Wave
594
595 ### Key:
596 :square
597
598 ### Doc:
599 A simple square wave with a low pass filter. The square wave is thick and heavy with lower notes and is a great ingredient for bass sounds. If you wish to modulate the width of the square wave see the synth pulse.
600
601 ### Opts:
602 * note:
603 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
604 - default: 52
605 - constraints: must be zero or greater
606 - May be changed whilst playing
607 - Has slide parameters for shaping changes
608 * amp:
609 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
610 - default: 1
611 - constraints: must be zero or greater
612 - May be changed whilst playing
613 - Has slide parameters for shaping changes
614 * pan:
615 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
616 - default: 0
617 - constraints: must be a value between -1 and 1 inclusively
618 - May be changed whilst playing
619 - Has slide parameters for shaping changes
620 * attack:
621 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
622 - default: 0
623 - constraints: must be zero or greater
624 - Can not be changed once set
625 - Scaled with current BPM value
626 * decay:
627 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
628 - default: 0
629 - constraints: must be zero or greater
630 - Can not be changed once set
631 - Scaled with current BPM value
632 * sustain:
633 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
634 - default: 0
635 - constraints: must be zero or greater
636 - Can not be changed once set
637 - Scaled with current BPM value
638 * release:
639 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
640 - default: 1
641 - constraints: must be zero or greater
642 - Can not be changed once set
643 - Scaled with current BPM value
644 * attack_level:
645 - doc: Amplitude level reached after attack phase and immediately before decay phase
646 - default: 1
647 - constraints: must be zero or greater
648 - Can not be changed once set
649 * decay_level:
650 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
651 - default: sustain_level
652 - constraints: must be zero or greater
653 - Can not be changed once set
654 * sustain_level:
655 - doc: Amplitude level reached after decay phase and immediately before release phase.
656 - default: 1
657 - constraints: must be zero or greater
658 - Can not be changed once set
659 * env_curve:
660 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
661 - default: 2
662 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
663 - Can not be changed once set
664 * cutoff:
665 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
666 - default: 100
667 - constraints: must be zero or greater,must be a value less than 131
668 - May be changed whilst playing
669 - Has slide parameters for shaping changes
670
671
672 ## Triangle Wave
673
674 ### Key:
675 :tri
676
677 ### Doc:
678 A simple triangle wave with a low pass filter.
679
680 ### Opts:
681 * note:
682 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
683 - default: 52
684 - constraints: must be zero or greater
685 - May be changed whilst playing
686 - Has slide parameters for shaping changes
687 * amp:
688 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
689 - default: 1
690 - constraints: must be zero or greater
691 - May be changed whilst playing
692 - Has slide parameters for shaping changes
693 * pan:
694 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
695 - default: 0
696 - constraints: must be a value between -1 and 1 inclusively
697 - May be changed whilst playing
698 - Has slide parameters for shaping changes
699 * attack:
700 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
701 - default: 0
702 - constraints: must be zero or greater
703 - Can not be changed once set
704 - Scaled with current BPM value
705 * decay:
706 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
707 - default: 0
708 - constraints: must be zero or greater
709 - Can not be changed once set
710 - Scaled with current BPM value
711 * sustain:
712 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
713 - default: 0
714 - constraints: must be zero or greater
715 - Can not be changed once set
716 - Scaled with current BPM value
717 * release:
718 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
719 - default: 1
720 - constraints: must be zero or greater
721 - Can not be changed once set
722 - Scaled with current BPM value
723 * attack_level:
724 - doc: Amplitude level reached after attack phase and immediately before decay phase
725 - default: 1
726 - constraints: must be zero or greater
727 - Can not be changed once set
728 * decay_level:
729 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
730 - default: sustain_level
731 - constraints: must be zero or greater
732 - Can not be changed once set
733 * sustain_level:
734 - doc: Amplitude level reached after decay phase and immediately before release phase.
735 - default: 1
736 - constraints: must be zero or greater
737 - Can not be changed once set
738 * env_curve:
739 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
740 - default: 2
741 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
742 - Can not be changed once set
743 * cutoff:
744 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
745 - default: 100
746 - constraints: must be zero or greater,must be a value less than 131
747 - May be changed whilst playing
748 - Has slide parameters for shaping changes
749 * pulse_width:
750 - doc: The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.
751 - default: 0.5
752 - constraints: must be a value between 0 and 1 exclusively
753 - May be changed whilst playing
754 - Has slide parameters for shaping changes
755
756
757 ## Detuned Saw wave
758
759 ### Key:
760 :dsaw
761
762 ### Doc:
763 A pair of detuned saw waves passed through a low pass filter. Two saw waves with slightly different frequencies generates a nice thick sound which is the basis for a lot of famous synth sounds. Thicken the sound by increasing the detune value, or create an octave-playing synth by choosing a detune of 12 (12 MIDI notes is an octave).
764
765 ### Opts:
766 * note:
767 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
768 - default: 52
769 - constraints: must be zero or greater
770 - May be changed whilst playing
771 - Has slide parameters for shaping changes
772 * amp:
773 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
774 - default: 1
775 - constraints: must be zero or greater
776 - May be changed whilst playing
777 - Has slide parameters for shaping changes
778 * pan:
779 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
780 - default: 0
781 - constraints: must be a value between -1 and 1 inclusively
782 - May be changed whilst playing
783 - Has slide parameters for shaping changes
784 * attack:
785 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
786 - default: 0
787 - constraints: must be zero or greater
788 - Can not be changed once set
789 - Scaled with current BPM value
790 * decay:
791 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
792 - default: 0
793 - constraints: must be zero or greater
794 - Can not be changed once set
795 - Scaled with current BPM value
796 * sustain:
797 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
798 - default: 0
799 - constraints: must be zero or greater
800 - Can not be changed once set
801 - Scaled with current BPM value
802 * release:
803 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
804 - default: 1
805 - constraints: must be zero or greater
806 - Can not be changed once set
807 - Scaled with current BPM value
808 * attack_level:
809 - doc: Amplitude level reached after attack phase and immediately before decay phase
810 - default: 1
811 - constraints: must be zero or greater
812 - Can not be changed once set
813 * decay_level:
814 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
815 - default: sustain_level
816 - constraints: must be zero or greater
817 - Can not be changed once set
818 * sustain_level:
819 - doc: Amplitude level reached after decay phase and immediately before release phase.
820 - default: 1
821 - constraints: must be zero or greater
822 - Can not be changed once set
823 * env_curve:
824 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
825 - default: 2
826 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
827 - Can not be changed once set
828 * cutoff:
829 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
830 - default: 100
831 - constraints: must be zero or greater,must be a value less than 131
832 - May be changed whilst playing
833 - Has slide parameters for shaping changes
363834 * detune:
364835 - doc: Distance (in MIDI notes) between components of sound. Affects thickness, sense of tuning and harmony. Tiny values such as 0.1 create a thick sound. Larger values such as 0.5 make the tuning sound strange. Even bigger values such as 5 create chord-like sounds.
365836 - default: 0.1
366837 - constraints: none
367838 - May be changed whilst playing
368
369 * detune_slide:
370 - doc: Amount of time (in seconds) for the detune value to change. A long detune_slide value means that the detune takes a long time to slide from the previous value to the new value. A detune_slide of 0 means that the detune instantly changes to the new value.
371 - default: 0
372 - constraints: must be zero or greater
373 - May be changed whilst playing
374
375
376
377 ## Basic FM synthesis
378
379 ### Key:
380 :fm
381
382 ### Doc:
383 A sine wave with a fundamental frequency which is modulated at audio rate by another sine wave with a specific modulation division and depth.
384
385 ### Arguments:
839 - Has slide parameters for shaping changes
840
841
842 ## Detuned Pulse Wave
843
844 ### Key:
845 :dpulse
846
847 ### Doc:
848 A pair of detuned pulse waves passed through a low pass filter. Two pulse waves with slightly different frequencies generates a nice thick sound which can be used as a basis for some nice bass sounds. Thicken the sound by increasing the detune value, or create an octave-playing synth by choosing a detune of 12 (12 MIDI notes is an octave). Each pulse wave can also have individual widths (although the default is for the detuned pulse to mirror the width of the main pulse).
849
850 ### Opts:
386851 * note:
387 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
852 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
388853 - default: 52
389854 - constraints: must be zero or greater
390855 - May be changed whilst playing
391
392 * note_slide:
393 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
394 - default: 0
395 - constraints: must be zero or greater
396 - May be changed whilst playing
397
398 * amp:
399 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
400 - default: 1
401 - constraints: must be zero or greater
402 - May be changed whilst playing
403
404 * amp_slide:
405 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
406 - default: 0
407 - constraints: must be zero or greater
408 - May be changed whilst playing
409
856 - Has slide parameters for shaping changes
857 * amp:
858 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
859 - default: 1
860 - constraints: must be zero or greater
861 - May be changed whilst playing
862 - Has slide parameters for shaping changes
410863 * pan:
411864 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
412865 - default: 0
413866 - constraints: must be a value between -1 and 1 inclusively
414867 - May be changed whilst playing
415
416 * pan_slide:
417 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
418 - default: 0
419 - constraints: must be zero or greater
420 - May be changed whilst playing
421
868 - Has slide parameters for shaping changes
422869 * attack:
423 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
424 - default: 1
425 - constraints: must be zero or greater
426 - Can not be changed once set
427
870 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
871 - default: 0
872 - constraints: must be zero or greater
873 - Can not be changed once set
874 - Scaled with current BPM value
875 * decay:
876 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
877 - default: 0
878 - constraints: must be zero or greater
879 - Can not be changed once set
880 - Scaled with current BPM value
428881 * sustain:
429 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
430 - default: 0
431 - constraints: must be zero or greater
432 - Can not be changed once set
433
882 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
883 - default: 0
884 - constraints: must be zero or greater
885 - Can not be changed once set
886 - Scaled with current BPM value
434887 * release:
435 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
436 - default: 1
437 - constraints: must be zero or greater
438 - Can not be changed once set
439
888 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
889 - default: 1
890 - constraints: must be zero or greater
891 - Can not be changed once set
892 - Scaled with current BPM value
893 * attack_level:
894 - doc: Amplitude level reached after attack phase and immediately before decay phase
895 - default: 1
896 - constraints: must be zero or greater
897 - Can not be changed once set
898 * decay_level:
899 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
900 - default: sustain_level
901 - constraints: must be zero or greater
902 - Can not be changed once set
903 * sustain_level:
904 - doc: Amplitude level reached after decay phase and immediately before release phase.
905 - default: 1
906 - constraints: must be zero or greater
907 - Can not be changed once set
908 * env_curve:
909 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
910 - default: 2
911 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
912 - Can not be changed once set
913 * cutoff:
914 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
915 - default: 100
916 - constraints: must be zero or greater,must be a value less than 131
917 - May be changed whilst playing
918 - Has slide parameters for shaping changes
919 * detune:
920 - doc: Distance (in MIDI notes) between components of sound. Affects thickness, sense of tuning and harmony. Tiny values such as 0.1 create a thick sound. Larger values such as 0.5 make the tuning sound strange. Even bigger values such as 5 create chord-like sounds.
921 - default: 0.1
922 - constraints: none
923 - May be changed whilst playing
924 - Has slide parameters for shaping changes
925 * pulse_width:
926 - doc: The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.
927 - default: 0.5
928 - constraints: must be a value between 0 and 1 exclusively
929 - May be changed whilst playing
930 - Has slide parameters for shaping changes
931 * dpulse_width:
932 - doc: The width of the second detuned pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.
933 - default: pulse_width
934 - constraints: must be a value between 0 and 1 exclusively
935 - May be changed whilst playing
936 - Has slide parameters for shaping changes
937
938
939 ## Detuned Triangle Wave
940
941 ### Key:
942 :dtri
943
944 ### Doc:
945 A pair of detuned triangle waves passed through a low pass filter. Two pulse waves with slightly different frequencies generates a nice thick sound which can be used as a basis for some nice bass sounds. Thicken the sound by increasing the detune value, or create an octave-playing synth by choosing a detune of 12 (12 MIDI notes is an octave).
946
947 ### Opts:
948 * note:
949 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
950 - default: 52
951 - constraints: must be zero or greater
952 - May be changed whilst playing
953 - Has slide parameters for shaping changes
954 * amp:
955 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
956 - default: 1
957 - constraints: must be zero or greater
958 - May be changed whilst playing
959 - Has slide parameters for shaping changes
960 * pan:
961 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
962 - default: 0
963 - constraints: must be a value between -1 and 1 inclusively
964 - May be changed whilst playing
965 - Has slide parameters for shaping changes
966 * attack:
967 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
968 - default: 0
969 - constraints: must be zero or greater
970 - Can not be changed once set
971 - Scaled with current BPM value
972 * decay:
973 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
974 - default: 0
975 - constraints: must be zero or greater
976 - Can not be changed once set
977 - Scaled with current BPM value
978 * sustain:
979 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
980 - default: 0
981 - constraints: must be zero or greater
982 - Can not be changed once set
983 - Scaled with current BPM value
984 * release:
985 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
986 - default: 1
987 - constraints: must be zero or greater
988 - Can not be changed once set
989 - Scaled with current BPM value
990 * attack_level:
991 - doc: Amplitude level reached after attack phase and immediately before decay phase
992 - default: 1
993 - constraints: must be zero or greater
994 - Can not be changed once set
995 * decay_level:
996 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
997 - default: sustain_level
998 - constraints: must be zero or greater
999 - Can not be changed once set
1000 * sustain_level:
1001 - doc: Amplitude level reached after decay phase and immediately before release phase.
1002 - default: 1
1003 - constraints: must be zero or greater
1004 - Can not be changed once set
1005 * env_curve:
1006 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
1007 - default: 2
1008 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
1009 - Can not be changed once set
1010 * cutoff:
1011 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1012 - default: 100
1013 - constraints: must be zero or greater,must be a value less than 131
1014 - May be changed whilst playing
1015 - Has slide parameters for shaping changes
1016 * detune:
1017 - doc: Distance (in MIDI notes) between components of sound. Affects thickness, sense of tuning and harmony. Tiny values such as 0.1 create a thick sound. Larger values such as 0.5 make the tuning sound strange. Even bigger values such as 5 create chord-like sounds.
1018 - default: 0.1
1019 - constraints: none
1020 - May be changed whilst playing
1021 - Has slide parameters for shaping changes
1022
1023
1024 ## Basic FM synthesis
1025
1026 ### Key:
1027 :fm
1028
1029 ### Doc:
1030 A sine wave with a fundamental frequency which is modulated at audio rate by another sine wave with a specific modulation, division and depth. Useful for generating a wide range of sounds by playing with the divisor and depth params. Great for deep powerful bass and crazy 70s sci-fi sounds.
1031
1032 ### Opts:
1033 * note:
1034 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
1035 - default: 52
1036 - constraints: must be zero or greater
1037 - May be changed whilst playing
1038 - Has slide parameters for shaping changes
1039 * amp:
1040 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1041 - default: 1
1042 - constraints: must be zero or greater
1043 - May be changed whilst playing
1044 - Has slide parameters for shaping changes
1045 * pan:
1046 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
1047 - default: 0
1048 - constraints: must be a value between -1 and 1 inclusively
1049 - May be changed whilst playing
1050 - Has slide parameters for shaping changes
1051 * attack:
1052 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
1053 - default: 0
1054 - constraints: must be zero or greater
1055 - Can not be changed once set
1056 - Scaled with current BPM value
1057 * decay:
1058 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
1059 - default: 0
1060 - constraints: must be zero or greater
1061 - Can not be changed once set
1062 - Scaled with current BPM value
1063 * sustain:
1064 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
1065 - default: 0
1066 - constraints: must be zero or greater
1067 - Can not be changed once set
1068 - Scaled with current BPM value
1069 * release:
1070 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
1071 - default: 1
1072 - constraints: must be zero or greater
1073 - Can not be changed once set
1074 - Scaled with current BPM value
1075 * attack_level:
1076 - doc: Amplitude level reached after attack phase and immediately before decay phase
1077 - default: 1
1078 - constraints: must be zero or greater
1079 - Can not be changed once set
1080 * decay_level:
1081 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
1082 - default: sustain_level
1083 - constraints: must be zero or greater
1084 - Can not be changed once set
1085 * sustain_level:
1086 - doc: Amplitude level reached after decay phase and immediately before release phase.
1087 - default: 1
1088 - constraints: must be zero or greater
1089 - Can not be changed once set
1090 * env_curve:
1091 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
1092 - default: 2
1093 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
1094 - Can not be changed once set
1095 * cutoff:
1096 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1097 - default: 100
1098 - constraints: must be zero or greater,must be a value less than 131
1099 - May be changed whilst playing
1100 - Has slide parameters for shaping changes
4401101 * divisor:
4411102 - doc: Modifies the frequency of the modulator oscillator relative to the carrier. Don't worry too much about what this means - just try different numbers out!
4421103 - default: 2
4431104 - constraints: none
4441105 - May be changed whilst playing
445
446 * divisor_slide:
447 - doc: Amount of time (in seconds) for the divisor value to change. A long divisor_slide value means that the divisor takes a long time to slide from the previous value to the new value. A divisor_slide of 0 means that the divisor instantly changes to the new value.
448 - default: 0
449 - constraints: must be zero or greater
450 - May be changed whilst playing
451
1106 - Has slide parameters for shaping changes
4521107 * depth:
4531108 - doc: Modifies the depth of the carrier wave used to modify fundamental frequency. Don't worry too much about what this means - just try different numbers out!
4541109 - default: 1
4551110 - constraints: none
4561111 - May be changed whilst playing
457
458 * depth_slide:
459 - doc: Amount of time (in seconds) for the depth value to change. A long depth_slide value means that the depth takes a long time to slide from the previous value to the new value. A depth_slide of 0 means that the depth instantly changes to the new value.
460 - default: 0
461 - constraints: must be zero or greater
462 - May be changed whilst playing
463
464
465
466 ## Modulated Saw Wave
467
468 ### Key:
469 :mod_saw
470
471 ### Doc:
472 A saw wave which modulates between two separate notes.
473
474 ### Arguments:
1112 - Has slide parameters for shaping changes
1113
1114
1115 ## Basic FM synthesis with frequency modulation.
1116
1117 ### Key:
1118 :mod_fm
1119
1120 ### Doc:
1121 The FM synth modulating between two notes - the duration of the modulation can be modified using the mod_phase arg, the range (number of notes jumped between) by the mod_range arg and the width of the jumps by the mod_width param. The FM synth is a sine wave with a fundamental frequency which is modulated at audio rate by another sine wave with a specific modulation, division and depth. Useful for generating a wide range of sounds by playing with the `:divisor` and `:depth` params. Great for deep powerful bass and crazy 70s sci-fi sounds.
1122
1123 ### Opts:
4751124 * note:
476 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
1125 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
4771126 - default: 52
4781127 - constraints: must be zero or greater
4791128 - May be changed whilst playing
480
481 * note_slide:
482 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
483 - default: 0
484 - constraints: must be zero or greater
485 - May be changed whilst playing
486
487 * amp:
488 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
489 - default: 1
490 - constraints: must be zero or greater
491 - May be changed whilst playing
492
493 * amp_slide:
494 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
495 - default: 0
496 - constraints: must be zero or greater
497 - May be changed whilst playing
498
1129 - Has slide parameters for shaping changes
1130 * amp:
1131 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1132 - default: 1
1133 - constraints: must be zero or greater
1134 - May be changed whilst playing
1135 - Has slide parameters for shaping changes
4991136 * pan:
5001137 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
5011138 - default: 0
5021139 - constraints: must be a value between -1 and 1 inclusively
5031140 - May be changed whilst playing
504
505 * pan_slide:
506 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
507 - default: 0
508 - constraints: must be zero or greater
509 - May be changed whilst playing
510
1141 - Has slide parameters for shaping changes
5111142 * attack:
512 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
513 - default: 0.01
514 - constraints: must be zero or greater
515 - Can not be changed once set
516
1143 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
1144 - default: 0
1145 - constraints: must be zero or greater
1146 - Can not be changed once set
1147 - Scaled with current BPM value
1148 * decay:
1149 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
1150 - default: 0
1151 - constraints: must be zero or greater
1152 - Can not be changed once set
1153 - Scaled with current BPM value
5171154 * sustain:
518 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
519 - default: 0
520 - constraints: must be zero or greater
521 - Can not be changed once set
522
1155 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
1156 - default: 0
1157 - constraints: must be zero or greater
1158 - Can not be changed once set
1159 - Scaled with current BPM value
5231160 * release:
524 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
1161 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
1162 - default: 1
1163 - constraints: must be zero or greater
1164 - Can not be changed once set
1165 - Scaled with current BPM value
1166 * attack_level:
1167 - doc: Amplitude level reached after attack phase and immediately before decay phase
1168 - default: 1
1169 - constraints: must be zero or greater
1170 - Can not be changed once set
1171 * decay_level:
1172 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
1173 - default: sustain_level
1174 - constraints: must be zero or greater
1175 - Can not be changed once set
1176 * sustain_level:
1177 - doc: Amplitude level reached after decay phase and immediately before release phase.
1178 - default: 1
1179 - constraints: must be zero or greater
1180 - Can not be changed once set
1181 * env_curve:
1182 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
5251183 - default: 2
526 - constraints: must be zero or greater
527 - Can not be changed once set
528
1184 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
1185 - Can not be changed once set
5291186 * cutoff:
530 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1187 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
5311188 - default: 100
532 - constraints: must be zero or greater, must be a value less than 130
533 - May be changed whilst playing
534
535 * cutoff_slide:
536 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
537 - default: 0
538 - constraints: must be zero or greater
539 - May be changed whilst playing
540
541 * mod_rate:
542 - doc: Number of times per second that the note switches between the two notes.
543 - default: 1
544 - constraints: must be zero or greater
545 - May be changed whilst playing
546
547 * mod_rate_slide:
548 - doc: Amount of time (in seconds) for the mod_rate value to change. A long mod_rate_slide value means that the mod_rate takes a long time to slide from the previous value to the new value. A mod_rate_slide of 0 means that the mod_rate instantly changes to the new value.
549 - default: 0
550 - constraints: must be zero or greater
551 - May be changed whilst playing
552
1189 - constraints: must be zero or greater,must be a value less than 131
1190 - May be changed whilst playing
1191 - Has slide parameters for shaping changes
1192 * divisor:
1193 - doc: Modifies the frequency of the modulator oscillator relative to the carrier. Don't worry too much about what this means - just try different numbers out!
1194 - default: 2
1195 - constraints: none
1196 - May be changed whilst playing
1197 - Has slide parameters for shaping changes
1198 * depth:
1199 - doc: Modifies the depth of the carrier wave used to modify fundamental frequency. Don't worry too much about what this means - just try different numbers out!
1200 - default: 1
1201 - constraints: none
1202 - May be changed whilst playing
1203 - Has slide parameters for shaping changes
1204 * mod_phase:
1205 - doc: Phase duration in beats of oscillations between the two notes. Time it takes to switch between the notes.
1206 - default: 0.25
1207 - constraints: must be greater than zero
1208 - May be changed whilst playing
1209 - Scaled with current BPM value
5531210 * mod_range:
5541211 - doc: The size of gap between modulation notes. A gap of 12 is one octave.
5551212 - default: 5
556 - constraints: must be zero or greater
557 - May be changed whilst playing
558
559 * mod_range__slide:
560 - doc: write me
561 - default: 0
5621213 - constraints: none
563 - Can not be changed once set
564
565 * mod_width:
566 - doc: The phase width of the modulation. Represents how even the gap between modulations is.
1214 - May be changed whilst playing
1215 * mod_pulse_width:
1216 - doc: The width of the modulated pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Only valid if mod wave is type pulse.
5671217 - default: 0.5
5681218 - constraints: must be a value between 0 and 1 exclusively
5691219 - May be changed whilst playing
570
571 * mod_width_slide:
572 - doc: Amount of time (in seconds) for the mod_width value to change. A long mod_width_slide value means that the mod_width takes a long time to slide from the previous value to the new value. A mod_width_slide of 0 means that the mod_width instantly changes to the new value.
573 - default: 0
574 - constraints: must be zero or greater
575 - May be changed whilst playing
576
577
578
579 ## Simple Modulated Saw Wave
580
581 ### Key:
582 :mod_saw_s
583
584 ### Doc:
585
586
587 ### Arguments:
1220 * mod_phase_offset:
1221 - doc: Initial modulation phase offset (a value between 0 and 1).
1222 - default: 0
1223 - constraints: must be a value between 0 and 1 inclusively
1224 - Can not be changed once set
1225 * mod_invert_wave:
1226 - doc: Invert mod waveform (i.e. flip it on the y axis). 0=normal wave, 1=inverted wave.
1227 - default: 0
1228 - constraints: must be one of the following values: [0, 1]
1229 - May be changed whilst playing
1230 * mod_wave:
1231 - doc: Wave shape of mod wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.
1232 - default: 1
1233 - constraints: must be one of the following values: [0, 1, 2, 3]
1234 - May be changed whilst playing
1235
1236
1237 ## Modulated Saw Wave
1238
1239 ### Key:
1240 :mod_saw
1241
1242 ### Doc:
1243 A saw wave passed through a low pass filter which modulates between two separate notes via a variety of control waves.
1244
1245 ### Opts:
5881246 * note:
589 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
1247 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
5901248 - default: 52
5911249 - constraints: must be zero or greater
5921250 - May be changed whilst playing
593
594 * amp:
595 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
596 - default: 1
597 - constraints: must be zero or greater
598 - May be changed whilst playing
599
1251 - Has slide parameters for shaping changes
1252 * amp:
1253 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1254 - default: 1
1255 - constraints: must be zero or greater
1256 - May be changed whilst playing
1257 - Has slide parameters for shaping changes
6001258 * pan:
6011259 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
6021260 - default: 0
6031261 - constraints: must be a value between -1 and 1 inclusively
6041262 - May be changed whilst playing
605
1263 - Has slide parameters for shaping changes
6061264 * attack:
607 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
608 - default: 0.01
609 - constraints: must be zero or greater
610 - Can not be changed once set
611
1265 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
1266 - default: 0
1267 - constraints: must be zero or greater
1268 - Can not be changed once set
1269 - Scaled with current BPM value
1270 * decay:
1271 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
1272 - default: 0
1273 - constraints: must be zero or greater
1274 - Can not be changed once set
1275 - Scaled with current BPM value
6121276 * sustain:
613 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
614 - default: 0
615 - constraints: must be zero or greater
616 - Can not be changed once set
617
1277 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
1278 - default: 0
1279 - constraints: must be zero or greater
1280 - Can not be changed once set
1281 - Scaled with current BPM value
6181282 * release:
619 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
1283 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
1284 - default: 1
1285 - constraints: must be zero or greater
1286 - Can not be changed once set
1287 - Scaled with current BPM value
1288 * attack_level:
1289 - doc: Amplitude level reached after attack phase and immediately before decay phase
1290 - default: 1
1291 - constraints: must be zero or greater
1292 - Can not be changed once set
1293 * decay_level:
1294 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
1295 - default: sustain_level
1296 - constraints: must be zero or greater
1297 - Can not be changed once set
1298 * sustain_level:
1299 - doc: Amplitude level reached after decay phase and immediately before release phase.
1300 - default: 1
1301 - constraints: must be zero or greater
1302 - Can not be changed once set
1303 * env_curve:
1304 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
6201305 - default: 2
621 - constraints: must be zero or greater
622 - Can not be changed once set
623
624 * slide:
625 - doc: write me
626 - default: 0
627 - constraints: none
628 - Can not be changed once set
629
630 * mod_rate:
631 - doc: Number of times per second that the note switches between the two notes.
632 - default: 1
633 - constraints: must be zero or greater
634 - May be changed whilst playing
635
1306 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
1307 - Can not be changed once set
1308 * cutoff:
1309 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1310 - default: 100
1311 - constraints: must be zero or greater,must be a value less than 131
1312 - May be changed whilst playing
1313 - Has slide parameters for shaping changes
1314 * mod_phase:
1315 - doc: Phase duration in beats of oscillations between the two notes. Time it takes to switch between the notes.
1316 - default: 0.25
1317 - constraints: must be greater than zero
1318 - May be changed whilst playing
1319 - Scaled with current BPM value
1320 - Has slide parameters for shaping changes
6361321 * mod_range:
6371322 - doc: The size of gap between modulation notes. A gap of 12 is one octave.
6381323 - default: 5
639 - constraints: must be zero or greater
640 - May be changed whilst playing
641
642 * mod_width:
643 - doc: The phase width of the modulation. Represents how even the gap between modulations is.
1324 - constraints: none
1325 - May be changed whilst playing
1326 - Has slide parameters for shaping changes
1327 * mod_pulse_width:
1328 - doc: The width of the modulated pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Only valid if mod wave is type pulse.
6441329 - default: 0.5
6451330 - constraints: must be a value between 0 and 1 exclusively
6461331 - May be changed whilst playing
647
1332 - Has slide parameters for shaping changes
1333 * mod_phase_offset:
1334 - doc: Initial modulation phase offset (a value between 0 and 1).
1335 - default: 0
1336 - constraints: must be a value between 0 and 1 inclusively
1337 - Can not be changed once set
1338 * mod_invert_wave:
1339 - doc: Invert mod waveform (i.e. flip it on the y axis). 0=normal wave, 1=inverted wave.
1340 - default: 0
1341 - constraints: must be one of the following values: [0, 1]
1342 - May be changed whilst playing
1343 * mod_wave:
1344 - doc: Wave shape of mod wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.
1345 - default: 1
1346 - constraints: must be one of the following values: [0, 1, 2, 3]
1347 - May be changed whilst playing
6481348
6491349
6501350 ## Modulated Detuned Saw Waves
6531353 :mod_dsaw
6541354
6551355 ### Doc:
656
657
658 ### Arguments:
1356 A pair of detuned saw waves (see the dsaw synth) which are modulated between two fixed notes at a given rate.
1357
1358 ### Opts:
6591359 * note:
660 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
1360 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
6611361 - default: 52
6621362 - constraints: must be zero or greater
6631363 - May be changed whilst playing
664
665 * amp:
666 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
667 - default: 1
668 - constraints: must be zero or greater
669 - May be changed whilst playing
670
1364 - Has slide parameters for shaping changes
1365 * amp:
1366 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1367 - default: 1
1368 - constraints: must be zero or greater
1369 - May be changed whilst playing
1370 - Has slide parameters for shaping changes
6711371 * pan:
6721372 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
6731373 - default: 0
6741374 - constraints: must be a value between -1 and 1 inclusively
6751375 - May be changed whilst playing
676
1376 - Has slide parameters for shaping changes
6771377 * attack:
678 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
679 - default: 0.01
680 - constraints: must be zero or greater
681 - Can not be changed once set
682
1378 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
1379 - default: 0
1380 - constraints: must be zero or greater
1381 - Can not be changed once set
1382 - Scaled with current BPM value
1383 * decay:
1384 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
1385 - default: 0
1386 - constraints: must be zero or greater
1387 - Can not be changed once set
1388 - Scaled with current BPM value
6831389 * sustain:
684 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
685 - default: 0
686 - constraints: must be zero or greater
687 - Can not be changed once set
688
1390 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
1391 - default: 0
1392 - constraints: must be zero or greater
1393 - Can not be changed once set
1394 - Scaled with current BPM value
6891395 * release:
690 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
1396 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
1397 - default: 1
1398 - constraints: must be zero or greater
1399 - Can not be changed once set
1400 - Scaled with current BPM value
1401 * attack_level:
1402 - doc: Amplitude level reached after attack phase and immediately before decay phase
1403 - default: 1
1404 - constraints: must be zero or greater
1405 - Can not be changed once set
1406 * decay_level:
1407 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
1408 - default: sustain_level
1409 - constraints: must be zero or greater
1410 - Can not be changed once set
1411 * sustain_level:
1412 - doc: Amplitude level reached after decay phase and immediately before release phase.
1413 - default: 1
1414 - constraints: must be zero or greater
1415 - Can not be changed once set
1416 * env_curve:
1417 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
6911418 - default: 2
692 - constraints: must be zero or greater
693 - Can not be changed once set
694
695 * slide:
696 - doc: write me
697 - default: 0
698 - constraints: none
699 - Can not be changed once set
700
1419 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
1420 - Can not be changed once set
7011421 * cutoff:
702 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1422 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
7031423 - default: 100
704 - constraints: must be zero or greater, must be a value less than 130
705 - May be changed whilst playing
706
707 * cutoff_slide:
708 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
709 - default: 0
710 - constraints: must be zero or greater
711 - May be changed whilst playing
712
713 * mod_rate:
714 - doc: Number of times per second that the note switches between the two notes.
715 - default: 1
716 - constraints: must be zero or greater
717 - May be changed whilst playing
718
1424 - constraints: must be zero or greater,must be a value less than 131
1425 - May be changed whilst playing
1426 - Has slide parameters for shaping changes
1427 * mod_phase:
1428 - doc: Phase duration in beats of oscillations between the two notes. Time it takes to switch between the notes.
1429 - default: 0.25
1430 - constraints: must be greater than zero
1431 - May be changed whilst playing
1432 - Scaled with current BPM value
1433 - Has slide parameters for shaping changes
7191434 * mod_range:
7201435 - doc: The size of gap between modulation notes. A gap of 12 is one octave.
7211436 - default: 5
722 - constraints: must be zero or greater
723 - May be changed whilst playing
724
725 * mod_width:
726 - doc: The phase width of the modulation. Represents how even the gap between modulations is.
1437 - constraints: none
1438 - May be changed whilst playing
1439 - Has slide parameters for shaping changes
1440 * mod_pulse_width:
1441 - doc: The width of the modulated pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Only valid if mod wave is type pulse.
7271442 - default: 0.5
7281443 - constraints: must be a value between 0 and 1 exclusively
7291444 - May be changed whilst playing
730
1445 - Has slide parameters for shaping changes
1446 * mod_phase_offset:
1447 - doc: Initial modulation phase offset (a value between 0 and 1).
1448 - default: 0
1449 - constraints: must be a value between 0 and 1 inclusively
1450 - Can not be changed once set
1451 * mod_invert_wave:
1452 - doc: Invert mod waveform (i.e. flip it on the y axis). 0=normal wave, 1=inverted wave.
1453 - default: 0
1454 - constraints: must be one of the following values: [0, 1]
1455 - May be changed whilst playing
1456 * mod_wave:
1457 - doc: Wave shape of mod wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.
1458 - default: 1
1459 - constraints: must be one of the following values: [0, 1, 2, 3]
1460 - May be changed whilst playing
7311461 * detune:
7321462 - doc: Distance (in MIDI notes) between components of sound. Affects thickness, sense of tuning and harmony. Tiny values such as 0.1 create a thick sound. Larger values such as 0.5 make the tuning sound strange. Even bigger values such as 5 create chord-like sounds.
7331463 - default: 0.1
7341464 - constraints: none
7351465 - May be changed whilst playing
736
737
738
739 ## Modulated Detuned Saw Waves Simple
740
741 ### Key:
742 :mod_dsaw_s
743
744 ### Doc:
745
746
747 ### Arguments:
1466 - Has slide parameters for shaping changes
1467
1468
1469 ## Modulated Sine Wave
1470
1471 ### Key:
1472 :mod_sine
1473
1474 ### Doc:
1475 A sine wave passed through a low pass filter which modulates between two separate notes via a variety of control waves.
1476
1477 ### Opts:
7481478 * note:
749 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
1479 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
7501480 - default: 52
7511481 - constraints: must be zero or greater
7521482 - May be changed whilst playing
753
754 * note_slide:
755 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
756 - default: 0
757 - constraints: must be zero or greater
758 - May be changed whilst playing
759
760 * amp:
761 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
762 - default: 1
763 - constraints: must be zero or greater
764 - May be changed whilst playing
765
766 * amp_slide:
767 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
768 - default: 0
769 - constraints: must be zero or greater
770 - May be changed whilst playing
771
1483 - Has slide parameters for shaping changes
1484 * amp:
1485 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1486 - default: 1
1487 - constraints: must be zero or greater
1488 - May be changed whilst playing
1489 - Has slide parameters for shaping changes
7721490 * pan:
7731491 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
7741492 - default: 0
7751493 - constraints: must be a value between -1 and 1 inclusively
7761494 - May be changed whilst playing
777
778 * pan_slide:
779 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
780 - default: 0
781 - constraints: must be zero or greater
782 - May be changed whilst playing
783
1495 - Has slide parameters for shaping changes
7841496 * attack:
785 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
786 - default: 0.01
787 - constraints: must be zero or greater
788 - Can not be changed once set
789
1497 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
1498 - default: 0
1499 - constraints: must be zero or greater
1500 - Can not be changed once set
1501 - Scaled with current BPM value
1502 * decay:
1503 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
1504 - default: 0
1505 - constraints: must be zero or greater
1506 - Can not be changed once set
1507 - Scaled with current BPM value
7901508 * sustain:
791 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
792 - default: 0
793 - constraints: must be zero or greater
794 - Can not be changed once set
795
1509 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
1510 - default: 0
1511 - constraints: must be zero or greater
1512 - Can not be changed once set
1513 - Scaled with current BPM value
7961514 * release:
797 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
1515 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
1516 - default: 1
1517 - constraints: must be zero or greater
1518 - Can not be changed once set
1519 - Scaled with current BPM value
1520 * attack_level:
1521 - doc: Amplitude level reached after attack phase and immediately before decay phase
1522 - default: 1
1523 - constraints: must be zero or greater
1524 - Can not be changed once set
1525 * decay_level:
1526 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
1527 - default: sustain_level
1528 - constraints: must be zero or greater
1529 - Can not be changed once set
1530 * sustain_level:
1531 - doc: Amplitude level reached after decay phase and immediately before release phase.
1532 - default: 1
1533 - constraints: must be zero or greater
1534 - Can not be changed once set
1535 * env_curve:
1536 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
7981537 - default: 2
799 - constraints: must be zero or greater
800 - Can not be changed once set
801
802 * mod_rate:
803 - doc: Number of times per second that the note switches between the two notes.
804 - default: 1
805 - constraints: must be zero or greater
806 - May be changed whilst playing
807
808 * mod_rate_slide:
809 - doc: Amount of time (in seconds) for the mod_rate value to change. A long mod_rate_slide value means that the mod_rate takes a long time to slide from the previous value to the new value. A mod_rate_slide of 0 means that the mod_rate instantly changes to the new value.
810 - default: 0
811 - constraints: must be zero or greater
812 - May be changed whilst playing
813
1538 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
1539 - Can not be changed once set
1540 * cutoff:
1541 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1542 - default: 100
1543 - constraints: must be zero or greater,must be a value less than 131
1544 - May be changed whilst playing
1545 - Has slide parameters for shaping changes
1546 * mod_phase:
1547 - doc: Phase duration in beats of oscillations between the two notes. Time it takes to switch between the notes.
1548 - default: 0.25
1549 - constraints: must be greater than zero
1550 - May be changed whilst playing
1551 - Scaled with current BPM value
1552 - Has slide parameters for shaping changes
8141553 * mod_range:
8151554 - doc: The size of gap between modulation notes. A gap of 12 is one octave.
8161555 - default: 5
817 - constraints: must be zero or greater
818 - May be changed whilst playing
819
820 * mod_range_slide:
821 - doc: Amount of time (in seconds) for the mod_range value to change. A long mod_range_slide value means that the mod_range takes a long time to slide from the previous value to the new value. A mod_range_slide of 0 means that the mod_range instantly changes to the new value.
822 - default: 0
823 - constraints: must be zero or greater
824 - May be changed whilst playing
825
826 * mod_width:
827 - doc: The phase width of the modulation. Represents how even the gap between modulations is.
1556 - constraints: none
1557 - May be changed whilst playing
1558 - Has slide parameters for shaping changes
1559 * mod_pulse_width:
1560 - doc: The width of the modulated pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Only valid if mod wave is type pulse.
8281561 - default: 0.5
8291562 - constraints: must be a value between 0 and 1 exclusively
8301563 - May be changed whilst playing
831
832 * mod_width_slide:
833 - doc: Amount of time (in seconds) for the mod_width value to change. A long mod_width_slide value means that the mod_width takes a long time to slide from the previous value to the new value. A mod_width_slide of 0 means that the mod_width instantly changes to the new value.
834 - default: 0
835 - constraints: must be zero or greater
836 - May be changed whilst playing
837
838 * detune:
839 - doc: Distance (in MIDI notes) between components of sound. Affects thickness, sense of tuning and harmony. Tiny values such as 0.1 create a thick sound. Larger values such as 0.5 make the tuning sound strange. Even bigger values such as 5 create chord-like sounds.
840 - default: 0.1
841 - constraints: none
842 - May be changed whilst playing
843
844 * detune_slide:
845 - doc: Amount of time (in seconds) for the detune value to change. A long detune_slide value means that the detune takes a long time to slide from the previous value to the new value. A detune_slide of 0 means that the detune instantly changes to the new value.
846 - default: 0
847 - constraints: must be zero or greater
848 - May be changed whilst playing
849
1564 - Has slide parameters for shaping changes
1565 * mod_phase_offset:
1566 - doc: Initial modulation phase offset (a value between 0 and 1).
1567 - default: 0
1568 - constraints: must be a value between 0 and 1 inclusively
1569 - Can not be changed once set
1570 * mod_invert_wave:
1571 - doc: Invert mod waveform (i.e. flip it on the y axis). 0=normal wave, 1=inverted wave.
1572 - default: 0
1573 - constraints: must be one of the following values: [0, 1]
1574 - May be changed whilst playing
1575 * mod_wave:
1576 - doc: Wave shape of mod wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.
1577 - default: 1
1578 - constraints: must be one of the following values: [0, 1, 2, 3]
1579 - May be changed whilst playing
8501580
8511581
8521582 ## Modulated Sine Wave
8531583
8541584 ### Key:
855 :mod_sine
856
857 ### Doc:
858
859
860 ### Arguments:
1585 :mod_beep
1586
1587 ### Doc:
1588 A sine wave passed through a low pass filter which modulates between two separate notes via a variety of control waves.
1589
1590 ### Opts:
8611591 * note:
862 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
1592 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
8631593 - default: 52
8641594 - constraints: must be zero or greater
8651595 - May be changed whilst playing
866
867 * note_slide:
868 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
869 - default: 0
870 - constraints: must be zero or greater
871 - May be changed whilst playing
872
873 * amp:
874 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
875 - default: 1
876 - constraints: must be zero or greater
877 - May be changed whilst playing
878
1596 - Has slide parameters for shaping changes
1597 * amp:
1598 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1599 - default: 1
1600 - constraints: must be zero or greater
1601 - May be changed whilst playing
1602 - Has slide parameters for shaping changes
8791603 * pan:
8801604 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
8811605 - default: 0
8821606 - constraints: must be a value between -1 and 1 inclusively
8831607 - May be changed whilst playing
884
1608 - Has slide parameters for shaping changes
8851609 * attack:
886 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
887 - default: 0.01
888 - constraints: must be zero or greater
889 - Can not be changed once set
890
1610 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
1611 - default: 0
1612 - constraints: must be zero or greater
1613 - Can not be changed once set
1614 - Scaled with current BPM value
1615 * decay:
1616 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
1617 - default: 0
1618 - constraints: must be zero or greater
1619 - Can not be changed once set
1620 - Scaled with current BPM value
8911621 * sustain:
892 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
893 - default: 0
894 - constraints: must be zero or greater
895 - Can not be changed once set
896
1622 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
1623 - default: 0
1624 - constraints: must be zero or greater
1625 - Can not be changed once set
1626 - Scaled with current BPM value
8971627 * release:
898 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
1628 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
1629 - default: 1
1630 - constraints: must be zero or greater
1631 - Can not be changed once set
1632 - Scaled with current BPM value
1633 * attack_level:
1634 - doc: Amplitude level reached after attack phase and immediately before decay phase
1635 - default: 1
1636 - constraints: must be zero or greater
1637 - Can not be changed once set
1638 * decay_level:
1639 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
1640 - default: sustain_level
1641 - constraints: must be zero or greater
1642 - Can not be changed once set
1643 * sustain_level:
1644 - doc: Amplitude level reached after decay phase and immediately before release phase.
1645 - default: 1
1646 - constraints: must be zero or greater
1647 - Can not be changed once set
1648 * env_curve:
1649 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
8991650 - default: 2
900 - constraints: must be zero or greater
901 - Can not be changed once set
902
1651 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
1652 - Can not be changed once set
9031653 * cutoff:
904 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1654 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
9051655 - default: 100
906 - constraints: must be zero or greater, must be a value less than 130
907 - May be changed whilst playing
908
909 * cutoff_slide:
910 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
911 - default: 0
912 - constraints: must be zero or greater
913 - May be changed whilst playing
914
915 * mod_rate:
916 - doc: Number of times per second that the note switches between the two notes.
917 - default: 1
918 - constraints: must be zero or greater
919 - May be changed whilst playing
920
921 * mod_rate_slide:
922 - doc: Amount of time (in seconds) for the mod_rate value to change. A long mod_rate_slide value means that the mod_rate takes a long time to slide from the previous value to the new value. A mod_rate_slide of 0 means that the mod_rate instantly changes to the new value.
923 - default: 0
924 - constraints: must be zero or greater
925 - May be changed whilst playing
926
1656 - constraints: must be zero or greater,must be a value less than 131
1657 - May be changed whilst playing
1658 - Has slide parameters for shaping changes
1659 * mod_phase:
1660 - doc: Phase duration in beats of oscillations between the two notes. Time it takes to switch between the notes.
1661 - default: 0.25
1662 - constraints: must be greater than zero
1663 - May be changed whilst playing
1664 - Scaled with current BPM value
1665 - Has slide parameters for shaping changes
9271666 * mod_range:
9281667 - doc: The size of gap between modulation notes. A gap of 12 is one octave.
9291668 - default: 5
930 - constraints: must be zero or greater
931 - May be changed whilst playing
932
933 * mod_range_slide:
934 - doc: Amount of time (in seconds) for the mod_range value to change. A long mod_range_slide value means that the mod_range takes a long time to slide from the previous value to the new value. A mod_range_slide of 0 means that the mod_range instantly changes to the new value.
935 - default: 0
936 - constraints: must be zero or greater
937 - May be changed whilst playing
938
939 * mod_width:
940 - doc: The phase width of the modulation. Represents how even the gap between modulations is.
1669 - constraints: none
1670 - May be changed whilst playing
1671 - Has slide parameters for shaping changes
1672 * mod_pulse_width:
1673 - doc: The width of the modulated pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Only valid if mod wave is type pulse.
9411674 - default: 0.5
9421675 - constraints: must be a value between 0 and 1 exclusively
9431676 - May be changed whilst playing
944
945 * mod_width_slide:
946 - doc: Amount of time (in seconds) for the mod_width value to change. A long mod_width_slide value means that the mod_width takes a long time to slide from the previous value to the new value. A mod_width_slide of 0 means that the mod_width instantly changes to the new value.
947 - default: 0
948 - constraints: must be zero or greater
949 - May be changed whilst playing
950
951
952
953 ## Simple Modulated Sine Wave
954
955 ### Key:
956 :mod_sine_s
957
958 ### Doc:
959
960
961 ### Arguments:
1677 - Has slide parameters for shaping changes
1678 * mod_phase_offset:
1679 - doc: Initial modulation phase offset (a value between 0 and 1).
1680 - default: 0
1681 - constraints: must be a value between 0 and 1 inclusively
1682 - Can not be changed once set
1683 * mod_invert_wave:
1684 - doc: Invert mod waveform (i.e. flip it on the y axis). 0=normal wave, 1=inverted wave.
1685 - default: 0
1686 - constraints: must be one of the following values: [0, 1]
1687 - May be changed whilst playing
1688 * mod_wave:
1689 - doc: Wave shape of mod wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.
1690 - default: 1
1691 - constraints: must be one of the following values: [0, 1, 2, 3]
1692 - May be changed whilst playing
1693
1694
1695 ## Modulated Triangle Wave
1696
1697 ### Key:
1698 :mod_tri
1699
1700 ### Doc:
1701 A triangle wave passed through a low pass filter which modulates between two separate notes via a variety of control waves.
1702
1703 ### Opts:
9621704 * note:
963 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
1705 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
9641706 - default: 52
9651707 - constraints: must be zero or greater
9661708 - May be changed whilst playing
967
968 * note_slide:
969 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
970 - default: 0
971 - constraints: must be zero or greater
972 - May be changed whilst playing
973
974 * amp:
975 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
976 - default: 1
977 - constraints: must be zero or greater
978 - May be changed whilst playing
979
980 * amp_slide:
981 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
982 - default: 0
983 - constraints: must be zero or greater
984 - May be changed whilst playing
985
1709 - Has slide parameters for shaping changes
1710 * amp:
1711 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1712 - default: 1
1713 - constraints: must be zero or greater
1714 - May be changed whilst playing
1715 - Has slide parameters for shaping changes
9861716 * pan:
9871717 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
9881718 - default: 0
9891719 - constraints: must be a value between -1 and 1 inclusively
9901720 - May be changed whilst playing
991
992 * pan_slide:
993 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
994 - default: 0
995 - constraints: must be zero or greater
996 - May be changed whilst playing
997
1721 - Has slide parameters for shaping changes
9981722 * attack:
999 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
1000 - default: 0.01
1001 - constraints: must be zero or greater
1002 - Can not be changed once set
1003
1723 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
1724 - default: 0
1725 - constraints: must be zero or greater
1726 - Can not be changed once set
1727 - Scaled with current BPM value
1728 * decay:
1729 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
1730 - default: 0
1731 - constraints: must be zero or greater
1732 - Can not be changed once set
1733 - Scaled with current BPM value
10041734 * sustain:
1005 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
1006 - default: 0
1007 - constraints: must be zero or greater
1008 - Can not be changed once set
1009
1735 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
1736 - default: 0
1737 - constraints: must be zero or greater
1738 - Can not be changed once set
1739 - Scaled with current BPM value
10101740 * release:
1011 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
1741 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
1742 - default: 1
1743 - constraints: must be zero or greater
1744 - Can not be changed once set
1745 - Scaled with current BPM value
1746 * attack_level:
1747 - doc: Amplitude level reached after attack phase and immediately before decay phase
1748 - default: 1
1749 - constraints: must be zero or greater
1750 - Can not be changed once set
1751 * decay_level:
1752 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
1753 - default: sustain_level
1754 - constraints: must be zero or greater
1755 - Can not be changed once set
1756 * sustain_level:
1757 - doc: Amplitude level reached after decay phase and immediately before release phase.
1758 - default: 1
1759 - constraints: must be zero or greater
1760 - Can not be changed once set
1761 * env_curve:
1762 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
10121763 - default: 2
1013 - constraints: must be zero or greater
1014 - Can not be changed once set
1015
1016 * slide:
1017 - doc: write me
1018 - default: 0
1019 - constraints: none
1020 - Can not be changed once set
1021
1022 * mod_rate:
1023 - doc: Number of times per second that the note switches between the two notes.
1024 - default: 1
1025 - constraints: must be zero or greater
1026 - May be changed whilst playing
1027
1028 * mod_rate_slide:
1029 - doc: Amount of time (in seconds) for the mod_rate value to change. A long mod_rate_slide value means that the mod_rate takes a long time to slide from the previous value to the new value. A mod_rate_slide of 0 means that the mod_rate instantly changes to the new value.
1030 - default: 0
1031 - constraints: must be zero or greater
1032 - May be changed whilst playing
1033
1764 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
1765 - Can not be changed once set
1766 * cutoff:
1767 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1768 - default: 100
1769 - constraints: must be zero or greater,must be a value less than 131
1770 - May be changed whilst playing
1771 - Has slide parameters for shaping changes
1772 * mod_phase:
1773 - doc: Phase duration in beats of oscillations between the two notes. Time it takes to switch between the notes.
1774 - default: 0.25
1775 - constraints: must be greater than zero
1776 - May be changed whilst playing
1777 - Scaled with current BPM value
1778 - Has slide parameters for shaping changes
10341779 * mod_range:
10351780 - doc: The size of gap between modulation notes. A gap of 12 is one octave.
10361781 - default: 5
1037 - constraints: must be zero or greater
1038 - May be changed whilst playing
1039
1040 * mod_range_slide:
1041 - doc: Amount of time (in seconds) for the mod_range value to change. A long mod_range_slide value means that the mod_range takes a long time to slide from the previous value to the new value. A mod_range_slide of 0 means that the mod_range instantly changes to the new value.
1042 - default: 0
1043 - constraints: must be zero or greater
1044 - May be changed whilst playing
1045
1046 * mod_width:
1047 - doc: The phase width of the modulation. Represents how even the gap between modulations is.
1782 - constraints: none
1783 - May be changed whilst playing
1784 - Has slide parameters for shaping changes
1785 * mod_pulse_width:
1786 - doc: The width of the modulated pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Only valid if mod wave is type pulse.
10481787 - default: 0.5
10491788 - constraints: must be a value between 0 and 1 exclusively
10501789 - May be changed whilst playing
1051
1052 * mod_width_slide:
1053 - doc: Amount of time (in seconds) for the mod_width value to change. A long mod_width_slide value means that the mod_width takes a long time to slide from the previous value to the new value. A mod_width_slide of 0 means that the mod_width instantly changes to the new value.
1054 - default: 0
1055 - constraints: must be zero or greater
1056 - May be changed whilst playing
1057
1058
1059
1060 ## Modulated Triangle Wave
1061
1062 ### Key:
1063 :mod_tri
1064
1065 ### Doc:
1066
1067
1068 ### Arguments:
1790 - Has slide parameters for shaping changes
1791 * mod_phase_offset:
1792 - doc: Initial modulation phase offset (a value between 0 and 1).
1793 - default: 0
1794 - constraints: must be a value between 0 and 1 inclusively
1795 - Can not be changed once set
1796 * mod_invert_wave:
1797 - doc: Invert mod waveform (i.e. flip it on the y axis). 0=normal wave, 1=inverted wave.
1798 - default: 0
1799 - constraints: must be one of the following values: [0, 1]
1800 - May be changed whilst playing
1801 * mod_wave:
1802 - doc: Wave shape of mod wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.
1803 - default: 1
1804 - constraints: must be one of the following values: [0, 1, 2, 3]
1805 - May be changed whilst playing
1806
1807
1808 ## Modulated Pulse
1809
1810 ### Key:
1811 :mod_pulse
1812
1813 ### Doc:
1814 A pulse wave with a low pass filter modulating between two notes via a variety of control waves (see mod_wave: arg). The pulse wave defaults to a square wave, but the timbre can be changed dramatically by adjusting the pulse_width arg between 0 and 1.
1815
1816 ### Opts:
10691817 * note:
1070 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
1818 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
10711819 - default: 52
10721820 - constraints: must be zero or greater
10731821 - May be changed whilst playing
1074
1075 * note_slide:
1076 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
1077 - default: 0
1078 - constraints: must be zero or greater
1079 - May be changed whilst playing
1080
1081 * amp:
1082 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
1083 - default: 1
1084 - constraints: must be zero or greater
1085 - May be changed whilst playing
1086
1087 * amp_slide:
1088 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
1089 - default: 0
1090 - constraints: must be zero or greater
1091 - May be changed whilst playing
1092
1822 - Has slide parameters for shaping changes
1823 * amp:
1824 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1825 - default: 1
1826 - constraints: must be zero or greater
1827 - May be changed whilst playing
1828 - Has slide parameters for shaping changes
10931829 * pan:
10941830 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
10951831 - default: 0
10961832 - constraints: must be a value between -1 and 1 inclusively
10971833 - May be changed whilst playing
1098
1834 - Has slide parameters for shaping changes
10991835 * attack:
1100 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
1101 - default: 0.01
1102 - constraints: must be zero or greater
1103 - Can not be changed once set
1104
1836 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
1837 - default: 0
1838 - constraints: must be zero or greater
1839 - Can not be changed once set
1840 - Scaled with current BPM value
1841 * decay:
1842 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
1843 - default: 0
1844 - constraints: must be zero or greater
1845 - Can not be changed once set
1846 - Scaled with current BPM value
11051847 * sustain:
1106 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
1107 - default: 0
1108 - constraints: must be zero or greater
1109 - Can not be changed once set
1110
1848 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
1849 - default: 0
1850 - constraints: must be zero or greater
1851 - Can not be changed once set
1852 - Scaled with current BPM value
11111853 * release:
1112 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
1854 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
1855 - default: 1
1856 - constraints: must be zero or greater
1857 - Can not be changed once set
1858 - Scaled with current BPM value
1859 * attack_level:
1860 - doc: Amplitude level reached after attack phase and immediately before decay phase
1861 - default: 1
1862 - constraints: must be zero or greater
1863 - Can not be changed once set
1864 * decay_level:
1865 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
1866 - default: sustain_level
1867 - constraints: must be zero or greater
1868 - Can not be changed once set
1869 * sustain_level:
1870 - doc: Amplitude level reached after decay phase and immediately before release phase.
1871 - default: 1
1872 - constraints: must be zero or greater
1873 - Can not be changed once set
1874 * env_curve:
1875 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
11131876 - default: 2
1114 - constraints: must be zero or greater
1115 - Can not be changed once set
1116
1877 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
1878 - Can not be changed once set
11171879 * cutoff:
1118 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1880 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
11191881 - default: 100
1120 - constraints: must be zero or greater, must be a value less than 130
1121 - May be changed whilst playing
1122
1123 * cutoff_slide:
1124 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
1125 - default: 0
1126 - constraints: must be zero or greater
1127 - May be changed whilst playing
1128
1129 * mod_rate:
1130 - doc: Number of times per second that the note switches between the two notes.
1131 - default: 1
1132 - constraints: must be zero or greater
1133 - May be changed whilst playing
1134
1135 * mod_rate_slide:
1136 - doc: Amount of time (in seconds) for the mod_rate value to change. A long mod_rate_slide value means that the mod_rate takes a long time to slide from the previous value to the new value. A mod_rate_slide of 0 means that the mod_rate instantly changes to the new value.
1137 - default: 0
1138 - constraints: must be zero or greater
1139 - May be changed whilst playing
1140
1882 - constraints: must be zero or greater,must be a value less than 131
1883 - May be changed whilst playing
1884 - Has slide parameters for shaping changes
1885 * mod_phase:
1886 - doc: Phase duration in beats of oscillations between the two notes. Time it takes to switch between the notes.
1887 - default: 0.25
1888 - constraints: must be greater than zero
1889 - May be changed whilst playing
1890 - Scaled with current BPM value
1891 - Has slide parameters for shaping changes
11411892 * mod_range:
11421893 - doc: The size of gap between modulation notes. A gap of 12 is one octave.
11431894 - default: 5
1144 - constraints: must be zero or greater
1145 - May be changed whilst playing
1146
1147 * mod_range_slide:
1148 - doc: Amount of time (in seconds) for the mod_range value to change. A long mod_range_slide value means that the mod_range takes a long time to slide from the previous value to the new value. A mod_range_slide of 0 means that the mod_range instantly changes to the new value.
1149 - default: 0
1150 - constraints: must be zero or greater
1151 - May be changed whilst playing
1152
1153 * mod_width:
1154 - doc: The phase width of the modulation. Represents how even the gap between modulations is.
1895 - constraints: none
1896 - May be changed whilst playing
1897 - Has slide parameters for shaping changes
1898 * mod_pulse_width:
1899 - doc: The width of the modulated pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Only valid if mod wave is type pulse.
11551900 - default: 0.5
11561901 - constraints: must be a value between 0 and 1 exclusively
11571902 - May be changed whilst playing
1158
1159 * mod_width_slide:
1160 - doc: Amount of time (in seconds) for the mod_width value to change. A long mod_width_slide value means that the mod_width takes a long time to slide from the previous value to the new value. A mod_width_slide of 0 means that the mod_width instantly changes to the new value.
1161 - default: 0
1162 - constraints: must be zero or greater
1163 - May be changed whilst playing
1164
1165
1166
1167 ## Simple Modulated Triangle Wave
1168
1169 ### Key:
1170 :mod_tri_s
1171
1172 ### Doc:
1173
1174
1175 ### Arguments:
1903 - Has slide parameters for shaping changes
1904 * mod_phase_offset:
1905 - doc: Initial modulation phase offset (a value between 0 and 1).
1906 - default: 0
1907 - constraints: must be a value between 0 and 1 inclusively
1908 - Can not be changed once set
1909 * mod_invert_wave:
1910 - doc: Invert mod waveform (i.e. flip it on the y axis). 0=normal wave, 1=inverted wave.
1911 - default: 0
1912 - constraints: must be one of the following values: [0, 1]
1913 - May be changed whilst playing
1914 * mod_wave:
1915 - doc: Wave shape of mod wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.
1916 - default: 1
1917 - constraints: must be one of the following values: [0, 1, 2, 3]
1918 - May be changed whilst playing
1919 * pulse_width:
1920 - doc: The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.
1921 - default: 0.5
1922 - constraints: must be a value between 0 and 1 exclusively
1923 - May be changed whilst playing
1924 - Has slide parameters for shaping changes
1925
1926
1927 ## TB-303 Emulation
1928
1929 ### Key:
1930 :tb303
1931
1932 ### Doc:
1933 Emulation of the classic Roland TB-303 Bass Line synthesiser. Overdrive the res (i.e. use very large values) for that classic late 80s acid sound.
1934
1935 ### Opts:
11761936 * note:
1177 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
1937 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
11781938 - default: 52
11791939 - constraints: must be zero or greater
11801940 - May be changed whilst playing
1181
1182 * note_slide:
1183 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
1184 - default: 0
1185 - constraints: must be zero or greater
1186 - May be changed whilst playing
1187
1188 * amp:
1189 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
1190 - default: 1
1191 - constraints: must be zero or greater
1192 - May be changed whilst playing
1193
1941 - Has slide parameters for shaping changes
1942 * amp:
1943 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
1944 - default: 1
1945 - constraints: must be zero or greater
1946 - May be changed whilst playing
1947 - Has slide parameters for shaping changes
11941948 * pan:
11951949 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
11961950 - default: 0
11971951 - constraints: must be a value between -1 and 1 inclusively
11981952 - May be changed whilst playing
1199
1953 - Has slide parameters for shaping changes
12001954 * attack:
1201 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
1202 - default: 0.01
1203 - constraints: must be zero or greater
1204 - Can not be changed once set
1205
1955 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
1956 - default: 0
1957 - constraints: must be zero or greater
1958 - Can not be changed once set
1959 - Scaled with current BPM value
1960 * decay:
1961 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
1962 - default: 0
1963 - constraints: must be zero or greater
1964 - Can not be changed once set
1965 - Scaled with current BPM value
12061966 * sustain:
1207 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
1208 - default: 0
1209 - constraints: must be zero or greater
1210 - Can not be changed once set
1211
1967 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
1968 - default: 0
1969 - constraints: must be zero or greater
1970 - Can not be changed once set
1971 - Scaled with current BPM value
12121972 * release:
1213 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
1973 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
1974 - default: 1
1975 - constraints: must be zero or greater
1976 - Can not be changed once set
1977 - Scaled with current BPM value
1978 * attack_level:
1979 - doc: Amplitude level reached after attack phase and immediately before decay phase
1980 - default: 1
1981 - constraints: must be zero or greater
1982 - Can not be changed once set
1983 * decay_level:
1984 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
1985 - default: sustain_level
1986 - constraints: must be zero or greater
1987 - Can not be changed once set
1988 * sustain_level:
1989 - doc: Amplitude level reached after decay phase and immediately before release phase.
1990 - default: 1
1991 - constraints: must be zero or greater
1992 - Can not be changed once set
1993 * env_curve:
1994 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
12141995 - default: 2
1215 - constraints: must be zero or greater
1216 - Can not be changed once set
1217
1218 * slide:
1219 - doc: write me
1220 - default: 0
1221 - constraints: none
1222 - Can not be changed once set
1223
1224 * mod_rate:
1225 - doc: Number of times per second that the note switches between the two notes.
1226 - default: 1
1227 - constraints: must be zero or greater
1228 - May be changed whilst playing
1229
1230 * mod_range:
1231 - doc: The size of gap between modulation notes. A gap of 12 is one octave.
1232 - default: 5
1233 - constraints: must be zero or greater
1234 - May be changed whilst playing
1235
1236 * mod_width:
1237 - doc: The phase width of the modulation. Represents how even the gap between modulations is.
1996 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
1997 - Can not be changed once set
1998 * cutoff:
1999 - doc: The maximum cutoff value as a MIDI note
2000 - default: 120
2001 - constraints: must be a value less than or equal to 130
2002 - May be changed whilst playing
2003 - Has slide parameters for shaping changes
2004 * cutoff_min:
2005 - doc: The minimum cutoff value.
2006 - default: 30
2007 - constraints: must be a value less than or equal to 130
2008 - May be changed whilst playing
2009 - Has slide parameters for shaping changes
2010 * cutoff_attack:
2011 - doc: Attack time for cutoff filter. Amount of time (in beats) for sound to reach full cutoff value. Default value is set to match amp envelope's attack value.
2012 - default: attack
2013 - constraints: must be zero or greater
2014 - Can not be changed once set
2015 - Scaled with current BPM value
2016 * cutoff_decay:
2017 - doc: Decay time for cutoff filter. Amount of time (in beats) for sound to move from full cutoff value (cutoff attack level) to the cutoff sustain level. Default value is set to match amp envelope's decay value.
2018 - default: decay
2019 - constraints: must be zero or greater
2020 - Can not be changed once set
2021 - Scaled with current BPM value
2022 * cutoff_sustain:
2023 - doc: Amount of time for cutoff value to remain at sustain level in beats. Default value is set to match amp envelope's sustain value.
2024 - default: sustain
2025 - constraints: must be zero or greater
2026 - Can not be changed once set
2027 - Scaled with current BPM value
2028 * cutoff_release:
2029 - doc: Amount of time (in beats) for sound to move from cutoff sustain value to cutoff min value. Default value is set to match amp envelope's release value.
2030 - default: release
2031 - constraints: must be zero or greater
2032 - Can not be changed once set
2033 - Scaled with current BPM value
2034 * cutoff_attack_level:
2035 - doc: The peak cutoff (value of cutoff at peak of attack) as a value between 0 and 1 where 0 is the :cutoff_min and 1 is the :cutoff value
2036 - default: 1
2037 - constraints: must be a value between 0 and 1 inclusively
2038 - Can not be changed once set
2039 * cutoff_decay_level:
2040 - doc: The level of cutoff after the decay phase as a value between 0 and 1 where 0 is the :cutoff_min and 1 is the :cutoff value
2041 - default: cutoff_sustain_level
2042 - constraints: must be a value between 0 and 1 inclusively
2043 - Can not be changed once set
2044 * cutoff_sustain_level:
2045 - doc: The sustain cutoff (value of cutoff at sustain time) as a value between 0 and 1 where 0 is the :cutoff_min and 1 is the :cutoff value.
2046 - default: 1
2047 - constraints: must be a value between 0 and 1 inclusively
2048 - Can not be changed once set
2049 * res:
2050 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
2051 - default: 0.9
2052 - constraints: must be zero or greater,must be a value less than 1
2053 - May be changed whilst playing
2054 - Has slide parameters for shaping changes
2055 * wave:
2056 - doc: Wave type - 0 saw, 1 pulse, 2 triangle. Different waves will produce different sounds.
2057 - default: 0
2058 - constraints: must be one of the following values: [0, 1, 2]
2059 - May be changed whilst playing
2060 * pulse_width:
2061 - doc: The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.
12382062 - default: 0.5
12392063 - constraints: must be a value between 0 and 1 exclusively
12402064 - May be changed whilst playing
1241
1242
1243
1244 ## Modulated Pulse
1245
1246 ### Key:
1247 :mod_pulse
1248
1249 ### Doc:
1250
1251
1252 ### Arguments:
2065 - Has slide parameters for shaping changes
2066
2067
2068 ## Supersaw
2069
2070 ### Key:
2071 :supersaw
2072
2073 ### Doc:
2074 Thick swirly saw waves sparkling and moving about to create a rich trancy sound.
2075
2076 ### Opts:
12532077 * note:
1254 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
2078 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
12552079 - default: 52
12562080 - constraints: must be zero or greater
12572081 - May be changed whilst playing
1258
1259 * note_slide:
1260 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
1261 - default: 0
1262 - constraints: must be zero or greater
1263 - May be changed whilst playing
1264
1265 * amp:
1266 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
1267 - default: 1
1268 - constraints: must be zero or greater
1269 - May be changed whilst playing
1270
1271 * amp_slide:
1272 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
1273 - default: 0
1274 - constraints: must be zero or greater
1275 - May be changed whilst playing
1276
2082 - Has slide parameters for shaping changes
2083 * amp:
2084 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
2085 - default: 1
2086 - constraints: must be zero or greater
2087 - May be changed whilst playing
2088 - Has slide parameters for shaping changes
12772089 * pan:
12782090 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
12792091 - default: 0
12802092 - constraints: must be a value between -1 and 1 inclusively
12812093 - May be changed whilst playing
1282
1283 * pan_slide:
1284 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
1285 - default: 0
1286 - constraints: must be zero or greater
1287 - May be changed whilst playing
1288
2094 - Has slide parameters for shaping changes
12892095 * attack:
1290 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
1291 - default: 0.01
1292 - constraints: must be zero or greater
1293 - Can not be changed once set
1294
2096 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
2097 - default: 0
2098 - constraints: must be zero or greater
2099 - Can not be changed once set
2100 - Scaled with current BPM value
2101 * decay:
2102 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
2103 - default: 0
2104 - constraints: must be zero or greater
2105 - Can not be changed once set
2106 - Scaled with current BPM value
12952107 * sustain:
1296 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
1297 - default: 0
1298 - constraints: must be zero or greater
1299 - Can not be changed once set
1300
2108 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
2109 - default: 0
2110 - constraints: must be zero or greater
2111 - Can not be changed once set
2112 - Scaled with current BPM value
13012113 * release:
1302 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
2114 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
2115 - default: 1
2116 - constraints: must be zero or greater
2117 - Can not be changed once set
2118 - Scaled with current BPM value
2119 * attack_level:
2120 - doc: Amplitude level reached after attack phase and immediately before decay phase
2121 - default: 1
2122 - constraints: must be zero or greater
2123 - Can not be changed once set
2124 * decay_level:
2125 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
2126 - default: sustain_level
2127 - constraints: must be zero or greater
2128 - Can not be changed once set
2129 * sustain_level:
2130 - doc: Amplitude level reached after decay phase and immediately before release phase.
2131 - default: 1
2132 - constraints: must be zero or greater
2133 - Can not be changed once set
2134 * env_curve:
2135 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
13032136 - default: 2
1304 - constraints: must be zero or greater
1305 - Can not be changed once set
1306
2137 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
2138 - Can not be changed once set
13072139 * cutoff:
1308 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
2140 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
2141 - default: 130
2142 - constraints: must be zero or greater,must be a value less than 131
2143 - May be changed whilst playing
2144 - Has slide parameters for shaping changes
2145 * res:
2146 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
2147 - default: 0.7
2148 - constraints: must be zero or greater,must be a value less than 1
2149 - May be changed whilst playing
2150 - Has slide parameters for shaping changes
2151
2152
2153 ## Hoover
2154
2155 ### Key:
2156 :hoover
2157
2158 ### Doc:
2159 Classic early 90's rave synth - 'a sort of slurry chorussy synth line like the classic Dominator by Human Resource'. Based on Dan Stowell's implementation in SuperCollider and Daniel Turczanski's port to Overtone. Works really well with portamento (see docs for the 'control' method).
2160
2161 ### Opts:
2162 * note:
2163 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
2164 - default: 52
2165 - constraints: must be zero or greater
2166 - May be changed whilst playing
2167 - Has slide parameters for shaping changes
2168 * amp:
2169 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
2170 - default: 1
2171 - constraints: must be zero or greater
2172 - May be changed whilst playing
2173 - Has slide parameters for shaping changes
2174 * pan:
2175 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
2176 - default: 0
2177 - constraints: must be a value between -1 and 1 inclusively
2178 - May be changed whilst playing
2179 - Has slide parameters for shaping changes
2180 * attack:
2181 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
2182 - default: 0.05
2183 - constraints: must be zero or greater
2184 - Can not be changed once set
2185 - Scaled with current BPM value
2186 * decay:
2187 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
2188 - default: 0
2189 - constraints: must be zero or greater
2190 - Can not be changed once set
2191 - Scaled with current BPM value
2192 * sustain:
2193 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
2194 - default: 0
2195 - constraints: must be zero or greater
2196 - Can not be changed once set
2197 - Scaled with current BPM value
2198 * release:
2199 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
2200 - default: 1
2201 - constraints: must be zero or greater
2202 - Can not be changed once set
2203 - Scaled with current BPM value
2204 * attack_level:
2205 - doc: Amplitude level reached after attack phase and immediately before decay phase
2206 - default: 1
2207 - constraints: must be zero or greater
2208 - Can not be changed once set
2209 * decay_level:
2210 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
2211 - default: sustain_level
2212 - constraints: must be zero or greater
2213 - Can not be changed once set
2214 * sustain_level:
2215 - doc: Amplitude level reached after decay phase and immediately before release phase.
2216 - default: 1
2217 - constraints: must be zero or greater
2218 - Can not be changed once set
2219 * env_curve:
2220 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
2221 - default: 2
2222 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
2223 - Can not be changed once set
2224 * cutoff:
2225 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
2226 - default: 130
2227 - constraints: must be zero or greater,must be a value less than 131
2228 - May be changed whilst playing
2229 - Has slide parameters for shaping changes
2230 * res:
2231 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
2232 - default: 0.1
2233 - constraints: must be zero or greater,must be a value less than 1
2234 - May be changed whilst playing
2235 - Has slide parameters for shaping changes
2236
2237
2238 ## The Prophet
2239
2240 ### Key:
2241 :prophet
2242
2243 ### Doc:
2244 Dark and swirly, this synth uses Pulse Width Modulation (PWM) to create a timbre which continually moves around. This effect is created using the pulse ugen which produces a variable width square wave. We then control the width of the pulses using a variety of LFOs - sin-osc and lf-tri in this case. We use a number of these LFO modulated pulse ugens with varying LFO type and rate (and phase in some cases) to provide the LFO with a different starting point. We then mix all these pulses together to create a thick sound and then feed it through a resonant low pass filter (rlpf). For extra bass, one of the pulses is an octave lower (half the frequency) and its LFO has a little bit of randomisation thrown into its frequency component for that extra bit of variety.
2245
2246 ### Opts:
2247 * note:
2248 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
2249 - default: 52
2250 - constraints: must be zero or greater
2251 - May be changed whilst playing
2252 - Has slide parameters for shaping changes
2253 * amp:
2254 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
2255 - default: 1
2256 - constraints: must be zero or greater
2257 - May be changed whilst playing
2258 - Has slide parameters for shaping changes
2259 * pan:
2260 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
2261 - default: 0
2262 - constraints: must be a value between -1 and 1 inclusively
2263 - May be changed whilst playing
2264 - Has slide parameters for shaping changes
2265 * attack:
2266 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
2267 - default: 0
2268 - constraints: must be zero or greater
2269 - Can not be changed once set
2270 - Scaled with current BPM value
2271 * decay:
2272 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
2273 - default: 0
2274 - constraints: must be zero or greater
2275 - Can not be changed once set
2276 - Scaled with current BPM value
2277 * sustain:
2278 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
2279 - default: 0
2280 - constraints: must be zero or greater
2281 - Can not be changed once set
2282 - Scaled with current BPM value
2283 * release:
2284 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
2285 - default: 1
2286 - constraints: must be zero or greater
2287 - Can not be changed once set
2288 - Scaled with current BPM value
2289 * attack_level:
2290 - doc: Amplitude level reached after attack phase and immediately before decay phase
2291 - default: 1
2292 - constraints: must be zero or greater
2293 - Can not be changed once set
2294 * decay_level:
2295 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
2296 - default: sustain_level
2297 - constraints: must be zero or greater
2298 - Can not be changed once set
2299 * sustain_level:
2300 - doc: Amplitude level reached after decay phase and immediately before release phase.
2301 - default: 1
2302 - constraints: must be zero or greater
2303 - Can not be changed once set
2304 * env_curve:
2305 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
2306 - default: 2
2307 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
2308 - Can not be changed once set
2309 * cutoff:
2310 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
2311 - default: 110
2312 - constraints: must be zero or greater,must be a value less than 131
2313 - May be changed whilst playing
2314 - Has slide parameters for shaping changes
2315 * res:
2316 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
2317 - default: 0.7
2318 - constraints: must be zero or greater,must be a value less than 1
2319 - May be changed whilst playing
2320 - Has slide parameters for shaping changes
2321
2322
2323 ## Zawa
2324
2325 ### Key:
2326 :zawa
2327
2328 ### Doc:
2329 Saw wave with oscillating timbre. Produces moving saw waves with a unique character controllable with the control oscillator (usage similar to mod synths).
2330
2331 ### Opts:
2332 * note:
2333 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
2334 - default: 52
2335 - constraints: must be zero or greater
2336 - May be changed whilst playing
2337 - Has slide parameters for shaping changes
2338 * amp:
2339 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
2340 - default: 1
2341 - constraints: must be zero or greater
2342 - May be changed whilst playing
2343 - Has slide parameters for shaping changes
2344 * pan:
2345 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
2346 - default: 0
2347 - constraints: must be a value between -1 and 1 inclusively
2348 - May be changed whilst playing
2349 - Has slide parameters for shaping changes
2350 * attack:
2351 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
2352 - default: 0
2353 - constraints: must be zero or greater
2354 - Can not be changed once set
2355 - Scaled with current BPM value
2356 * decay:
2357 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
2358 - default: 0
2359 - constraints: must be zero or greater
2360 - Can not be changed once set
2361 - Scaled with current BPM value
2362 * sustain:
2363 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
2364 - default: 0
2365 - constraints: must be zero or greater
2366 - Can not be changed once set
2367 - Scaled with current BPM value
2368 * release:
2369 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
2370 - default: 1
2371 - constraints: must be zero or greater
2372 - Can not be changed once set
2373 - Scaled with current BPM value
2374 * attack_level:
2375 - doc: Amplitude level reached after attack phase and immediately before decay phase
2376 - default: 1
2377 - constraints: must be zero or greater
2378 - Can not be changed once set
2379 * decay_level:
2380 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
2381 - default: sustain_level
2382 - constraints: must be zero or greater
2383 - Can not be changed once set
2384 * sustain_level:
2385 - doc: Amplitude level reached after decay phase and immediately before release phase.
2386 - default: 1
2387 - constraints: must be zero or greater
2388 - Can not be changed once set
2389 * cutoff:
2390 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
13092391 - default: 100
1310 - constraints: must be zero or greater, must be a value less than 130
1311 - May be changed whilst playing
1312
1313 * cutoff_slide:
1314 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
1315 - default: 0
1316 - constraints: must be zero or greater
1317 - May be changed whilst playing
1318
1319 * mod_rate:
1320 - doc: Number of times per second that the note switches between the two notes.
1321 - default: 1
1322 - constraints: must be zero or greater
1323 - May be changed whilst playing
1324
1325 * mod_rate__slide:
1326 - doc: write me
1327 - default: 0
1328 - constraints: none
1329 - Can not be changed once set
1330
1331 * mod_range:
1332 - doc: The size of gap between modulation notes. A gap of 12 is one octave.
1333 - default: 5
1334 - constraints: must be zero or greater
1335 - May be changed whilst playing
1336
1337 * mod_range_slide:
1338 - doc: Amount of time (in seconds) for the mod_range value to change. A long mod_range_slide value means that the mod_range takes a long time to slide from the previous value to the new value. A mod_range_slide of 0 means that the mod_range instantly changes to the new value.
1339 - default: 0
1340 - constraints: must be zero or greater
1341 - May be changed whilst playing
1342
1343 * mod_width:
1344 - doc: The phase width of the modulation. Represents how even the gap between modulations is.
2392 - constraints: must be zero or greater,must be a value less than 131
2393 - May be changed whilst playing
2394 - Has slide parameters for shaping changes
2395 * res:
2396 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
2397 - default: 0.9
2398 - constraints: must be zero or greater,must be a value less than 1
2399 - May be changed whilst playing
2400 - Has slide parameters for shaping changes
2401 * phase:
2402 - doc: Phase duration in beats of timbre modulation.
2403 - default: 1
2404 - constraints: must be greater than zero
2405 - May be changed whilst playing
2406 - Scaled with current BPM value
2407 - Has slide parameters for shaping changes
2408 * phase_offset:
2409 - doc: Initial phase offset of the sync wave (a value between 0 and 1).
2410 - default: 0
2411 - constraints: must be a value between 0 and 1 inclusively
2412 - Can not be changed once set
2413 * wave:
2414 - doc: Wave shape controlling freq sync saw wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.
2415 - default: 3
2416 - constraints: must be one of the following values: [0, 1, 2, 3]
2417 - May be changed whilst playing
2418 * invert_wave:
2419 - doc: Invert sync freq control waveform (i.e. flip it on the y axis). 0=uninverted wave, 1=inverted wave.
2420 - default: 0
2421 - constraints: must be one of the following values: [0, 1]
2422 - May be changed whilst playing
2423 * range:
2424 - doc: Range of the associated sync saw in MIDI notes from the main note. Modifies timbre.
2425 - default: 24
2426 - constraints: must be a value between 0 and 90 inclusively
2427 - May be changed whilst playing
2428 - Has slide parameters for shaping changes
2429 * disable_wave:
2430 - doc: Enable and disable sync control wave (setting to 1 will stop timbre movement).
2431 - default: 0
2432 - constraints: must be one of the following values: [0, 1]
2433 - May be changed whilst playing
2434 * pulse_width:
2435 - doc: The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.
13452436 - default: 0.5
13462437 - constraints: must be a value between 0 and 1 exclusively
13472438 - May be changed whilst playing
1348
1349 * mod_width_slide:
1350 - doc: Amount of time (in seconds) for the mod_width value to change. A long mod_width_slide value means that the mod_width takes a long time to slide from the previous value to the new value. A mod_width_slide of 0 means that the mod_width instantly changes to the new value.
1351 - default: 0
1352 - constraints: must be zero or greater
1353 - May be changed whilst playing
1354
1355 * pulse_width:
2439 - Has slide parameters for shaping changes
2440
2441
2442 ## Dark Ambience
2443
2444 ### Key:
2445 :dark_ambience
2446
2447 ### Doc:
2448 A slow rolling bass with a sparkle of light trying to escape the darkness. Great for an ambient sound.
2449
2450 ### Opts:
2451 * note:
2452 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
2453 - default: 52
2454 - constraints: must be zero or greater
2455 - May be changed whilst playing
2456 - Has slide parameters for shaping changes
2457 * amp:
2458 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
2459 - default: 1
2460 - constraints: must be zero or greater
2461 - May be changed whilst playing
2462 - Has slide parameters for shaping changes
2463 * pan:
2464 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
2465 - default: 0
2466 - constraints: must be a value between -1 and 1 inclusively
2467 - May be changed whilst playing
2468 - Has slide parameters for shaping changes
2469 * attack:
2470 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
2471 - default: 0
2472 - constraints: must be zero or greater
2473 - Can not be changed once set
2474 - Scaled with current BPM value
2475 * decay:
2476 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
2477 - default: 0
2478 - constraints: must be zero or greater
2479 - Can not be changed once set
2480 - Scaled with current BPM value
2481 * sustain:
2482 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
2483 - default: 0
2484 - constraints: must be zero or greater
2485 - Can not be changed once set
2486 - Scaled with current BPM value
2487 * release:
2488 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
2489 - default: 1
2490 - constraints: must be zero or greater
2491 - Can not be changed once set
2492 - Scaled with current BPM value
2493 * attack_level:
2494 - doc: Amplitude level reached after attack phase and immediately before decay phase
2495 - default: 1
2496 - constraints: must be zero or greater
2497 - Can not be changed once set
2498 * decay_level:
2499 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
2500 - default: sustain_level
2501 - constraints: must be zero or greater
2502 - Can not be changed once set
2503 * sustain_level:
2504 - doc: Amplitude level reached after decay phase and immediately before release phase.
2505 - default: 1
2506 - constraints: must be zero or greater
2507 - Can not be changed once set
2508 * env_curve:
2509 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
2510 - default: 2
2511 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
2512 - Can not be changed once set
2513 * cutoff:
2514 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
2515 - default: 110
2516 - constraints: must be zero or greater,must be a value less than 131
2517 - May be changed whilst playing
2518 - Has slide parameters for shaping changes
2519 * res:
2520 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
2521 - default: 0.7
2522 - constraints: must be zero or greater,must be a value less than 1
2523 - May be changed whilst playing
2524 - Has slide parameters for shaping changes
2525 * detune1:
2526 - doc: Distance (in MIDI notes) between the main note and the second component of sound. Affects thickness, sense of tuning and harmony.
2527 - default: 12
2528 - constraints: none
2529 - Can not be changed once set
2530 - Has slide parameters for shaping changes
2531 * detune2:
2532 - doc: Distance (in MIDI notes) between the main note and the third component of sound. Affects thickness, sense of tuning and harmony. Tiny values such as 0.1 create a thick sound.
2533 - default: 24
2534 - constraints: none
2535 - Can not be changed once set
2536 - Has slide parameters for shaping changes
2537 * noise:
2538 - doc: Noise source. Has a subtle effect on the timbre of the sound. 0=pink noise (the default), 1=brown noise, 2=white noise, 3=clip noise and 4=grey noise
2539 - default: 0
2540 - constraints: must be one of the following values: [0, 1, 2, 3, 4]
2541 - May be changed whilst playing
2542 * ring:
2543 - doc: Amount of ring in the sound. Lower values create a more rough sound, higher values produce a sound with more focus.
2544 - default: 0.2
2545 - constraints: must be a value between 0.1 and 50 inclusively
2546 - May be changed whilst playing
2547 * room:
2548 - doc: Room size in squared metres used to calculate the reverb.
2549 - default: 70
2550 - constraints: must be a value greater than or equal to 0.1,must be a value less than or equal to 300
2551 - Can not be changed once set
2552 * reverb_time:
2553 - doc: How long in beats the reverb should go on for.
2554 - default: 100
2555 - constraints: must be zero or greater
2556 - Can not be changed once set
2557
2558
2559 ## Growl
2560
2561 ### Key:
2562 :growl
2563
2564 ### Doc:
2565 A deep rumbling growl with a bright sine shining through at higher notes.
2566
2567 ### Opts:
2568 * note:
2569 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
2570 - default: 52
2571 - constraints: must be zero or greater
2572 - May be changed whilst playing
2573 - Has slide parameters for shaping changes
2574 * amp:
2575 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
2576 - default: 1
2577 - constraints: must be zero or greater
2578 - May be changed whilst playing
2579 - Has slide parameters for shaping changes
2580 * pan:
2581 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
2582 - default: 0
2583 - constraints: must be a value between -1 and 1 inclusively
2584 - May be changed whilst playing
2585 - Has slide parameters for shaping changes
2586 * attack:
2587 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
2588 - default: 0.1
2589 - constraints: must be zero or greater
2590 - Can not be changed once set
2591 - Scaled with current BPM value
2592 * decay:
2593 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
2594 - default: 0
2595 - constraints: must be zero or greater
2596 - Can not be changed once set
2597 - Scaled with current BPM value
2598 * sustain:
2599 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
2600 - default: 0
2601 - constraints: must be zero or greater
2602 - Can not be changed once set
2603 - Scaled with current BPM value
2604 * release:
2605 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
2606 - default: 1
2607 - constraints: must be zero or greater
2608 - Can not be changed once set
2609 - Scaled with current BPM value
2610 * attack_level:
2611 - doc: Amplitude level reached after attack phase and immediately before decay phase
2612 - default: 1
2613 - constraints: must be zero or greater
2614 - Can not be changed once set
2615 * decay_level:
2616 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
2617 - default: sustain_level
2618 - constraints: must be zero or greater
2619 - Can not be changed once set
2620 * sustain_level:
2621 - doc: Amplitude level reached after decay phase and immediately before release phase.
2622 - default: 1
2623 - constraints: must be zero or greater
2624 - Can not be changed once set
2625 * env_curve:
2626 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
2627 - default: 2
2628 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
2629 - Can not be changed once set
2630 * cutoff:
2631 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
2632 - default: 130
2633 - constraints: must be zero or greater,must be a value less than 131
2634 - May be changed whilst playing
2635 - Has slide parameters for shaping changes
2636 * res:
2637 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
2638 - default: 0.7
2639 - constraints: must be zero or greater,must be a value less than 1
2640 - May be changed whilst playing
2641 - Has slide parameters for shaping changes
2642
2643
2644 ## Hollow
2645
2646 ### Key:
2647 :hollow
2648
2649 ### Doc:
2650 A hollow breathy sound constructed from random noise
2651
2652 ### Opts:
2653 * note:
2654 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
2655 - default: 52
2656 - constraints: must be zero or greater
2657 - May be changed whilst playing
2658 - Has slide parameters for shaping changes
2659 * amp:
2660 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
2661 - default: 1
2662 - constraints: must be zero or greater
2663 - May be changed whilst playing
2664 - Has slide parameters for shaping changes
2665 * pan:
2666 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
2667 - default: 0
2668 - constraints: must be a value between -1 and 1 inclusively
2669 - May be changed whilst playing
2670 - Has slide parameters for shaping changes
2671 * attack:
2672 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
2673 - default: 0
2674 - constraints: must be zero or greater
2675 - Can not be changed once set
2676 - Scaled with current BPM value
2677 * decay:
2678 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
2679 - default: 0
2680 - constraints: must be zero or greater
2681 - Can not be changed once set
2682 - Scaled with current BPM value
2683 * sustain:
2684 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
2685 - default: 0
2686 - constraints: must be zero or greater
2687 - Can not be changed once set
2688 - Scaled with current BPM value
2689 * release:
2690 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
2691 - default: 1
2692 - constraints: must be zero or greater
2693 - Can not be changed once set
2694 - Scaled with current BPM value
2695 * attack_level:
2696 - doc: Amplitude level reached after attack phase and immediately before decay phase
2697 - default: 1
2698 - constraints: must be zero or greater
2699 - Can not be changed once set
2700 * decay_level:
2701 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
2702 - default: sustain_level
2703 - constraints: must be zero or greater
2704 - Can not be changed once set
2705 * sustain_level:
2706 - doc: Amplitude level reached after decay phase and immediately before release phase.
2707 - default: 1
2708 - constraints: must be zero or greater
2709 - Can not be changed once set
2710 * env_curve:
2711 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
2712 - default: 2
2713 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
2714 - Can not be changed once set
2715 * cutoff:
2716 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
2717 - default: 90
2718 - constraints: must be zero or greater,must be a value less than 131
2719 - May be changed whilst playing
2720 - Has slide parameters for shaping changes
2721 * res:
2722 - doc: Filter resonance as a value between 0 and 1. Only functional if a cutoff value is specified. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
2723 - default: 0.99
2724 - constraints: must be zero or greater,must be a value less than 1
2725 - May be changed whilst playing
2726 - Has slide parameters for shaping changes
2727 * noise:
2728 - doc: Noise source. Has a subtle effect on the timbre of the sound. 0=pink noise, 1=brown noise (the default), 2=white noise, 3=clip noise and 4=grey noise
2729 - default: 1
2730 - constraints: must be one of the following values: [0, 1, 2, 3, 4]
2731 - May be changed whilst playing
2732 * norm:
2733 - doc: Normalise the audio (make quieter parts of the sample louder and louder parts quieter) - this is similar to the normaliser FX. This may emphasise any clicks caused by clipping.
2734 - default: 0
2735 - constraints: must be one of the following values: [0, 1]
2736 - May be changed whilst playing
2737
2738
2739 ## Mono Sample Player
2740
2741 ### Key:
2742 :mono_player
2743
2744 ### Doc:
2745
2746
2747 ### Opts:
2748 * amp:
2749 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
2750 - default: 1
2751 - constraints: must be zero or greater
2752 - May be changed whilst playing
2753 - Has slide parameters for shaping changes
2754 * pre_amp:
2755 - doc: Amplitude multiplier which takes place immediately before any internal FX such as the low pass filter, compressor or pitch modification. Use this opt if you want to overload the compressor.
2756 - default: 1
2757 - constraints: must be zero or greater
2758 - May be changed whilst playing
2759 - Has slide parameters for shaping changes
2760 * pan:
2761 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
2762 - default: 0
2763 - constraints: must be a value between -1 and 1 inclusively
2764 - May be changed whilst playing
2765 - Has slide parameters for shaping changes
2766 * attack:
2767 - doc: Duration of the attack phase of the envelope.
2768 - default: 0
2769 - constraints: must be zero or greater
2770 - Can not be changed once set
2771 * decay:
2772 - doc: Duration of the decay phase of the envelope.
2773 - default: 0
2774 - constraints: must be zero or greater
2775 - Can not be changed once set
2776 * sustain:
2777 - doc: Duration of the sustain phase of the envelope. When -1 (the default) will auto-stretch.
2778 - default: -1
2779 - constraints: must either be a positive value or -1
2780 - Can not be changed once set
2781 * release:
2782 - doc: Duration of the release phase of the envelope.
2783 - default: 0
2784 - constraints: must be zero or greater
2785 - Can not be changed once set
2786 * attack_level:
2787 - doc: Amplitude level reached after attack phase and immediately before decay phase
2788 - default: 1
2789 - constraints: must be zero or greater
2790 - Can not be changed once set
2791 * decay_level:
2792 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
2793 - default: sustain_level
2794 - constraints: must be zero or greater
2795 - Can not be changed once set
2796 * sustain_level:
2797 - doc: Amplitude level reached after decay phase and immediately before release phase.
2798 - default: 1
2799 - constraints: must be zero or greater
2800 - Can not be changed once set
2801 * env_curve:
2802 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
2803 - default: 2
2804 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
2805 - Can not be changed once set
2806 * cutoff_attack:
2807 - doc: Attack time for cutoff filter. Amount of time (in beats) for sound to reach full cutoff value. Default value is set to match amp envelope's attack value.
2808 - default: attack
2809 - constraints: must be zero or greater
2810 - Can not be changed once set
2811 * cutoff_decay:
2812 - doc: Decay time for cutoff filter. Amount of time (in beats) for sound to move from full cutoff value (cutoff attack level) to the cutoff sustain level. Default value is set to match amp envelope's decay value.
2813 - default: decay
2814 - constraints: must be zero or greater
2815 - Can not be changed once set
2816 * cutoff_sustain:
2817 - doc: Amount of time for cutoff value to remain at sustain level in beats. When -1 (the default) will auto-stretch.
2818 - default: sustain
2819 - constraints: must either be a positive value or -1
2820 - Can not be changed once set
2821 * cutoff_release:
2822 - doc: Amount of time (in beats) for sound to move from cutoff sustain value to cutoff min value. Default value is set to match amp envelope's release value.
2823 - default: release
2824 - constraints: must be zero or greater
2825 - Can not be changed once set
2826 * cutoff_attack_level:
2827 - doc: The peak cutoff (value of cutoff at peak of attack) as a MIDI note.
2828 - default: cutoff
2829 - constraints: must be a value between 0 and 130 inclusively
2830 - Can not be changed once set
2831 * cutoff_decay_level:
2832 - doc: The level of cutoff after the decay phase as a MIDI note.
2833 - default: cutoff
2834 - constraints: must be a value between 0 and 130 inclusively
2835 - Can not be changed once set
2836 * cutoff_sustain_level:
2837 - doc: The sustain cutoff (value of cutoff at sustain time) as a MIDI note.
2838 - default: cutoff
2839 - constraints: must be a value between 0 and 130 inclusively
2840 - Can not be changed once set
2841 * cutoff_env_curve:
2842 - doc: Select the shape of the curve between levels in the cutoff envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
2843 - default: 2
2844 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
2845 - Can not be changed once set
2846 * cutoff_min:
2847 - doc: The minimum cutoff value.
2848 - default: 30
2849 - constraints: must be a value less than or equal to 130
2850 - May be changed whilst playing
2851 - Has slide parameters for shaping changes
2852 * rate:
2853 - doc: Rate with which to play back - default is 1. Playing the sample at rate 2 will play it back at double the normal speed. This will have the effect of doubling the frequencies in the sample and halving the playback time. Use rates lower than 1 to slow the sample down. Negative rates will play the sample in reverse.
2854 - default: 1
2855 - constraints: must not be zero
2856 - Can not be changed once set
2857 * start:
2858 - doc: A fraction (between 0 and 1) representing where in the sample to start playback. 1 represents the end of the sample, 0.5 half-way through etc.
2859 - default: 0
2860 - constraints: must be a value between 0 and 1 inclusively
2861 - Can not be changed once set
2862 * finish:
2863 - doc: A fraction (between 0 and 1) representing where in the sample to finish playback. 1 represents the end of the sample, 0.5 half-way through etc.
2864 - default: 1
2865 - constraints: must be a value between 0 and 1 inclusively
2866 - Can not be changed once set
2867 * res:
2868 - doc: Filter resonance as a value between 0 and 1. Only functional if a cutoff value is specified. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
2869 - default: 0
2870 - constraints: must be zero or greater,must be a value less than 1
2871 - May be changed whilst playing
2872 - Has slide parameters for shaping changes
2873 * cutoff:
2874 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
2875 - default: 0
2876 - constraints: must be zero or greater,must be a value less than 131
2877 - May be changed whilst playing
2878 - Has slide parameters for shaping changes
2879 * norm:
2880 - doc: Normalise the audio (make quieter parts of the sample louder and louder parts quieter) - this is similar to the normaliser FX. This may emphasise any clicks caused by clipping.
2881 - default: 0
2882 - constraints: must be one of the following values: [0, 1]
2883 - May be changed whilst playing
2884 * pitch:
13562885 - doc: write me
2886 - default: 0
2887 - constraints: none
2888 - Can not be changed once set
2889 - Has slide parameters for shaping changes
2890 * window_size:
2891 - doc: Pitch shift works by chopping the input into tiny slices, then playing these slices at a higher or lower rate. If we make the slices small enough and overlap them, it sounds like the original sound with the pitch changed.
2892
2893 The window_size is the length of the slices and is measured in seconds. It needs to be around 0.2 (200ms) or greater for pitched sounds like guitar or bass, and needs to be around 0.02 (20ms) or lower for percussive sounds like drum loops. You can experiment with this to get the best sound for your input.
2894 - default: 0.2
2895 - constraints: must be a value greater than 5.0e-05
2896 - May be changed whilst playing
2897 - Has slide parameters for shaping changes
2898 * pitch_dis:
2899 - doc: Pitch dispersion - how much random variation in pitch to add. Using a low value like 0.001 can help to "soften up" the metallic sounds, especially on drum loops. To be really technical, pitch_dispersion is the maximum random deviation of the pitch from the pitch ratio (which is set by the pitch param)
2900 - default: 0.0
2901 - constraints: must be a value greater than or equal to 0
2902 - May be changed whilst playing
2903 - Has slide parameters for shaping changes
2904 * time_dis:
2905 - doc: Time dispersion - how much random delay before playing each grain (measured in seconds). Again, low values here like 0.001 can help to soften up metallic sounds introduced by the effect. Large values are also fun as they can make soundscapes and textures from the input, although you will most likely lose the rhythm of the original. NB - This won't have an effect if it's larger than window_size.
2906 - default: 0.0
2907 - constraints: must be a value greater than or equal to 0
2908 - May be changed whilst playing
2909 - Has slide parameters for shaping changes
2910 * compress:
2911 - doc: Enable the compressor. This sits at the end of the internal FX chain immediately before the `amp:` opt. Therefore to drive the compressor use the `pre_amp:` opt which will amplify the signal before it hits any internal FX. The compressor compresses the dynamic range of the incoming signal. Equivalent to automatically turning the amp down when the signal gets too loud and then back up again when it's quiet. Useful for ensuring the containing signal doesn't overwhelm other aspects of the sound. Also a general purpose hard-knee dynamic range processor which can be tuned via the opts to both expand and compress the signal.
2912 - default: 0
2913 - constraints: must be one of the following values: [0, 1]
2914 - May be changed whilst playing
2915 * threshold:
2916 - doc: Threshold value determining the break point between slope_below and slope_above. Only valid if the compressor is enabled by turning on the comp: opt.
2917 - default: 0.2
2918 - constraints: must be zero or greater
2919 - May be changed whilst playing
2920 - Has slide parameters for shaping changes
2921 * clamp_time:
2922 - doc: Time taken for the amplitude adjustments to kick in fully (in seconds). This is usually pretty small (not much more than 10 milliseconds). Also known as the time of the attack phase. Only valid if the compressor is enabled by turning on the comp: opt.
2923 - default: 0.01
2924 - constraints: must be zero or greater
2925 - May be changed whilst playing
2926 - Has slide parameters for shaping changes
2927 * slope_above:
2928 - doc: Slope of the amplitude curve above the threshold. A value of 1 means that the output of signals with amplitude above the threshold will be unaffected. Greater values will magnify and smaller values will attenuate the signal. Only valid if the compressor is enabled by turning on the comp: opt.
13572929 - default: 0.5
13582930 - constraints: none
1359 - Can not be changed once set
1360
1361 * pulse_width_slide:
1362 - doc: write me
1363 - default: 0
2931 - May be changed whilst playing
2932 - Has slide parameters for shaping changes
2933 * slope_below:
2934 - doc: Slope of the amplitude curve below the threshold. A value of 1 means that the output of signals with amplitude below the threshold will be unaffected. Greater values will magnify and smaller values will attenuate the signal. Only valid if the compressor is enabled by turning on the comp: opt.
2935 - default: 1
13642936 - constraints: none
1365 - Can not be changed once set
1366
1367
1368
1369 ## Simple Modulated Pulse
1370
1371 ### Key:
1372 :mod_pulse_s
2937 - May be changed whilst playing
2938 - Has slide parameters for shaping changes
2939 * relax_time:
2940 - doc: Time taken for the amplitude adjustments to be released. Usually a little longer than clamp_time. If both times are too short, you can get some (possibly unwanted) artefacts. Also known as the time of the release phase. Only valid if the compressor is enabled by turning on the comp: opt.
2941 - default: 0.01
2942 - constraints: must be zero or greater
2943 - May be changed whilst playing
2944 - Has slide parameters for shaping changes
2945
2946
2947 ## Stereo Sample Player
2948
2949 ### Key:
2950 :stereo_player
13732951
13742952 ### Doc:
13752953
13762954
1377 ### Arguments:
1378 * note:
1379 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
1380 - default: 52
1381 - constraints: must be zero or greater
1382 - May be changed whilst playing
1383
1384 * note_slide:
1385 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
1386 - default: 0
1387 - constraints: must be zero or greater
1388 - May be changed whilst playing
1389
1390 * amp:
1391 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
1392 - default: 1
1393 - constraints: must be zero or greater
1394 - May be changed whilst playing
1395
2955 ### Opts:
2956 * amp:
2957 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
2958 - default: 1
2959 - constraints: must be zero or greater
2960 - May be changed whilst playing
2961 - Has slide parameters for shaping changes
2962 * pre_amp:
2963 - doc: Amplitude multiplier which takes place immediately before any internal FX such as the low pass filter, compressor or pitch modification. Use this opt if you want to overload the compressor.
2964 - default: 1
2965 - constraints: must be zero or greater
2966 - May be changed whilst playing
2967 - Has slide parameters for shaping changes
13962968 * pan:
13972969 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
13982970 - default: 0
13992971 - constraints: must be a value between -1 and 1 inclusively
14002972 - May be changed whilst playing
1401
2973 - Has slide parameters for shaping changes
14022974 * attack:
1403 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
2975 - doc: Duration of the attack phase of the envelope.
2976 - default: 0
2977 - constraints: must be zero or greater
2978 - Can not be changed once set
2979 * decay:
2980 - doc: Duration of the decay phase of the envelope.
2981 - default: 0
2982 - constraints: must be zero or greater
2983 - Can not be changed once set
2984 * sustain:
2985 - doc: Duration of the sustain phase of the envelope. When -1 (the default) will auto-stretch.
2986 - default: -1
2987 - constraints: must either be a positive value or -1
2988 - Can not be changed once set
2989 * release:
2990 - doc: Duration of the release phase of the envelope.
2991 - default: 0
2992 - constraints: must be zero or greater
2993 - Can not be changed once set
2994 * attack_level:
2995 - doc: Amplitude level reached after attack phase and immediately before decay phase
2996 - default: 1
2997 - constraints: must be zero or greater
2998 - Can not be changed once set
2999 * decay_level:
3000 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
3001 - default: sustain_level
3002 - constraints: must be zero or greater
3003 - Can not be changed once set
3004 * sustain_level:
3005 - doc: Amplitude level reached after decay phase and immediately before release phase.
3006 - default: 1
3007 - constraints: must be zero or greater
3008 - Can not be changed once set
3009 * env_curve:
3010 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
3011 - default: 2
3012 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
3013 - Can not be changed once set
3014 * cutoff_attack:
3015 - doc: Attack time for cutoff filter. Amount of time (in beats) for sound to reach full cutoff value. Default value is set to match amp envelope's attack value.
3016 - default: attack
3017 - constraints: must be zero or greater
3018 - Can not be changed once set
3019 * cutoff_decay:
3020 - doc: Decay time for cutoff filter. Amount of time (in beats) for sound to move from full cutoff value (cutoff attack level) to the cutoff sustain level. Default value is set to match amp envelope's decay value.
3021 - default: decay
3022 - constraints: must be zero or greater
3023 - Can not be changed once set
3024 * cutoff_sustain:
3025 - doc: Amount of time for cutoff value to remain at sustain level in beats. When -1 (the default) will auto-stretch.
3026 - default: sustain
3027 - constraints: must either be a positive value or -1
3028 - Can not be changed once set
3029 * cutoff_release:
3030 - doc: Amount of time (in beats) for sound to move from cutoff sustain value to cutoff min value. Default value is set to match amp envelope's release value.
3031 - default: release
3032 - constraints: must be zero or greater
3033 - Can not be changed once set
3034 * cutoff_attack_level:
3035 - doc: The peak cutoff (value of cutoff at peak of attack) as a MIDI note.
3036 - default: cutoff
3037 - constraints: must be a value between 0 and 130 inclusively
3038 - Can not be changed once set
3039 * cutoff_decay_level:
3040 - doc: The level of cutoff after the decay phase as a MIDI note.
3041 - default: cutoff
3042 - constraints: must be a value between 0 and 130 inclusively
3043 - Can not be changed once set
3044 * cutoff_sustain_level:
3045 - doc: The sustain cutoff (value of cutoff at sustain time) as a MIDI note.
3046 - default: cutoff
3047 - constraints: must be a value between 0 and 130 inclusively
3048 - Can not be changed once set
3049 * cutoff_env_curve:
3050 - doc: Select the shape of the curve between levels in the cutoff envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
3051 - default: 2
3052 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
3053 - Can not be changed once set
3054 * cutoff_min:
3055 - doc: The minimum cutoff value.
3056 - default: 30
3057 - constraints: must be a value less than or equal to 130
3058 - May be changed whilst playing
3059 - Has slide parameters for shaping changes
3060 * rate:
3061 - doc: Rate with which to play back - default is 1. Playing the sample at rate 2 will play it back at double the normal speed. This will have the effect of doubling the frequencies in the sample and halving the playback time. Use rates lower than 1 to slow the sample down. Negative rates will play the sample in reverse.
3062 - default: 1
3063 - constraints: must not be zero
3064 - Can not be changed once set
3065 * start:
3066 - doc: A fraction (between 0 and 1) representing where in the sample to start playback. 1 represents the end of the sample, 0.5 half-way through etc.
3067 - default: 0
3068 - constraints: must be a value between 0 and 1 inclusively
3069 - Can not be changed once set
3070 * finish:
3071 - doc: A fraction (between 0 and 1) representing where in the sample to finish playback. 1 represents the end of the sample, 0.5 half-way through etc.
3072 - default: 1
3073 - constraints: must be a value between 0 and 1 inclusively
3074 - Can not be changed once set
3075 * res:
3076 - doc: Filter resonance as a value between 0 and 1. Only functional if a cutoff value is specified. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
3077 - default: 0
3078 - constraints: must be zero or greater,must be a value less than 1
3079 - May be changed whilst playing
3080 - Has slide parameters for shaping changes
3081 * cutoff:
3082 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
3083 - default: 0
3084 - constraints: must be zero or greater,must be a value less than 131
3085 - May be changed whilst playing
3086 - Has slide parameters for shaping changes
3087 * norm:
3088 - doc: Normalise the audio (make quieter parts of the sample louder and louder parts quieter) - this is similar to the normaliser FX. This may emphasise any clicks caused by clipping.
3089 - default: 0
3090 - constraints: must be one of the following values: [0, 1]
3091 - May be changed whilst playing
3092 * pitch:
3093 - doc: write me
3094 - default: 0
3095 - constraints: none
3096 - Can not be changed once set
3097 - Has slide parameters for shaping changes
3098 * window_size:
3099 - doc: Pitch shift works by chopping the input into tiny slices, then playing these slices at a higher or lower rate. If we make the slices small enough and overlap them, it sounds like the original sound with the pitch changed.
3100
3101 The window_size is the length of the slices and is measured in seconds. It needs to be around 0.2 (200ms) or greater for pitched sounds like guitar or bass, and needs to be around 0.02 (20ms) or lower for percussive sounds like drum loops. You can experiment with this to get the best sound for your input.
3102 - default: 0.2
3103 - constraints: must be a value greater than 5.0e-05
3104 - May be changed whilst playing
3105 - Has slide parameters for shaping changes
3106 * pitch_dis:
3107 - doc: Pitch dispersion - how much random variation in pitch to add. Using a low value like 0.001 can help to "soften up" the metallic sounds, especially on drum loops. To be really technical, pitch_dispersion is the maximum random deviation of the pitch from the pitch ratio (which is set by the pitch param)
3108 - default: 0.0
3109 - constraints: must be a value greater than or equal to 0
3110 - May be changed whilst playing
3111 - Has slide parameters for shaping changes
3112 * time_dis:
3113 - doc: Time dispersion - how much random delay before playing each grain (measured in seconds). Again, low values here like 0.001 can help to soften up metallic sounds introduced by the effect. Large values are also fun as they can make soundscapes and textures from the input, although you will most likely lose the rhythm of the original. NB - This won't have an effect if it's larger than window_size.
3114 - default: 0.0
3115 - constraints: must be a value greater than or equal to 0
3116 - May be changed whilst playing
3117 - Has slide parameters for shaping changes
3118 * compress:
3119 - doc: Enable the compressor. This sits at the end of the internal FX chain immediately before the `amp:` opt. Therefore to drive the compressor use the `pre_amp:` opt which will amplify the signal before it hits any internal FX. The compressor compresses the dynamic range of the incoming signal. Equivalent to automatically turning the amp down when the signal gets too loud and then back up again when it's quiet. Useful for ensuring the containing signal doesn't overwhelm other aspects of the sound. Also a general purpose hard-knee dynamic range processor which can be tuned via the opts to both expand and compress the signal.
3120 - default: 0
3121 - constraints: must be one of the following values: [0, 1]
3122 - May be changed whilst playing
3123 * threshold:
3124 - doc: Threshold value determining the break point between slope_below and slope_above. Only valid if the compressor is enabled by turning on the comp: opt.
3125 - default: 0.2
3126 - constraints: must be zero or greater
3127 - May be changed whilst playing
3128 - Has slide parameters for shaping changes
3129 * clamp_time:
3130 - doc: Time taken for the amplitude adjustments to kick in fully (in seconds). This is usually pretty small (not much more than 10 milliseconds). Also known as the time of the attack phase. Only valid if the compressor is enabled by turning on the comp: opt.
14043131 - default: 0.01
14053132 - constraints: must be zero or greater
1406 - Can not be changed once set
1407
1408 * sustain:
1409 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
1410 - default: 0
1411 - constraints: must be zero or greater
1412 - Can not be changed once set
1413
1414 * release:
1415 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
1416 - default: 2
1417 - constraints: must be zero or greater
1418 - Can not be changed once set
1419
1420 * mod_rate:
1421 - doc: Number of times per second that the note switches between the two notes.
1422 - default: 1
1423 - constraints: must be zero or greater
1424 - May be changed whilst playing
1425
1426 * mod_range:
1427 - doc: The size of gap between modulation notes. A gap of 12 is one octave.
1428 - default: 5
1429 - constraints: must be zero or greater
1430 - May be changed whilst playing
1431
1432 * mod_width:
1433 - doc: The phase width of the modulation. Represents how even the gap between modulations is.
1434 - default: 0.5
1435 - constraints: must be a value between 0 and 1 exclusively
1436 - May be changed whilst playing
1437
1438 * pulse_width:
1439 - doc: write me
3133 - May be changed whilst playing
3134 - Has slide parameters for shaping changes
3135 * slope_above:
3136 - doc: Slope of the amplitude curve above the threshold. A value of 1 means that the output of signals with amplitude above the threshold will be unaffected. Greater values will magnify and smaller values will attenuate the signal. Only valid if the compressor is enabled by turning on the comp: opt.
14403137 - default: 0.5
14413138 - constraints: none
1442 - Can not be changed once set
1443
1444
1445
1446 ## TB-303 Emulation
1447
1448 ### Key:
1449 :tb303
1450
1451 ### Doc:
1452
1453
1454 ### Arguments:
3139 - May be changed whilst playing
3140 - Has slide parameters for shaping changes
3141 * slope_below:
3142 - doc: Slope of the amplitude curve below the threshold. A value of 1 means that the output of signals with amplitude below the threshold will be unaffected. Greater values will magnify and smaller values will attenuate the signal. Only valid if the compressor is enabled by turning on the comp: opt.
3143 - default: 1
3144 - constraints: none
3145 - May be changed whilst playing
3146 - Has slide parameters for shaping changes
3147 * relax_time:
3148 - doc: Time taken for the amplitude adjustments to be released. Usually a little longer than clamp_time. If both times are too short, you can get some (possibly unwanted) artefacts. Also known as the time of the release phase. Only valid if the compressor is enabled by turning on the comp: opt.
3149 - default: 0.01
3150 - constraints: must be zero or greater
3151 - May be changed whilst playing
3152 - Has slide parameters for shaping changes
3153
3154
3155 ## Blade Runner style strings
3156
3157 ### Key:
3158 :blade
3159
3160 ### Doc:
3161 Straight from the 70s, evoking the mists of Blade Runner, this simple electro-style string synth is based on filtered saw waves and a variable vibrato.
3162
3163 ### Opts:
14553164 * note:
1456 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
3165 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`
14573166 - default: 52
14583167 - constraints: must be zero or greater
14593168 - May be changed whilst playing
1460
1461 * note_slide:
1462 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
1463 - default: 0
1464 - constraints: must be zero or greater
1465 - May be changed whilst playing
1466
1467 * amp:
1468 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
1469 - default: 1
1470 - constraints: must be zero or greater
1471 - May be changed whilst playing
1472
1473 * amp_slide:
1474 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
1475 - default: 0
1476 - constraints: must be zero or greater
1477 - May be changed whilst playing
1478
3169 - Has slide parameters for shaping changes
3170 * amp:
3171 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
3172 - default: 1
3173 - constraints: must be zero or greater
3174 - May be changed whilst playing
3175 - Has slide parameters for shaping changes
14793176 * pan:
14803177 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
14813178 - default: 0
14823179 - constraints: must be a value between -1 and 1 inclusively
14833180 - May be changed whilst playing
1484
1485 * pan_slide:
1486 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
1487 - default: 0
1488 - constraints: must be zero or greater
1489 - May be changed whilst playing
1490
3181 - Has slide parameters for shaping changes
14913182 * attack:
1492 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
1493 - default: 0.01
1494 - constraints: must be zero or greater
1495 - Can not be changed once set
1496
3183 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
3184 - default: 0
3185 - constraints: must be zero or greater
3186 - Can not be changed once set
3187 - Scaled with current BPM value
3188 * decay:
3189 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
3190 - default: 0
3191 - constraints: must be zero or greater
3192 - Can not be changed once set
3193 - Scaled with current BPM value
14973194 * sustain:
1498 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
1499 - default: 0
1500 - constraints: must be zero or greater
1501 - Can not be changed once set
1502
3195 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
3196 - default: 0
3197 - constraints: must be zero or greater
3198 - Can not be changed once set
3199 - Scaled with current BPM value
15033200 * release:
1504 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
3201 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
3202 - default: 1
3203 - constraints: must be zero or greater
3204 - Can not be changed once set
3205 - Scaled with current BPM value
3206 * attack_level:
3207 - doc: Amplitude level reached after attack phase and immediately before decay phase
3208 - default: 1
3209 - constraints: must be zero or greater
3210 - Can not be changed once set
3211 * decay_level:
3212 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
3213 - default: sustain_level
3214 - constraints: must be zero or greater
3215 - Can not be changed once set
3216 * sustain_level:
3217 - doc: Amplitude level reached after decay phase and immediately before release phase.
3218 - default: 1
3219 - constraints: must be zero or greater
3220 - Can not be changed once set
3221 * env_curve:
3222 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
15053223 - default: 2
1506 - constraints: must be zero or greater
1507 - Can not be changed once set
1508
3224 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
3225 - Can not be changed once set
15093226 * cutoff:
1510 - doc:
1511 - default: 80
1512 - constraints: must be zero or greater, must be a value less than 130
1513 - May be changed whilst playing
1514
1515 * cutoff_slide:
1516 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
1517 - default: 0
1518 - constraints: must be zero or greater
1519 - May be changed whilst playing
1520
1521 * cutoff_min:
1522 - doc:
1523 - default: 30
1524 - constraints: must be zero or greater, must be a value less than 130
1525 - May be changed whilst playing
1526
1527 * res:
1528 - doc: write me
3227 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
3228 - default: 100
3229 - constraints: must be zero or greater,must be a value less than 131
3230 - May be changed whilst playing
3231 - Has slide parameters for shaping changes
3232 * vibrato_rate:
3233 - doc: Number of wobbles per second. For realism this should be between 6 and 8, maybe even faster for really high notes.
3234 - default: 6
3235 - constraints: must be a value greater than or equal to 0.0,must be a value less than or equal to 20.0
3236 - May be changed whilst playing
3237 - Has slide parameters for shaping changes
3238 * vibrato_depth:
3239 - doc: Amount of variation around the central note. 1 is the sensible maximum (but you can go up to 5 if you want a special effect), 0 would mean no vibrato. Works well around 0.15 but you can experiment.
3240 - default: 0.15
3241 - constraints: must be a value greater than or equal to 0.0,must be a value less than or equal to 5.0
3242 - May be changed whilst playing
3243 - Has slide parameters for shaping changes
3244 * vibrato_delay:
3245 - doc: How long in seconds before the vibrato kicks in.
3246 - default: 0.5
3247 - constraints: must be zero or greater
3248 - Can not be changed once set
3249 * vibrato_onset:
3250 - doc: How long in seconds before the vibrato reaches full power.
15293251 - default: 0.1
1530 - constraints: none
1531 - Can not be changed once set
1532
1533 * res_slide:
1534 - doc: write me
1535 - default: 0
1536 - constraints: none
1537 - Can not be changed once set
1538
1539 * wave:
1540 - doc: Wave type - 0 saw, 1 pulse
1541 - default: 0
1542 - constraints: must be one of the following values: [0, 1]
1543 - May be changed whilst playing
1544
1545 * pulse_width:
1546 - doc: Only valid if wave is type pulse.
1547 - default: 0.5
1548 - constraints: must be zero or greater
1549 - May be changed whilst playing
1550
1551 * pulse_width_slide:
1552 - doc: Time in seconds for pulse width to change. Only valid if wave is type pulse.
1553 - default: 0
1554 - constraints: must be zero or greater
1555 - May be changed whilst playing
1556
1557
1558
1559 ## Supersaw
1560
1561 ### Key:
1562 :supersaw
1563
1564 ### Doc:
1565
1566
1567 ### Arguments:
3252 - constraints: must be zero or greater
3253 - Can not be changed once set
3254
3255
3256 ## SynthPiano
3257
3258 ### Key:
3259 :piano
3260
3261 ### Doc:
3262 A basic piano synthesiser. Note that due to the plucked nature of this synth the envelope opts such as `attack:`, `sustain:` and `release:` do not work as expected. They can only shorten the natural length of the note, not prolong it. Also, the `note:` opt will only honour whole tones.
3263
3264 ### Opts:
15683265 * note:
1569 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
3266 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`. Note that the piano synth can only play whole tones such as 60 and does not handle floats such as 60.3
15703267 - default: 52
15713268 - constraints: must be zero or greater
15723269 - May be changed whilst playing
1573
1574 * note_slide:
1575 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
1576 - default: 0
1577 - constraints: must be zero or greater
1578 - May be changed whilst playing
1579
1580 * amp:
1581 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
1582 - default: 1
1583 - constraints: must be zero or greater
1584 - May be changed whilst playing
1585
1586 * amp_slide:
1587 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
1588 - default: 0
1589 - constraints: must be zero or greater
1590 - May be changed whilst playing
1591
3270 - Has slide parameters for shaping changes
3271 * amp:
3272 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
3273 - default: 1
3274 - constraints: must be zero or greater
3275 - May be changed whilst playing
3276 - Has slide parameters for shaping changes
15923277 * pan:
15933278 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
15943279 - default: 0
15953280 - constraints: must be a value between -1 and 1 inclusively
15963281 - May be changed whilst playing
1597
1598 * pan_slide:
1599 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
1600 - default: 0
1601 - constraints: must be zero or greater
1602 - May be changed whilst playing
1603
3282 - Has slide parameters for shaping changes
3283 * vel:
3284 - doc: Velocity of keypress.
3285 - default: 0.2
3286 - constraints: must be a value between 0 and 1 inclusively
3287 - Can not be changed once set
16043288 * attack:
1605 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
1606 - default: 0.01
1607 - constraints: must be zero or greater
1608 - Can not be changed once set
1609
3289 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. With the piano synth, this opt can only have the effect of shortening the attack phase, not prolonging it.
3290 - default: 0
3291 - constraints: must be zero or greater
3292 - Can not be changed once set
3293 - Scaled with current BPM value
3294 * decay:
3295 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level). With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.
3296 - default: 0
3297 - constraints: must be zero or greater
3298 - Can not be changed once set
3299 - Scaled with current BPM value
16103300 * sustain:
1611 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
1612 - default: 0
1613 - constraints: must be zero or greater
1614 - Can not be changed once set
1615
3301 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.
3302 - default: 0
3303 - constraints: must be zero or greater
3304 - Can not be changed once set
3305 - Scaled with current BPM value
16163306 * release:
1617 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
1618 - default: 2
1619 - constraints: must be zero or greater
1620 - Can not be changed once set
1621
1622 * cutoff:
1623 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1624 - default: 130
1625 - constraints: must be zero or greater, must be a value less than 130
1626 - May be changed whilst playing
1627
1628 * cutoff_slide:
1629 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
1630 - default: 0
1631 - constraints: must be zero or greater
1632 - May be changed whilst playing
1633
1634 * res:
1635 - doc: write me
1636 - default: 0.3
1637 - constraints: none
1638 - Can not be changed once set
1639
1640 * res_slide:
1641 - doc: write me
1642 - default: 0
1643 - constraints: none
1644 - Can not be changed once set
1645
1646
1647
1648 ## Supersaw Simple
1649
1650 ### Key:
1651 :supersaw_s
1652
1653 ### Doc:
1654
1655
1656 ### Arguments:
3307 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.
3308 - default: 1
3309 - constraints: must be zero or greater
3310 - Can not be changed once set
3311 - Scaled with current BPM value
3312 * attack_level:
3313 - doc: Amplitude level reached after attack phase and immediately before decay phase
3314 - default: 1
3315 - constraints: must be zero or greater
3316 - Can not be changed once set
3317 * decay_level:
3318 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
3319 - default: sustain_level
3320 - constraints: must be zero or greater
3321 - Can not be changed once set
3322 * sustain_level:
3323 - doc: Amplitude level reached after decay phase and immediately before release phase.
3324 - default: 1
3325 - constraints: must be zero or greater
3326 - Can not be changed once set
3327 * hard:
3328 - doc: Hardness of keypress.
3329 - default: 0.5
3330 - constraints: must be a value between 0 and 1 inclusively
3331 - Can not be changed once set
3332 * stereo_width:
3333 - doc: Width of the stereo effect (which makes low notes sound towards the left, high notes towards the right). 0 to 1.
3334 - default: 0
3335 - constraints: must be a value between 0 and 1 inclusively
3336 - Can not be changed once set
3337
3338
3339 ## SynthPluck
3340
3341 ### Key:
3342 :pluck
3343
3344 ### Doc:
3345 A basic plucked string synthesiser that uses Karplus-Strong synthesis. Note that due to the plucked nature of this synth the envelope opts such as `attack:`, `sustain:` and `release:` do not work as expected. They can only shorten the natural length of the note, not prolong it. Also, the `note:` opt will only honour whole tones.
3346
3347 ### Opts:
16573348 * note:
1658 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
3349 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: `30`, `52`, `:C`, `:C2`, `:Eb4`, or `:Ds3`. Note that the piano synth can only play whole tones such as 60 and does not handle floats such as 60.3
16593350 - default: 52
16603351 - constraints: must be zero or greater
16613352 - May be changed whilst playing
1662
1663 * note_slide:
1664 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
1665 - default: 0
1666 - constraints: must be zero or greater
1667 - May be changed whilst playing
1668
1669 * amp:
1670 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
1671 - default: 1
1672 - constraints: must be zero or greater
1673 - May be changed whilst playing
1674
1675 * amp_slide:
1676 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
1677 - default: 0
1678 - constraints: must be zero or greater
1679 - May be changed whilst playing
1680
3353 - Has slide parameters for shaping changes
3354 * amp:
3355 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
3356 - default: 1
3357 - constraints: must be zero or greater
3358 - May be changed whilst playing
3359 - Has slide parameters for shaping changes
16813360 * pan:
16823361 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
16833362 - default: 0
16843363 - constraints: must be a value between -1 and 1 inclusively
16853364 - May be changed whilst playing
1686
1687 * pan_slide:
1688 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
1689 - default: 0
1690 - constraints: must be zero or greater
1691 - May be changed whilst playing
1692
3365 - Has slide parameters for shaping changes
16933366 * attack:
1694 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
1695 - default: 0.01
1696 - constraints: must be zero or greater
1697 - Can not be changed once set
1698
3367 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
3368 - default: 0
3369 - constraints: must be zero or greater
3370 - Can not be changed once set
3371 - Scaled with current BPM value
16993372 * sustain:
1700 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
1701 - default: 0
1702 - constraints: must be zero or greater
1703 - Can not be changed once set
1704
1705
1706
1707 ## The Prophet
1708
1709 ### Key:
1710 :prophet
1711
1712 ### Doc:
1713 Dark and swirly, this synth uses Pulse Width Modulation
1714 (PWM) to create a timbre which continually moves around. This
1715 effect is created using the pulse ugen which produces a variable
1716 width square wave. We then control the width of the pulses using a
1717 variety of LFOs - sin-osc and lf-tri in this case. We use a number
1718 of these LFO modulated pulse ugens with varying LFO type and rate
1719 (and phase in some cases) to provide the LFO with a different
1720 starting point. We then mix all these pulses together to create a
1721 thick sound and then feed it through a resonant low pass filter
1722 (rlpf).
1723
1724 For extra bass, one of the pulses is an octave lower (half the
1725 frequency) and its LFO has a little bit of randomisation thrown
1726 into its frequency component for that extra bit of variety.
1727
1728 ### Arguments:
1729 * note:
1730 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
1731 - default: 52
1732 - constraints: must be zero or greater
1733 - May be changed whilst playing
1734
1735 * note_slide:
1736 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
1737 - default: 0
1738 - constraints: must be zero or greater
1739 - May be changed whilst playing
1740
1741 * amp:
1742 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
1743 - default: 1
1744 - constraints: must be zero or greater
1745 - May be changed whilst playing
1746
1747 * amp_slide:
1748 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
1749 - default: 0
1750 - constraints: must be zero or greater
1751 - May be changed whilst playing
1752
3373 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.
3374 - default: 0
3375 - constraints: must be zero or greater
3376 - Can not be changed once set
3377 - Scaled with current BPM value
3378 * release:
3379 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.
3380 - default: 1
3381 - constraints: must be zero or greater
3382 - Can not be changed once set
3383 - Scaled with current BPM value
3384 * attack_level:
3385 - doc: Amplitude level reached after attack phase and immediately before decay phase
3386 - default: 1
3387 - constraints: must be zero or greater
3388 - Can not be changed once set
3389 * decay:
3390 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level). With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.
3391 - default: 0
3392 - constraints: must be zero or greater
3393 - Can not be changed once set
3394 - Scaled with current BPM value
3395 * decay_level:
3396 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
3397 - default: sustain_level
3398 - constraints: must be zero or greater
3399 - Can not be changed once set
3400 * sustain_level:
3401 - doc: Amplitude level reached after decay phase and immediately before release phase.
3402 - default: 1
3403 - constraints: must be zero or greater
3404 - Can not be changed once set
3405 * noise_amp:
3406 - doc: Amplitude of source (pink) noise.
3407 - default: 0.8
3408 - constraints: must be a value between 0 and 1 inclusively
3409 - Can not be changed once set
3410 * max_delay_time:
3411 - doc: Maximum length of the delay line buffer.
3412 - default: 0.125
3413 - constraints: must be a value between 0.125 and 1 inclusively
3414 - Can not be changed once set
3415 * pluck_decay:
3416 - doc: How long the pluck takes to stabilise on a note. This doesn't have a dramatic effect on the sound.
3417 - default: 30
3418 - constraints: must be a value between 1 and 100 inclusively
3419 - Can not be changed once set
3420 * coef:
3421 - doc: Coefficient of the internal OnePole filter. Values around zero are resonant and bright, values towards 1 sound more dampened and cutoff. It's a little bit like playing nearer the soundhole/fingerboard for values near zero and more toward the bridge for values approaching one, although this isn't an exact comparison.
3422 - default: 0.3
3423 - constraints: must be a value between -1 and 1 inclusively
3424 - Can not be changed once set
3425
3426
3427 ## Sound In
3428
3429 ### Key:
3430 :sound_in
3431
3432 ### Doc:
3433 Please write documentation!
3434
3435 ### Opts:
3436 * amp:
3437 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
3438 - default: 1
3439 - constraints: must be zero or greater
3440 - May be changed whilst playing
3441 - Has slide parameters for shaping changes
17533442 * pan:
17543443 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
17553444 - default: 0
17563445 - constraints: must be a value between -1 and 1 inclusively
17573446 - May be changed whilst playing
1758
1759 * pan_slide:
1760 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
1761 - default: 0
1762 - constraints: must be zero or greater
1763 - May be changed whilst playing
1764
1765 * attack:
1766 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
1767 - default: 0.01
1768 - constraints: must be zero or greater
1769 - Can not be changed once set
1770
1771 * sustain:
1772 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
1773 - default: 0
1774 - constraints: must be zero or greater
1775 - Can not be changed once set
1776
1777 * release:
1778 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
1779 - default: 2
1780 - constraints: must be zero or greater
1781 - Can not be changed once set
1782
1783 * cutoff:
1784 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1785 - default: 110
1786 - constraints: must be zero or greater, must be a value less than 130
1787 - May be changed whilst playing
1788
1789 * cutoff_slide:
1790 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
1791 - default: 0
1792 - constraints: must be zero or greater
1793 - May be changed whilst playing
1794
1795 * res:
3447 - Has slide parameters for shaping changes
3448 * input:
17963449 - doc: write me
1797 - default: 0.3
3450 - default: 0
17983451 - constraints: none
17993452 - Can not be changed once set
18003453
1801 * res_slide:
1802 - doc: write me
1803 - default: 0
1804 - constraints: none
1805 - Can not be changed once set
1806
1807
1808
1809 ## Zawa
1810
1811 ### Key:
1812 :zawa
1813
1814 ### Doc:
1815 Write me
1816
1817 ### Arguments:
1818 * note:
1819 - doc: Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3
1820 - default: 52
1821 - constraints: must be zero or greater
1822 - May be changed whilst playing
1823
1824 * note_slide:
1825 - doc: Amount of time (in seconds) for the note to change. A long slide value means that the note takes a long time to slide from the previous note to the new note. A slide of 0 means that the note instantly changes to the new note.
1826 - default: 0
1827 - constraints: must be zero or greater
1828 - May be changed whilst playing
1829
1830 * amp:
1831 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
1832 - default: 1
1833 - constraints: must be zero or greater
1834 - May be changed whilst playing
1835
1836 * amp_slide:
1837 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
1838 - default: 0
1839 - constraints: must be zero or greater
1840 - May be changed whilst playing
1841
3454
3455 ## Noise
3456
3457 ### Key:
3458 :noise
3459
3460 ### Doc:
3461 Noise that contains equal amounts of energy at every frequency - comparable to radio static. Useful for generating percussive sounds such as snares and hand claps. Also useful for simulating wind or sea effects.
3462
3463 ### Opts:
3464 * amp:
3465 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
3466 - default: 1
3467 - constraints: must be zero or greater
3468 - May be changed whilst playing
3469 - Has slide parameters for shaping changes
18423470 * pan:
18433471 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
18443472 - default: 0
18453473 - constraints: must be a value between -1 and 1 inclusively
18463474 - May be changed whilst playing
1847
1848 * pan_slide:
1849 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
1850 - default: 0
1851 - constraints: must be zero or greater
1852 - May be changed whilst playing
1853
3475 - Has slide parameters for shaping changes
18543476 * attack:
1855 - doc: Amount of time (in seconds) for sound to reach full amplitude. A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + sustain + release.
1856 - default: 0.1
1857 - constraints: must be zero or greater
1858 - Can not be changed once set
1859
3477 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
3478 - default: 0
3479 - constraints: must be zero or greater
3480 - Can not be changed once set
3481 - Scaled with current BPM value
3482 * decay:
3483 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
3484 - default: 0
3485 - constraints: must be zero or greater
3486 - Can not be changed once set
3487 - Scaled with current BPM value
18603488 * sustain:
1861 - doc: Amount of time (in seconds) for sound to remain at full amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + sustain + release.
1862 - default: 0
1863 - constraints: must be zero or greater
1864 - Can not be changed once set
1865
3489 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
3490 - default: 0
3491 - constraints: must be zero or greater
3492 - Can not be changed once set
3493 - Scaled with current BPM value
18663494 * release:
1867 - doc: Amount of time (in seconds) for sound to move from full amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + sustain + release.
1868 - default: 1
1869 - constraints: must be zero or greater
1870 - Can not be changed once set
1871
3495 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
3496 - default: 1
3497 - constraints: must be zero or greater
3498 - Can not be changed once set
3499 - Scaled with current BPM value
3500 * attack_level:
3501 - doc: Amplitude level reached after attack phase and immediately before decay phase
3502 - default: 1
3503 - constraints: must be zero or greater
3504 - Can not be changed once set
3505 * decay_level:
3506 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
3507 - default: sustain_level
3508 - constraints: must be zero or greater
3509 - Can not be changed once set
3510 * sustain_level:
3511 - doc: Amplitude level reached after decay phase and immediately before release phase.
3512 - default: 1
3513 - constraints: must be zero or greater
3514 - Can not be changed once set
3515 * env_curve:
3516 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
3517 - default: 2
3518 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
3519 - Can not be changed once set
18723520 * cutoff:
1873 - doc: MIDI note representing the highest frequences allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
1874 - default: 100
1875 - constraints: must be zero or greater, must be a value less than 130
1876 - May be changed whilst playing
1877
1878 * cutoff_slide:
1879 - doc: Amount of time (in seconds) for the cutoff value to change. A long cutoff_slide value means that the cutoff takes a long time to slide from the previous value to the new value. A cutoff_slide of 0 means that the cutoff instantly changes to the new value.
1880 - default: 0
1881 - constraints: must be zero or greater
1882 - May be changed whilst playing
1883
3521 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
3522 - default: 110
3523 - constraints: must be zero or greater,must be a value less than 131
3524 - May be changed whilst playing
3525 - Has slide parameters for shaping changes
3526 * res:
3527 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
3528 - default: 0
3529 - constraints: must be zero or greater,must be a value less than 1
3530 - May be changed whilst playing
3531 - Has slide parameters for shaping changes
3532
3533
3534 ## Pink Noise
3535
3536 ### Key:
3537 :pnoise
3538
3539 ### Doc:
3540 Noise whose spectrum falls off in power by 3 dB per octave. Useful for generating percussive sounds such as snares and hand claps. Also useful for simulating wind or sea effects.
3541
3542 ### Opts:
3543 * amp:
3544 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
3545 - default: 1
3546 - constraints: must be zero or greater
3547 - May be changed whilst playing
3548 - Has slide parameters for shaping changes
3549 * pan:
3550 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
3551 - default: 0
3552 - constraints: must be a value between -1 and 1 inclusively
3553 - May be changed whilst playing
3554 - Has slide parameters for shaping changes
3555 * attack:
3556 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
3557 - default: 0
3558 - constraints: must be zero or greater
3559 - Can not be changed once set
3560 - Scaled with current BPM value
3561 * decay:
3562 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
3563 - default: 0
3564 - constraints: must be zero or greater
3565 - Can not be changed once set
3566 - Scaled with current BPM value
3567 * sustain:
3568 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
3569 - default: 0
3570 - constraints: must be zero or greater
3571 - Can not be changed once set
3572 - Scaled with current BPM value
3573 * release:
3574 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
3575 - default: 1
3576 - constraints: must be zero or greater
3577 - Can not be changed once set
3578 - Scaled with current BPM value
3579 * attack_level:
3580 - doc: Amplitude level reached after attack phase and immediately before decay phase
3581 - default: 1
3582 - constraints: must be zero or greater
3583 - Can not be changed once set
3584 * decay_level:
3585 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
3586 - default: sustain_level
3587 - constraints: must be zero or greater
3588 - Can not be changed once set
3589 * sustain_level:
3590 - doc: Amplitude level reached after decay phase and immediately before release phase.
3591 - default: 1
3592 - constraints: must be zero or greater
3593 - Can not be changed once set
3594 * env_curve:
3595 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
3596 - default: 2
3597 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
3598 - Can not be changed once set
3599 * cutoff:
3600 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
3601 - default: 110
3602 - constraints: must be zero or greater,must be a value less than 131
3603 - May be changed whilst playing
3604 - Has slide parameters for shaping changes
3605 * res:
3606 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
3607 - default: 0
3608 - constraints: must be zero or greater,must be a value less than 1
3609 - May be changed whilst playing
3610 - Has slide parameters for shaping changes
3611
3612
3613 ## Brown Noise
3614
3615 ### Key:
3616 :bnoise
3617
3618 ### Doc:
3619 Noise whose spectrum falls off in power by 6 dB per octave. Useful for generating percussive sounds such as snares and hand claps. Also useful for simulating wind or sea effects.
3620
3621 ### Opts:
3622 * amp:
3623 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
3624 - default: 1
3625 - constraints: must be zero or greater
3626 - May be changed whilst playing
3627 - Has slide parameters for shaping changes
3628 * pan:
3629 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
3630 - default: 0
3631 - constraints: must be a value between -1 and 1 inclusively
3632 - May be changed whilst playing
3633 - Has slide parameters for shaping changes
3634 * attack:
3635 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
3636 - default: 0
3637 - constraints: must be zero or greater
3638 - Can not be changed once set
3639 - Scaled with current BPM value
3640 * decay:
3641 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
3642 - default: 0
3643 - constraints: must be zero or greater
3644 - Can not be changed once set
3645 - Scaled with current BPM value
3646 * sustain:
3647 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
3648 - default: 0
3649 - constraints: must be zero or greater
3650 - Can not be changed once set
3651 - Scaled with current BPM value
3652 * release:
3653 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
3654 - default: 1
3655 - constraints: must be zero or greater
3656 - Can not be changed once set
3657 - Scaled with current BPM value
3658 * attack_level:
3659 - doc: Amplitude level reached after attack phase and immediately before decay phase
3660 - default: 1
3661 - constraints: must be zero or greater
3662 - Can not be changed once set
3663 * decay_level:
3664 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
3665 - default: sustain_level
3666 - constraints: must be zero or greater
3667 - Can not be changed once set
3668 * sustain_level:
3669 - doc: Amplitude level reached after decay phase and immediately before release phase.
3670 - default: 1
3671 - constraints: must be zero or greater
3672 - Can not be changed once set
3673 * env_curve:
3674 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
3675 - default: 2
3676 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
3677 - Can not be changed once set
3678 * cutoff:
3679 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
3680 - default: 110
3681 - constraints: must be zero or greater,must be a value less than 131
3682 - May be changed whilst playing
3683 - Has slide parameters for shaping changes
3684 * res:
3685 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
3686 - default: 0
3687 - constraints: must be zero or greater,must be a value less than 1
3688 - May be changed whilst playing
3689 - Has slide parameters for shaping changes
3690
3691
3692 ## Grey Noise
3693
3694 ### Key:
3695 :gnoise
3696
3697 ### Doc:
3698 Generates noise which results from flipping random bits in a word. The spectrum is emphasised towards lower frequencies. Useful for generating percussive sounds such as snares and hand claps. Also useful for simulating wind or sea effects.
3699
3700 ### Opts:
3701 * amp:
3702 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
3703 - default: 1
3704 - constraints: must be zero or greater
3705 - May be changed whilst playing
3706 - Has slide parameters for shaping changes
3707 * pan:
3708 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
3709 - default: 0
3710 - constraints: must be a value between -1 and 1 inclusively
3711 - May be changed whilst playing
3712 - Has slide parameters for shaping changes
3713 * attack:
3714 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
3715 - default: 0
3716 - constraints: must be zero or greater
3717 - Can not be changed once set
3718 - Scaled with current BPM value
3719 * decay:
3720 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
3721 - default: 0
3722 - constraints: must be zero or greater
3723 - Can not be changed once set
3724 - Scaled with current BPM value
3725 * sustain:
3726 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
3727 - default: 0
3728 - constraints: must be zero or greater
3729 - Can not be changed once set
3730 - Scaled with current BPM value
3731 * release:
3732 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
3733 - default: 1
3734 - constraints: must be zero or greater
3735 - Can not be changed once set
3736 - Scaled with current BPM value
3737 * attack_level:
3738 - doc: Amplitude level reached after attack phase and immediately before decay phase
3739 - default: 1
3740 - constraints: must be zero or greater
3741 - Can not be changed once set
3742 * decay_level:
3743 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
3744 - default: sustain_level
3745 - constraints: must be zero or greater
3746 - Can not be changed once set
3747 * sustain_level:
3748 - doc: Amplitude level reached after decay phase and immediately before release phase.
3749 - default: 1
3750 - constraints: must be zero or greater
3751 - Can not be changed once set
3752 * env_curve:
3753 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
3754 - default: 2
3755 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
3756 - Can not be changed once set
3757 * cutoff:
3758 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
3759 - default: 110
3760 - constraints: must be zero or greater,must be a value less than 131
3761 - May be changed whilst playing
3762 - Has slide parameters for shaping changes
3763 * res:
3764 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
3765 - default: 0
3766 - constraints: must be zero or greater,must be a value less than 1
3767 - May be changed whilst playing
3768 - Has slide parameters for shaping changes
3769
3770
3771 ## Clip Noise
3772
3773 ### Key:
3774 :cnoise
3775
3776 ### Doc:
3777 Generates noise whose values are either -1 or 1. This produces the maximum energy for the least peak to peak amplitude. Useful for generating percussive sounds such as snares and hand claps. Also useful for simulating wind or sea effects.
3778
3779 ### Opts:
3780 * amp:
3781 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
3782 - default: 1
3783 - constraints: must be zero or greater
3784 - May be changed whilst playing
3785 - Has slide parameters for shaping changes
3786 * pan:
3787 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
3788 - default: 0
3789 - constraints: must be a value between -1 and 1 inclusively
3790 - May be changed whilst playing
3791 - Has slide parameters for shaping changes
3792 * attack:
3793 - doc: Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.
3794 - default: 0
3795 - constraints: must be zero or greater
3796 - Can not be changed once set
3797 - Scaled with current BPM value
3798 * decay:
3799 - doc: Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).
3800 - default: 0
3801 - constraints: must be zero or greater
3802 - Can not be changed once set
3803 - Scaled with current BPM value
3804 * sustain:
3805 - doc: Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.
3806 - default: 0
3807 - constraints: must be zero or greater
3808 - Can not be changed once set
3809 - Scaled with current BPM value
3810 * release:
3811 - doc: Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.
3812 - default: 1
3813 - constraints: must be zero or greater
3814 - Can not be changed once set
3815 - Scaled with current BPM value
3816 * attack_level:
3817 - doc: Amplitude level reached after attack phase and immediately before decay phase
3818 - default: 1
3819 - constraints: must be zero or greater
3820 - Can not be changed once set
3821 * decay_level:
3822 - doc: Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set
3823 - default: sustain_level
3824 - constraints: must be zero or greater
3825 - Can not be changed once set
3826 * sustain_level:
3827 - doc: Amplitude level reached after decay phase and immediately before release phase.
3828 - default: 1
3829 - constraints: must be zero or greater
3830 - Can not be changed once set
3831 * env_curve:
3832 - doc: Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed
3833 - default: 2
3834 - constraints: must be one of the following values: [1, 2, 3, 4, 6, 7]
3835 - Can not be changed once set
3836 * cutoff:
3837 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
3838 - default: 110
3839 - constraints: must be zero or greater,must be a value less than 131
3840 - May be changed whilst playing
3841 - Has slide parameters for shaping changes
3842 * res:
3843 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
3844 - default: 0
3845 - constraints: must be zero or greater,must be a value less than 1
3846 - May be changed whilst playing
3847 - Has slide parameters for shaping changes
3848
3849
3850 ## Basic Mono Sample Player (no env)
3851
3852 ### Key:
3853 :basic_mono_player
3854
3855 ### Doc:
3856
3857
3858 ### Opts:
3859 * amp:
3860 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
3861 - default: 1
3862 - constraints: must be zero or greater
3863 - May be changed whilst playing
3864 - Has slide parameters for shaping changes
3865 * pan:
3866 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
3867 - default: 0
3868 - constraints: must be a value between -1 and 1 inclusively
3869 - May be changed whilst playing
3870 - Has slide parameters for shaping changes
18843871 * rate:
18853872 - doc: write me
18863873 - default: 1
1887 - constraints: none
1888 - Can not be changed once set
1889
1890 * rate_slide:
1891 - doc: write me
1892 - default: 0
1893 - constraints: none
1894 - Can not be changed once set
1895
1896 * depth:
1897 - doc: write me
1898 - default: 1.5
1899 - constraints: none
1900 - Can not be changed once set
1901
1902 * depth_slide:
1903 - doc: write me
1904 - default: 0
1905 - constraints: none
1906 - Can not be changed once set
1907
1908
1909
1910 ## Mono Sample Player
1911
1912 ### Key:
1913 :mono_player
3874 - constraints: must not be zero
3875 - Can not be changed once set
3876 * cutoff:
3877 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
3878 - default: 0
3879 - constraints: must be zero or greater,must be a value less than 131
3880 - May be changed whilst playing
3881 - Has slide parameters for shaping changes
3882 * res:
3883 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
3884 - default: 0
3885 - constraints: must be zero or greater,must be a value less than 1
3886 - May be changed whilst playing
3887 - Has slide parameters for shaping changes
3888
3889
3890 ## Basic Stereo Sample Player (no env)
3891
3892 ### Key:
3893 :basic_stereo_player
19143894
19153895 ### Doc:
19163896
19173897
1918 ### Arguments:
1919 * amp:
1920 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
1921 - default: 1
1922 - constraints: must be zero or greater
1923 - May be changed whilst playing
1924
1925 * amp_slide:
1926 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
1927 - default: 0
1928 - constraints: must be zero or greater
1929 - May be changed whilst playing
1930
3898 ### Opts:
3899 * amp:
3900 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
3901 - default: 1
3902 - constraints: must be zero or greater
3903 - May be changed whilst playing
3904 - Has slide parameters for shaping changes
19313905 * pan:
19323906 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
19333907 - default: 0
19343908 - constraints: must be a value between -1 and 1 inclusively
19353909 - May be changed whilst playing
1936
1937 * pan_slide:
1938 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
1939 - default: 0
1940 - constraints: must be zero or greater
1941 - May be changed whilst playing
1942
1943 * attack:
1944 - doc:
1945 - default: 0
1946 - constraints: must be zero or greater
1947 - Can not be changed once set
1948
1949 * sustain:
1950 - doc:
1951 - default: -1
1952 - constraints: must be zero or greater
1953 - Can not be changed once set
1954
1955 * release:
1956 - doc:
1957 - default: 0
1958 - constraints: must either be a positive value or -1
1959 - Can not be changed once set
1960
1961 * rate:
1962 - doc:
1963 - default: 1
1964 - constraints: none
1965 - Can not be changed once set
1966
1967 * start:
1968 - doc:
1969 - default: 0
1970 - constraints: must be zero or greater, must be a value between 0 and 1 inclusively
1971 - Can not be changed once set
1972
1973 * finish:
1974 - doc:
1975 - default: 1
1976 - constraints: must be zero or greater, must be a value between 0 and 1 inclusively
1977 - Can not be changed once set
1978
1979
1980
1981 ## Stereo Sample Player
1982
1983 ### Key:
1984 :stereo_player
1985
1986 ### Doc:
1987
1988
1989 ### Arguments:
1990 * amp:
1991 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
1992 - default: 1
1993 - constraints: must be zero or greater
1994 - May be changed whilst playing
1995
1996 * amp_slide:
1997 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
1998 - default: 0
1999 - constraints: must be zero or greater
2000 - May be changed whilst playing
2001
2002 * pan:
2003 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
2004 - default: 0
2005 - constraints: must be a value between -1 and 1 inclusively
2006 - May be changed whilst playing
2007
2008 * pan_slide:
2009 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
2010 - default: 0
2011 - constraints: must be zero or greater
2012 - May be changed whilst playing
2013
2014 * attack:
2015 - doc:
2016 - default: 0
2017 - constraints: must be zero or greater
2018 - Can not be changed once set
2019
2020 * sustain:
2021 - doc:
2022 - default: -1
2023 - constraints: must be zero or greater
2024 - Can not be changed once set
2025
2026 * release:
2027 - doc:
2028 - default: 0
2029 - constraints: must either be a positive value or -1
2030 - Can not be changed once set
2031
2032 * rate:
2033 - doc:
2034 - default: 1
2035 - constraints: none
2036 - Can not be changed once set
2037
2038 * start:
2039 - doc:
2040 - default: 0
2041 - constraints: must be zero or greater, must be a value between 0 and 1 inclusively
2042 - Can not be changed once set
2043
2044 * finish:
2045 - doc:
2046 - default: 1
2047 - constraints: must be zero or greater, must be a value between 0 and 1 inclusively
2048 - Can not be changed once set
2049
2050
2051
2052 ## Basic Mono Sample Player - (no envelope)
2053
2054 ### Key:
2055 :basic_mono_player
2056
2057 ### Doc:
2058
2059
2060 ### Arguments:
2061 * amp:
2062 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
2063 - default: 1
2064 - constraints: must be zero or greater
2065 - May be changed whilst playing
2066
2067 * amp_slide:
2068 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
2069 - default: 0
2070 - constraints: must be zero or greater
2071 - May be changed whilst playing
2072
2073 * pan:
2074 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
2075 - default: 0
2076 - constraints: must be a value between -1 and 1 inclusively
2077 - May be changed whilst playing
2078
2079 * pan_slide:
2080 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
2081 - default: 0
2082 - constraints: must be zero or greater
2083 - May be changed whilst playing
2084
3910 - Has slide parameters for shaping changes
20853911 * rate:
20863912 - doc: write me
20873913 - default: 1
3914 - constraints: must not be zero
3915 - Can not be changed once set
3916 * cutoff:
3917 - doc: MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.
3918 - default: 0
3919 - constraints: must be zero or greater,must be a value less than 131
3920 - May be changed whilst playing
3921 - Has slide parameters for shaping changes
3922 * res:
3923 - doc: Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.
3924 - default: 0
3925 - constraints: must be zero or greater,must be a value less than 1
3926 - May be changed whilst playing
3927 - Has slide parameters for shaping changes
3928
3929
3930 ## Basic Mixer
3931
3932 ### Key:
3933 :basic_mixer
3934
3935 ### Doc:
3936 Please write documentation!
3937
3938 ### Opts:
3939 * amp:
3940 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
3941 - default: 1
3942 - constraints: must be zero or greater
3943 - May be changed whilst playing
3944 - Has slide parameters for shaping changes
3945
3946
3947 ## Main Mixer
3948
3949 ### Key:
3950 :main_mixer
3951
3952 ### Doc:
3953 Please write documentation!
3954
3955 ### Opts:
3956 * amp:
3957 - doc: write me
3958 - default: 1
20883959 - constraints: none
20893960 - Can not be changed once set
2090
2091 * rate_slide:
3961 - Has slide parameters for shaping changes
3962 * pre_amp:
20923963 - doc: write me
2093 - default: 0
3964 - default: 1
20943965 - constraints: none
20953966 - Can not be changed once set
2096
2097
2098
2099 ## Basic Stereo Sample Player - (no envelope)
2100
2101 ### Key:
2102 :basic_stereo_player
2103
2104 ### Doc:
2105
2106
2107 ### Arguments:
2108 * amp:
2109 - doc: The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won't make the sound louder, it will just reduce the quality of all the sounds currently being played (due to compression.)
2110 - default: 1
2111 - constraints: must be zero or greater
2112 - May be changed whilst playing
2113
2114 * amp_slide:
2115 - doc: Amount of time (in seconds) for the amplitude (amp) to change. A long slide value means that the amp takes a long time to slide from the previous amplitude to the new amplitude. A slide of 0 means that the amplitude instantly changes to the new amplitude.
2116 - default: 0
2117 - constraints: must be zero or greater
2118 - May be changed whilst playing
2119
2120 * pan:
2121 - doc: Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.
2122 - default: 0
2123 - constraints: must be a value between -1 and 1 inclusively
2124 - May be changed whilst playing
2125
2126 * pan_slide:
2127 - doc: Amount of time (in seconds) for the pan to change. A long slide value means that the pan takes a long time to slide from the previous pan position to the new pan position. A slide of 0 means that the pan instantly changes to the new pan position.
2128 - default: 0
2129 - constraints: must be zero or greater
2130 - May be changed whilst playing
2131
2132 * rate:
3967 - Has slide parameters for shaping changes
3968 * hpf:
21333969 - doc: write me
2134 - default: 1
3970 - default: 0
21353971 - constraints: none
21363972 - Can not be changed once set
2137
2138 * rate_slide:
3973 - Has slide parameters for shaping changes
3974 * lpf:
21393975 - doc: write me
2140 - default: 0
3976 - default: 135.5
21413977 - constraints: none
21423978 - Can not be changed once set
2143
2144
2145
3979 - Has slide parameters for shaping changes
3980 * hpf_bypass:
3981 - doc: write me
3982 - default: 0
3983 - constraints: none
3984 - Can not be changed once set
3985 * lpf_bypass:
3986 - doc: write me
3987 - default: 0
3988 - constraints: none
3989 - Can not be changed once set
3990 * force_mono:
3991 - doc: write me
3992 - default: 0
3993 - constraints: none
3994 - Can not be changed once set
3995 * invert_stereo:
3996 - doc: write me
3997 - default: 0
3998 - constraints: none
3999 - Can not be changed once set
4000 * limiter_bypass:
4001 - doc: write me
4002 - default: 0
4003 - constraints: none
4004 - Can not be changed once set
4005 * leak_dc_bypass:
4006 - doc: write me
4007 - default: 0
4008 - constraints: none
4009 - Can not be changed once set
4010
4011
2424 ## B. Editor-Steuerung
2525
2626 Die orangefarbenen Buttons steuern den Code-Editor. Die `Text vergrößern`
27 and `Text verkleinern`-Buttons verändern die Schriftgröße.
27 und `Text verkleinern`-Buttons verändern die Schriftgröße.
2828 `Auto-Align Text`-Button richtet den Code ordentlich aus, damit er
2929 professioneller aussieht und besser lesbar ist.
3030
4242 In diesem Bereich schreibst Du Deinen Code, komponierst Du Deine Musik
4343 und führst sie später auf. Es ist ein einfacher Texteditor, in dem
4444 Du Code eingibst und bearbeitest; so eine Art sehr einfache
45 Textverabeitung wie Word oder Google Docs. Der Editor färbt
45 Textverarbeitung wie Word oder Google Docs. Der Editor färbt
4646 bestimmte Begriffe automatisch ein, je nachdem, welche Bedeutung sie
4747 innerhalb des Codes haben. Am Anfang ist das vielleicht ein wenig
4848 merkwürdig, aber Du wirst es bald nützlich finden. Zum Beispiel erkennst
2222 course this shouldn't stop you from using your own samples, it's just
2323 something to consider.
2424
25 <!-- ## Freesound Support -->
26
27 <!-- One way to get the ability to experiment with new sounds whilst keeping -->
28 <!-- code portability is to use the [Freesound](http:freesound.org) -->
29 <!-- support. http://freesound.org is a website which allows people to upload -->
30 <!-- and share their samples. Each sample uploaded gets a special number -->
31 <!-- (kind of like a phone number) which you can use to dial up that sample -->
32 <!-- from Sonic Pi. The only drawback is that you need to have internet -->
33 <!-- access for it to work. -->
34
35 <!-- If you currently have internet access, try it for yourself: -->
36
37 <!-- ``` -->
38 <!-- freesound 24787 -->
39 <!-- ``` -->
40
41 <!-- The first time you do this you'll hear a standard `:elec_beep` as a -->
42 <!-- placeholder for the sound. Y -->
43
44
4525 ## Local Samples
4626
47 So how do you play any arbitrary WAV or AIFF file on your computer?
27 So how do you play any arbitrary WAV, AIFF or FLAC file on your computer?
4828 All you need to do is pass the path of that file to `sample`:
4929
5030 ```
6343 # Windows
6444 sample "C:/Users/sam/Desktop/my-sound.wav", rate: 0.5, amp: 0.3
6545 ```
46
0 3.7 Sample Packs
1
2 # Sample Packs
3
4 **Note: this section of the tutorial covers the advanced topic of
5 working with large directories of your own samples. This will be the
6 case if you've downloaded or bought your own sample packs and wish to
7 use them within Sonic Pi.**
8
9 **Feel free to skip this if you're happy working with the built-in
10 samples.**
11
12 When working with large folders of external samples it can be cumbersome
13 to have to type the whole path every time to trigger an individual
14 sample.
15
16 For example, say you have the following folder on your machine:
17
18 ```
19 /path/to/my/samples/
20 ```
21
22 When we look inside that folder we find the following samples:
23
24 * `100_A#_melody1.wav`
25 * `100_A#_melody2.wav`
26 * `100_A#_melody3.wav`
27 * `120_A#_melody4.wav`
28 * `120_Bb_guit1.wav`
29 * `120_Bb_piano1.wav`
30
31 Typically in order to play the piano sample we can use the full path:
32
33 ```
34 sample "/path/to/my/samples/120_Bb_piano1.wav"
35 ```
36
37 If we want to then play the guitar sample we can use its full path too:
38
39 ```
40 sample "/path/to/my/samples/120_Bb_guit.wav"
41 ```
42
43 However, both of these calls to sample requires us to *know* the names
44 of the samples within our directory. What if we just want to listen to
45 each sample in turn quickly?
46
47 ## Indexing Sample Packs
48
49 If we want to play the first sample in a directory we just need to pass
50 the directory's name to `sample` and the index `0` as follows:
51
52 ```
53 sample "/path/to/my/samples/", 0
54 ```
55
56 We can even make a shortcut to our directory path using a variable:
57
58 ```
59 samps = "/path/to/my/samples/"
60 sample samps, 0
61 ```
62
63 Now, if we want to play the second sample in our directory, we just need
64 to add 1 to our index:
65
66 ```
67 samps = "/path/to/my/samples/"
68 sample samps, 1
69 ```
70
71 Notice that we no longer need to know the names of the samples in the
72 directory - we just need to know the directory itself (or have a
73 shortcut to it). If we ask for an index which is larger than the number
74 of samples, it simply wraps round just like Rings. Therefore, whatever
75 number we use we're guaranteed to get one of the samples in that
76 directory.
77
78 ## Filtering Sample Packs
79
80 Usually indexing is enough, but sometimes we need more power to sort
81 and organise our samples. Luckily many sample packs add useful
82 information in the filenames. Let's take another look at the sample file
83 names in our directory:
84
85 * `100_A#_melody1.wav`
86 * `100_A#_melody2.wav`
87 * `100_A#_melody3.wav`
88 * `120_A#_melody4.wav`
89 * `120_Bb_guit1.wav`
90 * `120_Bb_piano1.wav`
91
92 Notice that in these filenames we have quite a bit of
93 information. Firstly, we have the BPM of the sample (beats per minute)
94 at the start. So, the piano sample is at 120 BPM and our first three
95 melodies are at 100 BPM. Also, our sample names contain the key. So the
96 guitar sample is in Bb and the melodies are in A#. This information is
97 very useful for mixing in these samples with our other code. For
98 example, we know we can only play the piano sample with code that's in
99 120 BPM and in the key of Bb.
100
101 It turns out that we can use this particular naming convention of our
102 sample sets in the code to help us filter out the ones we want. For
103 example, if we're working at 120 BPM, we can filter down to all the
104 samples that contain the string `"120"` with the following:
105
106 ```
107 samps = "/path/to/my/samples/"
108 sample samps, "120"
109 ```
110
111 This will play us the first match. If we want the second match we just
112 need to use the index:
113
114 ```
115 samps = "/path/to/my/samples/"
116 sample samps, "120", 1
117 ```
118
119 We can even use multiple filters at the same time. For example, if we
120 want a sample whose filename contains both the substrings "120" and "A#"
121 we can find it easily with the following code:
122
123 ```
124 samps = "/path/to/my/samples/"
125 sample samps, "120", "A#"
126 ```
127
128 Finally, we're still free to add our usual opts to the call to `sample`:
129
130 ```
131 samps = "/path/to/my/samples/"
132 sample samps, "120", "Bb", 1, lpf: 70, amp: 2
133 ```
134
135 ## Sources
136
137 The sample filter pre-arg system understands two types of information:
138 sources and filters. Sources are information used to create the list of
139 potential candidates. A source can take two forms:
140
141 1. "/path/to/samples" - a string representing a valid path to a directory
142 2. "/path/to/samples/foo.wav" - a string representing a valid path to a sample
143
144 The `sample` fn will first gather all sources and use them to create a
145 large list of candidates. This list is constructed by first adding all
146 valid paths and then by adding all the valid `.flac`, `.aif`, `.aiff`,
147 `.wav`, `.wave` files contained within the directories.
148
149 For example, take a look at the following code:
150
151 ```
152 samps = "/path/to/my/samples/"
153 samps2 = "/path/to/my/samples2/"
154 path = "/path/to/my/samples3/foo.wav"
155
156 sample samps, samps2, path, 0
157 ```
158
159 Here, we're combining the contents of the samples within two directories
160 and adding a specific sample. If `"/path/to/my/samples/"` contained 3
161 samples and `"/path/to/my/samples2/"` contained 12, we'd have 16
162 potential samples to index and filter (3 + 12 + 1).
163
164 By default, only the sample files within a directory are gathered into
165 the candidate list. Sometimes you might have a number of nested folders of
166 samples you wish to search and filter within. You can therefore do a
167 recursive search for all samples within all subfolders of a particular
168 folder by adding `**` to the end of the path:
169
170 ```
171 samps = "/path/to/nested/samples/**"
172 sample samps, 0
173 ```
174
175 Take care though as searching through a very large set of folders may
176 take a long time. However, the contents of all folder sources are
177 cached, so the delay will only happen the first time.
178
179 Finally, note that the sources *must go first*. If no source is given,
180 then the set of built-in samples will be selected as the default list of
181 candidates to work with:
182
183 ## Filters
184
185 Once you have a list of candidates you may use the following filtering
186 types to further reduce the selection:
187
188 * `"foo"` Strings will filter on substring occurrence within file name (minus directory path and extension).
189 * `/fo[oO]/` Regular Expressions will filter on pattern matching of file name (minus directory path and extension).
190 * `:foo` - Keywords will filter candidates on whether the keyword is a direct match of the filename (minus directory path and extension).
191 * `lambda{|a| ... }` - Procs with one argument will be treated as a candidate filter or generator function. It will be passed the list of current candidates and must return a new list of candidates (a list of valid paths to sample files).
192 * `1` - Numbers will select the candidate with that index (wrapping round like a ring if necessary).
193
194 For example, we can filter over all the samples in a directory
195 containing the string \"foo\" and play the first matching sample at half
196 speed:
197
198 ```
199 sample \"/path/to/samples\", \"foo\", rate: 0.5
200 ```
201
202 See the help for `sample` for many detailed usage examples. Note that
203 the ordering of the filters is honoured.
204
205 ## Composites
206
207 Finally, you may use lists wherever you may place a source or
208 filter. The list will be automatically flattened and the contents will
209 be treated as regular sources and filters. Therefore the following calls
210 to `sample` are semantically equivalent:
211
212 ```
213 sample "/path/to/dir", "100", "C#"
214 sample ["/path/to/dir", "100", "C#"]
215 sample "/path/to/dir", ["100", "C#"]
216 sample ["/path/to/dir", ["100", ["C#"]]]
217 ```
218
219 ## Wrapping Up
220
221 This was an advanced section for people that need real power to
222 manipulate and use sample packs. If most of this section didn't make too
223 much sense, don't worry. It's likely you don't need any of this
224 functionality just yet. However, you'll know when you do need it and you
225 can come back and re-read this when you start working with large
226 directories of samples.
227
228
229
4949 creating an extremely rich and powerful way of generating new rings from
5050 existing ones.
5151
52 ## Immutablility
52 ## Immutability
5353
5454 These rings have a powerful and important property. They are immutable
5555 which means that they can not change. This means that the chaining
6565 * `.reverse` - returns a reversed version of the ring
6666 * `.sort` - creates a sorted version of the ring
6767 * `.shuffle` - creates a shuffled version of the ring
68 * `.pick(3)` - returns a ring with the results of calling `.choose` 3 times
69 * `.pick` - similar to `.pick(3)` only the size defaults to the same as the original ring
6870 * `.take(5)` - returns a new ring containing only the first 5 elements
6971 * `.drop(3)` - returns a new ring with everything but the first 3 elements
7072 * `.butlast` - returns a new ring with the last element missing
71 * `.drop_last(3)` - returns a new ring with the 3 elements missing
73 * `.drop_last(3)` - returns a new ring with the last 3 elements missing
7274 * `.take_last(6)`- returns a new ring with only the last 6 elements
7375 * `.stretch(2)` - repeats each element in the ring twice
7476 * `.repeat(3)` - repeats the entire ring 3 times
88 ## Ticking Rings
99
1010 Sonic Pi provides a *very* handy tool for working with rings within
11 `live_loop`s. It's called the tick system. It provides you with the ability to *tick through rings*. Let's look at an example:
11 `live_loop`s. It's called the tick system. In the section about the rings we were talking about the counter that is constantly increasing, like a current beat number. Tick just implements this idea. It provides you with the ability to *tick through rings*. Let's look at an example:
12
13 ```
14 counter = 0
15 live_loop :arp do
16 play (scale :e3, :minor_pentatonic)[counter], release: 0.1
17 counter += 1
18 sleep 0.125
19 end
20 ```
21
22 This is equivalent to:
1223
1324 ```
1425 live_loop :arp do
4343 ## Text Manipulation
4444
4545 * `M-m` - Align all text
46 * `Tab` - Align current line/selection (or complete list)
46 * `Tab` - Align current line or selection (or select autocompletion)
4747 * `C-l` - Centre editor
48 * `M-/` - Comment/Uncomment current line
48 * `M-/` - Comment/Uncomment current line or selection
4949 * `C-t` - Transpose/swap characters
5050 * `M-u` - Convert next word (or selection) to upper case.
5151 * `M-l` - Convert next word (or selection) to lower case.
88 cover how to code up the three core components of a synth riff - the
99 timbre, melody and rhythm.
1010
11 OK, so power up you Raspberry Pi, crack open Sonic Pi v2.6+ and let's
11 OK, so power up your Raspberry Pi, crack open Sonic Pi v2.6+ and let's
1212 make some noise!
1313
1414
9292 end
9393
9494 There's a few things going on - let's look at them in turn. First, we
95 specify that we're using random seed 3. What does this mean? Well, The
95 specify that we're using random seed 3. What does this mean? Well, the
9696 useful thing is that when we set the seed, we can predict what the next
9797 random value is going to be - it's the same as it was last time we set
9898 the seed to 3! Another useful thing to know is that shuffling a ring of
147147 `true`. Using higher values will make it return `false` more often
148148 introducing more space into the riff.
149149
150 Notices that we've added some iteration in here with `16.times`. This is
150 Notice that we've added some iteration in here with `16.times`. This is
151151 because we only want to reset our random seed value every 16 notes so
152152 our rhythm repeats every 16 times. This doesn't affect the shuffling as
153153 that is still done immediately after the seed is set. We can use the
124124 `:brick` and hit run. Hey presto, you're now making a brick trail. How
125125 simple was that! Fancy some music to go with it? Easy. Try this:
126126
127 live_loop :bass_trail
127 live_loop :bass_trail do
128128 tick
129129 x, y, z = mc_location
130130 b = (ring :melon, :brick, :glass).look
0 A.9 Randomisation
1
2 # Surfing Random Streams
3
4 Back in episode 4 of this tutorial series we took a brief look at
5 randomisation whilst coding up some sizzling synth riffs. Given that
6 randomisation is such an important part of my live coding DJ sets I
7 thought it would be useful to cover the fundamentals in much greater
8 detail. So, get your lucky hat on and let's surf some random streams!
9
10 # There is no random
11
12 The first thing to learn which might really surprise you when playing
13 with Sonic Pi's randomisation functions is that they're not actually
14 really random. What does this actually mean? Well, let's try a couple of
15 tests. First, imagine a number in your head between 0 and 1. Keep it
16 there and don't tell me. Now let me guess... was it `0.321567`? No? Bah,
17 I'm clearly no good at this. Let me have another go, but let's ask Sonic
18 Pi to choose a number this time. Fire up Sonic Pi v2.7+ and ask it for a
19 random number but again don't tell me:
20
21 print rand
22
23 Now for the reveal... was it `0.75006103515625`? Yes! Ha, I can see
24 you're a little sceptical. Perhaps it was just a lucky guess. Let's try
25 again. Press the Run button again and see what we get... What?
26 `0.75006103515625` again? This clearly can't be random! You're right,
27 it's not.
28
29 What's going on here? The fancy computer science word here is
30 determinism. This just means that nothing is by chance and everything is
31 destined to be. Your version of Sonic Pi is destined to always return
32 `0.75006103515625` in the program above. This might sound pretty
33 useless, but let me assure you that it's one of the most powerful parts
34 of Sonic Pi. If you stick at it you'll learn how to rely on the
35 deterministic nature of Sonic Pi's randomisation as a fundamental
36 building block for your compositions and live coded DJ sets.
37
38 # A Random Melody
39
40 When Sonic Pi boots it actually loads into memory a sequence of 441,000
41 pre-generated random values. When you call a random function such as
42 `rand` or `rrand`, this random stream is used to generate your
43 result. Each call to a random function consumes a value from this
44 stream. Therefore the 10th call to a random function will use the 10th
45 value from the stream. Also, every time you press the Run button, the
46 stream is reset for that run. This is why I could predict the result to
47 `rand` and why the 'random' melody was the same every time. Everybody's
48 version of Sonic Pi uses the exact same random stream which is very
49 important when we start sharing our pieces with each other.
50
51 Let's use this knowledge to generate a repeatable random melody:
52
53 8.times do
54 play rrand_i(50, 95)
55 sleep 0.125
56 end
57
58 Type this into a spare buffer and hit Run. You'll hear a melody
59 consisting of 'random' notes between 50 and 95. When it's finished, hit
60 Run again to hear exactly the same melody again.
61
62 *start breakout box*
63 ## Handy Randomisation Functions
64 Sonic Pi comes with a number of useful functions for working with the
65 random stream. Here's a list of some of the most useful:
66
67 * `rand` - Simply returns the next value in the random stream
68 * `rrand` - Returns a random value within a range
69 * `rrand_i` - Returns a random whole number within a range
70 * `one_in` - Returns true or false with the given probability
71 * `dice` - Imitates rolling a dice and returns a value between 1 and 6
72 * `choose` - Chooses a random value from a list
73
74 Check out their documentation in the Help system for detailed
75 information and examples.
76
77 *end breakout box*
78
79 # Resetting the Stream
80
81 Whilst the ability to repeat a sequence of chosen notes is essential to
82 allow you to replay a riff on the dance floor, it might not be exactly
83 the riff you want. Wouldn't it be great if we could try a number of
84 different riffs and choose the one we liked best? This is where the real
85 magic starts.
86
87 We can manually set the stream with the fn `use_random_seed`. In
88 Computer Science, a random seed is the starting point from which a new
89 stream of random values can sprout out and blossom. Let's try it:
90
91 use_random_seed 0
92 3.times do
93 play rrand_i(50, 95)
94 sleep 0.125
95 end
96
97 Great, we get the first three notes of our random melody above: `84`,
98 `83` and `71`. However, we can now change the seed to something
99 else. How about this:
100
101 use_random_seed 1
102 3.times do
103 play rrand_i(50, 95)
104 sleep 0.125
105 end
106
107
108 Interesting, we get `83`, `71` and `61` . You might notice that the
109 first two numbers here are the same as the last two numbers before -
110 this isn't a coincidence.
111
112 Remember that the random stream is just a giant list of 'pre-rolled'
113 values. Using a random seed simply jumps us to a point in that
114 list. Another way of thinking about it is to imagine a huge deck of
115 pre-shuffled cards. Using a random seed is cutting the deck at a
116 particular point. The fabulous part of this is that it's precisely this
117 ability to jump around the random stream which gives us huge power when making
118 music.
119
120 Let's revisit our random melody of 8 notes with this new stream
121 resetting power, but let's also throw in a live loop so we can
122 experiment live whilst it's playing:
123
124 live_loop :random_riff do
125 use_random_seed 0
126 8.times do
127 play rrand_i(50, 95), release: 0.1
128 sleep 0.125
129 end
130 end
131
132 Now, whilst it's still playing, change the seed value from `0` to
133 something else. Try `100`, what about `999`. Try your own values,
134 experiment and play around - see which seed generates the riff you like
135 best.
136
137 # Bringing it all together
138
139 This month's tutorial has been quite a technical dive into the workings
140 of Sonic Pi's randomisation functionality. Hopefully it has given you
141 some insight into how it works and how you can start using randomisation
142 in a reliable way to create repeatable patterns within your music. It's
143 important to stress that you can use repeatable randomisation *anywhere*
144 you want. For example, you can randomise the amplitude of notes, the
145 timing of the rhythm, the amount of reverb, the current synth, the mix
146 of an FX, etc. etc. In the future we'll take a close look at some of
147 these applications, but for now let me leave you with a short example.
148
149 Type the following into a spare buffer, hit Run, and then start changing
150 the seeds around, hit Run again (whilst it's still playing) and explore
151 the different sounds, rhythms and melodies you can make. When you find a
152 nice one, remember the seed number so you can get back to it. Finally,
153 when you've found a few seeds you like, put on a live coded performance
154 for your friends by simply switching between your favourite seeds to
155 create a full piece.
156
157 live_loop :random_riff do
158 use_random_seed 10300
159 use_synth :prophet
160 s = [0.125, 0.25, 0.5].choose
161 8.times do
162 r = [0.125, 0.25, 1, 2].choose
163 n = (scale :e3, :minor).choose
164 co = rrand(30, 100)
165 play n, release: r, cutoff: co
166 sleep s
167 end
168 end
169
170 live_loop :drums do
171 use_random_seed 2001
172 16.times do
173 r = rrand(0.5, 10)
174 sample :drum_bass_hard, rate: r, amp: rand
175 sleep 0.125
176 end
177 end
178
179
0 A.10 Control
1
2 # Controlling Your Sound
3
4 So far during this series we've focussed on triggering sounds. We've
5 discovered that we can trigger the many synths built into Sonic Pi with
6 `play` or `synth` and how to trigger pre-recorded samples with
7 `sample`. We've also looked at how we can wrap these triggered sounds
8 within studio FX such as reverb and distortion using the `with_fx`
9 command. Combine this with Sonic Pi's incredibly accurate timing system
10 and you can produce a vast array of sounds, beats and riffs. However,
11 once you've carefully selected a particular sound's options and
12 triggered it, there's no ability to mess with it whilst it's playing
13 right? Wrong! Today you're going to learn something very powerful - how
14 to control running synths.
15
16 ## A Basic Sound
17
18 Let's create a nice simple sound. Fire up Sonic Pi and in a fresh buffer
19 type the following:
20
21 ```
22 synth :prophet, note: :e1, release: 8, cutoff: 100
23 ```
24
25 Now press the Run button at the top left to hear a lovely rumbling synth
26 sound. Go ahead, press it again a few times to get a feel for it. OK,
27 done? Let's start controlling it!
28
29
30 ## Synth Nodes
31
32 A little known feature in Sonic Pi is that the fns `play`, `synth` and
33 `sample`, return something called a `SynthNode` which represents a
34 running sound. You can capture one of these `SynthNode`s using a
35 standard variable and then **control** it at a later point in time. For
36 example, let's change the value of the `cutoff:` opt after 1 beat:
37
38 ```
39 sn = synth :prophet, note: :e1, release: 8, cutoff: 100
40 sleep 1
41 control sn, cutoff: 130
42 ```
43
44 Let's look at each line in turn:
45
46 Firstly we trigger the `:prophet` synth using the `synth` fn as
47 normal. However we also capture the result in a variable called `sn`. We
48 could have called this variable something completely different such as
49 `synth_node` or `jane` - the name doesn't matter. However, it's
50 important to choose a name that's meaningful to you for your
51 performances and for people reading your code. I chose `sn` as it's a nice
52 short mnemonic for synth node.
53
54 On line 2 we have a standard `sleep` command. This does nothing special
55 - it just asks the computer to wait for 1 beat before moving onto the
56 next line.
57
58 Line 3 is where the control fun starts. Here, we use the `control` fn to
59 tell our running `SynthNode` to change the cutoff value to `130`. If you
60 hit the **Run** button, you'll hear the `:prophet` synth start playing
61 as before, but after 1 beat it will shift to sound a lot brighter.
62
63
64 ** Breakout Box Start **
65 Modulatable Options
66
67 Most of Sonic Pi's synths and FX opts may be changed after being
68 triggered. However, this isn't the case for all of them. For example,
69 the envelope opts `attack:`, `decay:`, `sustain:` and `release:` can
70 only be set when triggering the synth. Figuring out which opts can and
71 can't be changed is simple - just head to the documentation for a given
72 synth or FX and then scroll down to the individual option documentation
73 and look for the phrases "May be changed whilst playing" or "Can not be
74 changed once set". For example, the documentation for the `:beep`
75 synth's `attack:` opt makes it clear that it's not possible to change
76 it:
77
78 * Default: 0
79 * Must be zero or greater
80 * Can not be changed once set
81 * Scaled with current BPM value
82 ** Breakout Box End **
83
84 ## Multiple Changes
85
86 Whilst a synth is running you're not limited to changing it only once -
87 you're free to change it as many times as you like. For example, we can
88 turn our `:prophet` into a mini arpeggiator with the following:
89
90 ```
91 notes = (scale :e3, :minor_pentatonic)
92 sn = synth :prophet, note: :e1, release: 8, cutoff: 100
93 sleep 1
94 16.times do
95 control sn, note: notes.tick
96 sleep 0.125
97 end
98 ```
99
100 In this snippet of code we just added a couple of extra things. First we
101 defined a new variable called `notes` which contains the notes we'd like
102 to cycle through (an arpeggiator is just a fancy name for something that
103 cycles through a list of notes in order). Secondly we replaced our
104 single call to `control` with an iteration calling it 16 times. In each
105 call to `control` we `.tick` through our ring of `notes` which will
106 automatically repeat once we get to the end (thanks to the fabulous power
107 of Sonic Pi's rings). For a bit of variety try replacing `.tick` with
108 `.choose` and see if you can hear the difference.
109
110 Note that we can change multiple opts simultaneously. Try changing the
111 control line to the following and listen for the difference:
112
113 ```
114 control sn, note: notes.tick, cutoff: rrand(70, 130)
115 ```
116
117 ## Sliding
118
119 When we control a `SynthNode`, it responds exactly on time and instantly
120 changes the value of the opt to the new one as if you'd pressed a button
121 or flicked a switch requesting the change. This can sound rhythmical and percussive -
122 especially if the opt controls an aspect of the timbre such as
123 `cutoff:`. However, sometimes you don't want the change to happen
124 instantaneously. Instead, you might want to smoothly move from the
125 current value to the new one as if you'd moved a slider or dial. Of
126 course, Sonic Pi can also do this too using the `_slide:` opts.
127
128 Each opt that can be modified also has a special corresponding `_slide:`
129 opt that allows you to specify a slide time. For example, `amp:` has
130 `amp_slide:` and `cutoff:` has `cutoff_slide:`. These slide opts work
131 slightly differently than all the other opts in that they tell the synth
132 note how to behave **next time they are controlled**. Let's take a look:
133
134 ```
135 sn = synth :prophet, note: :e1, release: 8, cutoff: 70, cutoff_slide: 2
136 sleep 1
137 control sn, cutoff: 130
138 ```
139
140 Notice how this example is exactly the same as before except with the
141 addition of `cutoff_slide:`. This is saying that next time this synth
142 has its `cutoff:` opt controlled, it will take 2 beats to slide from the
143 current value to the new one. Therefore, when we use `control` you can
144 hear the cutoff slide from 70 to 130. It creates an interesting dynamic
145 feel to the sound. Now, try changing the `cutoff_slide:` time to a
146 shorter value such as 0.5 or a longer value such as 4 to see how it
147 changes the sound. Remember, you can slide any of the modifiable opts in
148 exactly this way and each `_slide:` value can be totally different so
149 you can have the cutoff sliding slowly, the amp sliding fast and the pan
150 sliding somewhere in between if that's what you're looking to create...
151
152
153 ## Bringing it all together
154
155 Let's look at a short example which demonstrates the power of
156 controlling synths after they've been triggered. Notice that you can
157 also slide FX just like synths although with a slightly different
158 syntax. Check out section 7.2 of the built-in tutorial for more
159 information on controlling FX.
160
161 Copy the code into a spare buffer and take a listen. Don't stop there
162 though - play around with the code. Change the slide times, change the
163 notes, the synth, the FX and the sleep times and see if you can turn it
164 into something completely different!
165
166
167 ```
168 live_loop :moon_rise do
169 with_fx :echo, mix: 0, mix_slide: 8 do |fx|
170 control fx, mix: 1
171 notes = (scale :e3, :minor_pentatonic, num_octaves: 2).shuffle
172 sn = synth :prophet , sustain: 8, note: :e1, cutoff: 70, cutoff_slide: 8
173 control sn, cutoff: 130
174 sleep 2
175 32.times do
176 control sn, note: notes.tick, pan: rrand(-1, 1)
177 sleep 0.125
178 end
179 end
180 end
181 ```
0 A.11 Tick Tock
1
2 # Tracking the Beat
3
4 Last month in this series we took a deep technical dive into the
5 randomisation system underpinning Sonic Pi. We explored how we can use
6 it to deterministically add new levels of dynamic control over our
7 code. This month we're going to continue our technical dive and turn our
8 attention to Sonic Pi's unique tick system. By the end of this article
9 you'll be ticking your way through rhythms and riffs on your way to
10 being a live coding DJ.
11
12
13 # Beat Counting
14
15 When making music we often want to do a different thing depending on
16 which beat it is. Sonic Pi has a special beat counting system called
17 `tick` to give you precise control over when a beat actually occurs and
18 even supports multiple beats with their own tempos.
19
20 Let's have a play - to advance the beat we just need to call
21 `tick`. Open up a fresh buffer, type in the following and hit Run:
22
23 ```
24 puts tick #=> 0
25 ```
26
27 This will return the current beat: `0`. Notice that even if you press
28 the Run button a few times it will always return `0`. This is because
29 each run starts a fresh beat counting from 0. However, whilst the run
30 is still active, we can advance the beat as many times as we want:
31
32 ```
33 puts tick #=> 0
34 puts tick #=> 1
35 puts tick #=> 2
36 ```
37
38 <breakout> Whenever you see the symbol `#=>` at the end of a line of
39 code it means that that line will log the text on the
40 right-hand-side. For example, `puts foo #=> 0` means the code `puts foo`
41 prints `0` to the log at that point in the program. </breakout>
42
43 # Checking the Beat
44
45 We've seen that `tick` does two things. It increments (adds one)
46 and returns the current beat. Sometimes we just want to look at the
47 current beat without having to increment it which we can do via `look`:
48
49 ```
50 puts tick #=> 0
51 puts tick #=> 1
52 puts look #=> 1
53 puts look #=> 1
54 ```
55
56 In this code we tick the beat up twice and then call `look` twice. We'll
57 see the following values in the log: `0`, `1`, `1`, `1`. The first two
58 `tick`s returned `0`, then `1` as expected, then the two `look`s just
59 returned the last beat value twice which was `1`.
60
61
62 # Rings
63
64 So now we can advance the beat with `tick` and check the beat with
65 `look`. What next? We need something to tick over. Sonic Pi uses rings
66 for representing riffs, melodies and rhythms and the tick system has
67 been specifically designed to work very closely with them. In fact,
68 rings have their own dot version of `tick` which does two things. Firstly,
69 it acts like a regular tick and increments the beat. Secondly it looks
70 up the ring value using the beat as the index. Let's take a look:
71
72 ```
73 puts (ring :a, :b, :c).tick #=> :a
74 ```
75
76 `.tick` is a special dot version of `tick` which will return the first
77 value of the ring `:a`. We can grab each of the values in the ring by
78 calling `.tick` multiple times:
79
80 ```
81 puts (ring :a, :b, :c).tick #=> :a
82 puts (ring :a, :b, :c).tick #=> :b
83 puts (ring :a, :b, :c).tick #=> :c
84 puts (ring :a, :b, :c).tick #=> :a
85 puts look #=> 3
86 ```
87
88 Take a look at the log and you'll see `:a`, `:b`, `:c` and then `:a`
89 again. Notice that `look` returns `3`. Calls to `.tick` act just like
90 they are regular calls to `tick` - they increment the local beat.
91
92
93 # A Live Loop Arpeggiator
94
95 The real power comes when you mix `tick` with rings and
96 `live_loop`s. When combined we have all the tools we need to both build
97 and understand a simple arpegiator. We need just four things:
98
99 1. A ring containing the notes we want to loop over.
100 2. A means of incrementing and obtaining the beat.
101 3. The ability to play a note based on the current beat.
102 4. A loop structure to keep the arpegiator repeating.
103
104 These concepts can all be found in the following code:
105
106 ```
107 notes = (ring 57, 62, 55, 59, 64)
108
109 live_loop :arp do
110 use_synth :dpulse
111 play notes.tick, release: 0.2
112 sleep 0.125
113 end
114 ```
115
116 Let's look at each of these lines. First we define our ring of notes
117 which we'll continually play. We then create a `live_loop` called `:arp`
118 which loops round for us. Each time round the `live_loop` we set our
119 synth to `:dpulse` and then play the next note in our ring using
120 `.tick`. Remember that this will increment our beat counter and use the
121 latest beat value as an index into our notes ring. Finally, we wait for
122 an eighth of a beat before looping round again.
123
124 # Multiple Simultaneous Beats
125
126 A really important thing to know is that `tick`s are local to the
127 `live_loop`. This means that each `live_loop` has its own independent
128 beat counter. This is much more powerful than having a global metronome
129 and beat. Let's take a look at this in action:
130
131 notes = (ring 57, 62, 55, 59, 64)
132
133 with_fx :reverb do
134 live_loop :arp do
135 use_synth :dpulse
136 play notes.tick + 12, release: 0.1
137 sleep 0.125
138 end
139 end
140
141 live_loop :arp2 do
142 use_synth :dsaw
143 play notes.tick - 12, release: 0.2
144 sleep 0.75
145 end
146
147 # Clashing Beats
148
149 A big cause of confusion with Sonic Pi's tick system is when people want
150 to tick over multiple rings in the same `live_loop`:
151
152 use_bpm 300
153 use_synth :blade
154 live_loop :foo do
155 play (ring :e1, :e2, :e3).tick
156 play (scale :e3, :minor_pentatonic).tick
157 sleep 1
158 end
159
160 Even though each `live_loop` has its own independent beat counter, we're
161 calling `.tick` twice within the same `live_loop`. This means that the
162 beat will be incremented twice every time round. This can produce some
163 interesting polyrhythms but is often not what you want. There are two
164 solutions to this problem. One option is to manually call `tick` at the
165 start of the `live_loop` and then use `.look` to look up the current
166 beat in each `live_loop`. The second solution is to pass a unique name
167 to each call to `.tick` such as `.tick(:foo)`. Sonic Pi will then create
168 and track a separate beat counter for each named tick you use. That way
169 you can work with as many beats as you need! See the section on named
170 ticks in 9.4 of the built-in tutorial for more information.
171
172 # Bringing it all together
173
174 Let's bring all this knowledge of `tick`s, `ring`s and `live_loop`s
175 together for a final fun example. As usual, don't treat this as a
176 finished piece. Start changing things and play around with it and see
177 what you can turn it into. See you next time...
178
179
180 use_bpm 240
181 notes = (scale :e3, :minor_pentatonic).shuffle
182
183 live_loop :foo do
184 use_synth :blade
185 with_fx :reverb, reps: 8, room: 1 do
186 tick
187 co = (line 70, 130, steps: 32).tick(:cutoff)
188 play (octs :e3, 3).look, cutoff: co, amp: 2
189 play notes.look, amp: 4
190 sleep 1
191 end
192 end
193
194 live_loop :bar do
195 tick
196 sample :bd_ada if (spread 1, 4).look
197 use_synth :tb303
198 co = (line 70, 130, steps: 16).look
199 r = (line 0.1, 0.5, steps: 64).mirror.look
200 play notes.look, release: r, cutoff: co
201 sleep 0.5
202 end
3232 sample :loop_amen, rate: 2, attack: 0.01, sustain: 0, release: 0.35
3333 ```
3434
35 Sin embargo, ¿no sería mejor si no tuviésemos que comenzar por el principio
35 Sin embargo, ¿No sería mejor si no tuviésemos que comenzar por el principio
3636 ó terminar por el fin..siempre?
3737
3838
4747 sample :loop_amen, start: 0.5
4848 ```
4949
50 How about the last quarter of the sample:
50 ¿Qué tal escuchar el último cuarto del sample?:
5151
5252 ```
5353 sample :loop_amen, start: 0.75
5454 ```
5555
56 ## Choosing a finish point
56 ## Escogiendo punto de termino
5757
58 Similarly, it is possible to choose an arbitrary finish point in the
59 sample as a value between 0 and 1. Let's finish the amen break half way
60 through:
58 Igualmente, es posible escoger un punto de termino arbitrario en el sample,
59 con un valor entre 0 y 1. Vamos a terminar el amen break a la mitad:
6160
6261 ```
6362 sample :loop_amen, finish: 0.5
6665 ## Especificando el comienzo y el fin
6766
6867 Por supuesto que podemos combinar dos para tocar segmentos del archivo de
69 audio arbitrariamente. ¿qué tal una pequeña sección en el medio?
68 audio arbitrariamente. ¿Qué tal una pequeña sección en el medio?
7069
7170 ```
7271 sample :loop_amen, start: 0.4, finish: 0.6
7372 ```
7473
75 ¿qué pasa si elegimos comenzar en una posición después del final?
74 ¿Qué pasa si elegimos comenzar en una posición después del final?
7675
7776
7877 ```
33
44 Ahora que has aprendido lo básico de crear sonidos con `play` y `sample`
55 y crear ritmos y melodías simples con `sleep` en medio de los sonidos,
6 podrías preguntarte ¿qué es lo que codificar puede ofrecerte?
7 you...
6 podrías preguntarte ¿Qué es lo que codificar puede ofrecerte?
87
98 Bueno, estás a punto de ser sorprendido, porque resulta que herramientas
109 básicas de estructuras de programación como bules, condicionales,
3636 préférences. Le bouton *Info* ouvre la fenêtre d'information qui contient
3737 de l'information sur Sonic Pi lui-même - le noyau de l'équipe, l'historique,
3838 les contributeurs, et la communauté. Le bouton *Help* active le système
39 d'aide (*F*) et le bouton *Prefs* active la fenêtre des préférences
39 d'aide (*G*) et le bouton *Prefs* active la fenêtre des préférences
4040 qui vous permet de contrôler quelques paramètres systèmes basiques.
4141
4242 ## D. Éditeur de code
2626 pas vous faire arrêter d'utiliser vos propres échantillons, c'est
2727 juste quelque chose à prendre en compte.
2828
29 <!-- ## Support Freesound -->
30
31 <!-- Un moyen d'obtenir la faculté d'expérimenter de nouveaux sons tout en gardant-->
32 <!-- la portabilité du code est d'utiliser le site [Freesound](http:freesound.org) -->
33 <!-- http://freesound.org est un site web qui permet de mettre en ligne et partager -->
34 <!-- des échantillons. Chaque échantillon téléchargé obtient un numéro spécial -->
35 <!-- (comme un numéro de téléphone) que vous pouvez utiliser pour récupérer cet -->
36 <!-- échantillon depuis Sonic Pi. Le seul inconvénient est que vous devez avoir -->
37 <!-- une connexion internet pour que ça fonctionne. -->
38
39 <!-- Si vous avez actuellement internet, essayez-le pour vous-même : -->
40
41 <!-- ``` -->
42 <!-- freesound 24787 -->
43 <!-- ``` -->
44
45 <!-- La première fois que vous ferez cela, vous entendrez un `:elec_beep` -->
46 <!-- standard comme gardien de la place numéro 24787. Y -->
47
48
4929 ## Échantillons locaux
5030
5131
52 Alors comment jouez-vous n'importe quel fichier WAV ou AIFF sur votre
32 Alors comment jouez-vous n'importe quel fichier WAV, AIFF ou FLAC sur votre
5333 ordinateur ? Tout ce dont vous avez besoin est de passer le chemin de ce
5434 fichier à `sample` :
5535
0 3.7 Paquets de samples
1
2 # Paquets de samples
3
4 **Note: cette section du tutoriel couvre le sujet avancé de
5 travailler avec des grands dossiers de vos propres samples. Ce sera le
6 cas si vous avez téléchargé ou acheté vos propre paquets de samples et
7 souhaitez les utiliser dans Sonic Pi.**
8
9 **N'hésitez pas à sauter cette section si vous vous contentez des
10 samples fournis dans Sonic Pi.**
11
12 Quand on travaille avec de grands dossiers de samples externes il
13 peut être ennuyeux de taper le chemin entier chaque fois qu'on veut
14 déclencher un sample particulier.
15
16 Par exemple, imaginons que vous avez le dossier suivant sur votre
17 machine :
18
19 ```
20 /path/to/my/samples/
21 ```
22
23 Quand on regarde dans ce dossier on voit les samples suivants :
24
25 * `100_A#_melody1.wav`
26 * `100_A#_melody2.wav`
27 * `100_A#_melody3.wav`
28 * `120_A#_melody4.wav`
29 * `120_Bb_guit1.wav`
30 * `120_Bb_piano1.wav`
31
32 Typiquement pour jouer le sample de piano on peut utiliser le chemin
33 complet :
34
35 ```
36 sample "/path/to/my/samples/120_Bb_piano1.wav"
37 ```
38
39 Si on veut jouer le sample de guitare on peut aussi utiliser son
40 chemin complet :
41
42 ```
43 sample "/path/to/my/samples/120_Bb_guit.wav"
44 ```
45
46 Cependant ces deux appels de samples nous forcent à *connaître* le nom
47 de chacun des samples de notre dossier. Et si on voulait juste écouter
48 chaque sample à son tour rapidement ?
49
50 ## Indexer les paquets de samples
51
52 Si on veut jouer le premier sample d'un dossier on peut juste passer
53 le nom du dossier à `sample` et l'index `0` comme suit :
54
55 ```
56 sample "/path/to/my/samples/", 0
57 ```
58
59 On peut même construire un raccourci vers notre chemin de dossier en
60 utilisant une variable :
61
62 ```
63 samps = "/path/to/my/samples/"
64 sample samps, 0
65 ```
66
67 Maintenant, si on veut jouer le deuxième sample de notre dossier, on
68 peut juste incrémenter notre index :
69
70 ```
71 samps = "/path/to/my/samples/"
72 sample samps, 1
73 ```
74
75 Remarquez qu'on n'a plus besoin de connaître le nom des samples du
76 dossier : on doit juste connaître le dossier lui-même (ou avoir un
77 raccourci vers lui). Si on demande un index qui est plus grand que le
78 nombre de samples, il va juste boucler comme pour les anneaux. Ainsi,
79 quel que soit le nombre qu'on utilise on a la garantie de récupérer un
80 des samples de ce dossier.
81
82 ## Filtrer des paquets de samples
83
84 D'habitude indexer suffit, mais parfois on a besoin de plus de
85 puissance pour trier et organiser nos samples. Heureusement de nombreux
86 paquets de samples ajoutent des informations utiles dans les noms de
87 fichiers. Jetons un autre oeil aux noms de fichier des samples de
88 notre dossier :
89
90 * `100_A#_melody1.wav`
91 * `100_A#_melody2.wav`
92 * `100_A#_melody3.wav`
93 * `120_A#_melody4.wav`
94 * `120_Bb_guit1.wav`
95 * `120_Bb_piano1.wav`
96
97 Remarquez que dans ces noms de fichier nous avons pas mal
98 d'informations. On a le BPM du sample (nombre de battements par
99 minute) au début. Donc le sample de piano est à 120 BPM et nos trois
100 premières mélodies sont à 100 BPM. Nos noms de samples contiennent
101 aussi la clef. Donc le sample de guitare est en Bb (si bémol) et les
102 mélodies sont en A# (la dièse). Cette information est très utile pour
103 mélanger ces samples avec le reste de notre code. Par exemple, on sait
104 qu'on ne peut jouer le sample de piano que dans du code qui est à 120
105 BPM et dans la clef de Bb.
106
107 Il se trouve qu'on peut utiliser cette convention de nommage
108 particulière de nos ensembles de samples dans le code pour nous aider
109 à ne garder que ceux qu'on veut. Par exemple, si nous travaillons à
110 120 BPM, on peut ne garder que les samples qui contiennent la chaîne
111 `"120"` avec le code suivant :
112
113 ```
114 samps = "/path/to/my/samples/"
115 sample samps, "120"
116 ```
117
118 Cela jouera le premier sample qui correspond. Si on veut le deuxième,
119 on n'a qu'à utiliser l'index :
120
121 ```
122 samps = "/path/to/my/samples/"
123 sample samps, "120", 1
124 ```
125
126 On peut même utiliser de multiples filtres en même temps. Par exemple,
127 si on veut un sample dont le nom de fichier contient à la fois les
128 sous-chaînes "120" et "A#", on peut le trouver facilement avec le code
129 suivant :
130
131 ```
132 samps = "/path/to/my/samples/"
133 sample samps, "120", "A#"
134 ```
135
136 Enfin, on a toujours la possibilité d'ajouter nos options habituelles
137 lors de l'appel à `sample`:
138
139 ```
140 samps = "/path/to/my/samples/"
141 sample samps, "120", "Bb", 1, lpf: 70, amp: 2
142 ```
143
144 ## Sources
145
146 Le système de pré-argument de filtre de samples comprend deux types
147 d'information : les sources et les filtres. Les sources sont des
148 informations utilisées pour créer la liste des candidats potentiels.
149 Une source peut prendre deux formes :
150
151 1. "/path/to/samples" : une chaîne représentant un chemin valide vers un dossier
152 2. "/path/to/samples/foo.wav" : une chaîne représentant un chemin valide vers un sample
153
154 La fonction `sample` va d'abord rassembler toutes les sources et les
155 utiliser pour créer une grande liste de candidats. Cette liste est
156 construite en ajoutant d'abord tous les chemins valides et puis en
157 ajoutant tous les fichiers valides `.flac`, `.aif`, `.aiff`, `.wav`,
158 et `.wave` contenus dans les dossiers.
159
160 Par exemple, regardez le code suivant :
161
162 ```
163 samps = "/path/to/my/samples/"
164 samps2 = "/path/to/my/samples2/"
165 path = "/path/to/my/samples3/foo.wav"
166
167 sample samps, samps2, path, 0
168 ```
169
170 Ici nous combinons les contenus des samples de deux dossiers en y
171 ajoutant un sample en particulier. Si `"/path/to/my/samples/"` contient
172 trois samples et `"/path/to/my/samples2/"` en contient douze, on
173 aurait seize samples potentiels à indexer et filtrer (3 + 12 + 1).
174
175 Par défaut, seuls les fichiers de samples d'un dossier sont rassemblés
176 dans la liste de candidats. Parfois vous pourriez avoir un certain
177 nombre de dossiers imbriqués dans lesquels vous aimeriez chercher et
178 filtrer. Vous pouvez faire une recherche récursive dans tous les
179 samples de tous les sous-dossiers d'un dossier en particulier en
180 ajoutant `**` à la fin du chemin :
181
182 ```
183 samps = "/path/to/nested/samples/**"
184 sample samps, 0
185 ```
186
187 Attention parce que chercher dans un très grand ensemble de dossiers
188 peut prendre beaucoup de temps. Cela dit, le contenu des dossiers
189 sources est mis en cache, donc le retard n'arrivera que la première
190 fois.
191
192
193 ## Filtres
194
195 Une fois qu'on a une liste de candidats on peut utiliser les types de
196 filtres suivants pour réduire la sélection :
197
198 * `"foo"` : les chaînes vont filtrer sur les occurrences de sous-chaîne dans le nom du fichier (moins le chemin du dossier et l'extension)
199 * `/fo[oO]/` : les expressions régulières filtrent sur des motifs du nom du fichier (moins le chemin du dossier et l'extension)
200 * `:foo` : les mots-clefs filtrent les candidats si le mot-clef correspond exactement au nom du fichier (moins le chemin du dossier et l'extension)
201 * `lambda{ "foo" }` : les procédures sans argument seront appelées automatiquement et leur résultat sera traité comme une source ou un filtre
202 * `lambda{|a| ... }` : les procédures avec un argument seront traitées comme un filtre de candidat ou une fonction génératrice. On lui passera la liste des candidats actuels et elle doit retourner une nouvelle liste de candidats (une liste de chemins valides vers des fichiers de samples)
203 * `1` : Les nombres sélectionnent le candidat avec cet index (en bouclant comme un anneau si nécessaire)
204
205 ## Composites
206
207 Enfin vous pouvez utiliser des listes partout où on peut placer une
208 source ou un filtre. La liste sera automatiquement aplatie et son
209 contenu sera traité comme des sources et filtres. Ainsi les appels
210 suivants à `sample` sont sémantiquement équivalents :
211
212 ```
213 sample "/path/to/dir", "100", "C#"
214 sample ["/path/to/dir", "100", "C#"]
215 sample "/path/to/dir", ["100", "C#"]
216 sample ["/path/to/dir", ["100", ["C#"]]]
217 ```
218
219 ## Résumé
220
221 C'était une section avancée pour les gens qui ont besoin de vraie
222 puissance pour manipuler et utiliser des paquets de samples. Si la
223 plupart de cette section n'avait pas trop de sens pour vous, ne vous
224 inquiétez pas. Vous n'avez probablement pas encore besoin de cette
225 fonctionnalité. Mais vous vous rendrez compte quand vous en aurez
226 besoin et vous pourrez revenir et relire ceci quand vous commencerez à
227 travailler avec de grands dossiers de samples.
228
229
230
7575 la plus intérieure de la boucle, et nous créons maintenant une
7676 nouvelle réverbération toutes les 16 notes.
7777
78 C'est quelque chose que l'on fait si souvent que `with_fx` supporte
79 une option pour faire exactement cela sans devoir écrire le bloc
80 `16.times` :
81
82 ```
83 loop do
84 with_fx :reverb, reps: 16 do
85 play 60, release: 0.1
86 sleep 0.125
87 end
88 end
89 ```
90
91 Les deux exemples `reps: 16` et `16.times do` se comporteront de la
92 même manière. L'exemple avec `reps: 16` répète en fait le code dans le
93 bloc `do/end` seize fois donc vous pouvez choisir l'un ou l'autre en
94 fonction de vos préférences.
95
7896 Rappelez-vous, il n'y a pas de fautes, juste des possibilités.
79 Toutefois, chacune de ces approches donnera un son différent et aura
80 des caractéristiques de performance différentes. Donc, jouez et
97 Toutefois, certaines de ces approches donneront un son différent et
98 auront des caractéristiques de performance différentes. Donc, jouez et
8199 utilisez l'approche qui sonne le mieux pour vous tout en restant dans
82100 les contraintes de performance de votre plateforme.
0 8.5 Chaînes d'anneaux
1
2 En plus des constructeurs comme `range` et `spread`, une autre façon
3 de créer de nouveaux anneaux est de manipuler des anneaux existants.
4
5 ## Commandes de chaîne
6
7 Pour explorer ceci, prenons un anneau simple :
8
9 ```
10 (ring 10, 20, 30, 40, 50)
11 ```
12
13 Et si on voulait son inverse ? Eh bien on utiliserait la commande
14 de chaîne `.reverse` pour prendre l'anneau et l'inverser :
15
16 ```
17 (ring 10, 20, 30, 40, 50).reverse #=> (ring 50, 40, 30, 20, 10)
18 ```
19
20 Et si on voulait les trois premières valeurs de l'anneau ?
21
22 ```
23 (ring 10, 20, 30, 40, 50).take(3) #=> (ring 10, 20, 30)
24 ```
25
26 Enfin, et si on voulait mélanger l'anneau ?
27
28 ```
29 (ring 10, 20, 30, 40, 50).shuffle #=> (ring 40, 30, 10, 50, 20)
30 ```
31
32 ## Chaînes multiples
33
34 C'est déjà une manière puissante de créer de nouveaux anneaux. Ceci
35 dit la *vraie* puissance vient quand on enchaîne quelques unes de ces
36 commandes à la suite.
37
38 Et si on mélangeait l'anneau, on lâchait un élément puis on en prenait
39 les trois suivants ?
40
41 Regardons ceci par étapes :
42
43 1. `(ring 10, 20, 30, 40, 50)` - notre anneau initial
44 2. `(ring 10, 20, 30, 40, 50).shuffle` - mélange - `(ring 40, 30, 10, 50, 20)`
45 3. `(ring 10, 20, 30, 40, 50).shuffle.drop(1)` - en lâche un - `(ring 30, 10, 50, 20)`
46 4. `(ring 10, 20, 30, 40, 50).shuffle.drop(1).take(3)` - en prend trois - `(ring 30, 10, 50)`
47
48 Vous voyez comme on peut créer une longue chaîne de ces méthodes juste
49 *en les collant à la suite*. On peut les combiner dans l'ordre qu'on
50 veut, ce qui crée une manière extrêmement riche et puissante de
51 générer de nouveaux anneaux à partir d'anneaux existants.
52
53 ## Immutabilité
54
55 Ces anneaux ont une propriété puissante et importante. Ils sont
56 immutables, ce qui veut dire qu'ils ne peuvent pas changer. Cela veut
57 dire que les méthodes de chaîne décrites dans cette section *ne
58 changent pas les anneaux*, elles *créent plutôt de nouveaux anneaux*.
59 Cela veut dire que vous êtes libres de partager des anneaux entre
60 fils et de les chaîner dans un fil en sachant que vous n'affecterez
61 aucun autre fil qui utilise le même anneau.
62
63 ## Méthodes de chaîne disponibles
64
65 Voici une liste des méthodes de chaîne disponibles :
66
67 * `.reverse` - retourne une version inversée de l'anneau
68 * `.sort` - crée une version triée de l'anneau
69 * `.shuffle` - crée une version mélangée de l'anneau
70 * `.pick(3)` - retourne un anneau avec le résultat de trois appels à `.choose`
71 * `.pick` - similaire à `.pick(3)` mais la taille correspond à la taille de l'anneau initial
72 * `.take(5)` - retourne un nouvel anneau contenant uniquement les cinq premiers éléments
73 * `.drop(3)` - retourne un nouvel anneau avec tout sauf les trois premiers éléments
74 * `.butlast` - retourne un nouvel anneau sans le dernier élément
75 * `.drop_last(3)` - retourne un nouvel anneau sans les trois derniers éléments
76 * `.take_last(6)`- retourne un nouvel anneau avec les six derniers éléments seulement
77 * `.stretch(2)` - répète chaque élément dans l'anneau deux fois
78 * `.repeat(3)` - répète l'anneau entier trois fois
79 * `.mirror` - ajoute l'anneau à une version inversée de lui-même
80 * `.reflect` - comme mirror mais sans dupliquer la valeur du milieu
81
82 Evidemment, les méthodes de chaîne qui prennent des nombres peuvent
83 prendre d'autres nombres aussi ! N'hésitez donc pas à appeler
84 `.drop(5)` au lieu de `.drop(3)` si vous voulez lâcher les cinq
85 premiers éléments.
1111
1212 Sonic Pi fournit un outil *très* pratique pour travailler avec des anneaux
1313 ("rings") à l'intérieur des `live_loop`s. Il s'agit du système d'avance
14 automatique ("tick"). Il vous fournit la capacité de *parcourir des anneaux*.
14 automatique ("tick"). Dans la section sur les anneaux on parlait d'un
15 compteur qui augmente constamment, comme un nombre courant de
16 battement. "Tick" implémente justement cette idée. Il vous fournit
17 la capacité de *parcourir des anneaux*.
1518 Regardons un exemple :
19
20 ```
21 counter = 0
22 live_loop :arp do
23 play (scale :e3, :minor_pentatonic)[counter], release: 0.1
24 counter += 1
25 sleep 0.125
26 end
27 ```
28
29 C'est l'équivalent de :
1630
1731 ```
1832 live_loop :arp do
4343 ## Manipulation du texte
4444
4545 * `M-m` - aligne et indente tout le texte
46 * `Tab` - aligne et indente la ligne courante ou la sélection (ou la liste complète)
46 * `Tab` - aligne et indente la ligne courante ou la sélection (ou sélectionne l'auto-complétion)
47 * `C-l` - Centre l'éditeur
48 * `M-/` - Commente / décommente la ligne courante ou la sélection
4749 * `C-t` - Intervertit les caractères sélectionnés
4850 * `M-u` - Convertit le mot suivant (ou la sélection) en majuscule.
4951 * `M-l` - Convertit le mot suivant (ou la sélection) en minuscule.
0 A Appendice A - Articles MagPi
1
2 # Articles MagPi
3
4 L'appendice A rassemble tous les articles Sonic Pi écrits pour le
5 magazine MagPi.
6
7 ## Plongez vous dans les sujets
8
9 Ces articles ne sont pas destinés à être lus dans un ordre particulier
10 et contiennent beaucoup de choses qui sont aussi dans le tutoriel.
11 Plutôt que d'essayer de vous apprendre tout Sonic Pi, chacun se
12 focalise plutôt sur un aspect particulier de Sonic Pi et le couvre
13 d'une manière amusante et accessible.
14
15 ## Lisez MagPi
16
17 Vous les trouverez avec leur présentation très professionnelle dans
18 les PDFs gratuits en téléchargement ici :
19 https://www.raspberrypi.org/magpi/
20
21 ## Suggérez un sujet
22
23 Si vous ne trouvez pas de sujet qui vous intéresse parmi ceux couverts
24 dans ces articles, pourquoi ne pas en suggérer un ? La manière la plus
25 simple de faire cela est de tweeter votre suggestion à
26 [@Sonic_Pi](http://twitter.com/sonic_pi). On ne sait jamais, votre
27 suggestion sera peut-être le sujet du prochain article !
0 A.1 Conseils pour Sonic Pi
1
2 # Les cinq meilleurs conseils
3
4 ## 1. Il n'y a pas d'erreur
5
6 La plus importante leçon à apprendre avec Sonic Pi c'est qu'il n'y a
7 vraiment pas d'erreur. La meilleure façon d'apprendre c'est juste
8 d'essayer, essayer, et essayer. Essayez beaucoup de choses
9 différentes, ne vous inquiétez pas de savoir si votre code sonne bien
10 ou pas et commencez par expérimenter avec le plus de synthés, notes,
11 effets et options possibles. Vous découvrirez beaucoup de choses qui
12 vous feront rire parce qu'elles ne sonnent pas bien du tout et aussi
13 quelques joyaux qui sonnent magnifiquement bien. Débarrassez-vous
14 ensuite de ce que vous n'aimez pas et gardez les choses qui vous
15 plaisent. Plus vous vous permettrez de faire des erreurs et plus vous
16 apprendrez et découvrirez votre son de code personnel.
17
18 ## 2. Utilisez les effets
19
20 Disons que vous maîtrisez déjà les bases de Sonic Pi pour créer des
21 sons avec `sample` et `play`. Qu'est-ce qui vient ensuite ? Savez-vous
22 que Sonic Pi supporte plus de 27 effets studio pour changer le son de
23 votre code ? Les effets sont comme des filtres pour images dans les
24 programmes de dessin, mais à la place de rendre l'image floue ou noir
25 et blanc, on peut ajouter de la reverb, de la distorsion ou de l'écho
26 au son. On peut voir ça comme brancher le câble d'une guitare dans une
27 pédale d'effet puis dans un ampli. Heureusement Sonic Pi rend
28 l'utilisation d'effets très simple et n'a pas besoin de câble. Tout
29 ce dont vous avez besoin c'est de choisir à quelle section de votre
30 code ajouter l'effet puis de l'entourer avec le code de l'effet.
31 Prenons un exemple. Disons que vous avez le code suivant :
32
33
34 sample :loop_garzul
35
36 16.times do
37 sample :bd_haus
38 sleep 0.5
39 end
40
41
42 Si vous voulez ajouter un effet au sample `:loop_garzul`, il suffit de
43 le mettre dans un bloc `with_fx` comme ceci :
44
45
46 with_fx :flanger do
47 sample :loop_garzul
48 end
49
50 16.times do
51 sample :bd_haus
52 sleep 0.5
53 end
54
55
56 Maintenant si voulez ajouter un effet au tambour basse, enveloppez-le
57 aussi dans un `with_fx` :
58
59
60 with_fx :flanger do
61 sample :loop_garzul
62 end
63
64 with_fx :echo do
65 16.times do
66 sample :bd_haus
67 sleep 0.5
68 end
69 end
70
71
72 Rappelez-vous, vous pouvez entourer *n'importe quel* code dans
73 `with_fx` et tous les sons créés passeront dans cet effet.
74
75
76 ## 3. Paramétrez vos synthés
77
78 Pour découvrir vraiment votre son de code vous voudrez savoir comment
79 modifier et contrôler les synthés et effets. Par exemple, vous voudrez
80 peut-être changer la durée d'une note, ajouter plus de reverb, ou
81 changer la durée entre échos. Heureusement, Sonic Pi vous donne un
82 niveau de contrôle incroyable pour faire cela avec des paramètres
83 optionnels ou opts pour faire court. Regardons ça rapidement. Copiez
84 ce code dans un buffer et exécutez-le :
85
86 sample :guit_em9
87
88
89 Oh, un joli son de guitare ! Commençons à jouer un peu avec. Et si on
90 changeait sa fréquence ?
91
92 sample :guit_em9, rate: 0.5
93
94
95 Hé, qu'est-ce que ce `rate: 0.5` que j'ai ajouté à la fin ? C'est ce
96 qu'on appelle une opt. Tous les synthés et samples de Sonic Pi les
97 supportent et il y en a beaucoup avec lesquels on peut jouer. Ils
98 sont disponibles pour les effets aussi. Essayez ceci :
99
100
101 with_fx :flanger, feedback: 0.6 do
102 sample :guit_em9
103 end
104
105
106 Maintenant essayez d'augmenter ce feedback à 1 pour entendre des sons
107 fous ! Lisez la documentation pour des détails complets sur les
108 nombreuses opts disponibles.
109
110
111 ## 5. Coder de manière interactive
112
113 La meilleure manière d'expérimenter rapidement et d'explorer Sonic Pi
114 est de coder de manière interactive. Cela vous permet de partir d'un
115 peu de code et de le changer de manière continue pendant qu'il est en
116 train de s'exécuter. Par exemple, si vous ne savez pas ce que le
117 paramètre cutoff fait à un sample, jouez avec. Essayons ! Copiez ce
118 code dans un de vos buffers Sonic Pi :
119
120
121 live_loop :experiment do
122 sample :loop_amen, cutoff: 70
123 sleep 1.75
124 end
125
126
127 Maintenant cliquez sur 'Run' et vous entendrez un rhythme de batterie
128 un peu étouffé. Maintenant changez la valeur de `cutoff:` en `80` et
129 cliquez à nouveau sur 'Run'. Entendez-vous la différence ? Essayez
130 `90`, `100`, `110`...
131
132 Quand vous aurez pris la main à utiliser des `live_loop`, vous ne
133 pourrez plus vous en passer. Quand je donne un concert de live coding
134 je m'appuie autant sur `live_loop` qu'un batteur sur ses baguettes.
135 Pour plus d'informations à propos du live coding regardez la section
136 9 du tutoriel inclus dans Sonic Pi.
137
138 ## 5. Surfez sur les suites aléatoires
139
140 Enfin, une chose que j'adore faire est de tricher en faisant que Sonic
141 Pi compose des choses pour moi. Une manière géniale de faire ça est
142 d'utiliser l'aléatoire. Cela peut paraître compliqué mais ça ne l'est
143 pas du tout. Regardons. Copiez ceci dans un buffer :
144
145
146 live_loop :rand_surfer do
147 use_synth :dsaw
148 notes = (scale :e2, :minor_pentatonic, num_octaves: 2)
149 16.times do
150 play notes.choose, release: 0.1, cutoff: rrand(70, 120)
151 sleep 0.125
152 end
153 end
154
155
156 Maintenant, quand vous jouez cela, vous entendrez une suite continue
157 de notes aléatoires de la gamme `:e2 :minor_pentatonic` jouée avec le
158 synthé `:dsaw`. "Attendez, attendez ! Ce n'est pas une mélodie", vous
159 entends-je crier ! Eh bien, voici la première partie du tour de magie.
160 Chaque fois que l'on recommence le `live_loop` on peut dire à Sonic Pi
161 de fixer la suite aléatoire à un point connu. C'est un peu comme
162 voyager dans le temps. Essayons ceci : ajoutez la ligne
163 `use_random_seed 1` au `live_loop` :
164
165 live_loop :rand_surfer do
166 use_random_seed 1
167 use_synth :dsaw
168 notes = (scale :e2, :minor_pentatonic, num_octaves: 2)
169 16.times do
170 play notes.choose, release: 0.1, cutoff: rrand(70, 120)
171 sleep 0.125
172 end
173 end
174
175 Maintenant, chaque fois que la `live_loop` boucle, la suite aléatoire
176 est réinitialisée. Cela veut dire qu'elle contient exactement les même
177 16 notes à chaque fois. Et voilà ! Une mélodie de composée. Et
178 maintenant voici la partie excitante. Changez la valeur de `1` en un
179 autre nombre. Par exemple `4923`. Ouaou, une autre mélodie ! Donc, en
180 changeant juste un nombre (la graine aléatoire), on peut explorer
181 autant de combinaisons mélodiques qu'on peut imaginer ! C'est ça la
182 magie du code.
0 A.2 Live Coding
1
2 # Live Coding
3
4 Les rayons lasers perçaient à travers les bouffées de fumée et les
5 baffles transmettaient des basses profondes dans les corps de la foule.
6 L'atmosphère était remplie d'un mélange de synthés et de danse. Il y
7 avait pourtant quelque chose d'étrange dans cette boîte de nuit.
8 Du texte futuriste était projeté au dessus de la cabine du DJ,
9 bougeant, dansant, clignotant. Ce n'étaient pas de belles
10 visualisations, c'était juste une projection de Sonic Pi tournant sur
11 un Raspberry Pi. La personne dans la cabine de DJ n'était pas en train
12 de tourner des disques, elle écrivait, éditait et évaluait du code. En
13 direct. C'est ça le Live Coding.
14
15 ![Sam Aaron Live Coding](../images/tutorial/articles/A.02-live-coding/sam-aaron-live-coding.png)
16
17 Cela peut sonner comme une histoire tirée par les cheveux dans une
18 boîte de nuit futuriste mais coder de la musique comme cela est une
19 tendance qui se développe et qu'on appelle souvent Live Coding
20 (programmation interactive) (http://toplap.org). Une des directions
21 récentes que cette approche de la musique a prise est l'Algorave
22 (http://algorave.com) : des événements où des artistes comme moi
23 codent de la musique pour que les gens dansent. Cependant vous n'avez
24 pas besoin d'une boîte de nuit pour coder en live : avec Sonic Pi
25 version 2.6 et plus vous pouvez le faire dans n'importe quel endroit
26 où vous pouvez prendre votre Raspberry Pi et un casque ou des
27 haut-parleurs. Quand vous aurez atteint la fin de cet article, vous
28 saurez programmez vos rythmes et les modifier en direct. Où vous irez
29 ensuite ne sera limité que par votre imagination.
30
31 ## Boucle interactive
32
33 La clef de la programmation interactive est la maîtrise de la
34 `live_loop`. En voici une :
35
36 live_loop :beats do
37 sample :bd_haus
38 sleep 0.5
39 end
40
41 Il y a quatre ingrédients principaux dans une `live_loop`. La première
42 est son nom. Notre `live_loop` s'appelle ici `:beats`. Vous pouvez
43 donner le nom que vous voulez à votre `live_loop`. Défoulez-vous.
44 Soyez créatifs. J'utilise souvent des noms qui communiquent à
45 l'audience qu'est-ce que la musique va faire. Le deuxième ingrédient
46 est le mot `do` qui marque où la `live_loop` commence. Le troisième
47 est le mot `end` qui marque où la `live_loop` finit, et enfin il y a
48 le corps de la `live_loop` qui décrit ce que la boucle va répéter :
49 c'est la partie entre `do` et `end`. Dans ce cas on joue en boucle un
50 sample de tambour basse et on attend un demi temps. Cela produit un
51 beau rythme régulier de basse. Allez, copiez-le dans un buffer vide de
52 Sonic Pi et cliquez sur 'Run'. Boum, boum, boum !
53
54 ## Redéfinir à la volée
55
56 OK, qu'est-ce qu'elle a de si spécial, cette `live_loop` ? Jusqu'ici
57 on dirait que c'est juste une boucle ! Eh bien, la beauté des
58 `live_loop`s c'est qu'on peut les redéfinir à la volée. Cela veut
59 dire que pendant qu'elles sont en train de tourner, on peut changer ce
60 qu'elles font. C'est le secret de la programmation interactive avec
61 Sonic Pi. Essayons :
62
63 live_loop :choral_drone do
64 sample :ambi_choir, rate: 0.4
65 sleep 1
66 end
67
68 Maintenant cliquez le bouton 'Run' ou tapez 'alt-r'. Vous entendez
69 maintenant de beaux sons de chorale. Ensuite, alors qu'il est encore
70 en train de jouer, changer la fréquence de `0.4` en `0.38`. Cliquez à
71 nouveau sur 'Run'. Ouaou ! Vous avez entendu le choeur changer de
72 note ? Ecrivez à nouveau `0.4` pour revenir comme avant. Puis `0.2`,
73 puis `0.19`, puis à nouveau `0.4`. Voyez-vous comment juste changer un
74 paramètre à la volée vous donne un réel contrôle sur la musique ?
75 Maintenant jouez vous-même avec la fréquence, choisissez vos propres
76 valeurs. Essayez des nombres négatifs, de très petits nombres et de
77 grands nombres. Amusez-vous !
78
79 ## Il est important de dormir
80
81 Une des leçons les plus importantes avec les `live_loop` c'est
82 qu'elles ont besoin de se reposer. Prenons par exemple cette
83 `live_loop` :
84
85 live_loop :infinite_impossibilities do
86 sample :ambi_choir
87 end
88
89 Si vous essayez d'exécuter ce code, vous verrez immédiatement que
90 Sonic Pi se plaint que la `live_loop` n'a pas dormi. C'est un
91 mécanisme de sécurité qui se met en place. Prenons un moment pour
92 penser à ce que ce code demande à l'ordinateur de faire. C'est cela,
93 on demande à l'ordinateur de jouer un nombre infini de samples de
94 chorale dans un temps nul. Sans le mécanisme de sécurité le pauvre
95 ordinateur essaierait de faire ça et exploserait. Souvenez-vous en
96 bien : vos `live_loop`s doivent contenir un appel à `sleep`.
97
98
99 ## Combiner des sons
100
101 La musique est pleine de choses qui arrivent en même temps. La
102 batterie en même temps que la basse, en même temps que du chant, en
103 même temps que des guitares... En informatique on appelle ça la
104 concurrence et Sonic Pi nous donne une manière étonnamment simple de
105 jouer des choses en même temps. Il suffit d'utiliser plus qu'une
106 `live_loop` !
107
108 live_loop :beats do
109 sample :bd_tek
110 with_fx :echo, phase: 0.125, mix: 0.4 do
111 sample :drum_cymbal_soft, sustain: 0, release: 0.1
112 sleep 0.5
113 end
114 end
115
116 live_loop :bass do
117 use_synth :tb303
118 synth :tb303, note: :e1, release: 4, cutoff: 120, cutoff_attack: 1
119 sleep 4
120 end
121
122 Ici nous avons deux `live_loop`s, une qui tourne rapidement pour faire
123 un rythme et une qui boucle lentement pour faire un son fou de basse.
124
125 Une des choses intéressantes quand on utilise plusieurs `live_loop`s
126 c'est que chacune gère son propre temps. Cela veut dire qu'il est très
127 facile de créer des structures polyrythmiques intéressantes et même de
128 jouer avec la phase dans le style de Steve Reich. Par exemple :
129
130 # La phase piano de Steve Reich
131
132 notes = (ring :E4, :Fs4, :B4, :Cs5, :D5, :Fs4, :E4, :Cs5, :B4, :Fs4, :D5, :Cs5)
133
134 live_loop :slow do
135 play notes.tick, release: 0.1
136 sleep 0.3
137 end
138
139 live_loop :faster do
140 play notes.tick, release: 0.1
141 sleep 0.295
142 end
143
144
145 ## Rassemblons tout
146
147 Dans chacun de ces tutoriels, nous finirons avec un exemple qui montre
148 un nouveau morceau de musique qui utilise toutes les idées
149 introduites. Lisez ce code et essayez d'imaginer ce qu'il fait.
150 Ensuite, copiez-le dans un buffer frais de Sonic Pi et cliquez 'Run'
151 pour entendre comment il sonne. Enfin changez un des nombres ou
152 commentez / décommentez des parties. Voyez si vous pouvez prendre ça
153 comme point de départ d'une nouvelle performance, et surtout
154 amusez-vous ! A la prochaine...
155
156 with_fx :reverb, room: 1 do
157 live_loop :time do
158 synth :prophet, release: 8, note: :e1, cutoff: 90, amp: 3
159 sleep 8
160 end
161 end
162
163 live_loop :machine do
164 sample :loop_garzul, rate: 0.5, finish: 0.25
165 sample :loop_industrial, beat_stretch: 4, amp: 1
166 sleep 4
167 end
168
169 live_loop :kik do
170 sample :bd_haus, amp: 2
171 sleep 0.5
172 end
173
174 with_fx :echo do
175 live_loop :vortex do
176 # use_random_seed 800
177 notes = (scale :e3, :minor_pentatonic, num_octaves: 3)
178 16.times do
179 play notes.choose, release: 0.1, amp: 1.5
180 sleep 0.125
181 end
182 end
183 end
0 A.3 Rythmes codés
1
2 # Rythmes codés
3
4 Une des évolutions techniques les plus excitantes et disruptives dans
5 la musique moderne a été l'invention des samplers. C'étaient des
6 boîtes qui permettaient d'enregistrer n'importe quels sons dedans et
7 de les manipuler et jouer de nombreuses manières intéressantes. Par
8 exemple, on pouvait prendre un vieux disque, trouver un solo de
9 batterie (ou un break), l'enregistrer dans le sampler et ensuite le
10 jouer deux fois moins vite pour créer la fondation de vos derniers
11 rythmes. C'est ainsi que la musique hip-hop est née et aujourd'hui il
12 est presque impossible de trouver de la musique électronique qui
13 n'incorpore pas de samples. Utiliser des samples est une très bonne
14 manière d'introduire facilement des éléments nouveaux et intéressants
15 dans vos performances de live coding.
16
17 Comment pouvez-vous vous procurer un sampler ? Eh bien, vous en avez
18 déjà un : c'est votre Raspberry Pi ! L'application de live coding
19 Sonic Pi comprend un sampler très puissant. Jouons avec !
20
21 ## Le break Amen
22
23 Un des samples de break de batterie les plus classiques et
24 reconnaissables s'appelle le break Amen. Il a été joué pour la
25 première fois en 1969 dans la chanson "Amen Brother" des Winstons dans
26 un break de batterie. Cependant c'est quand il a été découvert par
27 les premiers musiciens de hip-hop dans les années 80 et utilisé dans
28 des samplers qu'il a commencé à être très utilisé dans des styles
29 aussi variés que le drum and bass, le breakbeat, la techno hardcore et
30 le breakcore.
31
32
33 Je suis sûr que vous êtes ravis d'entendre qu'il est aussi inclus dans
34 Sonic Pi. Choisissez un buffer vide et copiez-y ce code :
35
36 sample :loop_amen
37
38 Cliquez sur *Run* et boum ! Vous ententez l'un des breaks de batterie
39 les plus influents de l'histoire de la musique dance. Ceci dit, ce
40 sample n'est pas célèbre pour être joué juste une fois, il est fait
41 pour être joué en boucle.
42
43
44 ## Etirer des rythmes
45
46 Jouons le break Amen en boucle en utilisant notre vieille amie la
47 `live_loop`, introduite dans le tutoriel du mois dernier :
48
49 live_loop :amen_break do
50 sample :loop_amen
51 sleep 2
52 end
53
54 OK, ça boucle, mais il y a une pause ennuyeuse à chaque fois. C'est
55 parce qu'on a demandé d'attendre `2` temps et avec le nombre par défaut
56 de 60 BPM (battements par minute), le sample `:loop_amen` ne dure que
57 `1.753` temps. Nous avons donc un silence de `2 - 1.753 = 0.247`
58 temps. Même s'il est court, c'est notable.
59
60 Pour corriger ce problème on peut utiliser l'option `beat_stretch`
61 pour demander à Sonic Pi d'étirer (ou rétrécir) le sample pour
62 correspondre au temps spécifié.
63
64 [Breakout box start] Les fonctions `sample` et `synth` de Sonic Pi
65 vous donnent beaucoup de contrôle via des paramètres optionnels comme
66 `amp:`, `cutoff:` et `release:`. Cela dit le terme `paramètre
67 optionnel` est très long à dire donc on les appelle juste *opts* pour
68 rester simple.
69 [Breakout box end]
70
71 live_loop :amen_break do
72 sample :loop_amen, beat_stretch: 2
73 sleep 2
74 end
75
76 Maintenant on peut danser ! Quoique, peut-être qu'on veut l'accélérer
77 ou le ralentir en fonction de l'ambiance.
78
79 ## Jouer avec le temps
80
81 OK, et si on voulait changer de style pour faire du hip hop old school
82 ou du breakcore ? Une manière simple de faire ça est de jouer avec le
83 temps : ou en d'autres mots jouer avec le tempo. C'est très facile
84 avec Sonic Pi : il suffit d'appeler `use_bpm` dans votre boucle
85 interactive :
86
87 live_loop :amen_break do
88 use_bpm 30
89 sample :loop_amen, beat_stretch: 2
90 sleep 2
91 end
92
93 Pendant que vous rappez sur ces rythmes lents, remarquez que nous
94 avons toujours un repos de 2 et que notre BPM vaut 30, mais tout est
95 bien synchronisé. L'option `beat_stretch` marche avec le BPM courant
96 pour s'assurer que tout fonctionne bien.
97
98 Maintenant voici la partie amusante. Alors que la boucle est en train
99 de tourner, changez le `30` dans la ligne `use_bpm 30` en `50`. Oh,
100 tout est devenu plus rapide, mais toujours *synchro* ! Essayez d'aller
101 plus vite : jusque 80, jusque 120, ou même, soyons fous, 200 !
102
103
104 ## Filtrer
105
106 Maintenant qu'on peut jouer des samples en boucle de manière
107 interactive, regardons les options les plus amusantes proposées par le
108 synthé `sample`. La première est le `cutoff:` qui contrôle le filtre
109 de coupure du sampler. Par défaut il est désactivé mais on peut
110 facilement l'activer :
111
112
113 live_loop :amen_break do
114 use_bpm 50
115 sample :loop_amen, beat_stretch: 2, cutoff: 70
116 sleep 2
117 end
118
119
120 Allez-y, changez la valeur de l'option `cutoff:`. Par exemple
121 montez-la à 100, cliquez sur *Run* et attendez la prochaine boucle
122 pour entendre la différence dans le son. Remarquez que des valeurs
123 basses comme 50 sonnent plus doux et bas et que des hautes valeurs
124 comme 100 ou 120 sonnent plus plein et râpeux. C'est parce que
125 l'option `cutoff:` va couper les parties haute-fréquence du son tout
126 comme une tondeuse coupe le haut de la pelouse. L'option `cutoff:`
127 est comme le réglage de la longueur : cela détermine combien il reste
128 d'herbe.
129
130
131 ## Couper
132
133 Un autre super outil avec lequel on peut jouer est l'effet slicer.
134 Il va couper le son en tranches. Entourez la ligne de `sample` avec le
135 code de l'effet ainsi :
136
137 live_loop :amen_break do
138 use_bpm 50
139 with_fx :slicer, phase: 0.25, wave: 0, mix: 1 do
140 sample :loop_amen, beat_stretch: 2, cutoff: 100
141 end
142 sleep 2
143 end
144
145 Remarquez comme le son bondit un peu plus de haut en bas. (Vous pouvez
146 entendre le son original sans l'effet en changeant l'option `mix:` en
147 `0`.) Maintenant essayez de modifier la valeur de l'option `phase:`.
148 C'est la fréquence (en battements) de l'effet de coupe. Une plus
149 petite valeur comme `0.5` va couper plus rapidement et une plus grande
150 valeur comme `0.5` va couper plus lentement. Remarquez que si on
151 divise ou multiplie successivement par deux l'option `phase:` cela
152 sonne généralement bien. Enfin, choisissez une valeur pour l'option
153 `wave:` entre 0, 1 et 2 et écoutez comment le son change. Ce sont
154 différentes formes d'onde. 0 est une onde scie (elle commence fort et
155 finit en fondu), 1 est une onde carrée (commence et finit fort) et 2
156 est une onde en triangle (commence en fondu, finit en fondu).
157
158 ## Rassemblons tout
159
160 Enfin, revenons dans le temps et revisitons la jeune scène de drum and
161 bass de Bristol avec l'exemple de ce mois. Ne vous inquiétez pas trop
162 de tout ce que cela signifie, tapez le, cliquez sur Run, puis
163 commencez à coder interactivement en changement les valeurs des
164 options et voyez où cela vous amène. Partagez ce que vous créez ! A la
165 prochaine...
166
167 use_bpm 100
168
169 live_loop :amen_break do
170 p = [0.125, 0.25, 0.5].choose
171 with_fx :slicer, phase: p, wave: 0, mix: rrand(0.7, 1) do
172 r = [1, 1, 1, -1].choose
173 sample :loop_amen, beat_stretch: 2, rate: r, amp: 2
174 end
175 sleep 2
176 end
177
178 live_loop :bass_drum do
179 sample :bd_haus, cutoff: 70, amp: 1.5
180 sleep 0.5
181 end
182
183 live_loop :landing do
184 bass_line = (knit :e1, 3, [:c1, :c2].choose, 1)
185 with_fx :slicer, phase: [0.25, 0.5].choose, invert_wave: 1, wave: 0 do
186 s = synth :square, note: bass_line.tick, sustain: 4, cutoff: 60
187 control s, cutoff_slide: 4, cutoff: 120
188 end
189 sleep 4
190 end
0 A.4 Riffs de synthés
1
2 # Riffs de synthés
3
4 Que ce soit la dérive hantée d'oscillateurs grondants ou le coup de
5 poing désaccordé des ondes scies perçant à travers le mix, le synthé
6 principal joue un rôle essentiel dans chaque piste électronique. Dans
7 l'édition du mois dernier de cette série de tutoriels nous avons
8 couvert comment coder nos rythmes. Dans ce tutoriel nous verrons
9 comment coder les trois composants principaux d'un riff de synthé : le
10 timbre, la mélodie et le rythme.
11
12 OK, allumez votre Raspberry Pi, ouvrez Sonic Pi (version 2.6 ou plus)
13 et faisons du bruit !
14
15
16 ## Les possibilités du timbre
17
18 Une partie essentielle de n'importe quel riff de synthé est de jouer
19 avec le timbre des sons. On peut contrôler le timbre dans Sonic Pi de
20 deux manières : en choisissant différents synthés pour un changement
21 dramatique et en définissant les diverses options des synthés pour des
22 modifications plus subtiles. On peut aussi utiliser des effets, mais
23 ce sera pour un autre tutoriel...
24
25 Créons une boucle interactive simple où l'on modifiera en continu le
26 synthé courant :
27
28 live_loop :timbre do
29 use_synth (ring :tb303, :blade, :prophet, :saw, :beep, :tri).tick
30 play :e2, attack: 0, release: 0.5, cutoff: 100
31 sleep 0.5
32 end
33
34 Regardez ce code. On parcourt (avec `tick`) juste un anneau de noms de
35 synthés (on boucle sur chacun d'eux à leur tour puis on répéte la
36 liste encore et encore). On passe ce nom de synthé à la fonction (fn)
37 `use_synth`, ce qui changera le synthé courant de la `live_loop`. On
38 joue aussi la note `:e2` (E (ou Mi) à la deuxième octave), avec un
39 temps de relâche de 0.5 battement (une demi seconde au BPM par défaut
40 de 60) et avec l'option `:cutoff` fixée à 100.
41
42 Vous entendez que les différents synthés ont des sons très différents
43 même s'ils jouent tous la même note. Maintenant expérimentez et jouez.
44 Changez le temps de relâche en lui donnant des valeurs plus grandes et
45 plus petites. Par exemple, changez les options `attack:` et `release:`
46 pour voir comme des temps différents de fondu d'entrée et de sortie
47 ont un grand effet sur le son. Enfin changez l'option `cutoff:` pour
48 voir comment différentes valeurs de coupure ont une influence massive
49 sur le timbre (des valeurs entre 60 et 130 sont bonnes). Voyez combien
50 de sons vous pouvez créer juste en changeant quelques valeurs. Une
51 fois que vous maîtrisez cela, allez dans l'onglet Synthés dans le
52 système d'aide pour voir la liste entière des synthés et des options
53 que chacun d'eux supporte pour voir l'étendue du pouvoir que vous avez
54 au bouts de vos doigts de codeur.
55
56 ## Timbre
57
58 Le timbre est juste un mot savant pour décrire comment sonne un son.
59 Si vous jouez la même note avec différents instruments comme un
60 violon, une guitare, ou un piano, la fréquence (si elle sonne haut ou
61 bas) sera la même, mais la qualité du son sera différente. La qualité
62 du son, ce qui fait qu'on peut différencier un piano et une guitare,
63 c'est le timbre.
64
65 ## Composition mélodique
66
67 Un autre aspect important de notre synthé principal est le choix de
68 notes que l'on veut jouer. Si vous avez déjà une bonne idée, alors
69 vous pouvez juste créer un anneau avec vos notes et les parcourir :
70
71 live_loop :riff do
72 use_synth :prophet
73 riff = (ring :e3, :e3, :r, :g3, :r, :r, :r, :a3)
74 play riff.tick, release: 0.5, cutoff: 80
75 sleep 0.25
76 end
77
78 Ici nous avons défini une mélodie avec un anneau qui inclut des notes
79 comme `:e3` et des silences représentés par `:r`. On utilise ensuite
80 `.tick` pour jouer chaque note à son tour, ce qui nous donne un riff
81 qui se répète.
82
83 ## Mélodie automatique
84
85 Ce n'est pas toujours facile d'inventer un riff sympa. C'est souvent
86 plus simple de demander à Sonic Pi une sélection de riffs aléatoires
87 et de choisir celui que l'on préfère. Pour faire cela on doit combiner
88 trois choses : des anneaux, de l'aléatoire et des graines aléatoires.
89 Regardons un exemple :
90
91 live_loop :random_riff do
92 use_synth :dsaw
93 use_random_seed 3
94 notes = (scale :e3, :minor_pentatonic).shuffle
95 play notes.tick, release: 0.25, cutoff: 80
96 sleep 0.25
97 end
98
99 Plusieurs choses se passent : regardons les une par une. On commence
100 par spécifier la graine aléatoire 3. Qu'est-ce que cela signifie ? Eh
101 bien, c'est utile parce que quand on définit la graine, on sait
102 prédire quelle sera la prochaine valeur aléatoire : ce sera la même
103 que la dernière fois qu'on a choisi la graine 3 ! Une autre chose
104 utile à savoir est que mélanger un anneau de notes fonctionne de la
105 même façon. Dans l'exemple ci-dessus c'est comme si on demandait le
106 'troisième mélange' dans la liste standard de mélanges : il sera le
107 même chaque fois comme on définit toujours la graine aléatoire à la
108 même valeur avant le mélange. Enfin on parcourt juste nos notes
109 mélangées pour jouer le riff.
110
111 Maintenant, c'est ici qu'on commence à s'amuser. Si on change la
112 valeur de la graine aléatoire, par exemple en 3000, on a un mélange
113 entièrement différent des notes. Ainsi il est très facile d'explorer
114 de nouvelles mélodies. Il suffit de choisir la liste de notes que l'on
115 veut mélanger (les gammes sont un très bon endroit pour commencer) et
116 ensuite de choisir la graine avec laquelle on veut les mélanger. Si on
117 n'aime pas la mélodie, on peut juste changer une de ces deux choses et
118 essayer à nouveau. Répétez jusqu'à ce que vous aimiez ce que vous
119 entendez !
120
121
122 ## Pseudo aléatoire
123
124 L'aléatoire de Sonic Pi n'est pas vraiment aléatoire, on appelle ça du
125 pseudo aléatoire. Imaginez que vous jetez un dé 100 fois et que vous
126 écrivez le résultat de chaque jet sur une feuille de papier. Sonic Pi
127 a l'équivalent de cette liste de résultats qu'il utilise quand on
128 demande une valeur aléatoire. Au lieu de jeter un vrai dé, il prend
129 juste la valeur suivante dans la liste. Définir la graine aléatoire
130 revient à sauter à un endroit particulier de cette liste.
131
132 ## Trouver votre rythme
133
134 Un autre aspect important de notre riff est le rythme : quand jouer
135 une note et quand ne pas le faire. Comme on a vu, on peut utiliser
136 `:r` dans nos anneaux pour insérer des silences. Une autre manière
137 puissante consiste à utiliser des 'spreads' que l'on couvrira dans un
138 futur tutoriel. Aujourd'hui nous allons utiliser l'aléatoire pour nous
139 aider à trouver notre rythme. Au lieu de jouer toutes les notes on
140 peut utiliser une condition pour jouer une note avec une probabilité
141 donnée. Voyons cela :
142
143 live_loop :random_riff do
144 use_synth :dsaw
145 use_random_seed 30
146 notes = (scale :e3, :minor_pentatonic).shuffle
147 16.times do
148 play notes.tick, release: 0.2, cutoff: 90 if one_in(2)
149 sleep 0.125
150 end
151 end
152
153 Une fonction très utile à connaître est `one_in` qui nous donne une
154 valeur `true` ou `false` (vrai ou faux) avec la probabilité spécifiée.
155 Ici nous utilisons une valeur de 2 donc en moyenne un appel sur deux à
156 `one_in` retournera `true`. En d'autres termes, elle retournera `true`
157 50% du temps. Si on choisit des valeurs plus grandes elle retournera
158 `false` plus souvent ce qui mettra plus d'espace dans notre riff.
159
160 Remarquez qu'on a introduit un peu d'itération ici avec `16.times`.
161 C'est parce qu'on ne veut redéfinir notre valeur de graine aléatoire
162 que toutes les 16 notes pour que notre rythme se répète toutes les 16
163 fois. Cela n'affecte pas le mélange comme il est toujours fait juste
164 après avoir défini la graine. On peut utiliser la longueur d'itération
165 pour modifier la longueur de notre riff. Essayez de changer le 16 en 8
166 ou même en 4 ou 3 et voyez comment cela affecte le rythme du riff.
167
168 ## Rassemblons tout
169
170 OK, combinons tout ce que nous avons appris dans un dernier exemple.
171 A la prochaine !
172
173 live_loop :random_riff do
174 # uncomment to bring in:
175 # synth :blade, note: :e4, release: 4, cutoff: 100, amp: 1.5
176 use_synth :dsaw
177 use_random_seed 43
178 notes = (scale :e3, :minor_pentatonic, num_octaves: 2).shuffle.take(8)
179 8.times do
180 play notes.tick, release: rand(0.5), cutoff: rrand(60, 130) if one_in(2)
181 sleep 0.125
182 end
183 end
184
185 live_loop :drums do
186 use_random_seed 500
187 16.times do
188 sample :bd_haus, rate: 2, cutoff: 110 if rand < 0.35
189 sleep 0.125
190 end
191 end
192
193 live_loop :bd do
194 sample :bd_haus, cutoff: 100, amp: 3
195 sleep 0.5
196 end
197
198
199
200
0 A.5 Basse acide
1
2 # Basse acide
3
4 Il est impossible de regarder l'histoire de la musique de danse
5 électronique sans voir l'énorme impact du petit synthétiseur Roland
6 TB-303. C'est la sauce secrète derrière le son original de basse
7 acide. On entend ces riffs de basse classiques crissants et
8 pataugeants depuis la jeune scène de house de Chicago jusqu'à des
9 artistes plus récents comme Plastikman, Squarepusher et Aphex Twin.
10
11 Il est intéressant de savoir que Roland n'avait pas l'intention que le
12 TB-303 soit utilisé dans de la musique pour danser. Il a été créé à
13 l'origine comme une aide de travail pour les guitaristes. Ils ont
14 imaginé que les gens les programmeraient pour jouer des lignes de
15 basse d'accompagnement. Malheureusement il y avait un certain nombre
16 de problèmes : ils étaient un peu compliqués à programmer, ne
17 sonnaient pas particulièrement bien comme remplacement de guitare
18 basse et ils étaient assez chers. Décidant d'arrêter les frais, Roland
19 a cessé d'en fabriquer après en avoir vendu 10'000 unités et après un
20 certain nombres d'années à rester sur les étagères des guitaristes,
21 ils se retrouvés dans les vitrines des magasins d'occasion. C'est
22 pauvres TB-303 rejetés attendaient d'être découverts par une nouvelle
23 génération d'expérimentateurs qui ont commencé à les utiliser dans des
24 manières que Roland n'avait pas imaginées pour créer des sons fous.
25 La house acide était née.
26
27
28 Même si se procurer un TB-303 original n'est pas si facile vous serez
29 heureux d'apprendre que vous pouvez transformer votre Raspberry Pi en
30 TB-303 en utilisant la puissance de Sonic Pi. Lancez Sonic Pi, copiez
31 ce code dans un buffer vide et cliquez sur 'Run' :
32
33 use_synth :tb303
34 play :e1
35
36 Instant acid bass! Let's play around...
37
38 # Presse cette basse
39
40 Commençons par construire un arpège interactif pour rendre les choses
41 amusantes. Dans le dernier tutoriel nous avons vu comment des mélodies
42 peuvent être juste un anneau de notes qu'on joue les unes après les
43 autres, en répétant quand on arrive à la fin. Créons une boucle
44 interactive qui fait cela :
45
46 use_synth :tb303
47 live_loop :squelch do
48 n = (ring :e1, :e2, :e3).tick
49 play n, release: 0.125, cutoff: 100, res: 0.8, wave: 0
50 sleep 0.125
51 end
52
53 Regardons chaque ligne.
54
55 1. A la première ligne choisit `tb303` comme synthé par défaut avec la
56 fonction `use_synth`.
57
58 2. A la deuxième ligne on crée une boucle interactive du nom de
59 `:squelch` qui va juste boucler encore et encore.
60
61 3. A la troisième ligne on crée notre mélodie : un anneau de notes (E
62 ou Mi aux octaves 1, 2 et 3) et on le parcourt simplement avec
63 `.tick`. On définit `n` pour représenter la note courante de la
64 mélodie. Le signe égal veut juste dire qu'on affecte la valeur à
65 droite au nom à gauche. Cette valeur sera différente à chaque
66 boucle. La première fois `n` aura la valeur `:e1`. La deuxième fois
67 ce sera `:e2`, puis `:e3`, puis de nouveau `:e1`, en bouclant à
68 l'infini.
69
70 4. A la ligne quatre on joue notre synthé `:tb303`. On lui passe
71 quelques options intéressantes : `release:`, `cutoff:`, `res:` et
72 `wave:` que l'on décrira plus bas.
73
74 5. La ligne cinq est notre `sleep` : on demande à la boucle
75 interactive de boucler toutes les `0.125`secondes ou 8 fois par
76 seconde au BPM par défaut de 60
77
78 6. La ligne six est la fin de la boucle interactive. Le mot `end`
79 indique juste à Sonic Pi où se termine la boucle interactive.
80
81
82 Alors que vous êtes encore en train de vous familiariser avec ce qui
83 se passe, tapez le code ci-dessous et cliquez sur le bouton 'Run'.
84 Vous devriez entendre le `:tb303` entrer en action. C'est ici le coeur
85 de l'action : commençons à programmer de manière interactive.
86
87 Pendant que la boucle tourne, changez l'option `cutoff:` en `110`.
88 Puis cliquez à nouveau sur le bouton 'Run'. Vous devriez entendre le
89 son devenir un peu plus dur et sec. Montez à `120` et cliquez sur
90 'Run'. Puis `130`. Ecoutez comme les valeurs hautes de coupure rendent
91 le son plus perçant et intense. Enfin, descendez à `80` quand vous
92 sentirez que vous voulez un peu de repos. Puis répétez ça autant que
93 vous voulez. Pas d'inquiétude, je serai toujours là...
94
95 Une autre option qui vaut le coup d'être utilisée est `res:`. Elle
96 contrôle le niveau de résonance du filtre. Une haute résonance est
97 caractéristique des sons de basse acide. Nous avons pour le moment une
98 `res:` de `0.8`. Essayez de la monter à `0.85`, puis `0.9`, et enfin
99 `0.95`. Un cutoff de `110` ou plus peut permettre d'entendre plus
100 facilement les différences. Enfin défoulez-vous et montez jusque
101 `0.999` pour avoir des sons déments. Avec une `res` aussi haute vous
102 entendez le filtre de coupure résonner tant qu'il commence à faire ses
103 propres sons.
104
105 Enfin pour avoir un grand impact sur le timbre essayez de mettre
106 l'option `wave:` à `1`. C'est le choix de l'oscillateur source. La
107 valeur par défaut est `0` qui est une onde en dents de scie.
108
109 Bien sûr, essayez différentes mélodies en changeant les notes dans
110 l'anneau ou même en choisissant des notes de gammes ou d'accords.
111 Amusez-vous bien avec votre premier synthé de basse acide.
112
113 # Déconstruisons le TB-303
114
115 Le design du TB-303 original était en fait assez simple. Comme vous
116 pouvez le voir sur le diagramme suivant il n'y a que quatre parties
117 principales.
118
119 ![TB-303 Design](../images/tutorial/articles/A.05-acid-bass/tb303-design.png)
120
121 En premier on a l'onde oscillatoire : les ingrédients de base du son.
122 Dans ce cas nous avons une onde carrée. Ensuite on a l'enveloppe
123 d'amplitude de l'oscillateur qui contrôle l'amplitude de l'onde carrée
124 au cours du temps. On peut y accéder dans Sonic Pi avec les options
125 `attack:`, `decay:`, `sustain:` et `release:` ainsi que leur niveau
126 correspondant. Pour plus d'informations lisez la Section 2.4 'Durée
127 avec enveloppes' dans le tutoriel inclus dans Sonic Pi. On passe
128 ensuite notre onde carrée enveloppée dans un filtre passe bas
129 résonant. Cela coupe les hautes fréquences et a un bel effet de
130 résonance. Et c'est ici que ça devient amusant. La valeur de coupure
131 de ce filtre est aussi contrôlée par sa propre enveloppe ! Cela veut
132 dire que nous avons un contrôle incroyable sur le timbre du son en
133 jouant avec ces deux enveloppes. Jetons-y un oeil :
134
135
136 use_synth :tb303
137 with_fx :reverb, room: 1 do
138 live_loop :space_scanner do
139 play :e1, cutoff: 100, release: 7, attack: 1, cutoff_attack: 4, cutoff_release: 4
140 sleep 8
141 end
142 end
143
144 Pour chaque option standard d'enveloppe, il y a une option `cutoff_`
145 équivalente dans le synthé `:tb303`. Donc, pour changer le temps
146 d'attaque de la coupure on peut utiliser l'option `:cutoff_attack`.
147 Copiez le code ci-dessus dans un buffer vide et cliquez sur 'Run'.
148 Vous entendrez un son fou entrer et sortir. Maintenant essayez de
149 jouer avec. Essayez de changer la durée de `cutoff_attack:` en `1`
150 puis en `0.5`. Puis essayez `8`.
151
152 Remarquez que j'ai passé tout cela à travers un effet `:reverb` pour
153 plus d'atmosphère : essayez d'autres effets pour voir ce qui marche !
154
155 ## Rassemblons tout
156
157 Enfin voici un morceau que j'ai composé en utilisant les idées de ce
158 tutoriel. Copiez le dans un buffer vide, écoutez un peu, puis
159 commencez à programmer interactivement vos changements. Voyez quels
160 sons fous vous pouvez faire avec ! A la prochaine...
161
162 use_synth :tb303
163 use_debug false
164
165 with_fx :reverb, room: 0.8 do
166 live_loop :space_scanner do
167 with_fx :slicer, phase: 0.25, amp: 1.5 do
168 co = (line 70, 130, steps: 8).tick
169 play :e1, cutoff: co, release: 7, attack: 1, cutoff_attack: 4, cutoff_release: 4
170 sleep 8
171 end
172 end
173
174 live_loop :squelch do
175 use_random_seed 3000
176 16.times do
177 n = (ring :e1, :e2, :e3).tick
178 play n, release: 0.125, cutoff: rrand(70, 130), res: 0.9, wave: 1, amp: 0.8
179 sleep 0.125
180 end
181 end
182 end
0 A.6 Minecraft musical
1
2 # Minecraft musical
3
4
5
6 Bonjour et bienvenue à nouveau ! Dans les tutoriels précédents nous
7 nous somes concentrés exclusivement sur les possibilités mnusicales de
8 Sonic Pi, en transformant votre Raspberry Pi en instrument de musique
9 prêt à l'emploi. Jusqu'ici nous avons appris comment :
10
11 * Programmer de manière interactive, en changeant les sons à la volée,
12 * Coder des rythmes imposants,
13 * Générer des mélodies de synthé puissantes
14 * recréer le fameux son TB-303 de basse acide
15
16 Il y a tellement plus à vous montrer, et nous l'explorerons dans de
17 futures éditions. Cependant, ce mois-ci, nous allons regarder une
18 chose que Sonic Pi sait faire et que vous n'avez probablement pas
19 remarquée : contrôler Minecraft.
20
21
22 # Bonjour, monde de Minecraft
23
24 OK, commençons. Démarrez votre Raspberry Pi, lancez Minecraft Pi et
25 créez un nouveau monde. Maintenant démarrez Sonic Pi et déplacez vos
26 fenêtres de manière à pouvoir voir Sonic Pi et Minecraft Pi en même
27 temps.
28
29 Dans un buffer disponible tapez ce qui suit :
30
31 mc_message "Hello Minecraft from Sonic Pi!"
32
33 Maintenant cliquez sur 'Run'. Boum ! Votre message est apparu dans
34 Minecraft ! C'était facile, non ? Maintenant arrêtez un moment de lire
35 ceci et jouez un peu avec vos propres messages. Amusez-vous !
36
37 ![Screen 0](../images/tutorial/articles/A.06-minecraft/Musical-Minecraft-0-small.png)
38
39 # Téléportation sonique
40
41 Explorons un peu. L'option standard est de saisir la souris et le
42 clavier et de commencer à se promener. Ca marche, mais c'est assez
43 lent et ennuyeux. Ce serait beaucoup mieux si on avait une sorte de
44 machine de téléportation. Eh bien, grâce à Sonic Pi, on en a une.
45 Essayez ceci :
46
47 mc_teleport 80, 40, 100
48
49 Oh ! On est monté bien haut. Si vous n'étiez pas en mode volant vous
50 avez du retomber jusqu'au sol. Si vous double-tapez Espace pour entrer
51 en mode volant et vous téléportez à nouveau, vous resterez en l'air
52 à l'endroit où vous vous êtes déplacés.
53
54 Maintenant, qu'est-ce que ces nombres signifient ? Nous avons trois
55 nombres qui décrivent les coordonnées de l'endroit du monde où vous
56 voulez vous déplacer. On donne à chacun de ces nombres un nom : x, y
57 et z.
58
59 * x - à quelle distance vers la gauche ou la droite (80 dans notre exemple)
60 * y - à quelle hauteur on veut être (40 dans notre exemple)
61 * z - à quelle distance vers l'avant ou l'arrière (100 dans notre exemple)
62
63 En choisissant différentes valeurs pour x, y, et z, on peut se
64 téléporter *n'importe où* dans notre monde. Essayez ! Choisissez
65 différents nombres et regardez où vous vous retrouvez. Si l'écran
66 devient noir c'est que vous vous êtes téléportés sous terre ou dans
67 une montagne. Choisissez juste une valeur de y plus grande pour vous
68 retrouver au-dessus de la terre. Continuez à explorer jusqu'à ce que
69 vous trouviez un endroit qui vous plaise...
70
71 En utilisant les idées vues jusqu'ici, construisons un téléporteur
72 sonique qui fera un son amusant de téléportation quand il nous fera
73 voyager à travers le monde de Minecraft :
74
75 mc_message "Preparing to teleport...."
76 sample :ambi_lunar_land, rate: -1
77 sleep 1
78 mc_message "3"
79 sleep 1
80 mc_message "2"
81 sleep 1
82 mc_message "1"
83 sleep 1
84 mc_teleport 90, 20, 10
85 mc_message "Whoooosh!"
86
87 ![Screen 1](../images/tutorial/articles/A.06-minecraft/Musical-Minecraft-1-small.png)
88
89 # Blocs magiques
90
91 Maintenant que vous avez trouvé un endroit sympathique, commençons à
92 construire. Vous pourriez faire comme vous en avez l'habitude et
93 commencer à cliquer furieusement la souris pour placer des blocs sous
94 le curseur. Ou vous pourriez utiliser la magie de Sonic Pi. Essayez
95 ceci :
96
97
98 x, y, z = mc_location
99 mc_set_block :melon, x, y + 5, z
100
101 Maintenant regardez vers le haut ! Il y a un melon dans le ciel !
102 Prenez un moment pour regarder le code. Qu'est-ce qu'on a fait ? Sur
103 la première ligne on a attrapé l'emplacement actuel de Steve dans les
104 variables x, y et z. Elles correspondent aux coordonnées décrites
105 ci-dessus. Nous utilisons ces coordonnées dans la fonction
106 `mc_set_block` qui va placer le bloc de votre choix aux coordonnées
107 spécifiées. Pour placer quelque chose plus haut dans le ciel on doit
108 juste augmenter la valeur de y, c'est pour ça qu'on lui ajoute 5.
109 Faisons un chemin de melons :
110
111 live_loop :melon_trail do
112 x, y, z = mc_location
113 mc_set_block :melon, x, y-1, z
114 sleep 0.125
115 end
116
117 Maintenant sautez dans Minecraft, assurez-vous d'être en mode volant
118 (tapez deux fois sur Espace sinon) et volez autour du monde. Regardez
119 derrière vous pour voir un beau chemin de blocs de melon ! Voyez quels
120 dessins tordus vous pouvez faire dans le ciel.
121
122 # Programmer Minecraft de manière interactive
123
124 Ceux d'entre vous qui ont suivi ce tutoriel pendant les derniers mois
125 doivent être bien étonnés. Le chemin de melons est assez cool, mais la
126 partie la plus excitante de l'exemple précédent est qu'on peut
127 utiliser la `live_loop` avec Minecraft ! Pour ceux qui ne savent pas,
128 la `live_loop` est la faculté magique et spéciale de Sonic Pi qu'aucun
129 autre langage de programmation ne possède. Elle vous permet d'exécuter
130 des boucles multiples en même temps et vous permet de les modifier
131 pendant qu'elles tournent. Elles sont incroyablement puissantes et
132 amusantes. J'utilise les `live_loop`s pour jouer de la musique dans
133 des boîtes de nuit avec Sonic Pi : les DJs utilisent des disques et
134 moi j'utilise des `live_loop`s :-) Cependant aujourd'hui nous allons
135 programmer de manière interactive de la musique et Minecraft.
136
137
138
139 Commençons. Exécutez le code ci-dessus et commencez à faire votre
140 chemin de melons de nouveau. Maintenant, sans arrêter le code, changez
141 simplement `:melon` en `:brick` et cliquez sur `Run`. Eh voilà, vous
142 construisez maintenant un chemin de briques. C'était simple, non ?
143 Un peu de musique pour accompagner ça ? Facile. Essayez ceci :
144
145 live_loop :bass_trail do
146 tick
147 x, y, z = mc_location
148 b = (ring :melon, :brick, :glass).look
149 mc_set_block b, x, y -1, z
150 note = (ring :e1, :e2, :e3).look
151 use_synth :tb303
152 play note, release: 0.1, cutoff: 70
153 sleep 0.125
154 end
155
156 Maintenant pendant que ça joue commencez à modifier le code. Changez
157 les types de bloc : essayez `:water`, `:grass` ou votre type de bloc
158 préféré. Aussi, essayez de changer la valeur de coupure de `70` à `80`
159 puis jusque `100`. N'est-ce pas amusant ?
160
161 ## Rassemblons tout
162
163 ![Screen 2](../images/tutorial/articles/A.06-minecraft/Musical-Minecraft-2-small.png)
164
165 Rassemblons tout ce que nous avons vu jusqu'ici avec un peu de magie
166 en plus. Combinons notre faculté de téléportation avec placement de
167 blocs et la musique pour faire une vidéo de musique Minecraft. Ne vous
168 inquiétez pas si vous ne comprenez pas tout, tapez juste le code et
169 jouez ensuite à modifier quelques-unes des valeurs pendant qu'il
170 s'exécute. Amusez-vous bien et à la prochaine...
171
172
173 live_loop :note_blocks do
174 mc_message "This is Sonic Minecraft"
175 with_fx :reverb do
176 with_fx :echo, phase: 0.125, reps: 32 do
177 tick
178 x = (range 30, 90, step: 0.1).look
179 y = 20
180 z = -10
181 mc_teleport x, y, z
182 ns = (scale :e3, :minor_pentatonic)
183 n = ns.shuffle.choose
184 bs = (knit :glass, 3, :sand, 1)
185 b = bs.look
186 synth :beep, note: n, release: 0.1
187 mc_set_block b, x+20, n-60+y, z+10
188 mc_set_block b, x+20, n-60+y, z-10
189 sleep 0.25
190 end
191 end
192 end
193
194 live_loop :beats do
195 sample :bd_haus, cutoff: 100
196 sleep 0.5
197 end
198
199
200
201
202
0 A.7 Battements de Bizet
1
2 # Battements de Bizet
3
4 Après notre briève excursion dans le monde fantastique de la
5 programmation Minecraft avec Sonic Pi le mois dernier, penchons nous
6 sur la musique à nouveau. Aujourd'hui nous allons amener un morceau
7 classique de danse d'opéra droit dans le 21e siècle en utilisant
8 la puissance fantastique du code.
9
10 # Scandaleux et perturbateur
11
12 Sautons dans une machine à remonter le temps jusqu'en 1875. Un
13 compositeur nommé Bizet avait juste terminé son dernier opéra :
14 Carmen. Malheureusement comme beaucoup de nouveaux morceaux excitants
15 et perturbateurs les gens ne l'aimaient pas du tout au début parce
16 qu'il était trop scandaleux et différent. Malheureusement Bizet est
17 mort dix ans avant que l'opéra ne connaisse un grand succès
18 international et ne devienne un des opéras les plus connus et les plus
19 fréquemment interprétés de tous les temps. Par sympathie pour cette
20 tragédie nous allons prendre un des thèmes principaux de Carmen et
21 nous allons le convertir dans un format moderne de musique qui est
22 aussi trop scandaleux et différent pour la plupart des gens de notre
23 époque : la musique codée interactive !
24
25 # La Habanera décryptée
26
27 Essayez de programmer un opéra entier de manière interactive serait un
28 peu ambitieux pour ce tutoriel, concentrons nous sur une des ses plus
29 célèbres parties : la ligne de basse de la Habanera :
30
31 ![Habanera Riff](../images/tutorial/articles/A.07-bizet/habanera.png)
32
33 Cela peut vous sembler complètement illisible si vous n'avez pas
34 étudié la notation musicale. Cependant, en tant que programmeurs nous
35 voyons la notation musicale comme juste une autre forme de code, elle
36 représente juste des instructions pour un musicien au lieu d'un
37 ordinateur.
38
39 # Notes
40
41 Les notes sont arrangées de gauche à droite comme les mots dans ce
42 magasine mais elles ont aussi différentes hauteurs. *La hauteur sur la
43 partition représente la hauteur d'une note.* Plus une note est haut
44 sur la partition, plus sa hauteur est grande.
45
46 Dans Sonic Pi nous savons déjà comment changer la hauteur d'une note :
47 on peut utiliser des grands ou petits nombres comme `play 75` et
48 `play 80` ou on peut utiliser les noms des notes : `play :E` et
49 `play :F`. Heureusement chacune des positions verticales sur la
50 partition représente un nom de note en particulier. Jetez un oeil à
51 cette table de correspondance bien pratique :
52
53 ![Notes](../images/tutorial/articles/A.07-bizet/notes.png)
54
55 # Silences
56
57 Les partitions sont une sorte de code extrêmement riche et expressif
58 capable de communiquer de nombreuses choses. Cela ne devrait donc pas
59 nous surprendre que les partitions peuvent non seulement nous dire
60 quelles notes jouer mais aussi quand *ne pas* jouer de note. En
61 programmation c'est à peu près l'équivalent de l'idée de `nil` ou
62 `null` : l'absence de valeur. En d'autres mots ne pas jouer une note
63 c'est comme une absence de note.
64
65 Si vous regardez de près la partition vous verrez que c'est en fait
66 une combinaison de ronds noirs avec des barres qui représentent les
67 notes à jouer et des choses ondulées qui représentent les silences.
68 Heureusement, Sonic Pi a une notation très pratique pour un silence :
69 `:r`, donc si on exécute `play :r` il jouera en fait un silence ! On
70 pourrait aussi écrire `play :rest`, `play nil` ou `play false` qui
71 sont autant de manières équivalentes de représenter un silence.
72
73 # Rythme
74
75 Enfin il y a une dernière chose à apprendre à décoder dans la
76 notation : la notion du temps. Dans la notation originale vous verrez
77 que les notes sont liées par des traits épais. La deuxième note a
78 deux de ces traits ce qui veut dire qu'elle dure un 16e de temps. Les
79 autres notes ont un seul trait ce qui veut dire qu'elles durent un 8e
80 de temps. Le silence a aussi deux traits ondulés ce qui veut dire
81 qu'il représente aussi un 16e de temps.
82
83 Quand on essaie de décoder et d'explorer de nouvelles choses un truc
84 très pratique est de rendre tout le plus semblable possible pour
85 essayer de voir des relations ou modèles. Par exemple quand on réécrit
86 notre notation uniquement en double-croches on peut voir que notre
87 notation devient une séquence agréable de notes et de silences.
88
89
90 ![Habanera Riff 2](../images/tutorial/articles/A.07-bizet/habanera2.png)
91
92 # Re-programmer la Habanera
93
94 Nous sommes maintenant prêts a traduire cette ligne de basse dans
95 Sonic Pi. Encodons ces notes et silences dans un anneau :
96
97 (ring :d, :r, :r, :a, :f5, :r, :a, :r)
98
99 Voyons ce que ça donne. Jetons ça dans une boucle interactive et
100 parcourons-là :
101
102 live_loop :habanera do
103 play (ring :d, :r, :r, :a, :f5, :r, :a, :r).tick
104 sleep 0.25
105 end
106
107 Fabuleux, cette mélodie qu'on reconnait immédiatement prend vie dans
108 vos haut-parleurs. On a fait des efforts pour en arriver là, mais ça
109 valait la peine, bravo !
110
111 # Synthés de mauvaise humeur
112
113 Maintenant qu'on a la ligne de basse, essayons de re-créer une partie
114 de l'ambiance de la scène d'opéra. Un synthé à essayer est `:blade`
115 qui est un synthé style années 80. Essayons le avec la note de départ
116 `:d` passée dans un slicer et de la reverb :
117
118 live_loop :habanera do
119 use_synth :fm
120 use_transpose -12
121 play (ring :d, :r, :r, :a, :f5, :r, :a, :r).tick
122 sleep 0.25
123 end
124
125 with_fx :reverb do
126 live_loop :space_light do
127 with_fx :slicer, phase: 0.25 do
128 synth :blade, note: :d, release: 8, cutoff: 100, amp: 2
129 end
130 sleep 8
131 end
132 end
133
134 Maintenant essayez les autres notes de la ligne de basse : `:a` et
135 `:f5`. Souvenez-vous que vous n'avez pas besoin de cliquer sur 'Stop',
136 vous pouvez juste modifier le code pendant que la musique tourne et
137 ensuite cliquer sur 'Run' à nouveau. Aussi essayez différentes valeurs
138 pour l'option `phase:` du slicer comme `0.5`, `0.75` et `1`.
139
140
141 ## Rassemblons tout
142
143 Enfin, combinons toutes les idées vues jusqu'ici dans un nouveau remix
144 de la Habanera. Vous remarquerez peut-être que j'ai inclus une autre
145 partie de la ligne de basse en commentaire. Quand vous aurez tout tapé
146 dans un buffer de libre cliquez sur 'Run' pour entendre la
147 composition. Maintenant, sans cliquer sur 'Stop', *décommentez* la
148 seconde ligne en enlevant le `#` et cliquez sur 'Run' à nouveau :
149 c'est merveilleux, non ? Maintenant amusez-vous à le modifier vous-même.
150
151 use_debug false
152 bizet_bass = (ring :d, :r, :r, :a, :f5, :r, :a, :r)
153 #bizet_bass = (ring :d, :r, :r, :Bb, :g5, :r, :Bb, :r)
154
155 with_fx :reverb, room: 1, mix: 0.3 do
156 live_loop :bizet do
157 with_fx :slicer, phase: 0.125 do
158 synth :blade, note: :d4, release: 8,
159 cutoff: 100, amp: 1.5
160 end
161 16.times do
162 tick
163 play bizet_bass.look, release: 0.1
164 play bizet_bass.look - 12, release: 0.3
165 sleep 0.125
166 end
167 end
168 end
169
170 live_loop :ind do
171 sample :loop_industrial, beat_stretch: 1,
172 cutoff: 100, rate: 1
173 sleep 1
174 end
175
176 live_loop :drums do
177 sample :bd_haus, cutoff: 110
178 synth :beep, note: 49, attack: 0,
179 release: 0.1
180 sleep 0.5
181 end
182
0 A.8 Devenez un VJ Minecraft
1
2 # Devenez un VJ Minecraft
3
4 ![Screen 0](../images/tutorial/articles/A.08-minecraft-vj/minecraft-vj-0-small.png)
5
6 Tout le monde a joué à Minecraft. Vous aurez tous construit des
7 structures incroyables, conçu des pièges rusés et même créé des lignes
8 de chariots raffinées contrôlées par des interrupteurs de pierre
9 rouge. Mais qui parmi vous s'est produit avec Minecraft ? On parie que
10 vous ne saviez pas que vous pouvez utiliser Minecraft pour créer des
11 animations visuelles incroyables tout comme un VJ professionnel.
12
13 Si votre seule possibilité de modifier Minecraft était d'utiliser la
14 souris, vous auriez du mal à changer les choses suffisamment vite.
15 Heureusement pour vous votre Raspberry Pi a une version de Minecraft
16 qui peut être contrôlée avec du code. Il contient aussi une application
17 nommée Sonic Pi qui rend la programmation Minecraft non seulement facile
18 mais aussi incroyablement amusante.
19
20 Dans l'article d'aujourd'hui nous allons vous montrer quelques trucs
21 et astuces que nous avons utilisés pour créer des spectacles dans des
22 boîtes de nuit et salles de concert autour du monde.
23
24 Commençons...
25
26 # Commencer
27
28 Commençons avec un simple exercice d'échauffement pour nous rappeler
29 les bases. Commencez par allumer votre Raspberry Pi et lancer
30 Minecraft et Sonic Pi. Dans Minecraft, créez un nouveau monde, et dans
31 Sonic Pi choisissez un buffer de libre et écrivez-y ce code :
32
33 mc_message "Let's get started..."
34
35 Cliquez sur le bouton 'Run' et vous verrez le message dans la fenêtre
36 Minecraft. OK, on est prêt à démarrer, on va s'amuser...
37
38 # Tempêtes de sable
39
40 Quand on utilise Minecraft pour créer des visuels on essaie de penser
41 à des choses qui auront l'air intéressantes et qui seront aussi
42 faciles à générer avec du code. Un truc sympa est de créer une tempête
43 de sable en laissant tomber des bloc de sable du ciel. Pour cela on a
44 juste besoin de quelques fonctions simples :
45
46 * `sleep` : pour insérer un délai entre des actions
47 * `mc_location` : pour trouver notre emplacement courant
48 * `mc_set_block` : pour positionner des blocs de sable à un endroit particulier
49 * `rrand` : pour nous permetre de générer des valeurs aléatoires dans un intervalle
50 * `live_loop` : pour nous permettre de faire pleuvoir du sable en continu
51
52 <!-- Breakout box start -->
53
54 Si vous ne connaissez pas une des ces fonctions comme `rrand`, vous
55 pouvez juste taper le mot dans votre buffer, cliquer dessus, puis
56 taper `Control-i` sur le clavier pour ouvrir la documentation. Vous
57 pouvez aussi aller dans l'onglet *lang* du système d'aide puis
58 y chercher directement les fonctions et toutes sortes d'autres choses
59 excitantes que vous pouvez faire.
60
61
62 <!-- Breakout box end -->
63
64 Commençons par faire tomber un peu de pluie avant de laisser la
65 tempête complète éclater. Récupérez votre emplacement courant et
66 utilisez-la pour créer quelques blocs de sable dans le ciel pas loin :
67
68 x, y, z = mc_location
69 mc_set_block :sand, x, y + 20, z + 5
70 sleep 2
71 mc_set_block :sand, x, y + 20, z + 6
72 sleep 2
73 mc_set_block :sand, x, y + 20, z + 7
74 sleep 2
75 mc_set_block :sand, x, y + 20, z + 8
76
77 Après avoir cliqué sur 'Run', vous devrez peut-être un peu regarder
78 autour de vous car les blocs peuvent commencer par tomber derrière
79 vous, suivant dans quelle direction vous êtes pour le moment. N'ayez
80 pas peur, si vous les avez raté, cliquez à nouveau sur 'Run' pour
81 créer encore un peu de pluie de sable, assurez-vous juste de regarder
82 dans la bonne direction.
83
84 Parcourons rapidement ce qui se passe ici. Sur la première ligne nous
85 avons récupéré l'emplacement Steve en coordonnées avec la fonction
86 `mc_location` et les avons placées dans les variables `x`, `y` et `z`.
87 Puis sur les lignes suivantes nous avons utilisé la fonction
88 `mc_set_block` pour placer un peu de sable aux mêmes coordonnées que
89 Steve mais avec quelques modifications. On a utilisé la même
90 coordonnée x, une coordonnée y 20 blocs plus haut et des coordonnées z
91 successivement plus larges pour que le sable tombe dans une ligne en
92 s'éloignant de Steve.
93
94 Et si vous preniez ce code et commenciez à jouer avec ? Essayez
95 d'ajouter plus de lignes, de changer la durée d'attente, essayez de
96 mélanger du `:sand` avec du `:gravel` et choisissez différentes
97 coordonnées. Expérimentez et amusez-vous !
98
99 # Boucles interactives déchaînées
100
101 OK, il est l'heure de lancer la tempête en déchaînant la puissance
102 complète de la `live_loop` : la capacité magique de Sonic Pi qui
103 montre la puissance entière de la programmation interactive : changer
104 le code à la volée pendant qu'il est en train de s'exécuter !
105
106 live_loop :sand_storm do
107 x, y, z = mc_location
108 xd = rrand(-10, 10)
109 zd = rrand(-10, 10)
110 co = rrand(70, 130)
111 synth :cnoise, attack: 0, release: 0.125, cutoff: co
112 mc_set_block :sand, x + xd, y+20, z+zd
113 sleep 0.125
114 end
115
116 Qu'est-ce que c'est amusant ! On boucle assez vite (8 fois par
117 seconde) et pendant chaque boucle on trouve l'emplacement de Steve
118 comme avant mais on génère ensuite trois valeurs aléatoires :
119
120 * `xd` : la différence pour x qui sera entre -10 et 10
121 * `zd` : la différence pour z, aussi entre -10 et 10
122 * `co` : une valeur de coupure pour le filtre passe-bas, entre 70 et 130
123
124 On utilise ensuite ces valeurs aléatoires dans les fonctions `synth`
125 et `mc_set_block` ce qui nous donne du sable qui tombe dans des
126 endroits aléatoires autour de Steve ainsi qu'un son percussif
127 semblable à de la pluie, joué le synthé `:cnoise`.
128
129 Pour ceux d'entre vous qui ne connaissaient pas les boucles
130 interactives : c'est là qu'on commence vraiment à s'amuser avec Sonic
131 Pi. Pendant que le code tourne et que le sable pleut, essayez de
132 changer une des valeurs, peut-être la valeur d'attente à `0.25` ou
133 le type de bloc `:sand` en `:gravel`. Ensuite cliquez sur 'Run' à
134 nouveau. Et voilà ! Les choses changent sans que le code ne s'arrête.
135 C'est votre passerelle pour vous produire comme un vrai VJ. Continuez
136 à vous exercer à changer des choses. Jusqu'où arrivez-vous à modifier
137 les visuels sans arrêter le code ?
138
139
140 # Des formes de blocs épiques
141
142 ![Screen 1](../images/tutorial/articles/A.08-minecraft-vj/minecraft-vj-1-small.png)
143
144 Enfin une autre super façon de générer des visuels intéressants est de
145 générer des énormes murs de motifs vers lesquels voler. Pour cet effet
146 nous allons devoir passer d'un placement aléatoire de blocs à un
147 placement de manière ordonnée. On peut faire cela en imbriquant deux
148 itérations (cliquez sur le bouton 'Aide' et allez dans la section 5.2
149 du tutoriel "Itération et boucles" pour plus d'informations sur
150 l'itération). L'étrange `|xd|` après le `do` veut dire que `xd`
151 prendra une valeur à chaque boucle de l'itération. La première fois il
152 vaudra `0`, puis `1`, puis `2`, etc. En imbriquant deux itérations
153 comme cela on peut générer toutes les coordonnées d'un carré. On peut
154 ensuite choisir aléatoirement des types de blocs d'un anneau de blocs
155 pour obtenir un effet intéressant :
156
157 x, y, z = mc_location
158 bs = (ring :gold, :diamond, :glass)
159 10.times do |xd|
160 10.times do |yd|
161 mc_set_block bs.choose, x + xd, y + yd, z
162 end
163 end
164
165 Pas mal. Pendant qu'on s'amuse ici, essayez de changer `bs.choose` en
166 `bs.tick` pour passer d'un motif aléatoire à un motif plus régulier.
167 Essayez de changer les types de blocs et les plus aventureux parmi
168 vous voudrons peut-être mettre ce code dans une `live_loop` pour que
169 les modifs continuent à changer automatiquement.
170
171 Enfin, pour la fin du set du VJ, changez les deux `10.times` en
172 `100.times` et cliquez sur 'Run'. Boum ! Un énorme mur géant de
173 briques aléatoires. Imaginez combien de temps ça vous aurait pris de
174 construire ça avec votre souris ! Double-tapez la touche Espace pour
175 entrer en mode volant et commencez à planer pour obtenir de super
176 effets visuels. Ne vous arrêtez pas là, utilisez votre imagination
177 pour trouver des idées sympa et utilisez ensuite la puissance de
178 programmation de Sonic Pi pour le réaliser. Quand vous vous serez
179 suffisamment exercés, baissez la lumière et donnez un spectacle de VJ
180 pour vos amis !
0 A.9 L'aléatoire
1
2 # Surfer sur des flux aléatoires
3
4 Dans le quatrième épisode de cette série de tutoriels nous avons jeté
5 un oeil brièvement à l'aléatoire en codant des riffs grésillants de
6 synthé. Vu comme l'aléatoire est une partie très importante de mes
7 performances de live coding j'ai pensé qu'il serait utile d'en couvrir
8 les bases plus en détail. Mettez votre casquette et surfons sur des
9 flux aléatoires !
10
11 # Il n'y a pas d'aléatoire
12
13 La première chose à apprendre qui pourrait vraiment vous surprendre en
14 jouant avec les fonctions aléatoires de Sonic Pi c'est qu'elles ne
15 sont en fait pas vraiment aléatoires. Qu'est-ce que cela signifie ?
16 Eh bien, faisons quelques essais. Commencez par imaginer un nombre
17 dans votre tête entre 0 et 1. Gardez-le en tête et ne me le dites pas.
18 Maintenant, laissez-moi deviner... est-ce que c'était `0.321567` ?
19 Non ? Bah, je ne suis clairement pas bon à ce jeu. Essayons encore une
20 fois, mais demandons à Sonic Pi de choisir un nombre cette fois.
21 Lancez Sonic Pi version 2.7 ou plus et demandez lui un nombre
22 aléatoire mais de nouveau ne me dites pas le résultat.
23
24
25 print rand
26
27 Et maintenant pour le truc... est-ce que c'était `0.75006103515625` ?
28 Oui ! Ha, je vois que vous êtes un peu sceptique. C'était peut-être
29 juste de la chance. Essayons encore. Cliquez sur 'Run' à nouveau et
30 regardons ce qu'on obtient... Quoi ? Encore `0.75006103515625` ? Ca ne
31 peut clairement pas être aléatoire ! Vous avez raison, ça ne l'est pas.
32
33 Qu'est-ce qui se passe ici ? Le mot savant d'informatique pour ceci
34 est le déterminisme. Cela veut juste dire que rien n'a lieu par hasard
35 et que tout a sa destinée. Votre version de Sonic Pi a le destin de
36 toujours retourner `0.75006103515625` dans le programme ci-dessus.
37 Cela peut sembler assez inutile, mais laissez moi vous assurer que
38 c'est une des parties les plus puissantes de Sonic Pi. Si vous
39 persévérez vous apprendrez comment compter sur la nature
40 déterministique de l'aléatoire dans Sonic Pi comme un bloc de
41 construction fondamental pour vos compositions et performances de live
42 coding.
43
44 # Une mélodie aléatoire
45
46 Quand Sonic Pi démarre il charge en fait en mémoire une séquence de
47 441 000 valeurs aléatoires pré-générées. Quand vous appelez une
48 fonction aléatoire comme `rand` ou `rrand`, ce flux aléatoire est
49 utilisé pour générer votre résultat. Chaque appel à une fonction
50 aléatoire consomme une valeur de ce flux. Ainsi le dixième appel à une
51 fonction aléatoire utilisera la dixième valeur du flux. Aussi, chaque
52 fois que vous cliquez sur le bouton 'Run', le flux est réinitialisé
53 pour cette exécution. C'est pour cela que j'ai pu prédire le résultat
54 de `rand` et pourquoi la mélodie 'aléatoire' était la même à chaque
55 fois. La version de Sonic Pi de chacun utilise exactement le même flux
56 aléatoire ce qui est très important quand on commence à partager nos
57 morceaux.
58
59 Utilisons cette connaissance pour générer une mélodie aléatoire
60 répétable :
61
62 8.times do
63 play rrand_i(50, 95)
64 sleep 0.125
65 end
66
67 Tapez ceci dans un buffer de libre et cliquez sur 'Run'. Vous
68 entendrez une mélodie de notes aléatoires entre 50 et 95. Quand elle
69 aura fini, cliquez sur 'Run' à nouveau pour entendre exactement la
70 même mélodie à nouveau.
71
72 *start breakout box*
73 ## Des fonctions aléatoires pratiques
74
75 Sonic Pi contient un certain nombre de fonctions utiles pour
76 travailler avec le flux aléatoire. Voici une liste des plus utiles :
77
78 * `rand` : retourne simplement la prochaine valeur dans le flux aléatoire
79 * `rrand` : retourne une valeur aléatoire dans un intervalle
80 * `rrand_i` : retourne une valeur entière aléatoire dans un intervalle
81 * `one_in` : retourne vrai ou faux pour une probabilité donnée
82 * `dice` : imite un jet de dé et retourne une valeur entre 1 et 6
83 * `choose` : choisit une valeur aléatoire dans une liste
84
85 Regardez leur documentation dans le système d'aide pour des
86 informations détaillées et des exemples.
87
88 *end breakout box*
89
90 # Réinitialiser le flux
91
92 Même si la capacité de répéter une séquence de notes choisies est
93 essentielle pour vous permettre de rejouer une mélodie sur la piste de
94 danse, ça pourrait ne pas être exactement la mélodie que vous
95 souhaitez. Ne serait-ce pas génial si on pouvait essayez différentes
96 mélodies et choisir celle qu'on préfère ? C'est ici que la vraie
97 magie commence.
98
99 On peut régler le flux manuellement avec la fonction
100 `use_random_seed`. En informatique, une graine aléatoire est le point
101 de départ à partir duquel un nouveau flux de valeurs aléatoires peut
102 fleurir. Essayons-le :
103
104
105 use_random_seed 0
106 3.times do
107 play rrand_i(50, 95)
108 sleep 0.125
109 end
110
111 Super, on récupère les trois premières notes de notre mélodie
112 aléatoire ci-dessus : `84`, `83` et `71`. Cependant on peut
113 maintenant changer la graine. Par exemple :
114
115 use_random_seed 1
116 3.times do
117 play rrand_i(50, 95)
118 sleep 0.125
119 end
120
121
122 Intéressant, on obtient `83`, `71` et `61`. Vous avez peut-être
123 remarqué que les deux premiers nombres ici sont les mêmes que les deux
124 derniers nombres d'avant : ce n'est pas une coïncidence.
125
126 Rappelez-vous que le flux aléatoire est juste une liste géante de
127 valeurs pré-choisies. Choisir une graine aléatoire nous déplace juste
128 en un point de la liste. Une autre manière de voir ça est d'imaginer
129 un énorme jeu de cartes pré-mélangées. Utiliser une graine aléatoire,
130 c'est couper le jeu en un point particulier. Ce qui est fabuleux avec
131 ça c'est qu'on peut se déplacer dans le flux aléatoire, ce qui nous
132 donne un énorme pouvoir quand on fait de la musique.
133
134 Revisitons notre mélodie aléatoire de huit notes avec cette nouvelle
135 capacité de réinitialiser le flux, et mettons là dans une boucle
136 interactive pour pouvoir expérimenter pendant qu'elle joue :
137
138 live_loop :random_riff do
139 use_random_seed 0
140 8.times do
141 play rrand_i(50, 95), release: 0.1
142 sleep 0.125
143 end
144 end
145
146 Maintenant, pendant qu'elle est en train de jouer, changez la valeur
147 de la graine de `0` en quelque chose d'autre. Essayez `100`, ou
148 pourquoi pas `999`. Essayez vos propres valeurs, expérimentez et
149 amusez-vous : voyez quelle graine génère la mélodie que vous préférez.
150
151 # Rassemblons tout
152
153 Le tutoriel de ce mois a été un plongeon bien technique dans les
154 entrailles de la fonctionnalité aléatoire de Sonic Pi. J'espère que
155 cela vous a montré un peu comment elle marche et comment vous pouvez
156 commencer à utiliser de l'aléatoire de manière fiable pour créer des
157 motifs reproductibles dans votre musique. Il est important de souligner
158 qu'on peut utiliser de l'aléatoire reproductible *où* on veut. Par
159 exemple, on peut rendre aléatoire l'amplitude des notes, le mix d'un
160 effet, etc. Dans l'avenir nous regarderons de plus près certaines de
161 ces applications, mais pour le moment je vais vous laisser avec un
162 exemple court.
163
164 Tapez le code suivant dans un buffer disponible, cliquez sur 'Run' et
165 commencez à modifier les graines, cliquez sur 'Run' de nouveau
166 (pendant que le code tourne) et explorez les différents sons, rythmes
167 et mélodies que vous pouvez créer. Quand vous en trouvez une qui sonne
168 bien, notez la graine pour pouvoir y revenir plus tard. Enfin, quand
169 vous aurez trouvé quelques graines qui vous plaisent, donnez un
170 concert de live coding à vos amis en changeant simplement entre vos
171 graines préférées pour créer un morceau entier.
172
173 live_loop :random_riff do
174 use_random_seed 10300
175 use_synth :prophet
176 s = [0.125, 0.25, 0.5].choose
177 8.times do
178 r = [0.125, 0.25, 1, 2].choose
179 n = (scale :e3, :minor).choose
180 co = rrand(30, 100)
181 play n, release: r, cutoff: co
182 sleep s
183 end
184 end
185
186 live_loop :drums do
187 use_random_seed 2001
188 16.times do
189 r = rrand(0.5, 10)
190 sample :drum_bass_hard, rate: r, amp: rand
191 sleep 0.125
192 end
193 end
194
195
0 A.10 Contrôle
1
2 # Contrôler votre son
3
4 Jusqu'ici dans cette série nous nous sommes concentrés sur le
5 déclenchement de sons. Nous avons découvert qu'on pouvait déclencher
6 les nombreux synthés présents dans Sonic Pi avec `play` ou `synth` et
7 comment déclencher des samples pré-enregistrés avec `sample`. Nous
8 avons aussi vu comment on pouvait entourer ces sons dans des effets
9 studio tels que la reverb et la distorsion en utilisant la commande
10 `with_fx`. En combinant cela avec le système de chronométrage
11 incroyablement précis de Sonic Pi on peut produire un vaste ensemble
12 de sons, rythmes et mélodies. Cependant, une fois qu'on a
13 soigneusement sélectionné les options d'un son en particulier et qu'on
14 l'a déclenché, on ne peut plus le modifier pendant qu'il est joué,
15 c'est ça ? Non ! Aujourd'hui vous allez apprendre quelque chose de
16 très puissant : comment contrôler des synthés qui sont en train d'être
17 joués.
18
19 ## Un son de base
20
21 Créons un simple son agréable. Lancez Sonic Pi et tapez le code
22 suivant dans un buffer disponible :
23
24 ```
25 synth :prophet, note: :e1, release: 8, cutoff: 100
26 ```
27
28 Maintenant cliquez sur le bouton 'Run' en haut à gauche pour entendre
29 un beau son de synthé grondant. Allez-y, cliquez à nouveau dessus
30 quelques fois pour vous habituer. OK, fini? Commençons à le contrôler !
31
32 ## Noeuds de synthé
33
34 Une fonctionnalité peu connue de Sonic Pi est que les fonctions
35 `play`, `synth` et `sample` retournent ce qu'on appelle un `SynthNode`
36 qui représente un son en train d'être joué. Vous pouvez capturer un de
37 ces `SynthNode`s en utilisant une variable standard et le *contrôler*
38 ensuite dans le futur. Par exemple, changeons la valeur de l'option
39 `cutoff:` après un battement :
40
41 ```
42 sn = synth :prophet, note: :e1, release: 8, cutoff: 100
43 sleep 1
44 control sn, cutoff: 130
45 ```
46
47 Regardons chaque ligne une par une :
48
49 On commence par déclencher le synthé `:prophet` en utilisant la
50 fonction `synth` habituelle. Cependant on capture aussi le résultat
51 dans une variable nommée `sn`. On aurait pu appeler cette variable
52 complètement différemment comme par exemple `synth_node` ou `jane` :
53 le nom n'a pas d'importance. Enfin il est important de choisir un nom
54 qui a du sens pour vous pour vos performances et pour les gens qui
55 lisent votre code. J'ai choisi `sn` parce que c'est un bon petit moyen
56 mnémotechnique pour 'synth node'.
57
58 A la ligne 2 on a une commande `sleep` standard. Ca ne fait rien de
59 spécial : ça demande juste à l'ordinateur d'attendre un battement
60 avant d'avancer à la ligne suivante.
61
62 C'est à la ligne 3 qu'on commence à s'amuser. Ici on utilise la
63 fonction `control` pour dire à notre `SynthNode` courant de changer la
64 valeur de coupure en `130`. Si vous cliquez sur le bouton 'Run', vous
65 entendrez le synthé `:prophet` commencer à jouer comme avant, mais
66 après un battement il changera et sonnera beaucoup plus clair.
67
68
69 ** Breakout Box Start **
70 Options modulables
71
72 La plupart des options des synthés et effets de Sonic Pi peuvent être
73 modifiées après avoir été déclenchées. Cependant, ce n'est pas le cas
74 pour toutes. Par exemple, les options d'enveloppe `attack:`, `decay:`,
75 `sustain:` et `release:` ne peuvent être définies que quand on
76 déclenche le synthé. Pour savoir quelles options peuvent être
77 modifiées ou non, c'est simple : allez voir la documentation d'un
78 synthé ou effet et regardez la documentation des options individuelles
79 et cherchez les phrases "May be changed whilst playing" (Peut être
80 modifiée en jouant) ou "Can not be changed once set" (ne peut pas être
81 modifiée une fois définie). Par exemple, la documentation de l'option
82 `attack:` du synthé `:beep` indique clairement qu'on ne peut pas la
83 modifier ultérieurement :
84
85 * Valeur par défaut: 0
86 * Doit être supérieure ou égal à 0
87 * Ne peut pas être modifiée après sa définition
88 * Mise à l'échelle avec la valeur courante de BPM
89 ** Breakout Box End **
90
91 ## Modifications multiples
92
93 Pendant qu'un synthé est joué vous n'êtes pas limités à ne le changer
94 qu'une fois : vous êtes libres de le modifier autant que vous le
95 souhaitez. Par exemple, on peut transformer notre `:prophet` en petit
96 arpégiateur avec le code suivant :
97
98 ```
99 notes = (scale :e3, :minor_pentatonic)
100 sn = synth :prophet, note: :e1, release: 8, cutoff: 100
101 sleep 1
102 16.times do
103 control sn, note: notes.tick
104 sleep 0.125
105 end
106 ```
107
108 Dans cet extrait de code nous avons juste introduit quelques choses en
109 plus. On commence par définir une nouvelle variable appelée `notes`
110 qui contient les notes qu'on aimerait parcourir en boucle (un
111 arpégiateur est juste un mot savant pour quelque chose qui parcourt en
112 boucle une liste de notes dans un ordre donné). Ensuite on déplace
113 notre appel à `control` dans une itération en l'appelant 16 fois. A
114 chaque appel à `control` on parcourt notre anneau de `notes` qui va se
115 répéter automatiquement quand on arrivera à sa fin (grâce à la
116 puissance fabuleuse des anneaux de Sonic Pi). Pour un peu de variété
117 essayez de remplacer `.tick` par `.choose` et tentez d'entendre la
118 différence.
119
120
121 Notez qu'on peut modifier plusieurs options en même temps. Essayez de
122 changer la ligne de contrôle en la suivante et écoutez la différence :
123
124 ```
125 control sn, note: notes.tick, cutoff: rrand(70, 130)
126 ```
127
128 ## Transitions
129
130 Quand on contrôle un `SynthNode`, il répond exactement à ce moment-là
131 et change immédiatement la valeur de l'option comme si vous aviez
132 pressé un bouton ou actionné un interrupteur pour demander la
133 modification. Cela peut sonner rythmique et percussif, notamment si
134 l'option contrôle un aspect du timbre comme `cutoff:`. Cependant, on
135 n'a pas toujours envie que la modification arrive immédiatement. On a
136 parfois envie de se déplacer en douceur de la valeur courante à la
137 nouvelle, comme si on avait déplacé un curseur. Bien sûr, Sonic Pi
138 sait aussi faire cela en utilisant les options `_slide:`
139
140 Chaque option qui peut être modifiée a aussi une option spéciale
141 correspondante `_slide:` qui vous permet de définir un temps de
142 transition. Par exemple, `amp:` a `amp_slide:` et `cutoff:` a
143 `cutoff_slide:`. Ces options de transition marchent un peu
144 différemment de toutes les autres options parce qu'elles disent à la
145 note de synthé comment se comporter *la prochaine fois qu'elle seront
146 contrôlées*. Voyons ça :
147
148 ```
149 sn = synth :prophet, note: :e1, release: 8, cutoff: 70, cutoff_slide: 2
150 sleep 1
151 control sn, cutoff: 130
152 ```
153
154 Remarquez que cet exemple est exactement le même qu'avant sauf qu'on a
155 ajouté `cutoff_slide:`. Ceci indique que la prochaine fois que
156 l'option `cutoff:` de ce synthé sera contrôlée, il mettra deux
157 battements pour passer de sa valeur courante à la nouvelle valeur.
158 Par conséquent, quand on utilise `control` vous pouvez entendre la
159 coupure changer graduellement de 70 à 130. Cela crée une sensation
160 dynamique intéressante pour le son. Maintenant essayez de changer la
161 durée de `cutoff_slide:` en une valeur plus courte comme 0.5 ou une
162 valeur plus longue comme 4 pour voir comment ça change le son.
163 Souvenez-vous que vous pouvez transitionner chacune des options
164 modifiables de cette même manière, et chaque valeur de `_slide:` peut
165 être complètement différente donc vous pouvez avoir une transition
166 lente de la coupure, une transition rapide de l'amplitude, et une
167 transition de la stéréo un peu entre les deux si c'est ce que vous
168 avez envie de créer.
169
170
171 ## Rassemblons tout
172
173 Regardons un court exemple qui montre la puissance du contrôle des
174 synthés après leur déclenchement. Remarquez que vous pouvez aussi
175 transitionner les effets comme les synthés, mais avec une syntaxe
176 légèrement différente. Regardez la section 7.2 du tutoriel inclus dans
177 Sonic Pi pour plus d'information sur le contrôle des effets.
178
179 Copiez le code dans un buffer de libre et écoutez. Ne vous arrêtez pas
180 là : jouez à modifier le code. Changez les durées de transition,
181 changez les notes, le synthé, l'effet et les durées d'attente et voyez
182 si vous pouvez le transformer en quelque chose de complètement
183 différent !
184
185
186 ```
187 live_loop :moon_rise do
188 with_fx :echo, mix: 0, mix_slide: 8 do |fx|
189 control fx, mix: 1
190 notes = (scale :e3, :minor_pentatonic, num_octaves: 2).shuffle
191 sn = synth :prophet , sustain: 8, note: :e1, cutoff: 70, cutoff_slide: 8
192 control sn, cutoff: 130
193 sleep 2
194 32.times do
195 control sn, note: notes.tick, pan: rrand(-1, 1)
196 sleep 0.125
197 end
198 end
199 end
200 ```
0 A.11 Tic tac
1
2 # Suivre le rythme
3
4 Le mois dernier dans cette série nous avons regardé en détail comment
5 fonctionne le système de gestion de l'aléatoire de Sonic Pi. On a
6 exploré comment on peut l'utiliser de manière déterministe pour avoir
7 de nouveaux niveaux de contrôle dynamique sur notre code. Ce mois-ci
8 nous allons continuer notre exploration technique et regarder le
9 système unique de 'tick' de Sonic Pi. D'ici la fin de cet article vous
10 parcourrez des rythmes et mélodies sur votre chemin pour devenir un DJ
11 de programmation interactive.
12
13
14 # Compter les temps
15
16 Quand on fait de la musique on a souvent envie de faire quelque chose
17 de différent en fonction du temps sur lequel on est. Sonic Pi a un
18 système spécial pour compter les temps appelé `tick` pour vous donner
19 un contrôle précis sur quand est-ce qu'un battement arrive réellement
20 et il supporte même des battements multiples avec leur propre tempo.
21
22 Amusons-nous : pour avancer le temps on a juste besoin d'appeler
23 `tick`. Ouvrez un buffer libre, tapez le code suivant et cliquez sur
24 le bouton 'Run' :
25
26 ```
27 puts tick #=> 0
28 ```
29
30 Cela retournera le battement courant : `0`. Remarquez que même si
31 vous cliquez plusieurs fois sur le bouton 'Run', il retournera
32 toujours `0`. Cela parce que chaque exécution commence avec un
33 compteur qui part de 0. Cependant, pendant que le programme tourne, on
34 peut avancer le compteur autant qu'on veut :
35
36 ```
37 puts tick #=> 0
38 puts tick #=> 1
39 puts tick #=> 2
40 ```
41
42 <breakout> Quand vous voyez le symbole `#=>` à la fin d'une ligne de
43 code cela veut dire que cette ligne va noter ce texte dans la partie
44 de droite de Sonic Pi. Par exemple, `puts foo #=> 0` veut dire que le
45 code `puts foo` affiche `0` dans le log à cet endroit du programme.
46 </breakout>
47
48 # Vérifier le compteur
49
50 On a vu que `tick` fait deux choses. Il incrémente (ajoute un) et
51 retourne le compteur courant. Parfois on veut juste regarder le
52 battement courant sans devoir l'incrémenter et on peut faire cela via
53 `look`.
54
55 ```
56 puts tick #=> 0
57 puts tick #=> 1
58 puts look #=> 1
59 puts look #=> 1
60 ```
61
62 Dans ce code on incrémente le compteur deux fois puis on appelle
63 `look` deux fois. On verra les valeurs suivantes dans le log : `0`,
64 `1`, `1`, `1`. Les deux premiers `tick`s ont retourné `0` et `1`,
65 comme attendu, puis les deux `look`s ont juste retourné la dernière
66 valeur du compteur deux fois, donc `1`.
67
68
69 # Anneaux
70
71 On peut donc avancer le compteur avec `tick` et en connaître la valeur
72 avec `look`. Qu'est-ce qui vient suite ? On a besoin de quelque chose
73 à parcourir. Sonic Pi utilise les anneaux pour représenter les
74 mélodies et rythmes et le système de tick a été conçu spécialement
75 pour fonctionner avec eux. En fait, les anneaux ont leur propre
76 version de `tick` qui fait deux choses. D'un côté elle agit comme un
77 tick normal et incrémente le compteur. D'un autre, elle donne une
78 valeur de l'anneau en utilisant le compteur comme index. Voyons cela :
79
80 ```
81 puts (ring :a, :b, :c).tick #=> :a
82 ```
83
84 `.tick` est une version spéciale avec un point de `tick` qui nous
85 retourne la première valeur de l'anneau: : `:a`. On peut attraper
86 chacune des notes de l'anneau en appelant `:tick` plusieurs fois :
87
88 ```
89 puts (ring :a, :b, :c).tick #=> :a
90 puts (ring :a, :b, :c).tick #=> :b
91 puts (ring :a, :b, :c).tick #=> :c
92 puts (ring :a, :b, :c).tick #=> :a
93 puts look #=> 3
94 ```
95
96 Regardez le log et vous verrez `:a`, `:b`, `:c` et puis de nouveau
97 `:a`. Remarquez que `look` retourne `3`. Les appels à `.tick` se
98 comportent comme les appels à `tick` : ils incrémentent le compteur
99 local.
100
101
102 # Un arpégiateur dans une boucle interactive
103
104 La véritable puissance vient quand on mélange `tick` avec des anneaux
105 et des `live_loop`s. En les combinant on a tous les outils dont on a
106 besoin pour construire et comprendre un arpégiateur simple. On a juste
107 besoin de quatre choses :
108
109 1. Un anneau qui contient les notes sur lesquelles on va boucler
110 2. Une manière d'incrémenter et de lire le compteur
111 3. La capacité de jouer une note en se basant sur le compteur courant
112 4. Une structure de boucle qui répète l'arpégiateur en continu
113
114 Ces concepts se retrouvent tous dans le code suivant :
115
116 ```
117 notes = (ring 57, 62, 55, 59, 64)
118
119 live_loop :arp do
120 use_synth :dpulse
121 play notes.tick, release: 0.2
122 sleep 0.125
123 end
124 ```
125
126 Regardons chacune de ces lignes. On commence par définir notre anneau
127 de notes que nous allons jouer en continu. On crée ensuite une
128 `live_loop` nommée `:arp` qui va boucler pour nous. A chaque itération
129 de la `live_loop` on choisit un synthé `:dpulse` et on joue ensuite la
130 note suivante de notre anneau en utilisant `.tick`. Souvenez-vous que
131 cela va incrémenter notre compteur de temps et en utiliser la valeur
132 comme index dans notre anneau de notes. Enfin on attend un huitième de
133 temps avant de recommencer la boucle.
134
135 # Battements multiples simultanés
136
137 Une chose très importante à savoir est que les `tick`s sont liés à la
138 `live_loop`. Cela veut dire que chaque `live_loop` a son propre
139 compteur indépendant. C'est beaucoup plus puissant que d'avoir un
140 métronome et battement global. Regardons ce que cela donne :
141
142 notes = (ring 57, 62, 55, 59, 64)
143
144 with_fx :reverb do
145 live_loop :arp do
146 use_synth :dpulse
147 play notes.tick + 12, release: 0.1
148 sleep 0.125
149 end
150 end
151
152 live_loop :arp2 do
153 use_synth :dsaw
154 play notes.tick - 12, release: 0.2
155 sleep 0.75
156 end
157
158 # Collisions de battements
159
160 Une grande source de confusion dans le système de tick de Sonic Pi est
161 quand on veut parcourir plusieurs anneaux dans le même `live_loop`.
162
163 use_bpm 300
164 use_synth :blade
165 live_loop :foo do
166 play (ring :e1, :e2, :e3).tick
167 play (scale :e3, :minor_pentatonic).tick
168 sleep 1
169 end
170
171 Même si chaque `live_loop` a son compteur indépendant, ici on appelle
172 `.tick` deux fois dans la même `live_loop`. Cela veut dire que le
173 compteur sera incrémenté deux fois à chaque boucle. Cela peut produire
174 des polyrythmes intéressants mais ce n'est souvent pas ce que l'on
175 souhaite. Il y a deux solutions à ce problème. Une option est
176 d'appeler `tick` manuellement au début de la `live_loop` puis
177 d'utiliser `look` pour chercher la valeur courante du compteur dans
178 chaque `live_loop`. La seconde solution est de passer un nom unique
179 à chaque appel à `.tick`, comme par exemple `.tick(:foo)`. Sonic Pi
180 créera alors un compteur séparé pour chaque tick nommé que vous
181 utiliserez. Ainsi on peut travailler avec autant de compteurs que
182 nécessaire ! Lisez le section 9.4 sur les ticks nommés dans le
183 tutoriel inclus dans Sonic Pi pour plus d'informations.
184
185 # Rassemblons tout
186
187 Combinons nos connaissances sur les `tick`s, `ring`s (anneaux) et
188 `live_loop`s pour un dernier exemple amusant. Comme d'habitude, ne
189 traitez pas ceci comme un morceau terminé. Commencez à changer des
190 choses et amusez-vous avec et voyez en quoi vous pouvez le
191 transformer. A la prochaine...
192
193
194 use_bpm 240
195 notes = (scale :e3, :minor_pentatonic).shuffle
196
197 live_loop :foo do
198 use_synth :blade
199 with_fx :reverb, reps: 8, room: 1 do
200 tick
201 co = (line 70, 130, steps: 32).tick(:cutoff)
202 play (octs :e3, 3).look, cutoff: co, amp: 2
203 play notes.look, amp: 4
204 sleep 1
205 end
206 end
207
208 live_loop :bar do
209 tick
210 sample :bd_ada if (spread 1, 4).look
211 use_synth :tb303
212 co = (line 70, 130, steps: 16).look
213 r = (line 0.1, 0.5, steps: 64).mirror.look
214 play notes.look, release: r, cutoff: co
215 sleep 0.5
216 end
106106 play :E4
107107 ```
108108
109 半音♭(シャープ)にしたい場合は、’play :Fs3'のように音名の後に's'を追加します。
110 半音♯(フラット)にしたい場合は、'play :Eb3'のように'b'を追加します。
109 半音♯(シャープ)にしたい場合は、’play :Fs3'のように音名の後に's'を追加します。
110 半音♭(フラット)にしたい場合は、'play :Eb3'のように'b'を追加します。
111111
112112 *夢中*になって、自分の曲を作って楽しみましょう。
0 2.2 シンセのパラメータ
0 2.2 シンセのオプション
11
2 # シンセのパラメータ:Amp と Pan
2 # シンセのオプション:Amp と Pan
33
4 Sonic Piはあらゆる音を作りだし、コントロールするためのパラメータの全てを提供します。
4 Sonic Piはあらゆる音を作りだし、コントロールするためのオプションの全てを提供します。
55 どんな音符を演奏するのか、そしてどんなサンプルをトリガー(きっかけ)にするのかはあなた次第です。
66 このチュートリアルでは、これらの多くをカバーするそれぞれについての詳細なドキュメントが
77 ヘルプシステムにあります。しかし、これから最も有用なのうちの2つ、*Amplitude(振幅)*と*Pan(パン)*を紹介します。
8 まずはパラメータを見てみましょう。
8 まずはオプションを見てみましょう。
99
10 ## パラメータ
10 ## オプション
1111
12 Sonic Piはシンセのためにパラメータ(変数)という概念を備えています。
13 パラメータは、あなたが耳にするサウンドの特徴をコントロールしたり、
12 Sonic Piはシンセのためにオプションという概念を備えています。
13 オプションは、あなたが耳にするサウンドの特徴をコントロールしたり、
1414 変更するための手段で、演奏に反映されます。シンセはそれぞれ細かく音を
15 チューニングするためのパラメータを持っています。
16 Sonic Piには、`amp:`(音量)やエンベロープ・パラメータ(ほかのセクションで紹介します)のような、
17 多くのサウンドに共通するパラメータを持っています。
15 チューニングするためのオプションを持っています。
16 Sonic Piには、`amp:`(音量)やエンベロープ・オプション(ほかのセクションで紹介します)のような、
17 多くのサウンドに共通するオプションを持っています。
1818
19 パラメータには2つの主要な役割があり、ひとつはその名前(制御の名前)、もうひとつは
20 数値(あなたが制御したい値)です。例えば、`cheese:`いうパラメータがあったとして、
19 オプションには2つの主要な役割があり、ひとつはその名前(制御の名前)、もうひとつは
20 数値(あなたが制御したい値)です。例えば、`cheese:`いうオプションがあったとして、
2121 `1`の値にセットしたいとします。
2222
23 パラメータは、play`の後にカンマ`,`を入れて、その後、`amp:`(コロン : を忘れずに)のような
24 パラメータの名前、スペース、そしてパラメータの値、というように渡していきます。例えば、
23 オプションは、play`の後にカンマ`,`を入れて、その後、`amp:`(コロン : を忘れずに)のような
24 オプションの名前、スペース、そしてオプションの値、というように渡していきます。例えば、
2525
2626 ```
2727 play 50, cheese: 1
2828 ```
2929
30 (cheese: は無効なパラメータです。例として使っています。)
30 (cheese: は無効なオプションです。例として使っています。)
3131
32 カンマを使って区切り、複数のパラメータを使用することができます。
32 カンマを使って区切り、複数のオプションを使用することができます。
3333
3434 ```
3535 play 50, cheese: 1, beans: 0.5
3636 ```
3737
38 パラメータの順番は問題ではないので、以下は同じものです。
38 オプションの順番は問題ではないので、以下は同じものです。
3939
4040
4141 ```
4242 play 50, beans: 0.5, cheese: 1
4343 ```
4444
45 シンセで認識されないパラメータは無視されます(`cheese` (チーズ)と`beans`(豆)などは明らかに馬鹿げた名前でしょう!)
45 シンセで認識されないオプションは無視されます(`cheese` (チーズ)と`beans`(豆)などは明らかに馬鹿げた名前でしょう!)
4646
47 もし偶然同じパラメータを2回、違う値で使った場合は、最後のものが有効になります。
47 もし偶然同じオプションを2回、違う値で使った場合は、最後のものが有効になります。
4848 例えば、ここでの`beans:`は、0.5 ではなく 2 の値が採用されます。
4949
5050 ```
5151 play 50, beans: 0.5, cheese: 3, eggs: 0.1, beans: 2
5252 ```
5353
54 Sonic Piの中の命令には多くのパラメータが用意されているので、その使い方に
54 Sonic Piの中の命令には多くのオプションが用意されているので、その使い方に
5555 ちょっとだけ時間を使って、習得しましょう!
5656
57 それでは最初のパラメータ`amp:`で演奏してみましょう。
57 それでは最初のオプション`amp:`で演奏してみましょう。
5858
5959 ## アンプ(増幅)
6060
6969
7070 ## 音量を上げる
7171
72 音の大きさを変えるために、 amp: パラメータを使います。
72 音の大きさを変えるために、 amp: オプションを使います。
7373 例として、半分の音量で演奏するために、0.5 にしてみます。
7474
7575 ```
8282 play 60, amp: 2
8383 ```
8484
85 `amp:`パラメータは、関連付けられている`play`への命令だけを変更します。
85 `amp:`オプションは、関連付けられている`play`への命令だけを変更します。
8686 ですから、この例では、最初の命令は半分の音量になり、次にはデフォルト(1の値)に戻ります。
8787
8888 ```
104104
105105 ## パンニング
106106
107 もうひとつの面白いパラメータは`pan:`です。ステレオで音の位置を制御します。
107 もうひとつの面白いオプションは`pan:`です。ステレオで音の位置を制御します。
108108 左に音をパンすることは左のスピーカーから音が聞こえることを意味し、
109109 右にパンすれば右のスピーカーから聞こえます。値としては、-1 は最も左、
110110 0 は中心、1 は最も右、というようにステレオの領域で表現することができます。
3131
3232 前のセクションで見てきたように、アンプの`0`は無音、`1`は通常の音量です。
3333
34 では、エンベロープのそれぞれの部分を順番に見ていきましょう。
3435
35 ## リリース・タイム(終わるまでの時間)
36 ## リリース・フェーズ(終わるまでの時間)
3637
37 通常、全てのシンセのリリース・タイム(終わるまでの時間)は1です。
38 これは、終了するまでに1秒間のデュレーションを持っているということです。
39 `play`に対して`release:`という命令を渡すことで、デュレーションを
40 変更することができます。例えば、2 秒間シンセを再生するには、`release:`を`2`に設定します。
38 エンベロープのうちデフォルトで使われている唯一の部分はリリース・フェーズです。
39 通常、全てのシンセのリリース・フェーズ(終わるまでの時間)は1で、
40 これは終了するまでに1ビート(デフォルトBPMの60の場合には1秒)のデュレーションを持っているということです。
41
42 ```
43 play 70
44 ```
45
46 この音は1秒間だけ聞こえます。続いて時間を指定しよう。
47 上の記述は、次の明示的で長い記述を簡略化したものです。
48
49 ```
50 play 70, release: 1
51 ```
52
53 これも全く同じように(1秒間持続する)音が出たと思います。
54 しかし、`release:`のオプションを変更することでとても簡単に
55 持続時間を変更することができるようになりました。
4156
4257 ```
4358 play 60, release: 2
4459 ```
4560
46 非常に小さなリリース・タイムの値を使って、シンセのサウンドをとても短くすることができます。
61 また、非常に小さなリリース・フェーズの値を使って、シンセのサウンドをとても短くすることができます。
4762
4863 ```
4964 play 60, release: 0.2
5065 ```
5166
52 だから、リリース・タイムって一体なんなのでしょうか?それはサウンドが、フル・アンプ(だいたい1の値)から
53 ゼロ・アンプ(無音)になるまでにかかる時間のことです。これはリリース・フェーズと呼ばれていて、
54 リニア・トランジション(直線的な移行、つまり真っ直ぐ)です。以下の図は、この移行を表したものです。
67 音がリリースされるまでの持続時間はリリース・フェーズと呼ばれていて、
68 デフォルトではリニア・トランジション(直線的な移行、つまり真っ直ぐ)です。以下の図は、この移行を表したものです。
5569
5670 ![release envelope](:/images/tutorial/env-release.png)
5771
6074 いったんフル・アンプになり、それから`release:`で指定した値を取りながら、直線的にゼロに下がります。
6175 *長いリリース・タイムは長いシンセ・フェード・アウト(徐々に消えること)を生成します*。
6276
63 これにより、リリース・タイムを変更して、あなたのサウンドのデュレーションを
77 これにより、リリース・フェーズを変更して、あなたのサウンドのデュレーションを
6478 変えることができます。自分の音楽にリリース・タイムを追加して演奏してみましょう。
6579
66 ## アタック・タイム
80 ## アタック・フェーズ
6781
6882 通常、アタック・フェーズは全てのシンセにおいて`0`です。つまり、`0`アンプから
6983 `1`にただちに移動することを意味します。シンセは最初から音が打たれます。
70 けれども、あなたは音をフェード・イン(徐々に大きく)したいかも知れません。 これは、`attack:`の命令で実現することができます。いくつかの音をフェード・インしてみましょう。
84 けれども、あなたは音をフェード・イン(徐々に大きく)したいかも知れません。 これは、`attack:`のオプションで実現することができます。いくつかの音をフェード・インしてみましょう。
7185
7286 ```
7387 play 60, attack: 2
7589 play 65, attack: 0.5
7690 ```
7791
78 複数の命令を使うこともできます。例えば、短いアタック、長いリリースに、変更してみましょう。
92 複数のオプションを使うこともできます。例えば、短いアタック、長いリリースに、変更してみましょう。
7993
8094 ```
8195 play 60, attack: 0.7, release: 4
103117
104118 ![short attack short release envelope](:/images/tutorial/env-short-attack-short-release.png)
105119
106 ## サステイン・タイム(持続時間)
120 ## サステイン・フェーズ(持続時間)
107121
108 アタック・タイムとリリース・タイムの設定に付け加えて、サステイン・タイム(持続時間)を
109 指定することができます。サステイン・タイムとは、アタックとリリースの間でフル・アンプの
122 アタック・フェーズとリリース・フェーズの設定に付け加えて、サステイン・フェーズ(持続時間)を
123 指定することができます。サステイン・フェーズとは、アタックとリリースの間でフル・アンプの
110124 音が鳴り続ける時間のことです。
111
112125
113126 ```
114127 play 60, attack: 0.3, sustain: 1, release: 1
116129
117130 ![ASR envelope](:/images/tutorial/env-attack-sustain-release.png)
118131
119 サステイン・タイムは、オプションのリリース・フェーズに入る前に、ミックスの中で主となる
120 存在感を与えたい重要なサウンドにとって有効です。もちろん、アタックとリリース両方の命令を
132 サステイン・フェーズは、オプションのリリース・フェーズに入る前に、ミックスの中で主となる
133 存在感を与えたい重要なサウンドにとって有効です。もちろん、`attack:`と`release:`両方のオプションを
121134 0に設定することもとても有効ですし、サウンドに対して、完全にフェード・インなし、
122135 フェード・アウトなしにするためにサステインを使えば良いのです。けれど、注意してください、
123136 0 のリリースはオーディオの中にクリック音を生成します。たいていの場合、0.2のような
124137 ごく小さい値を使う方が良いです。
125138
126 ## ディケイ・タイム(減衰時間)
139 ## ディケイ・フェーズ(減衰時間)
127140
128141 そして、今あなたがさらなる制御のレベルを必要としているならば、ディケイ・タイムというものを
129142 設定することもできます。これは、アタックとサステインの間にくるエンベロープのフェーズで、
130 音量が`attack_level`から`sustain_level`に落ちる時間を指定します。
131 通常では、ディケイの指令は 0 で、アタックとサステインのレベルは両方とも 1 です。ですから、ディケイ・タイムで効果を得るには、アタック、サステインのレベルも指定しなくてはなりません。
132
143 音量が`attack_level:`から`decay_level:`(もしこれを明示的に指定しなければ、この値は `sustain_level:`と同じ値に設定されます)に落ちる時間を指定します。
144 通常では、`decay:`のオプションは 0 で、アタックとサステインのレベルは両方とも 1 です。ですから、ディケイ・フェーズで効果を得るには、アタック、サステインのレベルも指定しなくてはなりません。
133145
134146 ```
135147 play 60, attack: 0.1, attack_level: 1, decay: 0.2, sustain_level: 0.4, sustain: 1, release: 0.5
137149
138150 ![ADSR envelope](:/images/tutorial/env-attack-decay-sustain-release.png)
139151
140 ## AADSR エンベロープ
152 ## ディケイレベル
153
154 最後の仕掛けは、`decay_level:`オプションがデフォルトでは`sustain_level:`と同じ値に設定されていて、エンベロープを完全に制御したい場合に明示的に別な値に設定できることです。
155 これにより次のようなエンベロープを作ることができるでしょう。
156
157 ```
158 play 60, attack: 0.1, attack_level: 1, decay: 0.2, decay_level: 0.3, sustain: 1, sustain_level: 0.4, release: 0.5
159 ```
160
161 ![ASR envelope](../images/tutorial/env-decay-level.png)
162
163 また`decay_level:`を`sustain_level:`より大きく設定することもできます。
164
165 ```
166 play 60, attack: 0.1, attack_level: 0.1, decay: 0.2, decay_level: 1, sustain: 0.5, sustain_level: 0.8, release: 1.5
167 ```
168
169 ![ASR envelope](../images/tutorial/env-decay-level-2.png)
170
171 ## ADSR エンベロープ
141172
142173 つまり要約すると、Sonic PiのADSRエンベロープには、以下のフェーズがあります。
143174
144175 1. *attack*(アタック)- 0 アンプから`attack_level`までの時間
145 2. *decay*(ディケイ)- 音量を`attack_level`から`sustain_level`まで移行させる時間
146 3. *sustain*(サステイン)- 音量を`sustain_level`で保持する時間
176 2. *decay*(ディケイ)- 音量を`attack_level`から`decay_level`まで移行させる時間
177 3. *sustain*(サステイン)- 音量を`decay_level`から`sustain_level`まで移行させる時間
147178 4. *release*(リリース) - 音量を`sustain_level`から 0 に移行させる時間
148179
149180 サウンドのデュレーションは、これらのフェーズの合計であることに注意することが大切です。
150181 したがって、以下のサウンドは 0.5 + 1 + 2 + 0.5 = 4 で、4秒のデュレーションになります。
151182
152183 ```
153 play 60, attack: 0.5, decay: 1, sustain_level: 0.4, sustain: 2, release: 0.5
184 play 60, attack: 0.5, attack_level: 1, decay: 1, sustain_level: 0.4, sustain: 2, release: 0.5
154185 ```
155186
156 ではあなたのサウンドにエンベロープを追加して演奏してみましょう。
187 ではあなたのサウンドにエンベロープを追加して演奏してみましょう。
99
1010 ## レートを変える
1111
12 アンビエント・サウンドのひとつ、`:ambi_choir`で演奏してみましょう。デフォルト(既定値)で演奏するには、`sample`に`rate:` の命令を渡します。
12 アンビエント・サウンドのひとつ、`:ambi_choir`で演奏してみましょう。デフォルト(既定値)で演奏するには、`sample`に`rate:` のオプションを渡します。
1313
1414 sample :ambi_choir, rate: 1
1515
1010 sample :loop_amen
1111 ```
1212
13 パラメータが設定されていない場合、全サンプルがフル・アンプ(最大音量)で聞こえます。
13 オプションが設定されていない場合、全サンプルがフル・アンプ(最大音量)で聞こえます。
1414 もし1秒間のフェード・インを使いたい場合、`attack:`パラメータを使います。
1515 (フェード・インとは徐々に音が大きくなることです。)
1616
33
44 Sonic Piには、あなたの作ったサウンドに簡単にスタジオ·エフェクトを追加できるという最もやりがいのある楽しい側面があります。たとえば、部分的にリバーブを追加したり、エコーやディストーション(歪み)、ワブルベース(ベース音にフィルターLFOを掛け、断続的な音にすること)を加えることができます。
55
6 Sonic Piには、エフェクト(効果)を追加する非常にシンプルで強力な方法があります。それも、あなたが作った音にディストーション(歪み)を通し、その後エコー、さらにリバーブと、それらをチェーン(連結)させ、また、シンセやサンプルにパラメータを与えるのと同様の方法でエフェクトユニットのパラメータを個別に制御することができ、実行されている間でも、パラメータを変更することも可能です。だから、例えば、トラックのいたるところでベースのリバーブを強くするということができるのです。
6 Sonic Piには、エフェクト(効果)を追加する非常にシンプルで強力な方法があります。それも、あなたが作った音にディストーション(歪み)を通し、その後エコー、さらにリバーブと、それらをチェーン(連結)させ、また、シンセやサンプルにオプションを与えるのと同様の方法でエフェクトユニットのオプションを個別に制御することができ、実行されている間でも、オプションを変更することも可能です。だから、例えば、トラックのいたるところでベースのリバーブを強くするということができるのです。
77
88 ## ギター エフェクター
99
7474 ```
7575
7676 Sonic Piのエフェクトブロックの強力な側面の一つは、既に`play`と`sample`で見てきたように、
77 パラメータと同様の数値が渡されることです。たとえば、エコーの楽しいパラメータは、
77 オプションと同様の数値が渡されることです。たとえば、エコーの楽しいオプションは、
7878 秒単位で遅れを示す`phase`で表され、エコーの長さを指定します。
7979
8080 下記のコードで、音の響きをゆっくりにしてみましょう。
11
22 # 演奏中のサウンド制御
33
4 これまでの章では、どのようにシンセやサンプルを扱い、アンプ(増幅)、パン、エンベロープなどのパラメーターを変更するのかを見てきました。呼び出された個々の音には、元来、音の継続時間を設定するデュレーションパラメータが備わっています。
4 これまでの章では、どのようにシンセやサンプルを扱い、アンプ(増幅)、パン、エンベロープなどのオプションを変更するのかを見てきました。呼び出された個々の音には、元来、音の継続時間を設定するデュレーションオプションが備わっています。
55
6 もしも演奏中にギターの弦を歪めビブラートさせるように、パラメータを変更できたなら、それってクールではないでしょうか?
6 もしも演奏中にギターの弦を歪めビブラートさせるように、オプションを変更できたなら、それってクールではないでしょうか?
77
88 あなたは幸運です-このセクションでは、まさしくそれをどのように行うのかを紹介します。
2323
2424 演奏している間に、1つのシンセのみを呼び出し、3回ピッチを変更します。ここで注目すべき点は、4つの異なるシンセを呼び出していないということです。
2525
26 標準的なパラメータ(関数)は`control`へ渡すことができます。そして`amp:`, `cutoff:`あるいは`pan:`のようなパラメータを制御することができます。
26 標準的なオプション(関数)は`control`へ渡すことができます。そして`amp:`, `cutoff:`あるいは`pan:`のようなオプションを制御することができます。
2727
28 ## 制御不可能なパラメータ
28 ## 制御不可能なオプション
2929
30 一度シンセが開始されると、一部のパラメータは制御することができなくなります。ADSRエンベロープ·パラメータがこれに該当します。そのパラメータが制御可能かは、ヘルプシステムのドキュメントを参照してください。ドキュメントに「設定を変更することは出来ません」というコメントがある場合、シンセが開始した後にパラメータを制御することはできません。
30 一度シンセが開始されると、一部のオプションは制御することができなくなります。ADSRエンベロープ·パラメータがこれに該当します。そのオプションが制御可能かは、ヘルプシステムのドキュメントを参照してください。ドキュメントに「設定を変更することは出来ません」というコメントがある場合、シンセが開始した後にオプションを制御することはできません。
0 7.3 パラメータのスライド
0 7.3 オプションのスライド
11
2 # パラメータのスライド
2 # オプションのスライド
33
4 シンセやエフェクトの引数を探索しながら、`_slide`で終わるパラメータがあることに気づいたかもしれません。それらを呼び出しても、何の効果を示さなかった可能性があります。これは正常のパラメータではなく、前回のセクションで紹介したように、シンセを制御するときのみ動作をする特別なパラメータです。
4 シンセやエフェクトの引数を探索しながら、`_slide`で終わるオプションがあることに気づいたかもしれません。それらを呼び出しても、何の効果を示さなかった可能性があります。これは正常のオプションではなく、前回のセクションで紹介したように、シンセを制御するときのみ動作をする特別なオプションです。
55
66 次の例を考えてみましょう。
77
1515 control s, note: 72
1616 ```
1717
18 ここでは、各`control`の呼び出し後、すぐにシンセのピッチの変更を聞くことができますが、ピッチが変化する間にスライドさせたくなるかもしれません。その場合、スライドを追加するために、`note:`パラメータを制御するように、シンセの`note_slide`パラメータを追加する必要があります。
18 ここでは、各`control`の呼び出し後、すぐにシンセのピッチの変更を聞くことができますが、ピッチが変化する間にスライドさせたくなるかもしれません。その場合、スライドを追加するために、`note:`オプションを制御するように、シンセの`note_slide`オプションを追加する必要があります。
1919
2020 ```
2121 s = play 60, release: 5, note_slide: 1
3131
3232 ## ネバネバするスライド
3333
34 一度、実行しているシンセの `_slidee`パラメータを設定したら、それは記憶され、
35 対応するパラメータがスライドする度に使用されます。
34 一度、実行しているシンセの `_slide`オプションを設定したら、それは記憶され、
35 対応するオプションがスライドする度に使用されます。
3636 スライドを停止するためには、次の`control`を呼び出す前に`0`に`_slide`値を設定する必要があります。
3737
38 ## エフェクト・パラメータのスライド
38 ## エフェクト・オプションのスライド
3939
40 また、エフェクトパラメータをスライドさせることも可能です。
40 また、エフェクトオプションをスライドさせることも可能です。
4141
4242 ```
4343 with_fx :wobble, phase: 1, phase_slide: 5 do |e|
7676 * `range`は始点、終点とステップサイズを指定します。
7777 * `bools`は簡単に1と0を使用するためのブール値を扱うことができます。
7878 * `knit`は一連の繰り返される値のために構成することを可能にします。
79 * `spread`はユークリッド分布に従ったブール値のリングを作成します。
7980
8081 詳細については、それら個々のドキュメンテーションを見てください。
0 8.5 リングのチェーン
1
2 `range`や`spread`のようなコンストラクタに加えて、別なリングの作成方法としては、作成済みのリングを操作する方法があります。
3
4 ## チェーンコマンド
5
6 次のような単純なリングを作成します:
7
8 ```
9 (ring 10, 20, 30, 40, 50)
10 ```
11
12 リングを逆にしたいときにはどうしたらよいでしょう?リングを反転させるには、チェーンコマンドの`.reverse`を使います:
13
14 ```
15 (ring 10, 20, 30, 40, 50).reverse #=> (ring 50, 40, 30, 20, 10)
16 ```
17
18 では次に、リングから最初の3つの値を取得するにはどうしたらよいでしょう?
19
20 ```
21 (ring 10, 20, 30, 40, 50).take(3) #=> (ring 10, 20, 30)
22 ```
23
24 最後に、リングをシャッフルするにはどうしたらよいでしょう?
25
26 ```
27 (ring 10, 20, 30, 40, 50).shuffle #=> (ring 40, 30, 10, 50, 20)
28 ```
29
30 ## 多重チェーン
31
32 ここまでで既に強力なリングの作成方法を見てきましたが、
33 これらのコマンドを一緒に用いることで本当の力を発揮します。
34
35 リングをシャッフルし、最初の要素を削除し、次の3つの要素を得る場合にはどうでしょう?
36
37 段階的に見ていきましょう:
38
39 1. `(ring 10, 20, 30, 40, 50)` - リングの最初の状態
40 2. `(ring 10, 20, 30, 40, 50).shuffle` - シャッフルし - `(ring 40, 30, 10, 50, 20)`
41 3. `(ring 10, 20, 30, 40, 50).shuffle.drop(1)` - 最初の要素を削除し - `(ring 30, 10, 50, 20)`
42 4. `(ring 10, 20, 30, 40, 50).shuffle.drop(1).take(3)` - 3つの要素を得る - `(ring 30, 10, 50)`
43
44 *コマンドを一緒にくっつける*だけでこれらのコマンドの長いチェーンを作ることが分かったと思います。
45 チェーンコマンドを好きな順序で組み合わせることができ、それにより既に存在するリングから新しいリングを
46 生成するとても豊かで強力な方法を作り出しています。
47
48 ## 不変性
49
50 リングは強力で重要な特徴を持っています。それは不変性と言って、リングを変更できないということを
51 意味しています。このセクションで紹介しているチェインコマンドが*リングを変更するのではなく*、
52 *新しいリングを作成*していることを意味しています。これにより、スレッドを跨いでリングを共有して、
53 同じリングを使っている他のスレッドに影響を与えないで、チェインを開始できることを意味しています。
54
55 ## 利用可能なチェーンコマンド
56
57 ここに利用可能なチェーンコマンドを記載しておきます。
58
59 * `.reverse` - 逆順のリングを返却します
60 * `.sort` - ソートされたリングを作成します
61 * `.shuffle` - シャッフルされたリングを作成します
62 * `.take(5)` - 最初の5つの要素をのみからなる新しいリングを返却します
63 * `.drop(3)` - 最初の3つの要素以外の要素からなる新しいリングを返却します
64 * `.butlast` - 最後の要素が欠けた状態の新しいリングをを返却します
65 * `.drop_last(3)` - 最後の3つの要素が欠けた状態の新しいリングをを返却します
66 * `.take_last(6)`- 最後の6つの要素をのみからなる新しいリングを返却します
67 * `.stretch(2)` - リングの個々の要素を2回ずつ繰り返します
68 * `.repeat(3)` - リング全体を3回繰り返します
69 * `.mirror` - 逆順のリングを自分自身に追加します
70 * `.reflect` - mirrorと同様ですが、真ん中の要素を重複させないようにします
71
72 数字を引数に取っているチェーンコマンドは、他の数字を取ることももちろん可能です。
73 最初の5個の要素を削除したい場合には、`.drop(3)`の代わりに遠慮無く`.drop(5)`を呼んでください。
0 9.4 チック
1
2 # チック
3
4 ライブコーディングでリングをループしていて、気が付くとたくさんのことをしていたことはないでしょうか。
5 例えば、リングにメロディーの音符を入れたり、リズムのスリープ、
6 コード進行や音色のバリエーションを入れたり等々。
7
8 ## リングのチック
9
10 Sonic Piは`live_loop`内でリングと共に使える*とても*手軽なツールを提供しています。
11 それはチックシステムと呼ばれ、*tick through rings(リングをチックタックと進める)*
12 機能を提供しています。次の例を見てください。
13
14 ```
15 live_loop :arp do
16 play (scale :e3, :minor_pentatonic).tick, release: 0.1
17 sleep 0.125
18 end
19 ```
20
21 ここでは、E3マイナーペンタトニックのスケールを作成し、各要素をチックしています。これは`.tick`を
22 スケール宣言の末尾に追加することによって実現されています。このチックはライブループ内で局所的であるため、
23 個々のライブループは独立したチックを持つことができます。
24
25 ```
26 live_loop :arp do
27 play (scale :e3, :minor_pentatonic).tick, release: 0.1
28 sleep 0.125
29 end
30
31 live_loop :arp2 do
32 use_synth :dsaw
33 play (scale :e2, :minor_pentatonic, num_octaves: 3).tick, release: 0.25
34 sleep 0.25
35 end
36 ```
37
38 ## 標準関数としてのチック
39
40 `tick`はまた標準関数としても呼ぶことができ、その値はインデックスとして使うことができます。
41
42 ```
43 live_loop :arp do
44 idx = tick
45 play (scale :e3, :minor_pentatonic)[idx], release: 0.1
46 sleep 0.125
47 end
48 ```
49
50 しかし、この場合は`.tick`を呼ぶほうが良いでしょう。`tick`関数の用途は、
51 チックの値で手の込んだことをしたかったり、リングのインデックス以外のことにチックの値を使いたかったりする場合です。
52
53 ## ルック
54
55 チックの魅力的なところはそれが新しいインデックス(もしくはそのインデックスにあるリングの値)
56 を返すだけでなく、次にチックを呼んだときに必ず次の値を返すことを保証していることでしょう。
57 `tick`が色んな形でこのような動作をしていることをこのドキュメントの例で見てみてください。
58 しかし、ここでチックの現在の値を見たいだけで値を*増加させたくない*の場合もあることを指摘することは重要でしょう。
59 これは`look`関数により実現可能です。`look`を標準関数として呼んだり、リングの後ろに`.look`を付けたりできます。
60
61 ## チックの名前付け
62
63 最後に、1つのライブループに複数のチックが必要になることがあるかも
64 しれません。これはチックに名前を付けることで実現できます。
65
66 ```
67 live_loop :arp do
68 play (scale :e3, :minor_pentatonic).tick(:foo), release: 0.1
69 sleep (ring 0.125, 0.25).tick(:bar)
70 end
71 ```
72
73 ここでは2つのチックを使っていて、1つは音符用に、1つはスリープ時間用にしています。
74 これらのチックは同じライブループにあるので、別々にしておくためにユニークな名前を与えています。
75 これはちょうど`live_loop`に名前を付ける(`:`から始まるシンボル名を渡すだけ)のと同じことです。
76 上の例では1つは`:foo`でチックを呼び出し、もう1つは`:bar`で呼び出しています。
77 また、これらの値を`look`したい場合には、チックの名前を`look`に渡す必要があります。
78
79 ## 複雑にしすぎないように
80
81 チックシステムの能力のほどんどは、最初のうちは役に立たないでしょう。
82 このセクションの全ての内容を学習しようとしないでください。
83 一つのリングでチックすることだけに集中するとよいでしょう。
84 そうすることで、`live_loop`でリングをチックする簡単さや楽しみを得ることができるでしょう。
85
86 `tick`のドキュメントには役に立つ例がたくさんあるので、それを見て楽しくチックしてみましょう!
0 3.7 Sample Packs
1
2 # Sample Packs
3
4 **Note: this section of the tutorial covers the advanced topic of
5 working with large directories of your own samples. This will be the
6 case if you've downloaded or bought your own sample packs and wish to
7 use them within Sonic Pi.**
8
9 **Feel free to skip this if you're happy working with the built-in
10 samples.**
11
12 When working with large folders of external samples it can be cumbersome
13 to have to type the whole path every time to trigger an individual
14 sample.
15
16 For example, say you have the following folder on your machine:
17
18 ```
19 /path/to/my/samples/
20 ```
21
22 When we look inside that folder we find the following samples:
23
24 * `100_A#_melody1.wav`
25 * `100_A#_melody2.wav`
26 * `100_A#_melody3.wav`
27 * `120_A#_melody4.wav`
28 * `120_Bb_guit1.wav`
29 * `120_Bb_piano1.wav`
30
31 Typically in order to play the piano sample we can use the full path:
32
33 ```
34 sample "/path/to/my/samples/120_Bb_piano1.wav"
35 ```
36
37 If we want to then play the guitar sample we can use its full path too:
38
39 ```
40 sample "/path/to/my/samples/120_Bb_guit.wav"
41 ```
42
43 However, both of these calls to sample requires us to *know* the names
44 of the samples within our directory. What if we just want to listen to
45 each sample in turn quickly?
46
47 ## Indexing Sample Packs
48
49 If we want to play the first sample in a directory we just need to pass
50 the directory's name to `sample` and the index `0` as follows:
51
52 ```
53 sample "/path/to/my/samples/", 0
54 ```
55
56 We can even make a shortcut to our directory path using a variable:
57
58 ```
59 samps = "/path/to/my/samples/"
60 sample samps, 0
61 ```
62
63 Now, if we want to play the second sample in our directory, we just need
64 to add 1 to our index:
65
66 ```
67 samps = "/path/to/my/samples/"
68 sample samps, 1
69 ```
70
71 Notice that we no longer need to know the names of the samples in the
72 directory - we just need to know the directory itself (or have a
73 shortcut to it). If we ask for an index which is larger than the number
74 of samples, it simply wraps round just like Rings. Therefore, whatever
75 number we use we're guaranteed to get one of the samples in that
76 directory.
77
78 ## Filtering Sample Packs
79
80 Ususally indexing is enough, but sometimes we need more power to sort
81 and organise our samples. Luckily many sample packs add useful
82 information in the filenames. Let's take another look at the sample file
83 names in our directory:
84
85 * `100_A#_melody1.wav`
86 * `100_A#_melody2.wav`
87 * `100_A#_melody3.wav`
88 * `120_A#_melody4.wav`
89 * `120_Bb_guit1.wav`
90 * `120_Bb_piano1.wav`
91
92 Notice that in these filenames we have quite a bit of
93 information. Firstly, we have the BPM of the sample (beats per minute)
94 at the start. So, the piano sample is at 120 BPM and our first three
95 melodies are at 100 BPM. Also, our sample names containtain the key. So
96 the guitar sample is in Bb and the melodies are in A#. This information
97 is very useful for mixing in these samples with our other code. For
98 example, we know we can only play the piano sample with code that's in
99 120 BPM and in the key of Bb.
100
101 It turns out that we can use this particular naming convention of our
102 sample sets in the code to help us filter out the ones we want. For
103 example, if we're working at 120 BPM, we can filter down to all the
104 samples that contain the string `"120"` with the following:
105
106 ```
107 samps = "/path/to/my/samples/"
108 sample samps, "120"
109 ```
110
111 This will play us the first match. If we want the second match we just
112 need to use the index:
113
114 ```
115 samps = "/path/to/my/samples/"
116 sample samps, "120", 1
117 ```
118
119 We can even use multiple filters at the same time. For example, if we
120 want a sample that's filename contains both the substring "120" and "A#"
121 we can find it easily with the following code:
122
123 ```
124 samps = "/path/to/my/samples/"
125 sample samps, "120", "A#"
126 ```
127
128 Finally, we're still free to add our usual opts to the call to `sample`:
129
130 ```
131 samps = "/path/to/my/samples/"
132 sample samps, "120", "Bb", 1, lpf: 70, amp: 2
133 ```
134
135 ## Sources
136
137 The sample filter pre-arg system understands two types of information:
138 sources and filters. Sources are information used to create the list of
139 potential candidates. A source can take two forms:
140
141 1. "/path/to/samples" - a string representing a valid path to a directory
142 2. "/path/to/samples/foo.wav" - a string representing a valid path to a sample
143
144 The `sample` fn will first gather all sources and use them to create a
145 large list of candidates. This list is constructed by first adding all
146 valid paths and then by adding all the valid `.flac`, `.aif`, `.aiff`,
147 `.wav`, `.wave` files contained within the directories.
148
149 For example, take a look at the following code:
150
151 ```
152 samps = "/path/to/my/samples/"
153 samps2 = "/path/to/my/samples2/"
154 path = "/path/to/my/samples3/foo.wav"
155
156 sample samps, samps2, path, 0
157 ```
158
159 Here, we're combining the contents of the samples within two directories
160 and adding a specific sample. If `"/path/to/my/samples/"` contained 3
161 samples and `"/path/to/my/samples2/"` contained 12, we'd have 16
162 potential samples to index and filter (3 + 12 + 1).
163
164 By default, only the sample files within a directory are gathered into
165 the candidate list. Sometimes you might have number of nested folders of
166 samples you wish to search and filter within. You can therefore do a
167 recursive search for all samples within all subfolders of a particular
168 folder by adding `**` to the end of the path:
169
170 ```
171 samps = "/path/to/nested/samples/**"
172 sample samps, 0
173 ```
174
175 Take care though as searching through a very large set of folders may
176 take a long time. However, the contents of all folder sources are
177 cached, so the delay will only happen the first time.
178
179
180 ## Filters
181
182 Once you have a list of candidates you may use the following filtering
183 types to further reduce the selection:
184
185 * `"foo"` Strings will filter on substring occurrance within file name (minus directory path and extension).
186 * `/fo[oO]/` Regular Expressions will filter on pattern matching of file name (minus directory path and extension).
187 * `:foo` - Keywords will filter candidates on whether the keyword is a direct match of the filename (minus directory path and extension).
188 * `lambda{ "foo" }` - Procs with no arguments will be automatically called and their result be treated as a source or filter.
189 * `lambda{|a| ... }` - Procs with one argument will be treated as a candidate filter or genrator function. It will be passed the list of current candidates and must return a new list of candidates (a list of valid paths to sample files).
190 * `1` - Numbers will select the candidate with that index (wrapping round like a ring if necessary).
191
192 ## Composites
193
194 Finally, you may use lists wherever you may place a source or
195 filter. The list will be automatically flattened and the contents be
196 treated as regular sources and filters. Therefore the following calls to
197 `sample` are semantically equivalent:
198
199 ```
200 sample "/path/to/dir", "100", "C#"
201 sample ["/path/to/dir", "100", "C#"]
202 sample "/path/to/dir", ["100", "C#"]
203 sample ["/path/to/dir", ["100", ["C#"]]]
204 ```
205
206 ## Wrapping Up
207
208 This was an advanced section for people that need real power to
209 manipulate and use sample packs. If most of this section didn't make too
210 much sense, don't worry. It's likely you don't need any of this
211 functionality just yet. However, you'll know when you do need it and you
212 can come back and re-read this when you start working with large
213 directories of samples.
214
215
216
0 8.5 Łańcuchy Pierścieni (Ring Chains)
1
2 Oprócz konstruktorów takich jak `range` i `spread` innym sposobem
3 tworzenia nowych pierścieni jest manipulowanie i modyfikacja istniejących
4 pierścieni (rings).
5
6 ## Łańcuchy poleceń (Chain Commands)
7
8 Aby zbadać ten temat stwórzmy prosty pierścień:
9
10 ```
11 (ring 10, 20, 30, 40, 50)
12 ```
13
14 Co jeśli chcielibyśmy otrzymać wszystkie elementy tego pierścienia
15 w odwrotnej kolejności? Wystarczy, że użyjemy w łańuchu poleceń
16 `.reverse` aby wziąć nasz pierścień i odwrócić go:
17
18 ```
19 (ring 10, 20, 30, 40, 50).reverse #=> (ring 50, 40, 30, 20, 10)
20 ```
21
22 A co, jeśli teraz potrzebujemy tylko pierwsze trzy elementy
23 z naszego pierścienia?
24
25 ```
26 (ring 10, 20, 30, 40, 50).take(3) #=> (ring 10, 20, 30)
27 ```
28
29 I na koniec jeszcze jedno, co jeśli chcielibyśmy przetasować
30 elementy naszego pierścienia tak jak tasujemy karty przed grą?
31
32 ```
33 (ring 10, 20, 30, 40, 50).shuffle #=> (ring 40, 30, 10, 50, 20)
34 ```
35
36 ## Wiele Łańcuchów
37
38 Powyższe polecenia dają bardzo duże możliwości tworzenia nowych pierścieni (rings).
39 Jednakże, *prawdziwa* moc pojawia się dopiero w momencie, gdy połączysz kilka
40 poleceni w jeden łańcuch.
41
42 Co powiesz na to aby najpierw przetasować pierścień, potem usunać z niego
43 1 element i z elementów, które pozostały wybrać tylko pierwsze 3?
44
45 Zróbmy to krok po kroku:
46
47 1. `(ring 10, 20, 30, 40, 50)` - nasz początkowy pierścień
48 2. `(ring 10, 20, 30, 40, 50).shuffle` - tasujemy - `(ring 40, 30, 10, 50, 20)`
49 3. `(ring 10, 20, 30, 40, 50).shuffle.drop(1)` - usuwamy 1-wszy element - `(ring 30, 10, 50, 20)`
50 4. `(ring 10, 20, 30, 40, 50).shuffle.drop(1).take(3)` - pozostawiamy tylko pierwsze 3 - `(ring 30, 10, 50)`
51
52 Widzisz jak łatwo możemy stworzyć długi łańcuch tych metod *sklejając
53 je po prostu razem*? Możemy użyć tych metod w dowolnej kolejności
54 na jaką nas tylko najdzie ochota. Dzięki temu mamy bardzo bogatą
55 i potężną paletę sposobów, dzięki którym możemy tworzyć nowe pierścienie
56 z już istniejących.
57
58 ## Niezmienność
59
60 Pierścienie posiadają pewną potężną i ważną cechę. Są niezmienne co
61 oznacza, że gdy raz zostaną już utworzone to nie mogą zostać zmienione.
62 Z tego wynika, że łańcuchy wywołań metod opisane w tym rozdziale
63 *nie zmieniają pierścieni* lecz *tworzą nowe pierścienie*. Dzięki takiemu
64 podejśćiu nic nie stoi na przeszkodzie abyś mógł współdzielić dany
65 pierścień pomiędzy różnymi wątkami i wywyływać na nim łańcuchy metod
66 w ramach jednego wątku, gdyż wiesz że nie wpłynie to w żaden sposób
67 na jakikolwiek inny wątek, który korzysta z tego samego pierścienia.
68
69 ## Dostępne Łańcuchy Metod
70
71 Oto lista metod, które możesz łączyć w łańcuchy wywołań:
72
73 * `.reverse` - zwraca odwróconą wersję pierścienia
74 * `.sort` - tworzy posortowaną wersję pierścienia
75 * `.shuffle` - tworzy pierścień z wartościami, które są przetasowane
76 * `.pick(3)` - zwraca pierścień, który zawiera 3 losowo wybrane elementy z oryginalnego pierścienia (działanie analogiczne do funkcji `choose`)
77 * `.pick` - działanie analogiczne do funkcji `.pick(3)`, z tym że w tym przypadku liczba wylosowanych elementów jest równa ilości elementów znajdujących się w oryginalnym pierścieniu
78 * `.take(5)` - zwraca nowy pierścień, który zawiera tylko 5 pierwszych elementów
79 * `.drop(3)` - zwraca nowy pierścień, który zawiera wszystkie elementy oprócz pierwszych 3
80 * `.butlast` - zwraca nowy pierścień, który nie zawiera ostatniego elementu
81 * `.drop_last(3)` - zwraca nowy pierścień, kóry nie zawiera 3 ostatnich elementów
82 * `.take_last(6)`- zwraca nowy pierścień, który posiada tylko 6 ostatnich elementów
83 * `.stretch(2)` - powtarza każdy z elementów w pierścieniu dwukrotnie
84 * `.repeat(3)` - powtarza cały pierścień trzykrotnie
85 * `.mirror` - dodaje pierścień do odwróconej wersji samego siebie
86 * `.reflect` - działa tak samo jak mirror, ale nie powtarza środkowej wartości z pierścienia
87
88 Oczywiście, metody które przyjmują jako parametr liczbę, mogą przyjmować
89 też inne liczby! Nie krępuj się więc i spróbuj wywołać metodę `.drop(5)`
90 zamiast widocznej parę linijek wyżej metody `.drop(3)`. Pozwoli Ci to stworzyć
91 nową listę, która nie będzie zawierała 5 pierwszych elementów.
2323 Naciśnij przycisk Run. Słyszysz podstawowy bip przy każdym uderzeniu.
2424 Nic szczególnego. Powstrzymaj się jednak i nie naciskaj jeszcze przycisku
2525 Stop. Zmień wartość `60` na `65` i naciśnij przycisk Run jeszcze raz.
26
27 Now press the Run button. You hear a basic beep every beat. Nothing
28 fun there. However, don't press Stop just yet. Change the `60` to `65`
29 and press Run again.
3026
3127 Łał! Brzmienie zmieniło się *automatycznie* bez utraty żadnego uderzenia.
3228
1919 * `C-M-f` oznacza naciśnij i przytrzymaj klawisz *Control*, potem naciśnij i przytrzymaj klawisz *Meta*, po czym
2020 na końcu naciśnij do tego jeszcze klawisz *f* i puść wszystkie klawisze.
2121
22 ## Postawowe Manipulowanie Aplikacją
22 ## Podstawowe Manipulowanie Aplikacją
2323
2424 * `M-r` - Uruchom kod (przycisk Run)
25 * `M-s` - Zatrzymaj przycisk (przycisk Stop)
25 * `M-s` - Zatrzymaj kod (przycisk Stop)
2626 * `M-i` - Otwórz/Zamknij System Pomocy
2727 * `M-p` - Otwórz/Zamknij Ustawienia
2828 * `M-{` - Przejdź do buforu po lewej stronie
0 A Appendix A - MagPi Articles
1
2 # MagPi Articles
3
4 Appendix A collects all the Sonic Pi articles written for the MagPi
5 magazine.
6
7 ## Dive into Topics
8
9 These articles aren't meant to be read in any strict order and contain a
10 lot of cross-over material from the tutorial itself. Rather than try and
11 teach you all of Sonic Pi, they instead each focus on a specific aspect
12 of Sonic Pi and cover it in a fun and accessible way.
13
14 ## Read the MagPi
15
16 You can see them in their glorious professionally typeset form in the
17 free PDF downloads of The MagPi here: https://www.raspberrypi.org/magpi/
18
19 ## Suggest a Topic
20
21 If you don't see a topic that interests you covered in these articles -
22 why not suggest one? The easiest way to do that is to tweet your
23 suggestion to [@Sonic_Pi](http://twitter.com/sonic_pi). You never know -
24 your suggestion might be the subject of the next article!
0 A.1 Tips for Sonic Pi
1
2 # Five Top Tips
3
4 ## 1. There are no mistakes
5
6 The most important lesson to learn with Sonic Pi is that there really
7 are no mistakes. The best way to learn is to just try and try and
8 try. Try lots of different things out, stop worrying whether your code
9 sounds good or not and start experimenting with as many different
10 synths, notes, FX and opts as possible. You'll discover a lot of things
11 that make you laugh because they sound just awful and some real gems
12 that sound truly amazing. Simply drop the things you don't like and keep
13 the things you do. The more 'mistakes' you allow yourself to make the
14 quicker you'll learn and discover your personal coding sound.
15
16
17 ## 2. Use the FX
18
19 Say you've already mastered the Sonic Pi basics of making sounds with
20 `sample`, `play`? What's next? Did you know that Sonic Pi supports over
21 27 studio FX to change the sound of your code? FX are like fancy image
22 filters in drawing programs except that instead of blurring or making
23 something black and white, you can add things like reverb, distortion
24 and echo to your sound. Think of it like sticking the cable from your
25 guitar to an effects pedal of your choice and then into the
26 amplifier. Luckily, Sonic Pi makes using FX really easy and requires no
27 cables! All you need to do is to choose which section of your code you'd
28 like the FX added to and wrap it with the FX code. Let's look at an
29 example. Say you had the following code:
30
31
32 sample :loop_garzul
33
34 16.times do
35 sample :bd_haus
36 sleep 0.5
37 end
38
39
40 If you wanted to add FX to the `:loop_garzul` sample, you'd just tuck it
41 inside a `with_fx` block like this:
42
43
44 with_fx :flanger do
45 sample :loop_garzul
46 end
47
48 16.times do
49 sample :bd_haus
50 sleep 0.5
51 end
52
53
54 Now, if you wanted to add FX to the bass drum, go and wrap that with
55 `with_fx` too:
56
57
58 with_fx :flanger do
59 sample :loop_garzul
60 end
61
62 with_fx :echo do
63 16.times do
64 sample :bd_haus
65 sleep 0.5
66 end
67 end
68
69
70 Remember, you can wrap *any* code within `with_fx` and any sounds
71 created will pass through that FX.
72
73
74 ## 3. Parameterise your synths
75
76 In order to really discover your coding sound you'll soon want to know
77 how to modify and control synths and FX. For example, you might want to
78 change the duration of a note, add more reverb, or change the time
79 between echoes. Luckily, Sonic Pi gives you an amazing level of control
80 to do exactly this with special things called optional parameters or
81 opts for short. Let's take a quick look. Copy this code into a workspace
82 and hit run:
83
84 sample :guit_em9
85
86
87 Ooh, a lovely guitar sound! Now, let's start playing with it. How about
88 changing its rate?
89
90 sample :guit_em9, rate: 0.5
91
92
93 Hey, what's that `rate: 0.5` bit I just added at the end? That's called
94 an opt. All of Sonic Pi's synths and FX support them and there's loads
95 to play around with. They're also available for FX too. Try this:
96
97
98 with_fx :flanger, feedback: 0.6 do
99 sample :guit_em9
100 end
101
102
103 Now, try increasing that feedback to 1 to hear some crazy sounds! Read the
104 docs for full details on all the many opts available to you.
105
106
107 ## 5. Live Code
108
109 The best way to quickly experiment and explore Sonic Pi is to live
110 code. This allows you to start off some code and continually change and
111 tweak it whilst it's still playing. For example, if you don't know what
112 the cutoff parameter does to a sample, just play around. Let's have a try!
113 Copy this code into one of your Sonic Pi workspaces:
114
115
116 live_loop :experiment do
117 sample :loop_amen, cutoff: 70
118 sleep 1.75
119 end
120
121
122 Now, hit run and you'll hear a slightly muffled drum break. Now, change
123 the `cutoff:` value to `80` and hit run again. Can you hear the
124 difference? Try `90`, `100`, `110`...
125
126 Once you get the hang of using `live_loop`s you'll not turn
127 back. Whenever I do a live coding gig I rely on `live_loop` as much as a
128 drummer relies on their sticks. For more information about live coding
129 check out Section 9 of the built-in tutorial.
130
131 ## 5. Surf the random streams
132
133 Finally, one thing I love doing is cheating by getting Sonic Pi to
134 compose things for me. A really great way to do this is using
135 randomisation. It might sound complicated but it really isn't. Let's
136 take a look. Copy this into a spare workspace:
137
138
139 live_loop :rand_surfer do
140 use_synth :dsaw
141 notes = (scale :e2, :minor_pentatonic, num_octaves: 2)
142 16.times do
143 play notes.choose, release: 0.1, cutoff: rrand(70, 120)
144 sleep 0.125
145 end
146 end
147
148 Now, when you play this, you'll hear a constant stream of random notes
149 from the scale `:e2 :minor_pentatonic` played with the `:dsaw`
150 synth. "Wait, wait! That's not a melody", I hear you shout! Well, here's
151 the first part of the magic trick. Every time we go round the
152 `live_loop` we can tell Sonic Pi to reset the random stream to a known
153 point. This is a bit like going back in time in the TARDIS with the
154 Doctor to a particular point in time and space. Let's try it - add the
155 line `use_random_seed 1` to the `live_loop`:
156
157 live_loop :rand_surfer do
158 use_random_seed 1
159 use_synth :dsaw
160 notes = (scale :e2, :minor_pentatonic, num_octaves: 2)
161 16.times do
162 play notes.choose, release: 0.1, cutoff: rrand(70, 120)
163 sleep 0.125
164 end
165 end
166
167 Now, every time the `live_loop` loops around, the random stream is
168 reset. This means it chooses the same 16 notes every time. Hey presto!
169 An instant melody. Now, here's the really exciting bit. Change the seed
170 value from `1` to another number. Say `4923`. Wow! Another melody! So,
171 just by changing one number (the random seed), you can explore as many
172 melodic combinations as you can imagine! Now, that's the magic of code.
0 A.2 Live Coding
1
2 # Live Coding
3
4 The laser beams sliced through the wafts of smoke as the subwoofer
5 pumped bass deep into the bodies of the crowd. The atmosphere was ripe
6 with a heady mix of synths and dancing. However something wasn't quite
7 right in this nightclub. Projected in bright colours above the DJ booth
8 was futuristic text, moving, dancing, flashing. This wasn't fancy
9 visuals, it was merely a projection of Sonic Pi running on a Raspberry
10 Pi. The occupant of the DJ booth wasn't spinning disks, he was writing,
11 editing and evaluating code. Live. This is Live Coding.
12
13 ![Sam Aaron Live Coding](../images/tutorial/articles/A.02-live-coding/sam-aaron-live-coding.png)
14
15 This may sound like a far fetched story from a futuristic night club but
16 coding music like this is a growing trend and is often described as Live
17 Coding (http://toplap.org). One of the recent directions this approach
18 to music making has taken is the Algorave (http://algorave.com) - events
19 where artists like myself code music for people to dance to. However,
20 you don't need to be in a nightclub to Live Code - with Sonic Pi v2.6+
21 you can do it anywhere you can take your Raspberry Pi and a pair of
22 headphones or some speakers. Once you reach the end of this article,
23 you'll be programming your own beats and modifying them live. Where you
24 go afterwards will only be constrained by your imagination.
25
26 ## Live Loop
27
28 The key to live coding with Sonic Pi is mastering the `live_loop`. Let's
29 look at one:
30
31 live_loop :beats do
32 sample :bd_haus
33 sleep 0.5
34 end
35
36 There are 4 core ingredients to a `live_loop`. The first is its
37 name. Our `live_loop` above is called `:beats`. You're free to call your
38 `live_loop` anything you want. Go crazy. Be creative. I often use names
39 that communicate something about the music they're making to the
40 audience. The second ingredient is the `do` word which marks where the
41 `live_loop` starts. The third is the `end` word which marks where the
42 `live_loop` finishes, and finally there is the body of the `live_loop`
43 which describes what the loop is going to repeat - that's the bit
44 between the `do` and `end`. In this case we're repeatedly playing a bass
45 drum sample and waiting for half a beat. This produces a nice regular
46 bass beat. Go ahead, copy it into an empty Sonic Pi buffer and hit
47 run. Boom, Boom, Boom!.
48
49 ## Redefining On-the-fly
50
51 Ok, so what's so special about the `live_loop`? So far it just seems
52 like a glorified `loop`! Well, the beauty of `live_loop`s is that you
53 can redefine them on-the-fly. This means that whilst they're still
54 running, you can change what they do. This is the secret to live coding
55 with Sonic Pi. Let's have a play:
56
57 live_loop :choral_drone do
58 sample :ambi_choir, rate: 0.4
59 sleep 1
60 end
61
62 Now press the Run button or hit `alt-r`. You're now listening to
63 some gorgeous choir sounds. Now, whilst it's still playing, change the
64 rate from `0.4` to `0.38`. Hit run again. Woah! Did you hear the choir
65 change note? Change it back up to `0.4` to return back to how it
66 was. Now, drop it to `0.2`, down to `0.19` and then back up to
67 `0.4`. See how changing just one parameter on the fly can give you real
68 control of the music? Now play around with the rate yourself - choose
69 your own values. Try negative numbers, really small numbers and large
70 numbers. Have fun!
71
72 ## Sleeping is important
73
74 One of the most important lessons about `live_loop`s is that they need
75 rest. Consider the following `live_loop`:
76
77 live_loop :infinite_impossibilities do
78 sample :ambi_choir
79 end
80
81 If you try running this code, you'll immediately see Sonic Pi
82 complaining that the `live_loop` did not sleep. This is a safety system
83 kicking in! Take a moment to think about what this code is asking the
84 computer to do. That's right, it's asking the computer to play an
85 infinite amount of choir samples in zero time. Without the safety system
86 the poor computer will try and do this and crash and burn in the
87 process. So remember, your `live_loop`s must contain a `sleep`.
88
89
90 ## Combining Sounds
91
92 Music is full of things happening at the same time. Drums at the same
93 time as bass at the same time as vocals at the same time as
94 guitars... In computing we call this concurrency and Sonic Pi provides
95 us with an amazingly simple way of playing things at the same
96 time. Simply use more than one `live_loop`!
97
98 live_loop :beats do
99 sample :bd_tek
100 with_fx :echo, phase: 0.125, mix: 0.4 do
101 sample :drum_cymbal_soft, sustain: 0, release: 0.1
102 sleep 0.5
103 end
104 end
105
106 live_loop :bass do
107 use_synth :tb303
108 synth :tb303, note: :e1, release: 4, cutoff: 120, cutoff_attack: 1
109 sleep 4
110 end
111
112 Here, we have two `live_loop`s, one looping quickly making beats and
113 another looping slowly making a crazy bass sound.
114
115 One of the interesting things about using multiple `live_loop`s is that
116 they each manage their own time. This means it's really easy to create
117 interesting polyrhythmical structures and even play with phasing Steve
118 Reich style. Check this out:
119
120 # Steve Reich's Piano Phase
121
122 notes = (ring :E4, :Fs4, :B4, :Cs5, :D5, :Fs4, :E4, :Cs5, :B4, :Fs4, :D5, :Cs5)
123
124 live_loop :slow do
125 play notes.tick, release: 0.1
126 sleep 0.3
127 end
128
129 live_loop :faster do
130 play notes.tick, release: 0.1
131 sleep 0.295
132 end
133
134
135 ## Bringing it all together
136
137 In each of these tutorials, we'll end with a final example in the form
138 of a new piece of music which draws from all of the ideas
139 introduced. Read this code and see if you can imagine what it's
140 doing. Then, copy it into a fresh Sonic Pi buffer and hit Run and
141 actually hear what it sounds like. Finally, change one of the numbers or
142 comment and uncomment things out. See if you can use this as a starting
143 point for a new performance, and most of all have fun! See you next
144 time...
145
146 with_fx :reverb, room: 1 do
147 live_loop :time do
148 synth :prophet, release: 8, note: :e1, cutoff: 90, amp: 3
149 sleep 8
150 end
151 end
152
153 live_loop :machine do
154 sample :loop_garzul, rate: 0.5, finish: 0.25
155 sample :loop_industrial, beat_stretch: 4, amp: 1
156 sleep 4
157 end
158
159 live_loop :kik do
160 sample :bd_haus, amp: 2
161 sleep 0.5
162 end
163
164 with_fx :echo do
165 live_loop :vortex do
166 # use_random_seed 800
167 notes = (scale :e3, :minor_pentatonic, num_octaves: 3)
168 16.times do
169 play notes.choose, release: 0.1, amp: 1.5
170 sleep 0.125
171 end
172 end
173 end
0 A.3 Coded Beats
1
2 # Coded Beats
3
4 One of the most exciting and disrupting technical developments in modern
5 music was the invention of samplers. These were boxes that allowed you
6 to record any sound into them and then manipulate and play back those
7 sounds in many interesting ways. For example, you could take an old
8 record, find a drum solo (or break), record it into your sampler and
9 then play it back on repeat at half-speed to provide the foundation for
10 your latest beats. This is how early hip-hop music was born and today
11 it's almost impossible to find electronic music that doesn't incorporate
12 samples of some kind. Using samples is a really great way of easily
13 introducing new and interesting elements into your live coded
14 performances.
15
16 So where can you get a sampler? Well you already have one - it's your
17 Raspberry Pi! The built-in live coding app Sonic Pi has an extremely
18 powerful sampler built into its core. Let's play with it!
19
20 ## The Amen Break
21
22 One of the most classic and recognisable drum break samples is called
23 the Amen Break. It was first performed in 1969 in the song "Amen
24 Brother" by the Winstons as part of a drum break. However, it was when
25 it was discovered by early hip-hop musicians in the 80s and used in
26 samplers that it started being heavily used in a wide variety of other
27 styles such as drum and bass, breakbeat, hardcore techno and breakcore.
28
29 I'm sure you're excited to hear that it's also built right into Sonic
30 Pi. Clear up a buffer and throw in the following code:
31
32 sample :loop_amen
33
34 Hit *Run* and boom! You're listening to one of the most influential
35 drum breaks in the history of dance music. However, this sample wasn't famous
36 for being played as a one-shot, it was built for being looped.
37
38
39 ## Beat Stretching
40
41 Let's loop the Amen Break by using our old friend the `live_loop`
42 introduced in this tutorial last month:
43
44 live_loop :amen_break do
45 sample :loop_amen
46 sleep 2
47 end
48
49 OK, so it is looping, but there's an annoying pause every time
50 round. That is because we asked it to sleep for `2` beats and with
51 the default BPM of 60 the `:loop_amen` sample only lasts for `1.753`
52 beats. We therefore have a silence of `2 - 1.753 = 0.247` beats. Even
53 though it's short, it's still noticeable.
54
55 To fix this issue we can use the `beat_stretch:` opt to ask Sonic Pi to
56 stretch (or shrink) the sample to match the specified number of beats.
57
58 [Breakout box start] Sonic Pi's `sample` and `synth` fns give you a lot
59 of control via optional parameters such as `amp:`, `cutoff:` and
60 `release:`. However, the term optional parameter is a real mouthful so
61 we just call them *opts* to keep things nice and simple.
62 [Breakout box end]
63
64 live_loop :amen_break do
65 sample :loop_amen, beat_stretch: 2
66 sleep 2
67 end
68
69 Now we're dancing! Although, perhaps we want to speed it up or slow it down
70 to suit the mood.
71
72 ## Playing with Time
73
74 OK, so what if we want to change styles to old school hip hop or
75 breakcore? One simple way of doing this is to play with time - or in
76 other words mess with the tempo. This is super easy in Sonic Pi - just
77 throw in a `use_bpm` into your live loop:
78
79 live_loop :amen_break do
80 use_bpm 30
81 sample :loop_amen, beat_stretch: 2
82 sleep 2
83 end
84
85 Whilst you're rapping over those slow beats, notice that we're still
86 sleeping for 2 and our BPM is 30, yet everything is in time. The
87 `beat_stretch` opt works with the current BPM to make sure everything just works.
88
89 Now, here's the fun part. Whilst the loop is still live, change the `30`
90 in the `use_bpm 30` line to `50`. Woah, everything just got faster yet *kept
91 in time*! Try going faster - up to 80, to 120, now go crazy and punch in
92 200!
93
94
95 ## Filtering
96
97 Now we can live loop samples, let's look at some of the most fun opts
98 provided by the `sample` synth. First up is `cutoff:` which controls the
99 cutoff filter of the sampler. By default this is disabled but you can
100 easily turn it on:
101
102
103 live_loop :amen_break do
104 use_bpm 50
105 sample :loop_amen, beat_stretch: 2, cutoff: 70
106 sleep 2
107 end
108
109 Go ahead and change the `cutoff:` opt. For example, increase it to 100,
110 hit *Run* and wait for the loop to cycle round to hear the change in the
111 sound. Notice that low values like 50 sound mellow and bassy and high
112 values like 100 and 120 are more full-sounding and raspy. This is
113 because the `cutoff:` opt will chop out the high frequency parts of the
114 sound just like a lawn-mower chops off the top of the grass. The
115 `cutoff:` opt is like the length setting - determining how much grass is
116 left over.
117
118
119 ## Slicing
120
121 Another great tool to play with is the slicer FX. This will chop (slice)
122 the sound up. Wrap the `sample` line with the FX code like this:
123
124 live_loop :amen_break do
125 use_bpm 50
126 with_fx :slicer, phase: 0.25, wave: 0, mix: 1 do
127 sample :loop_amen, beat_stretch: 2, cutoff: 100
128 end
129 sleep 2
130 end
131
132 Notice how the sound bounces up and down a little more. (You can hear
133 the original sound without the FX by changing the `mix:` opt to `0`.)
134 Now, try playing around with the `phase:` opt. This is the rate (in
135 beats) of the slicing effect. A smaller value like `0.125` will slice
136 faster and larger values like `0.5` will slice more slowly. Notice that
137 successively halving or doubling the `phase:` opts val tends to always
138 sound good. Finally, change the `wave:` opt to one of 0, 1, or 2 and
139 hear how it changes the sound. These are the various wave shapes. 0 is a
140 saw wave, (hard in, fade out) 1 is a square wave (hard in, hard out) and
141 2 is a triangle wave (fade in, fade out).
142
143
144 ## Bringing it all together
145
146 Finally, let's go back in time and revisit the early Bristol drum and
147 bass scene with this month's example. Don't worry too much about what
148 all this means, just type it in, hit Run, then start live coding it by
149 changing opt numbers and see where you can take it. Please do share what
150 you create! See you next time...
151
152 use_bpm 100
153
154 live_loop :amen_break do
155 p = [0.125, 0.25, 0.5].choose
156 with_fx :slicer, phase: p, wave: 0, mix: rrand(0.7, 1) do
157 r = [1, 1, 1, -1].choose
158 sample :loop_amen, beat_stretch: 2, rate: r, amp: 2
159 end
160 sleep 2
161 end
162
163 live_loop :bass_drum do
164 sample :bd_haus, cutoff: 70, amp: 1.5
165 sleep 0.5
166 end
167
168 live_loop :landing do
169 bass_line = (knit :e1, 3, [:c1, :c2].choose, 1)
170 with_fx :slicer, phase: [0.25, 0.5].choose, invert_wave: 1, wave: 0 do
171 s = synth :square, note: bass_line.tick, sustain: 4, cutoff: 60
172 control s, cutoff_slide: 4, cutoff: 120
173 end
174 sleep 4
175 end
0 A.4 Synth Riffs
1
2 # Synth Riffs
3
4 Whether it's the haunting drift of rumbling oscillators or the detuned
5 punch of saw waves piercing through the mix, the lead synth plays an
6 essential role on any electronic track. In last month's edition of this
7 tutorial series we covered how to code our beats. In this tutorial we'll
8 cover how to code up the three core components of a synth riff - the
9 timbre, melody and rhythm.
10
11 OK, so power up you Raspberry Pi, crack open Sonic Pi v2.6+ and let's
12 make some noise!
13
14
15 ## Timbral Possibilities
16
17 An essential part of any synth riff is changing and playing with the
18 timbre of the sounds. We can control the timbre in Sonic Pi in two ways
19 - choosing different synths for a dramatic change and setting the
20 various synth opts for more subtle modifications. We can also use FX,
21 but that's for another tutorial...
22
23 Let's create a simple live loop where we continually change the current
24 synth:
25
26 live_loop :timbre do
27 use_synth (ring :tb303, :blade, :prophet, :saw, :beep, :tri).tick
28 play :e2, attack: 0, release: 0.5, cutoff: 100
29 sleep 0.5
30 end
31
32 Take a look at the code. We're simply ticking through a ring of synth
33 names (this will cycle through each of these in turn repeating the list
34 over and over). We pass this synth name to the `use_synth` fn (function)
35 which will change the `live_loop`'s current synth. We also play note
36 `:e2` (E at the second octave), with a release time of 0.5 beats (half a
37 second at the default BPM of 60) and with the `cutoff:` opt set to 100.
38
39 Hear how the different synths have very different sounds even though
40 they're all playing the same note. Now experiment and have a
41 play. Change the release time to bigger and smaller values. For example,
42 change the `attack:` and `release:` opts to see how different fade
43 in/out times have a huge impact on the sound. Finally change the
44 `cutoff:` opt to see how different cutoff values also massively
45 influence the timbre (values between 60 and 130 are good). See how many
46 different sounds you can create by just changing a few values. Once
47 you've mastered that, just head to the Synths tab in the Help system for
48 a full list of all the synths and all the available opts each individual
49 synth supports to see just how much power you have under your coding
50 fingertips.
51
52 ## Timbre
53
54 Timbre is just a fancy word describing the sound of a sound. If you play
55 the same note with different instruments such as a violin, guitar, or
56 piano, the pitch (how high or low it sounds) would be the same, but the
57 sound quality would be different. That sound quality - the thing which
58 allows you to tell the difference between a piano and a guitar is the
59 timbre.
60
61
62 ## Melodic Composition
63
64 Another important aspect to our lead synth is the choice of notes we
65 want to play. If you already have a good idea, then you can simply
66 create a ring with your notes in and tick through them:
67
68 live_loop :riff do
69 use_synth :prophet
70 riff = (ring :e3, :e3, :r, :g3, :r, :r, :r, :a3)
71 play riff.tick, release: 0.5, cutoff: 80
72 sleep 0.25
73 end
74
75 Here, we've defined our melody with a ring which includes both notes
76 such as `:e3` and rests represented by `:r`. We're then using `.tick` to
77 cycle through each note to give us a repeating riff.
78
79 ## Auto Melody
80
81 It's not always easy to come up with a nice riff from scratch. Instead
82 it's often easier to ask Sonic Pi for a selection of random riffs and to
83 choose the one you like the best. To do that we need to combine three
84 things: rings, randomisation and random seeds. Let's look at an example:
85
86 live_loop :random_riff do
87 use_synth :dsaw
88 use_random_seed 3
89 notes = (scale :e3, :minor_pentatonic).shuffle
90 play notes.tick, release: 0.25, cutoff: 80
91 sleep 0.25
92 end
93
94 There's a few things going on - let's look at them in turn. First, we
95 specify that we're using random seed 3. What does this mean? Well, The
96 useful thing is that when we set the seed, we can predict what the next
97 random value is going to be - it's the same as it was last time we set
98 the seed to 3! Another useful thing to know is that shuffling a ring of
99 notes works in the same way. In the example above we're essentially
100 asking for the 'third shuffle' in the standard list of shuffles - which
101 is also the same every time as we're always setting the random seed to
102 the same value right before the shuffle. Finally we're just ticking
103 through our shuffled notes to play the riff.
104
105 Now, here's where the fun starts. If we change the random seed value to
106 another number, say 3000, we get an entirely different shuffling of the
107 notes. So now it's extremely easy to explore new melodies. Simply choose
108 the list of notes we want to shuffle (scales are a great starting point)
109 and then choose the seed we want to shuffle with. If we don't like the
110 melody, just change one of those two things and try again. Repeat until
111 you like what you hear!
112
113
114 ## Pseudo Randomisation
115
116 Sonic Pi's randomisation is not actually random it's what's called
117 pseudo random. Imagine if you were to roll a dice 100 times and write
118 down the result of each roll onto a piece of paper. Sonic Pi has the
119 equivalent of this list of results which it uses when you ask for a
120 random value. Instead of rolling an actual dice, it just picks the next
121 value from the list. Setting the random seed is just jumping to a
122 specific point in that list.
123
124 ## Finding your Rhythm
125
126 Another important aspect to our riff is the rhythm - when to play a note
127 and when not to. As we saw above we can use `:r` in our rings to insert
128 rests. Another very powerful way is to use spreads which we'll cover in
129 a future tutorial. Today we'll use randomisation to help us find our
130 rhythm. Instead of playing every note we can use a conditional to play a
131 note with a given probability. Let's take a look:
132
133 live_loop :random_riff do
134 use_synth :dsaw
135 use_random_seed 30
136 notes = (scale :e3, :minor_pentatonic).shuffle
137 16.times do
138 play notes.tick, release: 0.2, cutoff: 90 if one_in(2)
139 sleep 0.125
140 end
141 end
142
143 A really useful fn to know is `one_in` which will give us a
144 `true` or `false` value with the specified probability. Here, we're
145 using a value of 2 so on average one time every two calls to `one_in` it
146 will return `true`. In other words, 50% of the time it will return
147 `true`. Using higher values will make it return `false` more often
148 introducing more space into the riff.
149
150 Notices that we've added some iteration in here with `16.times`. This is
151 because we only want to reset our random seed value every 16 notes so
152 our rhythm repeats every 16 times. This doesn't affect the shuffling as
153 that is still done immediately after the seed is set. We can use the
154 iteration size to alter the length of the riff. Try changing the 16 to 8
155 or even 4 or 3 and see how it affects the rhythm of the riff.
156
157 ## Bringing it all together
158
159 OK, so let's combine everything we've learned together into one final
160 example. See you next time!
161
162 live_loop :random_riff do
163 # uncomment to bring in:
164 # synth :blade, note: :e4, release: 4, cutoff: 100, amp: 1.5
165 use_synth :dsaw
166 use_random_seed 43
167 notes = (scale :e3, :minor_pentatonic, num_octaves: 2).shuffle.take(8)
168 8.times do
169 play notes.tick, release: rand(0.5), cutoff: rrand(60, 130) if one_in(2)
170 sleep 0.125
171 end
172 end
173
174 live_loop :drums do
175 use_random_seed 500
176 16.times do
177 sample :bd_haus, rate: 2, cutoff: 110 if rand < 0.35
178 sleep 0.125
179 end
180 end
181
182 live_loop :bd do
183 sample :bd_haus, cutoff: 100, amp: 3
184 sleep 0.5
185 end
186
187
188
189
0 A.5 Acid Bass
1
2 # Acid Bass
3
4 It's impossible to look through the history of electronic dance music
5 without seeing the enormous impact of the tiny Roland TB-303
6 synthesiser. It's the secret sauce behind the original acid bass
7 sound. Those classic squealing and squelching TB-303 bass riffs can be
8 heard from the early Chicago House scene through to more recent
9 electronic artists such as Plastikman, Squarepusher and Aphex Twin.
10
11 Interestingly, Roland never intended for the TB-303 to be used in dance
12 music. It was originally created as a practice aid for guitarists. They
13 imagined that people would program them to play bass lines to jam along
14 to. Unfortunately there were a number of problems: they were a little
15 fiddly to program, didn't sound particularly good as a bass-guitar
16 replacement and were pretty expensive to buy. Deciding to cut their
17 losses, Roland stopped making them after 10,000 units were sold and
18 after a number of years sitting on guitarist's shelves, they soon could
19 be found in the windows of second hand shops. These lonely discarded
20 TB-303s were waiting to be discovered by a new generation of
21 experimenters who started using them in ways that Roland didn't imagine
22 to create new crazy sounds. Acid House was born.
23
24 Although getting your hands on an original TB-303 is not so easy you
25 will be pleased to know that you can turn your Raspberry Pi into one
26 using the power of Sonic Pi. Behold, fire up Sonic Pi and throw this
27 code into an empty buffer and hit Run:
28
29 use_synth :tb303
30 play :e1
31
32 Instant acid bass! Let's play around...
33
34 # Squelch that Bass
35
36 First, let's build a live arpeggiator to make things fun. In the last
37 tutorial we looked at how riffs can just be a ring of notes that we tick
38 through one after another, repeating when we get to the end. Let's
39 create a live loop that does exactly that:
40
41 use_synth :tb303
42 live_loop :squelch do
43 n = (ring :e1, :e2, :e3).tick
44 play n, release: 0.125, cutoff: 100, res: 0.8, wave: 0
45 sleep 0.125
46 end
47
48 Take a look at each line.
49
50 1. On the first line we set the default synth to be `tb303` with the
51 `use_synth` fn.
52
53 2. On line two we create a live loop called `:squelch` which will just
54 loop round and round.
55
56 3. Line three is where we create our riff - a ring of notes (E in
57 octaves 1, 2, and 3) which we simply tick through with `.tick`. We
58 define `n` to represent the current note in the riff. The equals sign
59 just means to assign the value on the right to the name on the
60 left. This will be different every time round the loop. The first
61 time round, `n` will be set to `:e1`. The second time round it will
62 be `:e2`, followed by `:e3`, and then back to `:e1`, cycling round
63 forever.
64
65 4. Line four is where we actually trigger our `:tb303` synth. We're
66 passing a few interesting opts here: `release:`, `cutoff:`, `res:`
67 and `wave:` which we'll discuss below.
68
69 5. Line five is our `sleep` - we're asking the live loop to loop round
70 every `0.125`s or 8 times a second at the default BPM of 60.
71
72 6. Line six is the `end` to the live loop. This just tells Sonic Pi
73 where the end of the live loop is.
74
75 Whilst you're still figuring out what's going on, type in the code above
76 and hit the Run button. You should hear the `:tb303` kick into
77 action. Now, this is where the action is: let's start live coding.
78
79 Whilst the loop is still live, change the `cutoff:` opt to `110`. Now
80 hit the Run button again. You should hear the sound become a little
81 harsher and more squelchy. Dial in `120` and hit run. Now `130`. Listen
82 how higher cutoff values make it sound more piercing and
83 intense. Finally, drop it down to `80` when you feel like a rest. Then
84 repeat as many times as you want. Don't worry, I'll still be here...
85
86 Another opt worth playing with is `res:`. This controls the level of
87 resonance of the filter. A high resonance is characteristic of acid bass
88 sounds. We currently have our `res:` set to `0.8`. Try cranking it up to
89 `0.85`, then `0.9`, and finally `0.95`. You might find that a cutoff
90 such as `110` or higher will make the differences easier to
91 hear. Finally go crazy and dial in `0.999` for some insane sounds. At a
92 `res` this high, you're hearing the cutoff filter resonate so much it
93 starts to make sounds of its own!
94
95 Finally, for a big impact on the timbre try changing the `wave:` opt to
96 `1`. This is the choice of source oscillator. The default is `0` which
97 is a sawtooth wave. `1` is a pulse wave and `2` is a triangle wave.
98
99 Of course, try different riffs by changing the notes in the ring or even
100 picking notes from scales or chords. Have fun with your first acid bass
101 synth.
102
103 # Deconstructing the TB-303
104
105 The design of the original TB-303 is actually pretty simple. As you can
106 see from the following diagram there's only 4 core parts.
107
108 ![TB-303 Design](../images/tutorial/articles/A.05-acid-bass/tb303-design.png)
109
110 First is the oscillator wave - the raw ingredients of the sound. In this
111 case we have a square wave. Next there's the oscillator's amplitude
112 envelope which controls the amp of the square wave through time. These
113 are accessed in Sonic Pi by the `attack:`, `decay:`, `sustain:` and
114 `release:` opts along with their level counterparts. For more
115 information read Section 2.4 'Duration with Envelopes' in the built-in
116 tutorial. We then pass our enveloped square wave through a resonant low
117 pass filter. This chops off the higher frequencies as well as having
118 that nice resonance effect. Now this is where the fun starts. The cutoff
119 value of this filter is also controlled by its own envelope! This means
120 we have amazing control over the timbre of the sound by playing with
121 both of these envelopes. Let's take a look:
122
123
124 use_synth :tb303
125 with_fx :reverb, room: 1 do
126 live_loop :space_scanner do
127 play :e1, cutoff: 100, release: 7, attack: 1, cutoff_attack: 4, cutoff_release: 4
128 sleep 8
129 end
130 end
131
132 For each standard envelope opt, there's a `cutoff_` equivalent opt in
133 the `:tb303` synth. So, to change the cutoff attack time we can use the
134 `cutoff_attack:` opt. Copy the code above into an empty buffer and hit
135 Run. You'll hear a crazy sound warble in and out. Now start to play. Try
136 changing the `cutoff_attack:` time to `1` and then `0.5`. Now try `8`.
137
138 Notice that I've passed everything through a `:reverb` FX for extra
139 atmosphere - try other FX to see what works!
140
141 # Bringing it all together
142
143 Finally, here's a piece I composed using the ideas in this
144 tutorial. Copy it into an empty buffer, listen for a while and then
145 start live coding your own changes. See what crazy sounds you can make
146 with it! See you next time...
147
148 use_synth :tb303
149 use_debug false
150
151 with_fx :reverb, room: 0.8 do
152 live_loop :space_scanner do
153 with_fx :slicer, phase: 0.25, amp: 1.5 do
154 co = (line 70, 130, steps: 8).tick
155 play :e1, cutoff: co, release: 7, attack: 1, cutoff_attack: 4, cutoff_release: 4
156 sleep 8
157 end
158 end
159
160 live_loop :squelch do
161 use_random_seed 3000
162 16.times do
163 n = (ring :e1, :e2, :e3).tick
164 play n, release: 0.125, cutoff: rrand(70, 130), res: 0.9, wave: 1, amp: 0.8
165 sleep 0.125
166 end
167 end
168 end
0 A.6 Musical Minecraft
1
2 # Musical Minecraft
3
4
5
6 Hello and welcome back! In the previous tutorials we've focussed purely
7 on the music possibilities of Sonic Pi - (turning your Raspberry Pi into
8 a performance ready musical instrument). So far we've learned how to:
9
10 * Live Code - changing the sounds on-the-fly,
11 * Code some huge beats,
12 * Generate powerful synth leads,
13 * Re-create the famous TB-303 acid-bass sound.
14
15 There's so much more to show you (which we will explore in future
16 editions). However, this month, let's look at something Sonic Pi can do
17 that you probably didn't realise: control Minecraft.
18
19 # Hello Minecraft World
20
21 OK, let's get started. Boot up your Raspberry Pi, fire up Minecraft Pi
22 and create a new world. Now start up Sonic Pi and re-size and move your
23 windows so you can see both Sonic Pi and Minecraft Pi at the same time.
24
25 In a fresh buffer type the following:
26
27 mc_message "Hello Minecraft from Sonic Pi!"
28
29 Now, hit Run. Boom! Your message appeared in Minecraft! How easy was
30 that? Now, stop reading this for a moment and play about with your own
31 messages. Have fun!
32
33 ![Screen 0](../images/tutorial/articles/A.06-minecraft/Musical-Minecraft-0-small.png)
34
35 # Sonic Teleporter
36
37 Now let's do some exploring. The standard option is to reach for the
38 mouse and keyboard and start walking around. That works, but it's pretty
39 slow and boring. It would be far better if we had some sort of teleport
40 machine. Well, thanks to Sonic Pi, we have one. Try this:
41
42 mc_teleport 80, 40, 100
43
44 Crikey! That was a long way up. If you weren't in flying-mode then you
45 would have fallen back down all the way to the ground. If you double-tap
46 space to enter flying-mode and teleport again, you'll stay hovering at
47 the location you zap to.
48
49 Now, what do those numbers mean? We have three numbers which describe
50 the coordinates of where in the world we want to go. We give each number
51 a name - x, y and z:
52
53 * x - how far left and right (80 in our example)
54 * y - how high we want to be (40 in our example)
55 * z - how far forward and back (100 in our example)
56
57 By choosing different values for x, y and z we can teleport *anywhere*
58 in our world. Try it! Choose different numbers and see where you can end
59 up. If the screen goes black it's because you've teleported yourself
60 under the ground or into a mountain. Just choose a higher y value to get
61 back out above land. Keep on exploring until you find somewhere you
62 like...
63
64 Using the ideas so far, let's build a Sonic Teleporter which makes a fun
65 teleport sound whilst it whizzes us across the Minecraft world:
66
67 mc_message "Preparing to teleport...."
68 sample :ambi_lunar_land, rate: -1
69 sleep 1
70 mc_message "3"
71 sleep 1
72 mc_message "2"
73 sleep 1
74 mc_message "1"
75 sleep 1
76 mc_teleport 90, 20, 10
77 mc_message "Whoooosh!"
78
79 ![Screen 1](../images/tutorial/articles/A.06-minecraft/Musical-Minecraft-1-small.png)
80
81 # Magic Blocks
82
83 Now you've found a nice spot, let's start building. You could do what
84 you're used to and start clicking the mouse furiously to place blocks
85 under the cursor. Or you could use the magic of Sonic Pi. Try this:
86
87 x, y, z = mc_location
88 mc_set_block :melon, x, y + 5, z
89
90 Now look up! There's a melon in the sky! Take a moment to look at the
91 code. What did we do? On line one we grabbed the current location of
92 Steve as the variables x, y and z. These correspond to our coordinates
93 described above. We use these coordinates in the fn `mc_set_block` which
94 will place the block of your choosing at the specified coordinates. In
95 order to make something higher up in the sky we just need to increase
96 the y value which is why we add 5 to it. Let's make a long trail of them:
97
98 live_loop :melon_trail do
99 x, y, z = mc_location
100 mc_set_block :melon, x, y-1, z
101 sleep 0.125
102 end
103
104 Now, jump over to Minecraft, make sure you're in flying-mode (double tap
105 space if not) and fly all around the world. Look behind you to see a
106 pretty trail of melon blocks! See what kind of twisty patterns you can
107 make in the sky.
108
109 # Live Coding Minecraft
110
111 Those of you that have been following this tutorial over the last few
112 months will probably have your minds blown at this point. The trail of
113 melons is pretty cool, but the most exciting part of the previous
114 example is that you can use `live_loop` with Minecraft! For those that
115 don't know, `live_loop` is Sonic Pi's special magic ability that no
116 other programming language has. It lets you run multiple loops at the
117 same time and allows you to change them whilst they run. They are
118 incredibly powerful and amazing fun. I use `live_loop`s to perform music
119 in nightclubs with Sonic Pi - DJs use discs and I use `live_loop`s :-)
120 However, today we're going to live code both music and Minecraft.
121
122 Let's get started. Run the code above and start making your melon
123 trail again. Now, without stopping the code, just simply change `:melon` to
124 `:brick` and hit run. Hey presto, you're now making a brick trail. How
125 simple was that! Fancy some music to go with it? Easy. Try this:
126
127 live_loop :bass_trail do
128 tick
129 x, y, z = mc_location
130 b = (ring :melon, :brick, :glass).look
131 mc_set_block b, x, y -1, z
132 note = (ring :e1, :e2, :e3).look
133 use_synth :tb303
134 play note, release: 0.1, cutoff: 70
135 sleep 0.125
136 end
137
138 Now, whilst that's playing start changing the code. Change the block
139 types - try `:water`, `:grass` or your favourite block type. Also, try
140 changing the cutoff value from `70` to `80` and then up to `100`. Isn't
141 this fun?
142
143 # Bringing it all together
144
145 ![Screen 2](../images/tutorial/articles/A.06-minecraft/Musical-Minecraft-2-small.png)
146
147 Let's combine everything we've seen so far with a little extra
148 magic. Let's combine our teleportation ability with block placing and
149 music to make a Minecraft Music Video. Don't worry if you don't
150 understand it all, just type it in and have a play by changing some of
151 the values whilst it's running live. Have fun and see you next time...
152
153
154 live_loop :note_blocks do
155 mc_message "This is Sonic Minecraft"
156 with_fx :reverb do
157 with_fx :echo, phase: 0.125, reps: 32 do
158 tick
159 x = (range 30, 90, step: 0.1).look
160 y = 20
161 z = -10
162 mc_teleport x, y, z
163 ns = (scale :e3, :minor_pentatonic)
164 n = ns.shuffle.choose
165 bs = (knit :glass, 3, :sand, 1)
166 b = bs.look
167 synth :beep, note: n, release: 0.1
168 mc_set_block b, x+20, n-60+y, z+10
169 mc_set_block b, x+20, n-60+y, z-10
170 sleep 0.25
171 end
172 end
173 end
174
175 live_loop :beats do
176 sample :bd_haus, cutoff: 100
177 sleep 0.5
178 end
179
180
181
182
183
0 A.7 Bizet Beats
1
2 # Bizet Beats
3
4 After our brief excursion to the fantastic world of coding Minecraft
5 with Sonic Pi last month, let's get musical again. Today we're going to
6 bring a classical operatic dance piece straight into the 21st century
7 using the awesome power of code.
8
9 # Outrageous and Disruptive
10
11 Let's jump into a time machine back to the year 1875. A composer called
12 Bizet had just finished his latest opera Carmen. Unfortunately like
13 many exciting and disruptive new pieces of music people initially
14 didn't like it at all because it was too outrageous and different. Sadly
15 Bizet died ten years before the opera gained huge international success
16 and became one of the most famous and frequently performed operas
17 of all time. In sympathy with this tragedy let's take one of the main
18 themes from Carmen and convert it to a modern format of music that is
19 also too outrageous and different for most people in our time - live
20 coded music!
21
22 # Decoding the Habanera
23
24 Trying to live code the whole opera would be a bit of a challenge for
25 this tutorial, so let's focus on one of the most famous parts - the bass
26 line to the Habanera:
27
28 ![Habanera Riff](../images/tutorial/articles/A.07-bizet/habanera.png)
29
30 This may look extremely unreadable to you if you haven't yet studied
31 music notation. However, as programmers we see music notation as just
32 another form of code - only it represents instructions to a musician instead
33 of a computer. We therefore need to figure out a way of decoding it.
34
35 # Notes
36
37 The notes are arranged from left to right like the words in this
38 magazine but also have different heights. *The height on the score
39 represents the pitch of the note.* The higher the note on the score, the
40 higher the pitch of the note.
41
42 In Sonic Pi we already know how to change the pitch of a note - we
43 either use high or low numbers such as `play 75` and `play 80` or we use
44 the note names: `play :E` and `play :F`. Luckily each of the vertical
45 positions of the musical score represents a specific note name. Take a
46 look at this handy look up table:
47
48 ![Notes](../images/tutorial/articles/A.07-bizet/notes.png)
49
50 # Rests
51
52 Music scores are an extremely rich and expressive kind of code capable
53 of communicating many things. It therefore shouldn't come as much of a
54 surprise that musical scores can not only tell you what notes to play but
55 also when *not* to play notes. In programming this is pretty much
56 equivalent to the idea of `nil` or `null` - the absence of a value. In
57 other words not playing a note is like the absence of a note.
58
59 If you look closely at the score you'll see that it's actually a
60 combination of black dots with lines which represent notes to play and
61 squiggly things which represent the rests. Luckily Sonic Pi has a very
62 handy representation for a rest: `:r`, so if we run: `play :r` it
63 actually plays silence! We could also write `play :rest`, `play nil` or
64 `play false` which are all equivalent ways of representing rests.
65
66 # Rhythm
67
68 Finally, there's one last thing to learn how to decode in the notation -
69 the timings of the notes. In the original notation you'll see that the
70 notes are connected with thick lines called beams. The second note has
71 two of these beams which means it lasts for a 16th of a beat. The other
72 notes have a single beam which means they last for an 8th of a beat. The
73 rest has two squiggly beams which means it also represents a 16th of the
74 beat.
75
76 When we attempt to decode and explore new things a very handy trick is
77 to make everything as similar as possible to try and see any
78 relationships or patterns. For example, when we re-write our notation
79 purely in 16ths you can see that our notation just turns into a nice
80 sequence of notes and rests.
81
82
83 ![Habanera Riff 2](../images/tutorial/articles/A.07-bizet/habanera2.png)
84
85 # Re-coding the Habanera
86
87 We're now in a position to start translating this bass line to Sonic
88 Pi. Let's encode these notes and rests in a ring:
89
90 (ring :d, :r, :r, :a, :f5, :r, :a, :r)
91
92 Let's see what this sounds like. Throw it in a live loop and tick
93 through it:
94
95 live_loop :habanera do
96 play (ring :d, :r, :r, :a, :f5, :r, :a, :r).tick
97 sleep 0.25
98 end
99
100 Fabulous, that instantly recognisable riff springs to life through your
101 speakers. It took a lot of effort to get here, but it was worth it -
102 high five!
103
104 # Moody Synths
105
106 Now we have the bass line, let's re-create some of the ambience of the
107 operatic scene. One synth to try out is `:blade` which is a moody 80s
108 style synth lead. Let's try it with the starting note `:d` passed
109 through a slicer and reverb:
110
111 live_loop :habanera do
112 use_synth :fm
113 use_transpose -12
114 play (ring :d, :r, :r, :a, :f5, :r, :a, :r).tick
115 sleep 0.25
116 end
117
118 with_fx :reverb do
119 live_loop :space_light do
120 with_fx :slicer, phase: 0.25 do
121 synth :blade, note: :d, release: 8, cutoff: 100, amp: 2
122 end
123 sleep 8
124 end
125 end
126
127 Now, try the other notes in the bass line: `:a` and `:f5`. Remember, you
128 don't need to hit stop, just modify the code whilst the music is playing
129 and hit run again. Also, try different values for the slicer's `phase:`
130 opt such as `0.5`, `0.75` and `1`.
131
132 # Bringing it all together
133
134 Finally, let's combine all the ideas so far into a new remix of the
135 Habanera. You might notice that I've included another part of the bass
136 line as a comment. Once you've typed it all into a fresh buffer hit Run
137 to hear the composition. Now, without hitting stop, *uncomment* the
138 second line by removing the `#` and hit run again - how marvellous is
139 that! Now, start mashing it around yourself and have fun.
140
141 use_debug false
142 bizet_bass = (ring :d, :r, :r, :a, :f5, :r, :a, :r)
143 #bizet_bass = (ring :d, :r, :r, :Bb, :g5, :r, :Bb, :r)
144
145 with_fx :reverb, room: 1, mix: 0.3 do
146 live_loop :bizet do
147 with_fx :slicer, phase: 0.125 do
148 synth :blade, note: :d4, release: 8,
149 cutoff: 100, amp: 1.5
150 end
151 16.times do
152 tick
153 play bizet_bass.look, release: 0.1
154 play bizet_bass.look - 12, release: 0.3
155 sleep 0.125
156 end
157 end
158 end
159
160 live_loop :ind do
161 sample :loop_industrial, beat_stretch: 1,
162 cutoff: 100, rate: 1
163 sleep 1
164 end
165
166 live_loop :drums do
167 sample :bd_haus, cutoff: 110
168 synth :beep, note: 49, attack: 0,
169 release: 0.1
170 sleep 0.5
171 end
172
0 A.8 Become a Minecraft VJ
1
2 # Become a Minecraft VJ
3
4 ![Screen 0](../images/tutorial/articles/A.08-minecraft-vj/minecraft-vj-0-small.png)
5
6 Everyone has played Minecraft. You will all have built amazing
7 structures, designed cunning traps and even created elaborate cart lines
8 controlled by redstone switches. How many of you have performed with
9 Minecraft? We bet you didn't know that you could use Minecraft to create
10 amazing visuals just like a professional VJ.
11
12 If your only way of modifying Minecraft was with the mouse, you'd have a
13 tough time changing things fast enough. Luckily for you your Raspberry
14 Pi comes with a version of Minecraft that can be controlled with
15 code. It also comes with an app called Sonic Pi which makes coding
16 Minecraft not only easy but also incredibly fun.
17
18 In today's article we'll be showing you some of the tips and tricks that
19 we've used to create performances in night clubs and music venues around
20 the world.
21
22 Let's get started...
23
24 # Getting Started
25
26 Let's start with a simple warm up exercise to refresh ourselves with the
27 basics. First up, crack open your Raspberry Pi and then fire up both
28 Minecraft and Sonic Pi. In Minecraft, create a new world, and in Sonic
29 Pi choose a fresh buffer and write in this code:
30
31 mc_message "Let's get started..."
32
33 Hit the Run button and you'll see the message over in the Minecraft
34 window. OK, we're ready to start, let's have some fun......
35
36 # Sand Storms
37
38 When we're using Minecraft to create visuals we try and think about what
39 will both look interesting and also be easy to generate from code. One
40 nice trick is to create a sand storm by dropping sand blocks from the
41 sky. For that all we need are a few basic fns:
42
43 * `sleep` - for inserting a delay between actions
44 * `mc_location` - to find our current location
45 * `mc_set_block`- to place sand blocks at a specific location
46 * `rrand` - to allow us to generate random values within a range
47 * `live_loop` - to allow us to continually make it rain sand
48
49 <!-- Breakout box start -->
50
51 If you're unfamiliar with any of the built-in fns such as `rrand`, just
52 type the word into your buffer, click on it and then hit the keyboard
53 combo `Control-i` to bring up the built-in documentation. Alternatively
54 you can navigate to the *lang* tab in the Help system and then look up
55 the fns directly along with all the other exciting things you can do.
56
57 <!-- Breakout box end -->
58
59 Let's make it rain a little first before unleashing the full power of
60 the storm. Grab your current location and use it to create a few sand
61 blocks up in the sky nearby:
62
63 x, y, z = mc_location
64 mc_set_block :sand, x, y + 20, z + 5
65 sleep 2
66 mc_set_block :sand, x, y + 20, z + 6
67 sleep 2
68 mc_set_block :sand, x, y + 20, z + 7
69 sleep 2
70 mc_set_block :sand, x, y + 20, z + 8
71
72 When you hit Run, you might have to look around a little as the blocks
73 may start falling down behind you depending on which direction you're
74 currently facing. Don't worry, if you missed them just hit Run again for
75 another batch of sand rain - just make sure you're looking the right
76 way!
77
78 Let's quickly review what's going on here. On the first line we grabbed
79 Steve's location as coordinates with the fn `mc_location` and placed
80 them into the vars `x`, `y`, and `z`. Then on the next lines we used the
81 `mc_set_block` fn to place some sand at the same coordinates as Steve
82 but with some modifications. We chose the same x coordinate, a y
83 coordinate 20 blocks higher and then successively larger z coordinates
84 so the sand dropped in a line away from Steve.
85
86 Why don't you take that code and start playing around with it yourself?
87 Try adding more lines, changing the sleep times, try mixing `:sand` with
88 `:gravel` and choose different coordinates. Just experiment and have fun!
89
90 # Live Loops Unleashed
91
92 OK, it's time to get the storm raging by unleashing the full power of
93 the `live_loop` - Sonic Pi's magical ability which unleashes the full
94 power of live coding - changing code on-the-fly whilst it's running!
95
96 live_loop :sand_storm do
97 x, y, z = mc_location
98 xd = rrand(-10, 10)
99 zd = rrand(-10, 10)
100 co = rrand(70, 130)
101 synth :cnoise, attack: 0, release: 0.125, cutoff: co
102 mc_set_block :sand, x + xd, y+20, z+zd
103 sleep 0.125
104 end
105
106 What fun! We're looping round pretty quickly (8 times a second) and
107 during each loop we're finding Steve's location like before but then
108 generating 3 random values:
109
110 * `xd` - the difference for x which will be between -10 and 10
111 * `zd` - the difference for z also between -10 and 10
112 * `co` - a cutoff value for the low pass filter between 70 and 130
113
114 We then use those random values in the fns `synth` and `mc_set_block`
115 giving us sand falling in random locations around Steve along with a
116 percussive rain-like sound from the `:cnoise` synth.
117
118 For those of you new to live loops - this is where the fun really starts
119 with Sonic Pi. Whilst the code is running and the sand is pouring down,
120 try changing one of the values, perhaps the sleep time to `0.25` or the
121 `:sand` block type to `:gravel`. Now hit run *again*. Hey Presto! Things
122 changed without the code stopping. This is your gateway to performing
123 like a real VJ. Keep practising and changing things around. How
124 different can you make the visuals without stopping the code?
125
126 # Epic Block Patterns
127
128 ![Screen 1](../images/tutorial/articles/A.08-minecraft-vj/minecraft-vj-1-small.png)
129
130 Finally, another great way of generating interesting visuals is to
131 generate huge patterned walls to fly towards and close by. For this
132 effect we'll need to move from placing the blocks randomly to placing
133 them in an ordered manner. We can do this by nesting two sets of
134 iteration (hit the Help button and navigate to section 5.2 of the
135 tutorial "Iteration and Loops" for more background on iteration). The
136 funny `|xd|` after the do means that `xd` will be set for each value of
137 the iteration. So the first time it will be 0, then 1, then 2... etc. By
138 nesting two lots of iteration together like this we can generate all the
139 coordinates for a square. We can then randomly choose block types from a
140 ring of blocks for an interesting effect:
141
142 x, y, z = mc_location
143 bs = (ring :gold, :diamond, :glass)
144 10.times do |xd|
145 10.times do |yd|
146 mc_set_block bs.choose, x + xd, y + yd, z
147 end
148 end
149
150 Pretty neat. Whilst we're having fun here, try changing `bs.choose` to
151 `bs.tick` to move from a random pattern to a more regular one. Try
152 changing the block types and the more adventurous of you might want to
153 try sticking this within a `live_loop` so that the patterns keep changing
154 automatically.
155
156 Now, for the VJ finale - change the two `10.times` to `100.times` and
157 hit Run. Kaboom! A Huge gigantic wall of randomly placed bricks. Imagine
158 how long it would take you to build that manually with your mouse!
159 Double-tap space to enter fly-mode and start swooping by for some great
160 visual effects. Don't stop here though - use your imagination to conjure
161 up some cool ideas and then use the coding power of Sonic Pi to make it
162 real. When you've practised enough dim the lights and put on a VJ show
163 for your friends!
0 A.9 Randomisation
1
2 # Surfing Random Streams
3
4 Back in episode 4 of this tutorial series we took a brief look at
5 randomisation whilst coding up some sizzling synth riffs. Given that
6 randomisation is such an important part of my live coding DJ sets I
7 thought it would be useful to cover the fundamentals in much greater
8 detail. So, get your lucky hat on and let's surf some random streams!
9
10 # There is no random
11
12 The first thing to learn which might really surprise you when playing
13 with Sonic Pi's randomisation functions is that they're not actually
14 really random. What does this actually mean? Well, let's try a couple of
15 tests. First, imagine a number in your head between 0 and 1. Keep it
16 there and don't tell me. Now let me guess... was it `0.321567`? No? Bah,
17 I'm clearly no good at this. Let me have another go, but let's ask Sonic
18 Pi to choose a number this time. Fire up Sonic Pi v2.7+ and ask it for a
19 random number but again don't tell me:
20
21 print rand
22
23 Now for the reveal... was it `0.75006103515625`? Yes! Ha, I can see
24 you're a little sceptical. Perhaps it was just a lucky guess. Let's try
25 again. Press the Run button again and see what we get... What?
26 `0.75006103515625` again? This clearly can't be random! You're right,
27 it's not.
28
29 What's going on here? The fancy computer science word here is
30 determinism. This just means that nothing is by chance and everything is
31 destined to be. Your version of Sonic Pi is destined to always return
32 `0.75006103515625` in the program above. This might sound pretty
33 useless, but let me assure you that it's one of the most powerful parts
34 of Sonic Pi. If you stick at it you'll learn how to rely on the
35 deterministic nature of Sonic Pi's randomisation as a fundamental
36 building block to your compositions and live coded DJ sets.
37
38 # A Random Melody
39
40 When Sonic Pi boots it actually loads into memory a sequence of 441,000
41 pre-generated random values. When you call a random function such as
42 `rand` or `rrand`, this random stream is used to generate your
43 result. Each call to a random function consumes a value from this
44 stream. Therefore the 10th call to a random function will use the 10th
45 value from the stream. Also, every time you press the Run button, the
46 stream is reset for that run. This is why I could predict the result to
47 `rand` and why the 'random' melody was the same every time. Everybody's
48 version of Sonic Pi uses the exact same random stream which is very
49 important when we start sharing our pieces with each other.
50
51 Let's use this knowledge to generate a repeatable random melody:
52
53 8.times do
54 play rrand_i(50, 95)
55 sleep 0.125
56 end
57
58 Type this into a spare buffer and hit Run. You'll hear a melody
59 consisting of 'random' notes between 50 and 95. When it's finished, hit
60 Run again to hear exactly the same melody again.
61
62 *start breakout box*
63 ## Handy Randomisation Functions
64 Sonic Pi comes with a number of useful functions for working with the
65 random stream. Here's a list of some of the most useful:
66
67 * `rand` - Simply returns the next value in the random stream
68 * `rrand` - Returns a random value within a range
69 * `rrand_i` - Returns a random whole number within a range
70 * `one_in` - Returns true or false with the given probability
71 * `dice` - Imitates rolling a dice and returns a value between 1 and 6
72 * `choose` - Chooses a random value from a list
73
74 Check out their documentation in the Help system for detailed
75 information and examples.
76
77 *end breakout box*
78
79 # Resetting the Stream
80
81 Whilst the ability to repeat a sequence of chosen notes is essential to
82 allow you to replay a riff on the dance floor, it might not be the
83 exactly riff you want. Wouldn't it be great if we could try a number of
84 different riffs and choose the one we liked best? This is where the real
85 magic starts.
86
87 We can manually set the stream with the fn `use_random_seed`. In
88 Computer Science, a random seed is the starting point from which a new
89 stream of random values can sprout out and blossom. Let's try it:
90
91 use_random_seed 0
92 3.times do
93 play rrand_i(50, 95)
94 sleep 0.125
95 end
96
97 Great, we get the first three notes of our random melody above: `84`,
98 `83` and `71`. However, we can now change the seed to something
99 else. How about this:
100
101 use_random_seed 1
102 3.times do
103 play rrand_i(50, 95)
104 sleep 0.125
105 end
106
107
108 Interesting, we get `83`, `71` and `61` . You might notice that the
109 first two numbers here are the same as the last two numbers before -
110 this isn't a coincidence.
111
112 Remember that the random stream is just a giant list of 'pre-rolled'
113 values. Using a random seed simply jumps us to a point in that
114 list. Another way of thinking about it is to imagine a huge deck of
115 pre-shuffled cards. Using a random seed is cutting the deck at a
116 particular point. The fabulous part of this is that it's precisely this
117 ability to jump around the random which gives us huge power when making
118 music.
119
120 Let's revisit our random melody of 8 notes with this new stream
121 resetting power, but let's also throw in a live loop so we can
122 experiment live whilst it's playing:
123
124 live_loop :random_riff do
125 use_random_seed 0
126 8.times do
127 play rrand_i(50, 95), release: 0.1
128 sleep 0.125
129 end
130 end
131
132 Now, whilst it's still playing, change the seed value from `0` to
133 something else. Try `100`, what about `999`. Try your own values,
134 experiment and play around - see which seed generates the riff you like
135 best.
136
137 # Bringing it all together
138
139 This month's tutorial has been quite a technical dive into the workings
140 of Sonic Pi's randomisation functionality. Hopefully it has given you
141 some insight into how it works and how you can start using randomisation
142 in a reliable way to create repeatable patterns within your music. It's
143 important to stress that you can use repeatable randomisation *anywhere*
144 you want. For example, you can randomise the amplitude of notes, the
145 timing of the rhythm, the amount of reverb, the current synth, the mix
146 of an FX, etc. etc. In the future we'll take a close look at some of
147 these applications, but for now let me leave you with a short example.
148
149 Type the following into a spare buffer, hit Run, and then start changing
150 the seeds around, hit Run again (whilst it's still playing) and explore
151 the different sounds, rhythms and melodies you can make. When you find a
152 nice one, remember the seed number so you can get back to it. Finally,
153 when you've found a few seeds you like, put on a live coded performance
154 for your friends by simply switching between your favourite seeds to
155 create a full piece.
156
157 live_loop :random_riff do
158 use_random_seed 10300
159 use_synth :prophet
160 s = [0.125, 0.25, 0.5].choose
161 8.times do
162 r = [0.125, 0.25, 1, 2].choose
163 n = (scale :e3, :minor).choose
164 co = rrand(30, 100)
165 play n, release: r, cutoff: co
166 sleep s
167 end
168 end
169
170 live_loop :drums do
171 use_random_seed 2001
172 16.times do
173 r = rrand(0.5, 10)
174 sample :drum_bass_hard, rate: r, amp: rand
175 sleep 0.125
176 end
177 end
178
179
0 A.10 Control
1
2 # Controlling Your Sound
3
4 So far during this series we've focussed on triggering sounds. We've
5 discovered that we can trigger the many synths built into Sonic Pi with
6 `play` or `synth` and how to trigger pre-recorded samples with
7 `sample`. We've also looked at how we can wrap these triggered sounds
8 within studio FX such as reverb and distortion using the `with_fx`
9 command. Combine this with Sonic Pi's incredibly accurate timing system
10 and you can produce a vast array of sounds, beats and riffs. However,
11 once you've carefully selected a particular sound's options and
12 triggered it, there's no ability to mess with it whilst it's playing
13 right? Wrong! Today you're going to learn something very powerful - how
14 to control running synths.
15
16 ## A Basic Sound
17
18 Let's create a nice simple sound. Fire up Sonic Pi and in a fresh buffer
19 type the following:
20
21 ```
22 synth :prophet, note: :e1, release: 8, cutoff: 100
23 ```
24
25 Now press the Run button at the top left to hear a lovely rumbling synth
26 sound. Go ahead, press it again a few times to get a feel for it. OK,
27 done? Let's start controlling it!
28
29
30 ## Synth Nodes
31
32 A little known feature in Sonic Pi is that the fns `play`, `synth` and
33 `sample`, return something called a `SynthNode` which represents a
34 running sound. You can capture one of these `SynthNode`s using a
35 standard variable and then **control** it at a later point in time. For
36 example, let's change the value of the `cutoff:` opt after 1 beat:
37
38 ```
39 sn = synth :prophet, note: :e1, release: 8, cutoff: 100
40 sleep 1
41 control sn, cutoff: 130
42 ```
43
44 Let's look at each line in turn:
45
46 Firstly we trigger the `:prophet` synth using the `synth` fn as
47 norml. However we also capture the result in a variable called `sn`. We
48 could have called this variable something completely different such as
49 `synth_node` or `jane` - the name doesn't matter. However, it's
50 important to choose a name that's meaningful to you for your
51 performances and for people reading your code. I chose `sn` as it's a nice
52 short mnemonic for synth node.
53
54 On line 2 we have a standard `sleep` command. This does nothing special
55 - it just asks the computer to wait for 1 beat before moving onto the
56 next line.
57
58 Line 3 is where the control fun starts. Here, we use the `control` fn to
59 tell our running `SynthNode` to change the cutoff value to `130`. If you
60 hit the **Run** button, you'll hear the `:prophet` synth start playing
61 as before, but after 1 beat it will shift to sound a lot brighter.
62
63
64 ** Breakout Box Start **
65 Modulatable Options
66
67 Most of Sonic Pi's synths and FX opts may be changed after being
68 triggered. However, this isn't the case for all of them. For example,
69 the envelope opts `attack:`, `decay:`, `sustain:` and `release:` can
70 only be set when triggering the synth. Figuring out which opts can and
71 can't be changed is simple - just head to the documentation for a given
72 synth or FX and then scroll down to the individual option documentation
73 and look for the phrases "May be changed whilst playing " or "Can not be
74 changed once set". For example, the documentation for the `:beep`
75 synth's `attack:` opt makes it clear that it's not possible to change
76 it:
77
78 * Default: 0
79 * Must be zero or greater
80 * Can not be changed once set
81 * Scaled with current BPM value
82 ** Breakout Box End **
83
84 ## Multiple Changes
85
86 Whilst a synth is running you're not limited to changing it only once -
87 you're free to change it as many times as you like. For example, we can
88 turn our `:prophet` into a mini arpegiator with the following:
89
90 ```
91 notes = (scale :e3, :minor_pentatonic)
92 sn = synth :prophet, note: :e1, release: 8, cutoff: 100
93 sleep 1
94 16.times do
95 control sn, note: notes.tick
96 sleep 0.125
97 end
98 ```
99
100 In this snippet of code we just added a couple of extra things. First we
101 defined a new variable called `notes` which contains the notes we'd like
102 to cycle through (an arpeggiator is just a fancy name for something that
103 cycles through a list of notes in order). Secondly we replaced our
104 single call to `control` with an iteration calling it 16 times. In each
105 call to `control` we `.tick` through our ring of `notes` which will
106 automaticall repeat once we get to the end (thanks to the fabulous power
107 of Sonic Pi's rings). For a bit of variety try replacing `.tick` with
108 `.choose` and see if you can hear the difference.
109
110 Note that we can change multiple opts simultaneously. Try changing the
111 control line to the following and listen for the difference:
112
113 ```
114 control sn, note: notes.tick, cutoff: rrand(70, 130)
115 ```
116
117 ## Sliding
118
119 When we control a `SynthNode`, it responds exactly on time and instantly
120 changes the value of the opt to the new one as if you'd pressed a button
121 or flicked a switch requesting the change. This can sound rhythmical and percussive -
122 especially if the opt controls an aspect of the timbre such as
123 `cutoff:`. However, sometimes you don't want the change to happen
124 instantaneously. Instead, you might want to smoothly move from the
125 current value to the new one as if you'd moved a slider or dial. Of
126 course, Sonic Pi can also do this too using the `_slide:` opts.
127
128 Each opt that can be modified also has a special corresonding `_slide:`
129 opt that allows you to specify a slide time. For example, `amp:` has
130 `amp_slide:` and `cutoff:` has `cutoff_slide:`. These slide opts work
131 slightly differently than all the other opts in that they tell the synth
132 note how to behave **next time they are controlled**. Let's take a look:
133
134 ```
135 sn = synth :prophet, note: :e1, release: 8, cutoff: 70, cutoff_slide: 2
136 sleep 1
137 control sn, cutoff: 130
138 ```
139
140 Notice how this example is exactly the same as before except with the
141 addition of `cutoff_slide:`. This is saying that next time this synth
142 has its `cutoff:` opt controlled, it will take 2 beats to slide from the
143 current value to the new one. Therefore, when we use `control` you can
144 hear the cutoff slide from 70 to 130. It creates an interesting dynamic
145 feel to the sound. Now, try changing the `cutoff_slide:` time to a
146 shorter value such as 0.5 or a longer value such as 4 to see how it
147 changes the sound. Remember, you can slide any of the modifiable opts in
148 exactly this way and each `_slide:` value can be totally different so
149 you can have the cutoff sliding slowly, the amp sliding fast and the pan
150 sliding somewhere in between if that's what you're looking to create...
151
152
153 ## Bringing it all together
154
155 Let's look at a short example which demonstrates the power of
156 controlling synths after they've been triggered. Notice that you can
157 also slide FX just like synths although with a slightly different
158 syntax. Check out section 7.2 of the built-in tutorial for more
159 information on controlling FX.
160
161 Copy the code into a spare buffer and take a listen. Don't stop there
162 though - play around with the code. Change the slide times, change the
163 notes, the synth, the FX and the sleep times and see if you can turn it
164 into something completely different!
165
166
167 ```
168 live_loop :moon_rise do
169 with_fx :echo, mix: 0, mix_slide: 8 do |fx|
170 control fx, mix: 1
171 notes = (scale :e3, :minor_pentatonic, num_octaves: 2).shuffle
172 sn = synth :prophet , sustain: 8, note: :e1, cutoff: 70, cutoff_slide: 8
173 control sn, cutoff: 130
174 sleep 2
175 32.times do
176 control sn, note: notes.tick, pan: rrand(-1, 1)
177 sleep 0.125
178 end
179 end
180 end
181 ```
1111
1212 ## Drums
1313
14 * :drum_heavy_kick - http://freesound.org/people/Zajo/sounds/4832/
15 * :drum_tom_mid_soft - http://www.freesound.org/people/menegass/sounds/100067/
16 * :drum_tom_mid_hard - http://www.freesound.org/people/menegass/sounds/100066/
17 * :drum_tom_lo_soft - http://www.freesound.org/people/menegass/sounds/100065/
18 * :drum_tom_lo_hard - http://www.freesound.org/people/menegass/sounds/100064/
19 * :drum_tom_hi_soft - http://www.freesound.org/people/menegass/sounds/100063/
20 * :drum_tom_hi_hard - http://www.freesound.org/people/menegass/sounds/100062/
21 * :drum_splash_soft - http://www.freesound.org/people/menegass/sounds/100061/
22 * :drum_splash_hard - http://www.freesound.org/people/menegass/sounds/100060/
23 * :drum_snare_soft - http://www.freesound.org/people/menegass/sounds/100059/
24 * :drum_snare_hard - http://www.freesound.org/people/menegass/sounds/100058/
25 * :drum_cymbal_soft - http://www.freesound.org/people/menegass/sounds/100057/
26 * :drum_cymbal_hard - http://www.freesound.org/people/menegass/sounds/100056/
27 * :drum_cymbal_open - http://www.freesound.org/people/menegass/sounds/100055/
28 * :drum_cymbal_closed - http://www.freesound.org/people/menegass/sounds/100053/
29 * :drum_cymbal_pedal - http://www.freesound.org/people/menegass/sounds/100054/
30 * :drum_bass_soft - http://www.freesound.org/people/menegass/sounds/100052/
31 * :drum_bass_hard - http://www.freesound.org/people/menegass/sounds/100051/
14 * `:drum_heavy_kick` - http://freesound.org/people/Zajo/sounds/4832/
15 * `:drum_tom_mid_soft` - http://www.freesound.org/people/menegass/sounds/100067/
16 * `:drum_tom_mid_hard` - http://www.freesound.org/people/menegass/sounds/100066/
17 * `:drum_tom_lo_soft` - http://www.freesound.org/people/menegass/sounds/100065/
18 * `:drum_tom_lo_hard` - http://www.freesound.org/people/menegass/sounds/100064/
19 * `:drum_tom_hi_soft` - http://www.freesound.org/people/menegass/sounds/100063/
20 * `:drum_tom_hi_hard` - http://www.freesound.org/people/menegass/sounds/100062/
21 * `:drum_splash_soft` - http://www.freesound.org/people/menegass/sounds/100061/
22 * `:drum_splash_hard` - http://www.freesound.org/people/menegass/sounds/100060/
23 * `:drum_snare_soft` - http://www.freesound.org/people/menegass/sounds/100059/
24 * `:drum_snare_hard` - http://www.freesound.org/people/menegass/sounds/100058/
25 * `:drum_cymbal_soft` - http://www.freesound.org/people/menegass/sounds/100057/
26 * `:drum_cymbal_hard` - http://www.freesound.org/people/menegass/sounds/100056/
27 * `:drum_cymbal_open` - http://www.freesound.org/people/menegass/sounds/100055/
28 * `:drum_cymbal_closed` - http://www.freesound.org/people/menegass/sounds/100053/
29 * `:drum_cymbal_pedal` - http://www.freesound.org/people/menegass/sounds/100054/
30 * `:drum_bass_soft` - http://www.freesound.org/people/menegass/sounds/100052/
31 * `:drum_bass_hard` - http://www.freesound.org/people/menegass/sounds/100051/
32 * `:drum_cowbell` - http://freesound.org/people/Neotone/sounds/75338/
33 * `:drum_roll` - http://freesound.org/people/Heigh-hoo/sounds/19433/
34
3235
3336 ## Electric sounds
3437
35 * :elec_triangle - http://www.freesound.org/people/looppool/sounds/13147/
36 * :elec_snare - http://www.freesound.org/people/looppool/sounds/13146/
37 * :elec_lo_snare - http://www.freesound.org/people/looppool/sounds/13145/
38 * :elec_hi_snare - http://www.freesound.org/people/looppool/sounds/13125/
39 * :elec_mid_snare - http://www.freesound.org/people/looppool/sounds/13132/
40 * :elec_cymbal - http://www.freesound.org/people/looppool/sounds/13143/
41 * :elec_soft_kick - http://www.freesound.org/people/looppool/sounds/13142/
42 * :elec_filt_snare - http://www.freesound.org/people/looppool/sounds/13141/
43 * :elec_fuzz_tom - http://www.freesound.org/people/looppool/sounds/13140/
44 * :elec_chime - http://www.freesound.org/people/looppool/sounds/13138/
45 * :elec_bong - http://www.freesound.org/people/looppool/sounds/13137/
46 * :elec_twang - http://www.freesound.org/people/looppool/sounds/13136/
47 * :elec_wood - http://www.freesound.org/people/looppool/sounds/13135/
48 * :elec_pop - http://www.freesound.org/people/looppool/sounds/13134/
49 * :elec_beep - http://www.freesound.org/people/looppool/sounds/13126/
50 * :elec_blip - http://www.freesound.org/people/looppool/sounds/13121/
51 * :elec_blip2 - http://www.freesound.org/people/looppool/sounds/13120/
52 * :elec_ping - http://www.freesound.org/people/looppool/sounds/13119/
53 * :elec_bell - http://www.freesound.org/people/looppool/sounds/13116/
54 * :elec_flip - http://www.freesound.org/people/looppool/sounds/13114/
55 * :elec_tick - http://www.freesound.org/people/looppool/sounds/13113/
56 * :elec_hollow_kick - http://www.freesound.org/people/looppool/sounds/13099/
57 * :elec_twip - http://www.freesound.org/people/looppool/sounds/13094/
58 * :elec_plip - http://www.freesound.org/people/looppool/sounds/13093/
59 * :elec_blup - http://www.freesound.org/people/looppool/sounds/13092/
38 * `:elec_triangle` - http://www.freesound.org/people/looppool/sounds/13147/
39 * `:elec_snare` - http://www.freesound.org/people/looppool/sounds/13146/
40 * `:elec_lo_snare` - http://www.freesound.org/people/looppool/sounds/13145/
41 * `:elec_hi_snare` - http://www.freesound.org/people/looppool/sounds/13125/
42 * `:elec_mid_snare` - http://www.freesound.org/people/looppool/sounds/13132/
43 * `:elec_cymbal` - http://www.freesound.org/people/looppool/sounds/13143/
44 * `:elec_soft_kick` - http://www.freesound.org/people/looppool/sounds/13142/
45 * `:elec_filt_snare` - http://www.freesound.org/people/looppool/sounds/13141/
46 * `:elec_fuzz_tom` - http://www.freesound.org/people/looppool/sounds/13140/
47 * `:elec_chime` - http://www.freesound.org/people/looppool/sounds/13138/
48 * `:elec_bong` - http://www.freesound.org/people/looppool/sounds/13137/
49 * `:elec_twang` - http://www.freesound.org/people/looppool/sounds/13136/
50 * `:elec_wood` - http://www.freesound.org/people/looppool/sounds/13135/
51 * `:elec_pop` - http://www.freesound.org/people/looppool/sounds/13134/
52 * `:elec_beep` - http://www.freesound.org/people/looppool/sounds/13126/
53 * `:elec_blip` - http://www.freesound.org/people/looppool/sounds/13121/
54 * `:elec_blip2` - http://www.freesound.org/people/looppool/sounds/13120/
55 * `:elec_ping` - http://www.freesound.org/people/looppool/sounds/13119/
56 * `:elec_bell` - http://www.freesound.org/people/looppool/sounds/13116/
57 * `:elec_flip` - http://www.freesound.org/people/looppool/sounds/13114/
58 * `:elec_tick` - http://www.freesound.org/people/looppool/sounds/13113/
59 * `:elec_hollow_kick` - http://www.freesound.org/people/looppool/sounds/13099/
60 * `:elec_twip` - http://www.freesound.org/people/looppool/sounds/13094/
61 * `:elec_plip` - http://www.freesound.org/people/looppool/sounds/13093/
62 * `:elec_blup` - http://www.freesound.org/people/looppool/sounds/13092/
63
6064
6165 ## Guitar
6266
63 * :guit_harmonics - http://freesound.org/people/BStateham/sounds/141524/<
64 * :guit_e_fifths - http://freesound.org/people/Sub-d/sounds/46990/
65 * :guit_e_slide - http://freesound.org/people/Suva/sounds/2410/
66 * :guit_em9 - http://www.freesound.org/people/Sub-d/sounds/46992/
67 * `:guit_harmonics` - http://freesound.org/people/BStateham/sounds/141524/<
68 * `:guit_e_fifths` - http://freesound.org/people/Sub-d/sounds/46990/
69 * `:guit_e_slide` - http://freesound.org/people/Suva/sounds/2410/
70 * `:guit_em9` - http://www.freesound.org/people/Sub-d/sounds/46992/
71
6772
6873 ## Misc
6974
70 * :misc_burp - http://freesound.org/people/anas76/sounds/222022/
75 * `:misc_burp` - http://freesound.org/people/anas76/sounds/222022/
76 * `:misc_crow` - http://freesound.org/people/davidworksonline/sounds/54973/
77 * `:misc_cineboom` - http://freesound.org/people/Northern_Monkey/sounds/177242/
78
7179
7280 ## Percussion
7381
74 * :perc_bell - http://freesound.org/people/AlaskaRobotics/sounds/221515/
75 * :perc_snap - http://www.freesound.org/people/SoundCollectah/sounds/109400/
76 * :perc_snap2 - http://www.freesound.org/people/Peram/sounds/158615/
82 * `:perc_bell` - http://freesound.org/people/AlaskaRobotics/sounds/221515/
83 * `:perc_snap` - http://www.freesound.org/people/SoundCollectah/sounds/109400/
84 * `:perc_snap2` - http://www.freesound.org/people/Peram/sounds/158615/
85 * `:perc_swash` - http://freesound.org/people/qubodup/sounds/60009/
86 * `:perc_till` - http://freesound.org/people/Zott820/sounds/209578/
87
7788
7889 ## Ambient
7990
80 * :ambi_soft_buzz - http://freesound.org/people/ludvique/sounds/71852/
81 * :ambi_swoosh - http://freesound.org/people/Halgrimm/sounds/169867/
82 * :ambi_drone - http://freesound.org/people/Autistic%20Lucario/sounds/195341/
83 * :ambi_glass_hum - http://freesound.org/people/kaligari/sounds/35391/
84 * :ambi_glass_rub - http://freesound.org/people/ani_music/sounds/198403/
85 * :ambi_haunted_hum - http://freesound.org/people/kaligari/sounds/35392/
86 * :ambi_piano - http://freesound.org/people/RutgerMuller/sounds/51245/
87 * :ambi_lunar_land - http://freesound.org/people/maqsim/sounds/172157/
88 * :ambi_dark_woosh - http://freesound.org/people/EcoDTR/sounds/27281/
89 * :ambi_choir - http://freesound.org/people/Exsomniel/sounds/207809/
91 * `:ambi_soft_buzz` - http://freesound.org/people/ludvique/sounds/71852/
92 * `:ambi_swoosh` - http://freesound.org/people/Halgrimm/sounds/169867/
93 * `:ambi_drone` - http://freesound.org/people/Autistic%20Lucario/sounds/195341/
94 * `:ambi_glass_hum` - http://freesound.org/people/kaligari/sounds/35391/
95 * `:ambi_glass_rub` - http://freesound.org/people/ani_music/sounds/198403/
96 * `:ambi_haunted_hum` - http://freesound.org/people/kaligari/sounds/35392/
97 * `:ambi_piano` - http://freesound.org/people/RutgerMuller/sounds/51245/
98 * `:ambi_lunar_land` - http://freesound.org/people/maqsim/sounds/172157/
99 * `:ambi_dark_woosh` - http://freesound.org/people/EcoDTR/sounds/27281/
100 * `:ambi_choir` - http://freesound.org/people/Exsomniel/sounds/207809/
101
90102
91103 ## Bass
92104
93 * :bass_hit_c - http://freesound.org/people/oceanictrancer/sounds/211614/
94 * :bass_hard_c - http://freesound.org/people/ani_music/sounds/165309/
95 * :bass_thick_c - http://freesound.org/people/ani_music/sounds/165314/
96 * :bass_drop_c - http://freesound.org/people/ani_music/sounds/165320/
97 * :bass_woodsy_c - http://freesound.org/people/ani_music/sounds/165322/
98 * :bass_voxy_c - http://freesound.org/people/ani_music/sounds/165325/
99 * :bass_voxy_hit_c - http://freesound.org/people/ani_music/sounds/165327/
100 * :bass_dnb_f - http://freesound.org/people/Exsomniel/sounds/206134/
105 * `:bass_hit_c` - http://freesound.org/people/oceanictrancer/sounds/211614/
106 * `:bass_hard_c` - http://freesound.org/people/ani_music/sounds/165309/
107 * `:bass_thick_c` - http://freesound.org/people/ani_music/sounds/165314/
108 * `:bass_trance_c` - http://freesound.org/people/ani_music/sounds/165329/
109 * `:bass_drop_c` - http://freesound.org/people/ani_music/sounds/165320/
110 * `:bass_woodsy_c` - http://freesound.org/people/ani_music/sounds/165322/
111 * `:bass_voxy_c` - http://freesound.org/people/ani_music/sounds/165325/
112 * `:bass_voxy_hit_c` - http://freesound.org/people/ani_music/sounds/165327/
113 * `:bass_dnb_f` - http://freesound.org/people/Exsomniel/sounds/206134/
101114
102115
103116 ## Bass Drums
104117
105 * :bd_pure - http://freesound.org/people/EKVelika/sounds/209571/
106 * :bd_808 - http://freesound.org/people/EKVelika/sounds/208447/
107 * :bd_zum - http://freesound.org/people/n1ghthawk/sounds/172124/
108 * :bd_gas - http://freesound.org/people/menegass/sounds/89460/
109 * :bd_sone - http://freesound.org/people/soneproject/sounds/223090/
110 * :bd_haus - http://freesound.org/people/Rodrigo%20The%20Mad/sounds/137722/
111 * :bd_zome - http://freesound.org/people/Dolfeus/sounds/55231/
112 * :bd_boom - http://freesound.org/people/Snapper4298/sounds/157245/
113 * :bd_klub - http://freesound.org/people/zgump/sounds/83262/
114 * :bd_fat - http://freesound.org/people/cubix/sounds/124386/
115 * :bd_tek - http://freesound.org/people/DWSD/sounds/171104/
116 * :bd_ada - http://www.freesound.org/people/adammusic18/sounds/208871/
118 * `:bd_pure` - http://freesound.org/people/EKVelika/sounds/209571/
119 * `:bd_808` - http://freesound.org/people/EKVelika/sounds/208447/
120 * `:bd_zum` - http://freesound.org/people/n1ghthawk/sounds/172124/
121 * `:bd_gas` - http://freesound.org/people/menegass/sounds/89460/
122 * `:bd_sone` - http://freesound.org/people/soneproject/sounds/223090/
123 * `:bd_haus` - http://freesound.org/people/Rodrigo%20The%20Mad/sounds/137722/
124 * `:bd_zome` - http://freesound.org/people/Dolfeus/sounds/55231/
125 * `:bd_boom` - http://freesound.org/people/Snapper4298/sounds/157245/
126 * `:bd_klub` - http://freesound.org/people/zgump/sounds/83262/
127 * `:bd_fat` - http://freesound.org/people/cubix/sounds/124386/
128 * `:bd_tek` - http://freesound.org/people/DWSD/sounds/171104/
129 * `:bd_ada` - http://www.freesound.org/people/adammusic18/sounds/208871/
130
117131
118132 ## Snares
119133
120 * :sn_dub - http://freesound.org/people/Adriak909/sounds/173142/
121 * :sn_dolf - http://freesound.org/people/Dolfeus/sounds/57534/
122 * :sn_zome - http://freesound.org/people/Dolfeus/sounds/55232/
134 * `:sn_dub` - http://freesound.org/people/Adriak909/sounds/173142/
135 * `:sn_dolf` - http://freesound.org/people/Dolfeus/sounds/57534/
136 * `:sn_zome` - http://freesound.org/people/Dolfeus/sounds/55232/
137
123138
124139 ## Loops
125140
126 * :loop_industrial - http://freesound.org/people/godspine/sounds/222072/
127 * :loop_compus - http://freesound.org/people/godspine/sounds/212288/
128 * :loop_amen - http://freesound.org/people/Dolfeus/sounds/43389/
129 * :loop_amen_full - http://freesound.org/people/gowers/sounds/202537/
130 * :loop_garzul - http://freesound.org/people/Garzul/sounds/213524/
131 * :loop_mika - http://freesound.org/people/mika55/sounds/188551/
141 * `:loop_industrial` - http://freesound.org/people/godspine/sounds/222072/
142 * `:loop_compus` - http://freesound.org/people/godspine/sounds/212288/
143 * `:loop_amen` - http://freesound.org/people/Dolfeus/sounds/43389/
144 * `:loop_amen_full` - http://freesound.org/people/gowers/sounds/202537/
145 * `:loop_garzul` - http://freesound.org/people/Garzul/sounds/213524/
146 * `:loop_mika` - http://freesound.org/people/mika55/sounds/188551/
147 * `:loop_breakbeat` - http://freesound.org/people/Snapper4298/sounds/160354/
148 * `:loop_safari` - http://freesound.org/people/nemaavla/sounds/318759/
149 * `:loop_tabla` - http://freesound.org/people/lezaarth/sounds/242591/
150
151
152 ## Tabla
153
154 * `:tabla_tas1` - http://freesound.org/people/dio_333/sounds/130427/
155 * `:tabla_tas2` - http://freesound.org/people/dio_333/sounds/130425/
156 * `:tabla_tas3` - http://freesound.org/people/dio_333/sounds/130430/
157 * `:tabla_ke1` - http://freesound.org/people/dio_333/sounds/130413/
158 * `:tabla_ke2` - http://freesound.org/people/dio_333/sounds/130424/
159 * `:tabla_ke3` - http://freesound.org/people/dio_333/sounds/130423/
160 * `:tabla_na` - http://freesound.org/people/dio_333/sounds/130421/
161 * `:tabla_na_o` - http://freesound.org/people/dio_333/sounds/130422/
162 * `:tabla_tun1` - http://freesound.org/people/dio_333/sounds/130416/
163 * `:tabla_tun2` - http://freesound.org/people/dio_333/sounds/130419/
164 * `:tabla_tun3` - http://freesound.org/people/dio_333/sounds/130420/
165 * `:tabla_te1` - http://freesound.org/people/dio_333/sounds/130429/
166 * `:tabla_te2` - http://freesound.org/people/dio_333/sounds/130418/
167 * `:tabla_te_ne` - http://freesound.org/people/dio_333/sounds/130417/
168 * `:tabla_te_m` - http://freesound.org/people/dio_333/sounds/130415/
169 * `:tabla_ghe1` - http://freesound.org/people/dio_333/sounds/130406/
170 * `:tabla_ghe2` - http://freesound.org/people/dio_333/sounds/130405/
171 * `:tabla_ghe3` - http://freesound.org/people/dio_333/sounds/130404/
172 * `:tabla_ghe4` - http://freesound.org/people/dio_333/sounds/130411/
173 * `:tabla_ghe5` - http://freesound.org/people/dio_333/sounds/130410/
174 * `:tabla_ghe6` - http://freesound.org/people/dio_333/sounds/130409/
175 * `:tabla_ghe7` - http://freesound.org/people/dio_333/sounds/130408/
176 * `:tabla_ghe8` - http://freesound.org/people/dio_333/sounds/130414/
177 * `:tabla_dhec` - http://freesound.org/people/dio_333/sounds/130407/
178 * `:tabla_na_s` - http://freesound.org/people/dio_333/sounds/130428/
179 * `:tabla_re` - http://freesound.org/people/dio_333/sounds/130427/
180
181
182 # Vinyl
183
184 * `:vinyl_backspin` - http://freesound.org/people/il112/sounds/182316/
185 * `:vinyl_rewind` - http://freesound.org/people/TasmanianPower/sounds/162493/
186 * `:vinyl_scratch` - http://freesound.org/people/hello_flowers/sounds/28681/
187 * `:vinyl_hiss` - http://freesound.org/people/veezay/sounds/130393/
etc/samples/ambi_choir.wav less more
Binary diff not shown
etc/samples/ambi_dark_woosh.wav less more
Binary diff not shown
etc/samples/ambi_drone.wav less more
Binary diff not shown
etc/samples/ambi_glass_hum.wav less more
Binary diff not shown
etc/samples/ambi_glass_rub.wav less more
Binary diff not shown
etc/samples/ambi_haunted_hum.wav less more
Binary diff not shown
etc/samples/ambi_lunar_land.wav less more
Binary diff not shown
etc/samples/ambi_piano.wav less more
Binary diff not shown
etc/samples/ambi_soft_buzz.wav less more
Binary diff not shown
etc/samples/ambi_swoosh.wav less more
Binary diff not shown
etc/samples/bass_dnb_f.wav less more
Binary diff not shown
etc/samples/bass_drop_c.wav less more
Binary diff not shown
etc/samples/bass_hard_c.wav less more
Binary diff not shown
etc/samples/bass_hit_c.wav less more
Binary diff not shown
etc/samples/bass_thick_c.wav less more
Binary diff not shown
etc/samples/bass_trance_c.wav less more
Binary diff not shown
etc/samples/bass_voxy_c.wav less more
Binary diff not shown
etc/samples/bass_voxy_hit_c.wav less more
Binary diff not shown
etc/samples/bass_woodsy_c.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/bd_808.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/bd_ada.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/bd_boom.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/bd_fat.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/bd_gas.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/bd_haus.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/bd_klub.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/bd_pure.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/bd_sone.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/bd_tek.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/bd_zome.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/bd_zum.wav less more
Binary diff not shown
etc/samples/drum_bass_hard.wav less more
Binary diff not shown
etc/samples/drum_bass_soft.wav less more
Binary diff not shown
etc/samples/drum_cymbal_closed.wav less more
Binary diff not shown
etc/samples/drum_cymbal_hard.wav less more
Binary diff not shown
etc/samples/drum_cymbal_open.wav less more
Binary diff not shown
etc/samples/drum_cymbal_pedal.wav less more
Binary diff not shown
etc/samples/drum_cymbal_soft.wav less more
Binary diff not shown
etc/samples/drum_heavy_kick.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/drum_snare_hard.wav less more
Binary diff not shown
etc/samples/drum_snare_soft.wav less more
Binary diff not shown
etc/samples/drum_splash_hard.wav less more
Binary diff not shown
etc/samples/drum_splash_soft.wav less more
Binary diff not shown
etc/samples/drum_tom_hi_hard.wav less more
Binary diff not shown
etc/samples/drum_tom_hi_soft.wav less more
Binary diff not shown
etc/samples/drum_tom_lo_hard.wav less more
Binary diff not shown
etc/samples/drum_tom_lo_soft.wav less more
Binary diff not shown
etc/samples/drum_tom_mid_hard.wav less more
Binary diff not shown
etc/samples/drum_tom_mid_soft.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/elec_beep.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/elec_bell.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/elec_blip.wav less more
Binary diff not shown
etc/samples/elec_blip2.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/elec_blup.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/elec_bong.wav less more
Binary diff not shown
etc/samples/elec_chime.wav less more
Binary diff not shown
etc/samples/elec_cymbal.wav less more
Binary diff not shown
etc/samples/elec_filt_snare.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/elec_flip.wav less more
Binary diff not shown
etc/samples/elec_fuzz_tom.wav less more
Binary diff not shown
etc/samples/elec_hi_snare.wav less more
Binary diff not shown
etc/samples/elec_hollow_kick.wav less more
Binary diff not shown
etc/samples/elec_lo_snare.wav less more
Binary diff not shown
etc/samples/elec_mid_snare.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/elec_ping.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/elec_plip.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/elec_pop.wav less more
Binary diff not shown
etc/samples/elec_snare.wav less more
Binary diff not shown
etc/samples/elec_soft_kick.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/elec_tick.wav less more
Binary diff not shown
etc/samples/elec_triangle.wav less more
Binary diff not shown
etc/samples/elec_twang.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/elec_twip.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/elec_wood.wav less more
Binary diff not shown
etc/samples/guit_e_fifths.wav less more
Binary diff not shown
etc/samples/guit_e_slide.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/guit_em9.wav less more
Binary diff not shown
etc/samples/guit_harmonics.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/loop_amen.wav less more
Binary diff not shown
etc/samples/loop_amen_full.wav less more
Binary diff not shown
etc/samples/loop_breakbeat.wav less more
Binary diff not shown
etc/samples/loop_compus.wav less more
Binary diff not shown
etc/samples/loop_garzul.wav less more
Binary diff not shown
etc/samples/loop_industrial.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/loop_mika.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/misc_burp.wav less more
Binary diff not shown
Binary diff not shown
Binary diff not shown
etc/samples/perc_bell.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/perc_snap.wav less more
Binary diff not shown
etc/samples/perc_snap2.wav less more
Binary diff not shown
Binary diff not shown
Binary diff not shown
etc/samples/sn_dolf.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/sn_dub.wav less more
Binary diff not shown
Binary diff not shown
etc/samples/sn_zome.wav less more
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
0 # key: fx c
1 # point_line: 1
2 # point_index: 2
3 # --
4 with_fx :compressor do
5
6 end
0 # key: fx
1 # point_line: 0
2 # point_index: 7
3 # --
4 with_fx do
5
6 end
308308 cutoff-freq (midicps cutoff)
309309 detune-freq (midicps (+ note detune))
310310 snd (normalizer (lpf (mix (saw [freq detune-freq])) cutoff-freq))
311 env (env-gen:kr (core/shaped-adsr attack decay sustain release attack_level decay_level sustain_level env_curve) :action FREE)]
312 (out out_bus (pan2 (* amp-fudge snd env) pan amp))))
313
314
315 (defsynth sonic-pi-dtri [note 52
316 note_slide 0
317 note_slide_shape 1
318 note_slide_curve 0
319 amp 1
320 amp_slide 0
321 amp_slide_shape 1
322 amp_slide_curve 0
323 pan 0
324 pan_slide 0
325 pan_slide_shape 1
326 pan_slide_curve 0
327 attack 0
328 decay 0
329 sustain 0
330 release 1
331 attack_level 1
332 decay_level -1
333 sustain_level 1
334 env_curve 1
335 cutoff 100
336 cutoff_slide 0
337 cutoff_slide_shape 1
338 cutoff_slide_curve 0
339 detune 0.1
340 detune_slide 0
341 detune_slide_shape 1
342 detune_slide_curve 0
343 out_bus 0]
344 (let [decay_level (select:kr (= -1 decay_level) [decay_level sustain_level])
345 note (varlag note note_slide note_slide_curve note_slide_shape)
346 amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
347 amp-fudge 1.1
348 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
349 detune (varlag detune detune_slide detune_slide_curve detune_slide_shape)
350 cutoff (varlag cutoff cutoff_slide cutoff_slide_curve cutoff_slide_shape)
351 freq (midicps note)
352 cutoff-freq (midicps cutoff)
353 detune-freq (midicps (+ note detune))
354 snd (normalizer (lpf (mix (lf-tri [freq detune-freq])) cutoff-freq))
311355 env (env-gen:kr (core/shaped-adsr attack decay sustain release attack_level decay_level sustain_level env_curve) :action FREE)]
312356 (out out_bus (pan2 (* amp-fudge snd env) pan amp))))
313357
905949 (core/save-synthdef sonic-pi-subpulse)
906950 (core/save-synthdef sonic-pi-square)
907951 (core/save-synthdef sonic-pi-dsaw)
952 (core/save-synthdef sonic-pi-dtri)
908953 (core/save-synthdef sonic-pi-dpulse)
909954 (core/save-synthdef sonic-pi-fm)
910955
0 ;;--
1 ;; This file is part of Sonic Pi: http://sonic-pi.net
2 ;; Full project source: https://github.com/samaaron/sonic-pi
3 ;; License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
4 ;;
5 ;; Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
6 ;; All rights reserved.
7 ;;
8 ;; Permission is granted for use, copying, modification, and
9 ;; distribution of modified versions of this work as long as this
10 ;; notice is included.
11 ;;++
12
13 (ns sonic-pi.synths.chiptune
14 (:use [overtone.live])
15 (:require [sonic-pi.synths.core :as core]))
16
17 (without-namespace-in-synthdef
18
19 (defsynth sonic-pi-chiplead
20 [note 60
21 note_slide 0
22 note_slide_shape 1
23 note_slide_curve 0
24 note_resolution 0.1
25 amp 1
26 amp_slide 0
27 amp_slide_shape 1
28 amp_slide_curve 0
29 pan 0
30 pan_slide 0
31 pan_slide_shape 1
32 pan_slide_curve 0
33 attack 0
34 sustain 0
35 decay 0
36 release 1
37 attack_level 1
38 decay_level -1
39 sustain_level 1
40 env_curve 1
41 width 0
42 out_bus 0]
43 (let [decay_level (select:kr (= -1 decay_level) [decay_level sustain_level])
44 note (round-down (varlag note note_slide note_slide_curve note_slide_shape) note_resolution)
45 freq (midicps note)
46 amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
47 amp-fudge 0.8
48 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
49 width (select:kr width [0.125
50 0.25
51 0.5])
52 snd (softclip (pulse freq width))
53 env (env-gen (core/shaped-adsr attack decay sustain release attack_level decay_level sustain_level env_curve) :action FREE)
54 snd (* amp-fudge snd env)]
55
56 (out out_bus (pan2 snd pan amp))))
57
58 (defsynth sonic-pi-chipbass
59 [note 60
60 note_slide 0
61 note_slide_shape 1
62 note_slide_curve 0
63 note_resolution 0
64 amp 1
65 amp_slide 0
66 amp_slide_shape 1
67 amp_slide_curve 0
68 pan 0
69 pan_slide 0
70 pan_slide_shape 1
71 pan_slide_curve 0
72 attack 0
73 sustain 0
74 decay 0
75 release 1
76 attack_level 1
77 decay_level -1
78 sustain_level 1
79 env_curve 1
80 out_bus 0]
81 (let [decay_level (select:kr (= -1 decay_level) [decay_level sustain_level])
82 note (round-down (varlag note note_slide note_slide_curve note_slide_shape) note_resolution)
83 freq (midicps note)
84 amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
85 amp-fudge 1
86 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
87 snd (lin-lin (demand:ar (impulse:ar (* 32 freq)) 0 (dseq [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0] INF)) 0 15 -1 1)
88 env (env-gen (core/shaped-adsr attack decay sustain release attack_level decay_level sustain_level env_curve) :action FREE)
89 snd (* amp-fudge snd env)]
90
91 (out out_bus (pan2 snd pan amp))))
92
93 (defsynth sonic-pi-chipnoise
94 [amp 1
95 amp_slide 0
96 amp_slide_shape 0
97 amp_slide_curve 0
98 pan 0
99 pan_slide 0
100 pan_slide_shape 1
101 pan_slide_curve 0
102 attack 0
103 sustain 0
104 decay 0
105 release 1
106 attack_level 1
107 decay_level -1
108 sustain_level 1
109 env_curve 1
110 freq_band 0
111 freq_band_slide 0
112 freq_band_slide_shape 1
113 freq_band_slide_curve 0
114 out_bus 0]
115 (let [decay_level (select:kr (= -1 decay_level) [decay_level sustain_level])
116 amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
117 amp-fudge 0.8
118 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
119 ;; Frequency bands taken from information on http://nesdev.com/NESSOUND.txt
120 freq_band (floor (varlag freq_band freq_band_slide freq_band_slide_curve freq_band_slide_shape))
121 noise_freq (select:kr freq_band [1.0
122 2.0
123 4.0
124 5.34
125 8.0
126 10.68
127 16.0
128 19.03
129 25.4
130 32.0
131 42.71
132 64.0
133 128.0
134 256.0
135 512.0
136 1024.0])
137 snd (softclip (lfd-clip-noise (* 220 noise_freq)))
138 env (env-gen (core/shaped-adsr attack decay sustain release attack_level decay_level sustain_level env_curve) :action FREE)
139 snd (* amp-fudge snd env)]
140
141 (out out_bus (pan2 snd pan amp))))
142
143 (comment
144 (core/save-synthdef sonic-pi-chipnoise)
145 (core/save-synthdef sonic-pi-chiplead)
146 (core/save-synthdef sonic-pi-chipbass)
147 )
148 )
7070 attack_level attack env_curve 0
7171 decay_level decay env_curve 0
7272 sustain_level sustain env_curve 0
73 min release env_curve 0] ))
73 min release env_curve 0] )
74
75 ([attack
76 decay
77 sustain
78 release
79 init_level
80 attack_level
81 decay_level
82 sustain_level
83 release_level
84 env_curve]
85 [init_level 4 -99 -99
86 attack_level attack env_curve 0
87 decay_level decay env_curve 0
88 sustain_level sustain env_curve 0
89 release_level release env_curve 0] ))
1717
1818 (without-namespace-in-synthdef
1919
20 (defsynth sonic-pi-fx_mono
21 [amp 1
22 amp_slide 0
23 amp_slide_shape 1
24 amp_slide_curve 0
25 mix 1
26 mix_slide 0
27 mix_slide_shape 1
28 mix_slide_curve 0
29 pan 0
30 pan_slide 0
31 pan_slide_shape 1
32 pan_slide_curve 0
33 in_bus 0
34 out_bus 0]
35 (let [amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
36 mix (varlag mix mix_slide mix_slide_curve mix_slide_shape)
37 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
38
39 [in-l in-r] (in in_bus 2)
40 mono (sum [in-l in-r])
41 [new-l new-r] (pan2 mono pan amp)
42
43 fin-l (x-fade2 in-l new-l (- (* mix 2) 1) amp)
44 fin-r (x-fade2 in-r new-r (- (* mix 2) 1) amp)]
45 (out out_bus [fin-l fin-r])))
46
47 (defsynth sonic-pi-fx_vowel
48 [amp 1
49 amp_slide 0
50 amp_slide_shape 1
51 amp_slide_curve 0
52 mix 1
53 mix_slide 0
54 mix_slide_shape 1
55 mix_slide_curve 0
56 voice 0
57 vowel_sound 1
58 pre_amp 1
59 pre_amp_slide 0
60 pre_amp_slide_shape 1
61 pre_amp_slide_curve 0
62 in_bus 0
63 out_bus 0]
64 (let [amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
65 pre_amp (varlag pre_amp pre_amp_slide pre_amp_slide_curve pre_amp_slide_shape)
66 mix (varlag mix mix_slide mix_slide_curve mix_slide_shape)
67 freqs [800, 1150, 2900, 3900, 4950
68 350, 2000, 2800, 3600, 4950
69 270, 2140, 2950, 3900, 4950
70 450, 800, 2830, 3800, 4950
71 325, 700, 2700, 3800, 4950
72 800, 1150, 2800, 3500, 4950
73 400, 1600, 2700, 3300, 4950
74 350, 1700, 2700, 3700, 4950
75 450, 800, 2830, 3500, 4950
76 325, 700, 2530, 3500, 4950
77 660, 1120, 2750, 3000, 3350
78 440, 1800, 2700, 3000, 3300
79 270, 1850, 2900, 3350, 3590
80 430, 820, 2700, 3000, 3300
81 370, 630, 2750, 3000, 3400
82 650, 1080, 2650, 2900, 3250
83 400, 1700, 2600, 3200, 3580
84 290, 1870, 2800, 3250, 3540
85 400, 800, 2600, 2800, 3000
86 350, 600, 2700, 2900, 3300
87 600, 1040, 2250, 2450, 2750
88 400, 1620, 2400, 2800, 3100
89 250, 1750, 2600, 3050, 3340
90 400, 750, 2400, 2600, 2900
91 350, 600, 2400, 2675, 2950]
92 amps [1.0 0.5011872336272722 0.025118864315095784 0.09999999999999998 0.0031622776601683764
93 1.0 0.09999999999999998 0.17782794100389226 0.009999999999999995 0.0015848931924611136
94 1.0 0.251188643150958 0.050118723362727206 0.050118723362727206 0.006309573444801925
95 1.0 0.2818382931264453 0.0794328234724281 0.0794328234724281 0.0031622776601683764
96 1.0 0.1584893192461113 0.017782794100389226 0.009999999999999995 9.999999999999994E-4
97 1.0 0.6309573444801931 0.09999999999999998 0.015848931924611127 9.999999999999994E-4
98 1.0 0.06309573444801932 0.031622776601683784 0.017782794100389226 9.999999999999994E-4
99 1.0 0.09999999999999998 0.031622776601683784 0.015848931924611127 9.999999999999994E-4
100 1.0 0.3548133892335754 0.1584893192461113 0.03981071705534973 0.001778279410038922
101 1.0 0.251188643150958 0.031622776601683784 0.009999999999999995 6.309573444801923E-4
102 1.0 0.5011872336272722 0.07079457843841379 0.06309573444801932 0.012589254117941666
103 1.0 0.19952623149688797 0.12589254117941667 0.09999999999999998 0.09999999999999998
104 1.0 0.06309573444801932 0.06309573444801932 0.015848931924611127 0.015848931924611127
105 1.0 0.3162277660168379 0.050118723362727206 0.0794328234724281 0.019952623149688792
106 1.0 0.09999999999999998 0.07079457843841379 0.031622776601683784 0.019952623149688792
107 1.0 0.5011872336272722 0.44668359215096315 0.3981071705534972 0.0794328234724281
108 1.0 0.19952623149688797 0.251188643150958 0.19952623149688797 0.09999999999999998
109 1.0 0.17782794100389226 0.12589254117941667 0.09999999999999998 0.031622776601683784
110 1.0 0.3162277660168379 0.251188643150958 0.251188643150958 0.050118723362727206
111 1.0 0.09999999999999998 0.14125375446227542 0.19952623149688797 0.050118723362727206
112 1.0 0.44668359215096315 0.3548133892335754 0.3548133892335754 0.09999999999999998
113 1.0 0.251188643150958 0.3548133892335754 0.251188643150958 0.12589254117941667
114 1.0 0.031622776601683784 0.1584893192461113 0.0794328234724281 0.03981071705534973
115 1.0 0.2818382931264453 0.08912509381337454 0.09999999999999998 0.009999999999999995
116 1.0 0.09999999999999998 0.025118864315095784 0.03981071705534973 0.015848931924611127]
117 bws [1/80 1/90 1/120 1/130 1/140
118 1/60 1/100 1/120 1/150 1/200
119 1/60 1/90 1/100 1/120 1/120
120 1/70 1/80 1/100 1/130 1/135
121 1/50 1/60 1/170 1/180 1/200
122 1/80 1/90 1/120 1/130 1/140
123 1/60 1/80 1/120 1/150 1/200
124 1/50 1/100 1/120 1/150 1/200
125 1/70 1/80 1/100 1/130 1/135
126 1/50 1/60 1/170 1/180 1/200
127 1/80 1/90 1/120 1/130 1/140
128 1/70 1/80 1/100 1/120 1/120
129 1/40 1/90 1/100 1/120 1/120
130 1/40 1/80 1/100 1/120 1/120
131 1/40 1/60 1/100 1/120 1/120
132 1/80 1/90 1/120 1/130 1/140
133 1/70 1/80 1/100 1/120 1/120
134 1/40 1/90 1/100 1/120 1/120
135 1/40 1/80 1/100 1/120 1/120
136 1/40 1/60 1/100 1/120 1/120
137 1/60 1/70 1/110 1/120 1/130
138 1/40 1/80 1/100 1/120 1/120
139 1/60 1/90 1/100 1/120 1/120
140 1/40 1/80 1/100 1/120 1/120
141 1/40 1/80 1/100 1/120 1/120]
142 ;; voice is 0 indexed, vowel_sound is 1 indexed
143 vowel_freq_one (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 5)) freqs)
144 vowel_freq_two (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 4)) freqs)
145 vowel_freq_three (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 3)) freqs)
146 vowel_freq_four (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 2)) freqs)
147 vowel_freq_five (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 1)) freqs)
148 vowel_amp_one (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 5)) amps)
149 vowel_amp_two (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 4)) amps)
150 vowel_amp_three (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 3)) amps)
151 vowel_amp_four (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 2)) amps)
152 vowel_amp_five (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 1)) amps)
153 vowel_bw_one (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 5)) bws)
154 vowel_bw_two (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 4)) bws)
155 vowel_bw_three (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 3)) bws)
156 vowel_bw_four (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 2)) bws)
157 vowel_bw_five (select:kr (+ (* 5 voice) (- (* 5 vowel_sound) 1)) bws)
158 amp-fudge 5
159 [in-l in-r] (* (* amp-fudge pre_amp) (in in_bus 2))
160 new-l (+ (b-band-pass in-l vowel_freq_one (* vowel_bw_one vowel_amp_one))
161 (b-band-pass in-l vowel_freq_two (* vowel_bw_two vowel_amp_two))
162 (b-band-pass in-l vowel_freq_three (* vowel_bw_three vowel_amp_three))
163 (b-band-pass in-l vowel_freq_four (* vowel_bw_four vowel_amp_four))
164 (b-band-pass in-l vowel_freq_five (* vowel_bw_five vowel_amp_five)))
165 new-r (+ (b-band-pass in-r vowel_freq_one (* vowel_bw_one vowel_amp_one))
166 (b-band-pass in-r vowel_freq_two (* vowel_bw_two vowel_amp_two))
167 (b-band-pass in-r vowel_freq_three (* vowel_bw_three vowel_amp_three))
168 (b-band-pass in-r vowel_freq_four (* vowel_bw_four vowel_amp_four))
169 (b-band-pass in-r vowel_freq_five (* vowel_bw_five vowel_amp_five)))
170 fin-l (x-fade2 in-l new-l (- (* mix 2) 1) (* amp-fudge amp))
171 fin-r (x-fade2 in-r new-r (- (* mix 2) 1) (* amp-fudge amp))]
172 (out out_bus [fin-l fin-r])))
173
20174 (defsynth sonic-pi-fx_krush
21175 [amp 1
22176 amp_slide 0
52206 res (lin-lin res 1 0 0 1)
53207 res (varlag res res_slide res_slide_curve res_slide_shape)
54208 cutoff-freq (midicps cutoff)
55
56 [in-l in-r] (abs (* pre_amp (in in_bus 2)))
57 new-l-sqr (squared in-l)
58 new-l (/ (+ new-l-sqr (* gain in-l)) (+ new-l-sqr (* in-l (- gain 1)) 1))
59 new-r-sqr (squared in-r)
60 new-r (/ (+ new-r-sqr (* gain in-r)) (+ new-r-sqr (* in-r (- gain 1)) 1))
209 [in-l in-r] (* pre_amp (in in_bus 2))
210
211 new-l-abs (abs in-l)
212 new-l-sqr (squared new-l-abs)
213 new-l (/ (+ new-l-sqr (* gain new-l-abs)) (+ new-l-sqr (* new-l-abs (- gain 1)) 1))
214
215 new-r-abs (abs in-r)
216 new-r-sqr (squared new-r-abs)
217 new-r (/ (+ new-r-sqr (* gain new-r-abs)) (+ new-r-sqr (* new-r-abs (- gain 1)) 1))
218
61219 new-l (rlpf new-l cutoff-freq res)
62220 new-r (rlpf new-r cutoff-freq res)
63221 fin-l (x-fade2 in-l new-l (- (* mix 2) 1) amp)
67225
68226
69227
228 (defsynth sonic-pi-fx_whammy
229   [amp 1
230   amp_slide 0
231   amp_slide_shape 1
232   amp_slide_curve 0
233   mix 1
234   mix_slide 0
235   mix_slide_shape 1
236   mix_slide_curve 0
237   transpose 12
238   transpose_slide 0
239   transpose_slide_shape 1
240   transpose_slide_curve 0
241   deltime 0.05
242 max_delay_time 1
243   grainsize 0.075
244   pre_amp 1
245   pre_amp_slide 0
246   pre_amp_slide_shape 1
247   pre_amp_slide_curve 0
248   in_bus 0
249   out_bus 0]
250   (let [amp          (varlag amp amp_slide amp_slide_curve amp_slide_shape)
251         mix          (varlag mix mix_slide mix_slide_curve mix_slide_shape)
252         pre_amp      (varlag pre_amp pre_amp_slide pre_amp_slide_curve pre_amp_slide_shape)
253         transpose      (varlag (midiratio transpose) transpose_slide transpose_slide_curve transpose_slide_shape)
254         grainfreq    (/ transpose grainsize)
255 [in-l in-r] (in in_bus 2)
256         new-l   (leak-dc (* (delay-c :in (* pre_amp in-l)
257                                           :max-delay-time max_delay_time
258                                           :delay-time (+ (* (lf-saw grainfreq 1.0)
259                                   (/ grainsize -2))
260 deltime))
261 (lin-lin (sin-osc grainfreq
262 (/ (* -1 Math/PI) 2))
263 -1 1 0 1 )))
264         new-r   (leak-dc (* (delay-c :in (* pre_amp in-r)
265                                           :max-delay-time max_delay_time
266                                           :delay-time (+ (* (lf-saw grainfreq 0.0)
267                                   (/ grainsize -2))
268 deltime))
269 (lin-lin (sin-osc grainfreq
270 (/ Math/PI 2))
271 -1 1 0 1 )))
272         fin-l        (x-fade2 in-l new-l (- (* mix 2) 1) amp)
273         fin-r        (x-fade2 in-r new-r (- (* mix 2) 1) amp)]
274     (out out_bus [fin-l fin-r])))
70275
71276 (defsynth sonic-pi-fx_tanh
72277 [amp 1
77282 mix_slide 0
78283 mix_slide_shape 1
79284 mix_slide_curve 0
80 krunch 1
285 krunch 5
81286 krunch_slide 0
82287 krunch_slide_shape 1
83288 krunch_slide_curve 0
92297 pre_amp (varlag pre_amp pre_amp_slide pre_amp_slide_curve pre_amp_slide_shape)
93298 krunch (varlag krunch krunch_slide krunch_slide_curve krunch_slide_shape)
94299 krunch (select:kr (= 0 krunch) [krunch 0.0001])
300 krunch (* 5 krunch)
95301 [in-l in-r] (* pre_amp (in in_bus 2))
96302 [new-l new-r] (* (/ (tanh (* krunch [in-l in-r])) krunch) (+ 1 (/ krunch 8)))
303
97304
98305 fin-l (x-fade2 in-l new-l (- (* mix 2) 1) amp)
99306 fin-r (x-fade2 in-r new-r (- (* mix 2) 1) amp)]
763970 relax_time_slide_curve 0
764971 in_bus 0
765972 out_bus 0]
766 (let [amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
767 mix (varlag mix mix_slide mix_slide_curve mix_slide_shape)
768 pre_amp (varlag pre_amp pre_amp_slide pre_amp_slide_curve pre_amp_slide_shape)
769 threshold (varlag threshold threshold_slide threshold_slide_curve threshold_slide_shape)
770 clamp_time (varlag clamp_time clamp_time_slide clamp_time_slide_curve clamp_time_slide_shape)
771 slope_above (varlag slope_above slope_above_slide slope_above_slide_curve slope_above_slide_shape)
772 slope_below (varlag slope_below slope_below_slide slope_below_slide_curve slope_below_slide_shape)
773 relax_time (varlag relax_time relax_time_slide relax_time_slide_curve relax_time_slide_shape)
774
775 src (* pre_amp (in in_bus 2))
776 [in-l in-r] src
777
778 control-sig (/ (+ in-l in-r) 2)
779
780 [new-l new-r] (compander src control-sig threshold
781 slope_below slope_above
782 clamp_time relax_time)
783 fin-l (x-fade2 in-l new-l (- (* mix 2) 1) amp)
784 fin-r (x-fade2 in-r new-r (- (* mix 2) 1) amp)]
973 (let [amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
974 mix (varlag mix mix_slide mix_slide_curve mix_slide_shape)
975 pre_amp (varlag pre_amp pre_amp_slide pre_amp_slide_curve pre_amp_slide_shape)
976 threshold (varlag threshold threshold_slide threshold_slide_curve threshold_slide_shape)
977 clamp_time (varlag clamp_time clamp_time_slide clamp_time_slide_curve clamp_time_slide_shape)
978 slope_above (varlag slope_above slope_above_slide slope_above_slide_curve slope_above_slide_shape)
979 slope_below (varlag slope_below slope_below_slide slope_below_slide_curve slope_below_slide_shape)
980 relax_time (varlag relax_time relax_time_slide relax_time_slide_curve relax_time_slide_shape)
981
982 src (in in_bus 2)
983 [orig-in-l orig-in-r] src
984 pre-amped-src (* pre_amp src)
985 [pre-amped-l pre-amped-r] pre-amped-src
986 control-sig (/ (+ pre-amped-l pre-amped-r) 2)
987
988 [new-l new-r] (compander pre-amped-src control-sig threshold
989 slope_below slope_above
990 clamp_time relax_time)
991 fin-l (x-fade2 orig-in-l new-l (- (* mix 2) 1) amp)
992 fin-r (x-fade2 orig-in-r new-r (- (* mix 2) 1) amp)]
785993 (out out_bus [fin-l fin-r])))
786994
787995 (defsynth sonic-pi-fx_band_eq
13331541 amp_slide 0
13341542 amp_slide_shape 1
13351543 amp_slide_curve 0
1336 oct1_amp 1
1337 oct1_amp_slide 0
1338 oct1_amp_slide_shape 1
1339 oct1_amp_slide_curve 0
1340 oct2_amp 1
1341 oct2_amp_slide 0
1342 oct2_amp_slide_shape 1
1343 oct2_amp_slide_curve 0
1344 oct3_amp 1
1345 oct3_amp_slide 0
1346 oct3_amp_slide_shape 1
1347 oct3_amp_slide_curve 0
1544 super_amp 1
1545 super_amp_slide 0
1546 super_amp_slide_shape 1
1547 super_amp_slide_curve 0
1548 sub_amp 1
1549 sub_amp_slide 0
1550 sub_amp_slide_shape 1
1551 sub_amp_slide_curve 0
1552 subsub_amp 1
1553 subsub_amp_slide 0
1554 subsub_amp_slide_shape 1
1555 subsub_amp_slide_curve 0
13481556 in_bus 0
13491557 out_bus 0]
13501558 (let [amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
1351 oct1_amp (varlag oct1_amp oct1_amp_slide oct1_amp_slide_curve oct1_amp_slide_shape)
1352 oct2_amp (varlag oct2_amp oct2_amp_slide oct2_amp_slide_curve oct2_amp_slide_shape)
1353 oct3_amp (varlag oct3_amp oct3_amp_slide oct3_amp_slide_curve oct3_amp_slide_shape)
1559 super_amp (varlag super_amp super_amp_slide super_amp_slide_curve super_amp_slide_shape)
1560 sub_amp (varlag sub_amp sub_amp_slide sub_amp_slide_curve sub_amp_slide_shape)
1561 subsub_amp (varlag subsub_amp subsub_amp_slide subsub_amp_slide_curve subsub_amp_slide_shape)
13541562 mix (varlag mix mix_slide mix_slide_curve mix_slide_shape)
13551563 pre_amp (varlag pre_amp pre_amp_slide pre_amp_slide_curve pre_amp_slide_shape)
13561564 direct-lpf (lpf (* pre_amp (in in_bus 2)) 440)
1357 super-oct (abs direct-lpf)
1565 super-oct (* 2 (leak-dc (abs direct-lpf))) ;; Compensate for resulting wave being half amplitude
13581566 sub-oct (toggle-ff:ar direct-lpf)
13591567 sub-sub-oct (toggle-ff:ar sub-oct)
13601568
13611569 [in-l in-r] (* pre_amp (in in_bus 2))
1362 [new-l new-r] (+ (* super-oct oct1_amp) (* direct-lpf sub-oct oct2_amp) (* direct-lpf sub-sub-oct oct3_amp))
1570 [new-l new-r] (+ (* super-oct super_amp) (* direct-lpf sub-oct sub_amp) (* direct-lpf sub-sub-oct subsub_amp))
13631571 fin-l (x-fade2 in-l new-l (- (* mix 2) 1) amp)
13641572 fin-r (x-fade2 in-r new-r (- (* mix 2) 1) amp)]
13651573 (out out_bus [fin-l fin-r])))
15161724 )
15171725
15181726 (comment
1727 (core/save-synthdef sonic-pi-fx_mono)
15191728 (core/save-synthdef sonic-pi-fx_krush)
15201729 (core/save-synthdef sonic-pi-fx_bitcrusher)
15211730 (core/save-synthdef sonic-pi-fx_reverb)
15431752 (core/save-synthdef sonic-pi-fx_rbpf)
15441753 (core/save-synthdef sonic-pi-fx_nrbpf)
15451754 (core/save-synthdef sonic-pi-fx_tanh)
1755 (core/save-synthdef sonic-pi-fx_whammy)
15461756 (core/save-synthdef sonic-pi-fx_pitch_shift)
15471757 (core/save-synthdef sonic-pi-fx_ring_mod)
15481758 (core/save-synthdef sonic-pi-fx_octaver)
15491759 (core/save-synthdef sonic-pi-fx_flanger)
1550 )
1760 (core/save-synthdef sonic-pi-fx_vowel))
2323 amp_slide 0
2424 amp_slide_shape 1
2525 amp_slide_curve 0
26 attack [0.0 :ir]
27 decay [0 :ir]
28 sustain [-1 :ir]
29 release [0.0 :ir]
30 attack_level [1 :ir]
31 decay_level [-1 :ir]
32 sustain_level [1 :ir]
33 env_curve [1 :ir]
2634 pan 0
2735 pan_slide 0
2836 pan_slide_shape 1
2937 pan_slide_curve 0
30 cutoff 0
31 cutoff_slide 0
32 cutoff_slide_shape 1
33 cutoff_slide_curve 0
34 res 0
35 res_slide 0
36 res_slide_shape 1
37 res_slide_curve 0
38 lpf -1
39 lpf_slide 0
40 lpf_slide_shape 1
41 lpf_slide_curve 0
42 hpf -1
43 hpf_slide 0
44 hpf_slide_shape 1
45 hpf_slide_curve 0
3846 rate [1 :ir]
3947 out_bus [0 :ir]]
4048
41 (let [amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
42 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
43 cutoff (varlag cutoff cutoff_slide cutoff_slide_curve cutoff_slide_shape)
44 res (varlag res res_slide res_slide_curve res_slide_shape)
45 res (lin-lin:kr res 1 0 0 1)
46 scaled-rate (* rate (buf-rate-scale:ir buf))
47 cutoff-freq (midicps cutoff)
48 use-filter (> cutoff 0)
49 dur (* (/ 1 (abs rate)) (buf-dur:ir buf))
50 start (select:kr (< rate 0) [0
51 (- (buf-frames:ir buf) 1)])
52 snd (play-buf 1 buf scaled-rate 0 start)
53 snd (select use-filter [snd (rlpf snd cutoff-freq res)])
54 killer (line:kr 1 1 (+ 0.03 dur) FREE)]
55
49 (let [amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
50 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
51 lpf (varlag lpf lpf_slide lpf_slide_curve lpf_slide_shape)
52 hpf (varlag hpf hpf_slide hpf_slide_curve hpf_slide_shape)
53 scaled-rate (* rate (buf-rate-scale:ir buf))
54 lpf-freq (midicps lpf)
55 hpf-freq (midicps hpf)
56 use-lpf-filter (> lpf -1)
57 use-hpf-filter (> hpf -1)
58 dur (* (/ 1 (abs rate)) (buf-dur:ir buf))
59 start (select:kr (< rate 0) [0
60 (- (buf-frames:ir buf) 1)])
61 sustain (select:kr (= -1 sustain) [sustain (- dur attack release decay)])
62 decay_level (select:kr (= -1 decay_level) [decay_level sustain_level])
63 env-dur (+ attack sustain decay release)
64 env (env-gen (core/shaped-adsr attack decay sustain release attack_level decay_level sustain_level env_curve))
65 snd (play-buf 1 buf scaled-rate 0 start)
66
67 snd (select use-lpf-filter [snd (overtone.live/lpf snd lpf-freq)])
68 snd (select use-hpf-filter [snd (overtone.live/hpf snd hpf-freq)])
69
70
71 snd (* env snd)]
72 (line:kr 1 1 (+ 0.03 (min dur env-dur)) FREE)
5673 (out out_bus (pan2 snd pan amp))))
5774
5875 (defsynth sonic-pi-basic_stereo_player
6178 amp_slide 0
6279 amp_slide_shape 1
6380 amp_slide_curve 0
81 attack [0.0 :ir]
82 decay [0 :ir]
83 sustain [-1 :ir]
84 release [0.0 :ir]
85 attack_level [1 :ir]
86 decay_level [-1 :ir]
87 sustain_level [1 :ir]
88 env_curve [1 :ir]
6489 pan 0
6590 pan_slide 0
6691 pan_slide_shape 1
6792 pan_slide_curve 0
68 cutoff 0
69 cutoff_slide 0
70 cutoff_slide_shape 1
71 cutoff_slide_curve 0
72 res 0
73 res_slide 0
74 res_slide_shape 1
75 res_slide_curve 0
93 lpf -1
94 lpf_slide 0
95 lpf_slide_shape 1
96 lpf_slide_curve 0
97 hpf -1
98 hpf_slide 0
99 hpf_slide_shape 1
100 hpf_slide_curve 0
76101 rate [1 :ir]
77102 out_bus [0 :ir]]
78103
79 (let [amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
80 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
81 cutoff (varlag cutoff cutoff_slide cutoff_slide_curve cutoff_slide_shape)
82 res (varlag res res_slide res_slide_curve res_slide_shape)
83 res (lin-lin:kr res 1 0 0 1)
84 scaled-rate (* rate (buf-rate-scale:ir buf))
85 cutoff-freq (midicps cutoff)
86 use-filter (> cutoff 0)
87 dur (* (/ 1 (abs rate)) (buf-dur:ir buf))
88 start (select:kr (< rate 0) [0
89 (- (buf-frames:ir buf) 1)])
90 [snd-l snd-r] (play-buf 2 buf scaled-rate 0 start)
91 snd-l (select use-filter [snd-l (rlpf snd-l cutoff-freq res)])
92 snd-r (select use-filter [snd-r (rlpf snd-r cutoff-freq res)])
93 killer (line:kr 1 1 (+ 0.03 dur) FREE)
94
95 snd (balance2 snd-l snd-r pan amp)]
96
104 (let [amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
105 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
106 lpf (varlag lpf lpf_slide lpf_slide_curve lpf_slide_shape)
107 hpf (varlag hpf hpf_slide hpf_slide_curve hpf_slide_shape)
108 scaled-rate (* rate (buf-rate-scale:ir buf))
109 lpf-freq (midicps lpf)
110 hpf-freq (midicps hpf)
111 use-lpf-filter (> lpf -1)
112 use-hpf-filter (> hpf -1)
113 dur (* (/ 1 (abs rate)) (buf-dur:ir buf))
114 sustain (select:kr (= -1 sustain) [sustain (- dur attack release decay)])
115 decay_level (select:kr (= -1 decay_level) [decay_level sustain_level])
116 env-dur (+ attack sustain decay release)
117 env (env-gen (core/shaped-adsr attack decay sustain release attack_level decay_level sustain_level env_curve))
118 start (select:kr (< rate 0) [0
119 (- (buf-frames:ir buf) 1)])
120 [snd-l snd-r] (play-buf 2 buf scaled-rate 0 start)
121 snd-l (select use-lpf-filter [snd-l (overtone.live/lpf snd-l lpf-freq)])
122 snd-r (select use-lpf-filter [snd-r (overtone.live/lpf snd-r lpf-freq)])
123
124 snd-l (select use-hpf-filter [snd-l (overtone.live/hpf snd-l hpf-freq)])
125 snd-r (select use-hpf-filter [snd-r (overtone.live/hpf snd-r hpf-freq)])
126
127 snd-l (* env snd-l)
128 snd-r (* env snd-r)
129 snd (balance2 snd-l snd-r pan amp)]
130 (line:kr 1 1 (+ 0.03 (min dur env-dur)) FREE)
97131 (out out_bus snd)))
98132
99133
109143 pan_slide 0
110144 pan_slide_shape 1
111145 pan_slide_curve 0
112 cutoff -1
113 cutoff_slide 0
114 cutoff_slide_shape 1
115 cutoff_slide_curve 0
116 cutoff_attack 0
117 cutoff_sustain -1
118 cutoff_decay 0
119 cutoff_release 0
120 cutoff_min -1
121 cutoff_min_slide 0
122 cutoff_min_slide_shape 1
123 cutoff_min_slide_curve 0
124 cutoff_attack_level [-1 :ir]
125 cutoff_decay_level [-1 :ir]
126 cutoff_sustain_level [-1 :ir]
127 cutoff_env_curve 1
128 res 0
129 res_slide 0
130 res_slide_shape 1
131 res_slide_curve 0
146
132147 attack [0.0 :ir]
133148 decay [0 :ir]
134149 sustain [-1 :ir]
140155 rate 1
141156 start 0
142157 finish 1
158
159 lpf -1
160 lpf_slide 0
161 lpf_slide_shape 1
162 lpf_slide_curve 0
163
164 lpf_attack 0
165 lpf_sustain -1
166 lpf_decay 0
167 lpf_release 0
168
169 lpf_min -1
170 lpf_min_slide 0
171 lpf_min_slide_shape 1
172 lpf_min_slide_curve 0
173
174 lpf_init_level [-1 :ir]
175 lpf_attack_level [-1 :ir]
176 lpf_decay_level [-1 :ir]
177 lpf_sustain_level [-1 :ir]
178 lpf_release_level [-1 :ir]
179 lpf_env_curve 1
180
181 hpf -1
182 hpf_slide 0
183 hpf_slide_shape 1
184 hpf_slide_curve 0
185
186 hpf_max -1
187 hpf_max_slide 0
188 hpf_max_slide_shape 1
189 hpf_max_slide_curve 0
190
191 hpf_attack 0
192 hpf_sustain -1
193 hpf_decay 0
194 hpf_release 0
195 hpf_init_level [-1 :ir]
196 hpf_attack_level [-1 :ir]
197 hpf_decay_level [-1 :ir]
198 hpf_sustain_level [-1 :ir]
199 hpf_release_level [-1 :ir]
200 hpf_env_curve 1
201
143202 norm 0
144203 pitch 0
145204 pitch_slide 0
157216 time_dis_slide 0
158217 time_dis_slide_shape 1
159218 time_dis_slide_curve 0
219 compress 0
220 pre_amp 1
221 pre_amp_slide 0
222 pre_amp_slide_shape 1
223 pre_amp_slide_curve 0
224 threshold 0.2
225 threshold_slide 0
226 threshold_slide_shape 1
227 threshold_slide_curve 0
228 clamp_time 0.01
229 clamp_time_slide 0
230 clamp_time_slide_shape 1
231 clamp_time_slide_curve 0
232 slope_above 0.5
233 slope_above_slide 0
234 slope_above_slide_shape 1
235 slope_above_slide_curve 0
236 slope_below 1
237 slope_below_slide 0
238 slope_below_slide_shape 1
239 slope_below_slide_curve 0
240 relax_time 0.01
241 relax_time_slide 0
242 relax_time_slide_shape 1
243 relax_time_slide_curve 0
160244 out_bus 0]
161 (let [decay_level (select:kr (= -1 decay_level) [decay_level sustain_level])
162 amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
163 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
164 used_cutoff (not= -1 cutoff)
165 used_cutoff_attack_level (not= -1 cutoff_attack_level)
166 used_cutoff_decay_level (not= -1 cutoff_decay_level)
167 used_cutoff_sustain_level (not= -1 cutoff_sustain_level)
168 used_cutoff_attack (not= 0 cutoff_attack)
169 used_cutoff_decay (not= 0 cutoff_decay)
170 used_cutoff_release (not= 0 cutoff_release)
171 used_cutoff_sustain (not= -1 cutoff_sustain)
172 used_cutoff_min (not= -1 cutoff_min)
173 use-filter-env (or used_cutoff_attack_level
174 used_cutoff_decay_level
175 used_cutoff_sustain_level
176 used_cutoff_attack
177 used_cutoff_decay
178 used_cutoff_release
179 used_cutoff_sustain
180 used_cutoff_min)
181
182 use-filter (or used_cutoff
183 use-filter-env)
184
185
186 cutoff (select:kr (= -1 cutoff) [cutoff 130])
187 cutoff_min (select:kr (= -1 cutoff_min) [cutoff_min 50])
188 cutoff_attack_level (select:kr (= -1 cutoff_attack_level) [cutoff_attack_level cutoff])
189
190 cutoff_sustain_level (select:kr (= -1 cutoff_sustain_level) [cutoff_sustain_level cutoff_attack_level])
191 cutoff_decay_level (select:kr (= -1 cutoff_decay_level) [cutoff_decay_level cutoff_sustain_level])
192
193 cutoff (varlag cutoff cutoff_slide cutoff_slide_curve cutoff_slide_shape)
194 pitch (varlag pitch pitch_slide pitch_slide_curve pitch_slide_shape)
195 window_size (varlag window_size window_size_slide window_size_slide_curve window_size_slide_shape)
196 pitch_dis (varlag pitch_dis pitch_dis_slide pitch_dis_slide_curve pitch_dis_slide_shape)
197 time_dis (varlag time_dis time_dis_slide time_dis_slide_curve time_dis_slide_shape)
198 cutoff_min (varlag cutoff_min cutoff_min_slide cutoff_min_slide_curve cutoff_min_slide_shape)
199 pitch_ratio (midiratio pitch)
200 res (lin-lin res 1 0 0 1)
201 res (varlag res res_slide res_slide_curve res_slide_shape)
202 cutoff-freq (midicps cutoff)
203 cutoff-min-freq (midicps cutoff_min)
204
205 n-frames (- (buf-frames buf) 1)
206 start-pos (* start n-frames)
207 end-pos (* finish n-frames)
208 n-start-pos (select:kr (not-pos? rate) [start-pos end-pos])
209 n-end-pos (select:kr (not-pos? rate) [end-pos start-pos])
210 rate (abs rate)
211 play-time (/ (* (buf-dur buf) (absdif finish start))
212 rate)
213 phase (line:ar :start n-start-pos :end n-end-pos :dur play-time)
214 sustain (select:kr (= -1 sustain) [sustain (- play-time attack release decay)])
215 cutoff_sustain (select:kr (= -1 cutoff_sustain) [cutoff_sustain (- play-time cutoff_attack cutoff_release cutoff_decay)])
216 env (env-gen (core/shaped-adsr attack decay sustain release attack_level decay_level sustain_level env_curve))
217 filt-env (midicps (env-gen (core/shaped-adsr cutoff_attack, cutoff_decay cutoff_sustain cutoff_release cutoff_attack_level cutoff_decay_level cutoff_sustain_level cutoff_env_curve cutoff_min)))
218
219 snd (buf-rd 1 buf phase)
220 killer (line:kr 1 1 (+ 0.03 play-time) FREE)
221
222 snd (select:ar (not= 0 pitch)
223 [snd
224 (pitch-shift snd window_size pitch_ratio pitch_dis time_dis)])
225
226 filt-env (select use-filter-env [cutoff-freq (min filt-env cutoff-freq)])
227 snd (select use-filter
228 [snd
229 (rlpf snd filt-env res)])
230
231 snd (select norm [snd (normalizer snd)])
232 snd (* env snd)
233
234
235 snd (pan2 snd pan amp)]
245 (let [decay_level (select:kr (= -1 decay_level) [decay_level sustain_level])
246
247 amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
248 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
249 lpf (varlag lpf lpf_slide lpf_slide_curve lpf_slide_shape)
250 lpf_min (varlag lpf_min lpf_min_slide lpf_min_slide_curve lpf_min_slide_shape)
251 hpf (varlag hpf hpf_slide hpf_slide_curve hpf_slide_shape)
252 hpf_max (varlag hpf_max hpf_max_slide hpf_max_slide_curve hpf_max_slide_shape)
253 pitch (varlag pitch pitch_slide pitch_slide_curve pitch_slide_shape)
254 window_size (varlag window_size window_size_slide window_size_slide_curve window_size_slide_shape)
255 pitch_dis (varlag pitch_dis pitch_dis_slide pitch_dis_slide_curve pitch_dis_slide_shape)
256 time_dis (varlag time_dis time_dis_slide time_dis_slide_curve time_dis_slide_shape)
257
258 pre_amp (varlag pre_amp pre_amp_slide pre_amp_slide_curve pre_amp_slide_shape)
259 threshold (varlag threshold threshold_slide threshold_slide_curve threshold_slide_shape)
260 clamp_time (varlag clamp_time clamp_time_slide clamp_time_slide_curve clamp_time_slide_shape)
261
262 slope_above (varlag slope_above slope_above_slide slope_above_slide_curve slope_above_slide_shape)
263 slope_below (varlag slope_below slope_below_slide slope_below_slide_curve slope_below_slide_shape)
264 relax_time (varlag relax_time relax_time_slide relax_time_slide_curve relax_time_slide_shape)
265
266 used_lpf (not= -1 lpf)
267
268 used_lpf_init_level (not= -1 lpf_init_level)
269 used_lpf_attack_level (not= -1 lpf_attack_level)
270 used_lpf_decay_level (not= -1 lpf_decay_level)
271 used_lpf_sustain_level (not= -1 lpf_sustain_level)
272 used_lpf_release_level (not= -1 lpf_release_level)
273
274 used_lpf_attack (not= 0 lpf_attack)
275 used_lpf_decay (not= 0 lpf_decay)
276 used_lpf_release (not= 0 lpf_release)
277 used_lpf_sustain (not= -1 lpf_sustain)
278 used_lpf_min (not= -1 lpf_min)
279
280 used_hpf (not= -1 hpf)
281 used_hpf_init_level (not= -1 hpf_init_level)
282 used_hpf_attack_level (not= -1 hpf_attack_level)
283 used_hpf_decay_level (not= -1 hpf_decay_level)
284 used_hpf_sustain_level (not= -1 hpf_sustain_level)
285 used_hpf_release_level (not= -1 hpf_release_level)
286
287 used_hpf_attack (not= 0 hpf_attack)
288 used_hpf_decay (not= 0 hpf_decay)
289 used_hpf_release (not= 0 hpf_release)
290 used_hpf_sustain (not= -1 hpf_sustain)
291 used_hpf_max (not= -1 hpf_max)
292
293 use-lpf-env (or used_lpf_attack_level
294 used_lpf_decay_level
295 used_lpf_sustain_level
296 used_lpf_attack
297 used_lpf_decay
298 used_lpf_release
299 used_lpf_sustain
300 used_lpf_min)
301
302 use-hpf-env (or used_hpf_init_level
303 used_hpf_attack_level
304 used_hpf_decay_level
305 used_hpf_sustain_level
306 used_hpf_release_level
307 used_hpf_attack
308 used_hpf_decay
309 used_hpf_release
310 used_hpf_sustain
311 used_hpf_max)
312
313 use-lpf (or used_lpf
314 use-lpf-env)
315
316
317 use-hpf (or used_hpf
318 use-hpf-env)
319
320 lpf (select:kr used_lpf [130 lpf])
321 hpf (select:kr used_hpf [50 hpf])
322 hpf_max (select:kr used_hpf_max [200 hpf_max])
323 lpf_min (select:kr used_lpf_min [30 lpf_min])
324
325 lpf_release_level (select:kr used_lpf_release_level [lpf lpf_release_level])
326 lpf_sustain_level (select:kr used_lpf_sustain_level [lpf_release_level lpf_sustain_level])
327 lpf_decay_level (select:kr used_lpf_decay_level [lpf_sustain_level lpf_decay_level])
328 lpf_attack_level (select:kr used_lpf_attack_level [lpf_decay_level lpf_attack_level])
329 lpf_init_level (select:kr used_lpf_init_level [lpf_min lpf_init_level])
330
331 hpf_release_level (select:kr used_hpf_release_level [hpf hpf_release_level])
332 hpf_sustain_level (select:kr used_hpf_sustain_level [hpf_release_level hpf_sustain_level])
333 hpf_decay_level (select:kr used_hpf_decay_level [hpf_sustain_level hpf_decay_level])
334 hpf_attack_level (select:kr used_hpf_attack_level [hpf_decay_level hpf_attack_level])
335 hpf_init_level (select:kr used_hpf_init_level [130 hpf_init_level])
336
337 lpf_attack (select:kr used_lpf_attack [attack lpf_attack])
338 lpf_decay (select:kr used_lpf_decay [decay lpf_decay])
339 lpf_sustain (select:kr used_lpf_sustain [sustain lpf_sustain])
340 lpf_release (select:kr used_lpf_release [release lpf_release])
341
342 hpf_attack (select:kr used_hpf_attack [attack hpf_attack])
343 hpf_decay (select:kr used_hpf_decay [decay hpf_decay])
344 hpf_sustain (select:kr used_hpf_sustain [sustain hpf_sustain])
345 hpf_release (select:kr used_hpf_release [release hpf_release])
346
347 pitch_ratio (midiratio pitch)
348 lpf-freq (midicps lpf)
349 hpf-freq (midicps hpf)
350 hpf_max (midicps hpf_max)
351 lpf_min (midicps lpf_min)
352
353 n-frames (- (buf-frames buf) 1)
354 start-pos (* start n-frames)
355 end-pos (* finish n-frames)
356 n-start-pos (select:kr (not-pos? rate) [start-pos end-pos])
357 n-end-pos (select:kr (not-pos? rate) [end-pos start-pos])
358 rate (abs rate)
359 play-time (/ (* (buf-dur buf) (absdif finish start))
360 rate)
361 phase (line:ar :start n-start-pos :end n-end-pos :dur play-time)
362 sustain (select:kr (= -1 sustain) [sustain (- play-time attack release decay)])
363 lpf_sustain (select:kr (= -1 lpf_sustain) [lpf_sustain (- play-time lpf_attack lpf_release lpf_decay)])
364 hpf_sustain (select:kr (= -1 hpf_sustain) [hpf_sustain (- play-time hpf_attack hpf_release hpf_decay)])
365 env-dur (+ attack sustain decay release)
366 env (env-gen (core/shaped-adsr attack decay sustain release attack_level decay_level sustain_level env_curve))
367 lpf-env (midicps (env-gen (core/shaped-adsr lpf_attack, lpf_decay lpf_sustain (+ 0.1 lpf_release) lpf_init_level lpf_attack_level lpf_decay_level lpf_sustain_level lpf_release_level lpf_env_curve)))
368 hpf-env (midicps (env-gen (core/shaped-adsr hpf_attack, hpf_decay hpf_sustain (+ 0.1 hpf_release) hpf_init_level hpf_attack_level hpf_decay_level hpf_sustain_level hpf_release_level hpf_env_curve)))
369
370 lpf-env (select use-lpf-env [lpf-freq (min lpf-freq
371 (max lpf-env lpf_min))])
372 hpf-env (select use-hpf-env [hpf-freq (max hpf-freq
373 (min hpf-env hpf_max))])
374
375
376 snd (* pre_amp (buf-rd 1 buf phase))
377
378 snd (select:ar (not= 0 pitch)
379 [snd
380 (pitch-shift snd window_size pitch_ratio pitch_dis time_dis)])
381
382 lpf-env (select use-lpf-env [lpf-freq (min lpf-env lpf-freq)])
383 hpf-env (select use-hpf-env [hpf-freq (max hpf-freq
384
385
386
387 (min hpf-env hpf_max))])
388
389
390
391
392 snd (select use-lpf
393 [snd
394 (overtone.live/lpf snd lpf-env)])
395
396 snd (select use-hpf
397 [snd
398 (overtone.live/hpf snd hpf-env)])
399
400 snd (select norm [snd (normalizer snd)])
401 snd (* env snd)
402
403 compressed (compander snd snd threshold
404 slope_below slope_above
405 clamp_time relax_time)
406
407 snd (select:ar compress [snd compressed])
408
409
410 snd (pan2 snd pan amp)]
411 (line:kr 1 1 (+ 0.03 (min play-time env-dur)) FREE)
236412 (out out_bus snd)))
237413
238414 (defsynth sonic-pi-stereo_player
247423 pan_slide 0
248424 pan_slide_shape 1
249425 pan_slide_curve 0
250 cutoff -1
251 cutoff_slide 0
252 cutoff_slide_shape 1
253 cutoff_slide_curve 0
254 cutoff_attack 0
255 cutoff_sustain -1
256 cutoff_decay 0
257 cutoff_release 0
258 cutoff_min -1
259 cutoff_min_slide 0
260 cutoff_min_slide_shape 1
261 cutoff_min_slide_curve 0
262 cutoff_attack_level [-1 :ir]
263 cutoff_decay_level [-1 :ir]
264 cutoff_sustain_level [-1 :ir]
265 cutoff_env_curve 1
266 res 0
267 res_slide 0
268 res_slide_shape 1
269 res_slide_curve 0
426
270427 attack [0.0 :ir]
271428 decay [0 :ir]
272429 sustain [-1 :ir]
278435 rate 1
279436 start 0
280437 finish 1
438
439 lpf -1
440 lpf_slide 0
441 lpf_slide_shape 1
442 lpf_slide_curve 0
443
444 lpf_attack 0
445 lpf_sustain -1
446 lpf_decay 0
447 lpf_release 0
448
449 lpf_min -1
450 lpf_min_slide 0
451 lpf_min_slide_shape 1
452 lpf_min_slide_curve 0
453
454 lpf_init_level [-1 :ir]
455 lpf_attack_level [-1 :ir]
456 lpf_decay_level [-1 :ir]
457 lpf_sustain_level [-1 :ir]
458 lpf_release_level [-1 :ir]
459 lpf_env_curve 1
460
461 hpf -1
462 hpf_slide 0
463 hpf_slide_shape 1
464 hpf_slide_curve 0
465
466 hpf_max -1
467 hpf_max_slide 0
468 hpf_max_slide_shape 1
469 hpf_max_slide_curve 0
470
471 hpf_attack 0
472 hpf_sustain -1
473 hpf_decay 0
474 hpf_release 0
475 hpf_init_level [-1 :ir]
476 hpf_attack_level [-1 :ir]
477 hpf_decay_level [-1 :ir]
478 hpf_sustain_level [-1 :ir]
479 hpf_release_level [-1 :ir]
480 hpf_env_curve 1
481
281482 norm 0
282483 pitch 0
283484 pitch_slide 0
295496 time_dis_slide 0
296497 time_dis_slide_shape 1
297498 time_dis_slide_curve 0
499 compress 0
500 pre_amp 1
501 pre_amp_slide 0
502 pre_amp_slide_shape 1
503 pre_amp_slide_curve 0
504 threshold 0.2
505 threshold_slide 0
506 threshold_slide_shape 1
507 threshold_slide_curve 0
508 clamp_time 0.01
509 clamp_time_slide 0
510 clamp_time_slide_shape 1
511 clamp_time_slide_curve 0
512 slope_above 0.5
513 slope_above_slide 0
514 slope_above_slide_shape 1
515 slope_above_slide_curve 0
516 slope_below 1
517 slope_below_slide 0
518 slope_below_slide_shape 1
519 slope_below_slide_curve 0
520 relax_time 0.01
521 relax_time_slide 0
522 relax_time_slide_shape 1
523 relax_time_slide_curve 0
298524 out_bus 0]
299 (let [decay_level (select:kr (= -1 decay_level) [decay_level sustain_level])
300 amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
301 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
302 used_cutoff (not= -1 cutoff)
303 used_cutoff_attack_level (not= -1 cutoff_attack_level)
304 used_cutoff_decay_level (not= -1 cutoff_decay_level)
305 used_cutoff_sustain_level (not= -1 cutoff_sustain_level)
306 used_cutoff_attack (not= 0 cutoff_attack)
307 used_cutoff_decay (not= 0 cutoff_decay)
308 used_cutoff_release (not= 0 cutoff_release)
309 used_cutoff_sustain (not= -1 cutoff_sustain)
310 used_cutoff_min (not= -1 cutoff_min)
311 use-filter-env (or used_cutoff_attack_level
312 used_cutoff_decay_level
313 used_cutoff_sustain_level
314 used_cutoff_attack
315 used_cutoff_decay
316 used_cutoff_release
317 used_cutoff_sustain
318 used_cutoff_min)
319
320 use-filter (or used_cutoff
321 use-filter-env)
322
323 cutoff (select:kr (= -1 cutoff) [cutoff 130])
324 cutoff_min (select:kr (= -1 cutoff_min) [cutoff_min 50])
325 cutoff_attack_level (select:kr (= -1 cutoff_attack_level) [cutoff_attack_level cutoff])
326
327 cutoff_sustain_level (select:kr (= -1 cutoff_sustain_level) [cutoff_sustain_level cutoff_attack_level])
328 cutoff_decay_level (select:kr (= -1 cutoff_decay_level) [cutoff_decay_level cutoff_sustain_level])
329
330 cutoff (varlag cutoff cutoff_slide cutoff_slide_curve cutoff_slide_shape)
331 pitch (varlag pitch pitch_slide pitch_slide_curve pitch_slide_shape)
332 window_size (varlag window_size window_size_slide window_size_slide_curve window_size_slide_shape)
333 pitch_dis (varlag pitch_dis pitch_dis_slide pitch_dis_slide_curve pitch_dis_slide_shape)
334 time_dis (varlag time_dis time_dis_slide time_dis_slide_curve time_dis_slide_shape)
335 cutoff_min (varlag cutoff_min cutoff_min_slide cutoff_min_slide_curve cutoff_min_slide_shape)
336 pitch_ratio (midiratio pitch)
337 res (lin-lin res 1 0 0 1)
338 res (varlag res res_slide res_slide_curve res_slide_shape)
339 cutoff-freq (midicps cutoff)
340
341 n-frames (- (buf-frames:ir buf) 1)
342 start-pos (* start n-frames)
343 end-pos (* finish n-frames)
344 n-start-pos (select:kr (not-pos? rate) [start-pos end-pos])
345 n-end-pos (select:kr (not-pos? rate) [end-pos start-pos])
346 rate (abs rate)
347 play-time (/ (* (buf-dur buf) (absdif finish start))
348 rate)
349 phase (line:ar :start n-start-pos :end n-end-pos :dur play-time)
350 sustain (select:kr (= -1 sustain) [sustain (- play-time attack release decay)])
351 cutoff_sustain (select:kr (= -1 cutoff_sustain) [cutoff_sustain (- play-time cutoff_attack cutoff_release cutoff_decay)])
352 env (env-gen (core/shaped-adsr attack decay sustain release attack_level decay_level sustain_level env_curve))
353 filt-env (midicps (env-gen (core/shaped-adsr cutoff_attack, cutoff_decay cutoff_sustain cutoff_release cutoff_attack_level cutoff_decay_level cutoff_sustain_level cutoff_env_curve cutoff_min)))
354
355 [snd-l snd-r] (buf-rd 2 buf phase)
356 killer (line:kr 1 1 (+ 0.03 play-time) FREE)
357
358 snd-l (select:ar (not= 0 pitch)
359 [snd-l
360 (pitch-shift snd-l window_size pitch_ratio pitch_dis time_dis)])
361
362 snd-r (select:ar (not= 0 pitch)
363 [snd-r
364 (pitch-shift snd-r window_size pitch_ratio pitch_dis time_dis)])
365
366 filt-env (select use-filter-env [cutoff-freq (min filt-env cutoff-freq)])
367 snd-l (select use-filter [snd-l (rlpf snd-l filt-env res)])
368 snd-r (select use-filter [snd-r (rlpf snd-r filt-env res)])
369
370 snd-l (select norm [snd-l (normalizer snd-l)])
371 snd-r (select norm [snd-r (normalizer snd-r)])
372 snd-l (* env snd-l)
373 snd-r (* env snd-r)
374 snd (balance2 snd-l snd-r pan amp)]
375
376 (out out_bus snd)))
377
378
525 (let [decay_level (select:kr (= -1 decay_level) [decay_level sustain_level])
526
527 amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
528 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
529 lpf (varlag lpf lpf_slide lpf_slide_curve lpf_slide_shape)
530 lpf_min (varlag lpf_min lpf_min_slide lpf_min_slide_curve lpf_min_slide_shape)
531 hpf (varlag hpf hpf_slide hpf_slide_curve hpf_slide_shape)
532 hpf_max (varlag hpf_max hpf_max_slide hpf_max_slide_curve hpf_max_slide_shape)
533 pitch (varlag pitch pitch_slide pitch_slide_curve pitch_slide_shape)
534 window_size (varlag window_size window_size_slide window_size_slide_curve window_size_slide_shape)
535 pitch_dis (varlag pitch_dis pitch_dis_slide pitch_dis_slide_curve pitch_dis_slide_shape)
536 time_dis (varlag time_dis time_dis_slide time_dis_slide_curve time_dis_slide_shape)
537
538 pre_amp (varlag pre_amp pre_amp_slide pre_amp_slide_curve pre_amp_slide_shape)
539 threshold (varlag threshold threshold_slide threshold_slide_curve threshold_slide_shape)
540 clamp_time (varlag clamp_time clamp_time_slide clamp_time_slide_curve clamp_time_slide_shape)
541
542 slope_above (varlag slope_above slope_above_slide slope_above_slide_curve slope_above_slide_shape)
543 slope_below (varlag slope_below slope_below_slide slope_below_slide_curve slope_below_slide_shape)
544 relax_time (varlag relax_time relax_time_slide relax_time_slide_curve relax_time_slide_shape)
545
546 used_lpf (not= -1 lpf)
547
548 used_lpf_init_level (not= -1 lpf_init_level)
549 used_lpf_attack_level (not= -1 lpf_attack_level)
550 used_lpf_decay_level (not= -1 lpf_decay_level)
551 used_lpf_sustain_level (not= -1 lpf_sustain_level)
552 used_lpf_release_level (not= -1 lpf_release_level)
553
554 used_lpf_attack (not= 0 lpf_attack)
555 used_lpf_decay (not= 0 lpf_decay)
556 used_lpf_release (not= 0 lpf_release)
557 used_lpf_sustain (not= -1 lpf_sustain)
558 used_lpf_min (not= -1 lpf_min)
559
560 used_hpf (not= -1 hpf)
561 used_hpf_init_level (not= -1 hpf_init_level)
562 used_hpf_attack_level (not= -1 hpf_attack_level)
563 used_hpf_decay_level (not= -1 hpf_decay_level)
564 used_hpf_sustain_level (not= -1 hpf_sustain_level)
565 used_hpf_release_level (not= -1 hpf_release_level)
566
567 used_hpf_attack (not= 0 hpf_attack)
568 used_hpf_decay (not= 0 hpf_decay)
569 used_hpf_release (not= 0 hpf_release)
570 used_hpf_sustain (not= -1 hpf_sustain)
571 used_hpf_max (not= -1 hpf_max)
572
573 use-lpf-env (or used_lpf_attack_level
574 used_lpf_decay_level
575 used_lpf_sustain_level
576 used_lpf_attack
577 used_lpf_decay
578 used_lpf_release
579 used_lpf_sustain
580 used_lpf_min)
581
582 use-hpf-env (or used_hpf_init_level
583 used_hpf_attack_level
584 used_hpf_decay_level
585 used_hpf_sustain_level
586 used_hpf_release_level
587 used_hpf_attack
588 used_hpf_decay
589 used_hpf_release
590 used_hpf_sustain
591 used_hpf_max)
592
593 use-lpf (or used_lpf
594 use-lpf-env)
595
596
597 use-hpf (or used_hpf
598 use-hpf-env)
599
600 lpf (select:kr used_lpf [130 lpf])
601 hpf (select:kr used_hpf [50 hpf])
602 hpf_max (select:kr used_hpf_max [200 hpf_max])
603 lpf_min (select:kr used_lpf_min [30 lpf_min])
604
605 lpf_release_level (select:kr used_lpf_release_level [lpf lpf_release_level])
606 lpf_sustain_level (select:kr used_lpf_sustain_level [lpf_release_level lpf_sustain_level])
607 lpf_decay_level (select:kr used_lpf_decay_level [lpf_sustain_level lpf_decay_level])
608 lpf_attack_level (select:kr used_lpf_attack_level [lpf_decay_level lpf_attack_level])
609 lpf_init_level (select:kr used_lpf_init_level [lpf_min lpf_init_level])
610
611 hpf_release_level (select:kr used_hpf_release_level [hpf hpf_release_level])
612 hpf_sustain_level (select:kr used_hpf_sustain_level [hpf_release_level hpf_sustain_level])
613 hpf_decay_level (select:kr used_hpf_decay_level [hpf_sustain_level hpf_decay_level])
614 hpf_attack_level (select:kr used_hpf_attack_level [hpf_decay_level hpf_attack_level])
615 hpf_init_level (select:kr used_hpf_init_level [130 hpf_init_level])
616
617 lpf_attack (select:kr used_lpf_attack [attack lpf_attack])
618 lpf_decay (select:kr used_lpf_decay [decay lpf_decay])
619 lpf_sustain (select:kr used_lpf_sustain [sustain lpf_sustain])
620 lpf_release (select:kr used_lpf_release [release lpf_release])
621
622 hpf_attack (select:kr used_hpf_attack [attack hpf_attack])
623 hpf_decay (select:kr used_hpf_decay [decay hpf_decay])
624 hpf_sustain (select:kr used_hpf_sustain [sustain hpf_sustain])
625 hpf_release (select:kr used_hpf_release [release hpf_release])
626
627
628 pitch_ratio (midiratio pitch)
629 lpf-freq (midicps lpf)
630 hpf-freq (midicps hpf)
631 hpf_max (midicps hpf_max)
632 lpf_min (midicps lpf_min)
633
634 n-frames (- (buf-frames buf) 1)
635 start-pos (* start n-frames)
636 end-pos (* finish n-frames)
637 n-start-pos (select:kr (not-pos? rate) [start-pos end-pos])
638 n-end-pos (select:kr (not-pos? rate) [end-pos start-pos])
639 rate (abs rate)
640 play-time (/ (* (buf-dur buf) (absdif finish start))
641 rate)
642 phase (line:ar :start n-start-pos :end n-end-pos :dur play-time)
643 sustain (select:kr (= -1 sustain) [sustain (- play-time attack release decay)])
644 lpf_sustain (select:kr (= -1 lpf_sustain) [lpf_sustain (- play-time lpf_attack lpf_release lpf_decay)])
645 hpf_sustain (select:kr (= -1 hpf_sustain) [hpf_sustain (- play-time hpf_attack hpf_release hpf_decay)])
646 env-dur (+ attack sustain decay release)
647 env (env-gen (core/shaped-adsr attack decay sustain release attack_level decay_level sustain_level env_curve))
648 lpf-env (midicps (env-gen (core/shaped-adsr lpf_attack, lpf_decay lpf_sustain (+ 0.1 lpf_release) lpf_init_level lpf_attack_level lpf_decay_level lpf_sustain_level lpf_release_level lpf_env_curve)))
649 hpf-env (midicps (env-gen (core/shaped-adsr hpf_attack, hpf_decay hpf_sustain (+ 0.1 hpf_release) hpf_init_level hpf_attack_level hpf_decay_level hpf_sustain_level hpf_release_level hpf_env_curve)))
650
651 lpf-env (select use-lpf-env [lpf-freq (min lpf-freq
652 (max lpf-env lpf_min))])
653 hpf-env (select use-hpf-env [hpf-freq (max hpf-freq
654 (min hpf-env hpf_max))])
655
656 [snd-l snd-r] (* pre_amp (buf-rd 2 buf phase))
657
658 snd-l (select:ar (not= 0 pitch)
659 [snd-l
660 (pitch-shift snd-l window_size pitch_ratio pitch_dis time_dis)])
661
662 snd-r (select:ar (not= 0 pitch)
663 [snd-r
664 (pitch-shift snd-r window_size pitch_ratio pitch_dis time_dis)])
665
666
667 snd-l (select use-lpf [snd-l (overtone.live/lpf snd-l lpf-env)])
668 snd-r (select use-lpf [snd-r (overtone.live/lpf snd-r lpf-env)])
669
670 snd-l (select use-hpf [snd-l (overtone.live/hpf snd-l hpf-env)])
671 snd-r (select use-hpf [snd-r (overtone.live/hpf snd-r hpf-env)])
672
673 snd-l (select norm [snd-l (normalizer snd-l)])
674 snd-r (select norm [snd-r (normalizer snd-r)])
675 snd-l (* env snd-l)
676 snd-r (* env snd-r)
677
678 control-sig (/ (+ snd-l snd-r) 2)
679
680 compressed-l (compander snd-l control-sig threshold
681 slope_below slope_above
682 clamp_time relax_time)
683
684 compressed-r (compander snd-r control-sig threshold
685 slope_below slope_above
686 clamp_time relax_time)
687
688
689 snd-l (select:ar compress [snd-l compressed-l])
690 snd-r (select:ar compress [snd-r compressed-r])
691
692 snd (balance2 snd-l snd-r pan amp)]
693
694 (line:kr 1 1 (+ 0.03 (min play-time env-dur)) FREE)
695 (out out_bus snd)))
696
697 ;(show-graphviz-synth sonic-pi-stereo_player)
379698 (comment
380699 (core/save-synthdef sonic-pi-mono_player)
381700 (core/save-synthdef sonic-pi-stereo_player)
122122 [out-buf 0 in_bus 0]
123123 (disk-out out-buf (in in_bus 2)))
124124
125
126125 (defsynth sonic-pi-sound_in [amp 1
127126 amp_slide 0
128127 amp_slide_shape 1
131130 pan_slide 0
132131 pan_slide_shape 1
133132 pan_slide_curve 0
134 attack 0.01
133 attack 0
135134 decay 0
136 sustain 0
137 release 2
135 sustain 1
136 release 0
138137 attack_level 1
139138 decay_level -1
140139 sustain_level 1
141140 env_curve 1
142 cutoff 100
143 cutoff_slide 0
144 cutoff_slide_shape 1
145 cutoff_slide_curve 0
146141
147142 input 0
148143 out_bus 0]
149144 (let [decay_level (select:kr (= -1 decay_level) [decay_level sustain_level])
150145 amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
151146 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
152 cutoff (varlag cutoff cutoff_slide cutoff_slide_curve cutoff_slide_shape)
153 cutoff-freq (midicps cutoff)
154147 snd (sound-in input)
155 snd (lpf snd cutoff-freq)
156148 env (env-gen:kr (core/shaped-adsr attack decay sustain release attack_level decay_level sustain_level env_curve) :action FREE)]
157 (out out_bus (pan2 (* env snd) pan amp)))))
149 (out out_bus (pan2 (* env snd) pan amp))))
150
151 (defsynth sonic-pi-sound_in_stereo [amp 1
152 amp_slide 0
153 amp_slide_shape 1
154 amp_slide_curve 0
155 pan 0
156 pan_slide 0
157 pan_slide_shape 1
158 pan_slide_curve 0
159 attack 0
160 decay 0
161 sustain 1
162 release 0
163 attack_level 1
164 decay_level -1
165 sustain_level 1
166 env_curve 1
167
168 input 0
169 out_bus 0]
170 (let [decay_level (select:kr (= -1 decay_level) [decay_level sustain_level])
171 amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
172 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
173 snd-l (sound-in input)
174 snd-r (sound-in (+ input 1))
175 env (env-gen:kr (core/shaped-adsr attack decay sustain release attack_level decay_level sustain_level env_curve) :action FREE)
176 snd-l (* env snd-l)
177 snd-r (* env snd-r)
178 snd (balance2 snd-l snd-r pan amp)]
179
180 (out out_bus (pan2 (* env snd) pan amp))))
181 )
158182
159183
160184 (comment
161185 (core/save-synthdef sonic-pi-sound_in)
186 (core/save-synthdef sonic-pi-sound_in_stereo)
162187 (core/save-synthdef sonic-pi-mixer)
163188 (core/save-synthdef sonic-pi-basic_mixer)
164189 (core/save-synthdef sonic-pi-recorder)))
1616 (:require [sonic-pi.synths.core :as core]))
1717
1818 (without-namespace-in-synthdef
19 (defsynth sonic-pi-pluck [note 52
20 amp 1
21 amp_slide 0
22 amp_slide_shape 1
23 amp_slide_curve 0
24 pan 0
25 pan_slide 0
26 pan_slide_shape 1
27 pan_slide_curve 0
28 attack 0
29 decay 0
30 sustain 0
31 release 1
32 attack_level 1
33 decay_level -1
34 sustain_level 1
35 env_curve 1
36 noise_amp 0.8
37 max_delay_time 0.125
38 pluck_decay 30
39 coef 0.3
40
41 out_bus 0]
42 (let [amp (varlag amp amp_slide amp_slide_curve amp_slide_shape)
43 amp-fudge 2.5 ;; Given the filtering involved this synth is naturally quiet
44 pan (varlag pan pan_slide pan_slide_curve pan_slide_shape)
45 freq (midicps note)
46
47 snd (pluck {:in (* noise_amp (pink-noise))
48 :trig 1
49 :maxdelaytime max_delay_time
50 :delaytime (/ 1.0 freq)
51 :decaytime pluck_decay
52 :coef coef})
53
54 env (env-gen:kr (core/shaped-adsr attack decay sustain release attack_level decay_level sustain_level env_curve) :action FREE)
55 [new-l new-r] (pan2 (* amp-fudge snd env) pan amp)]
56 (out out_bus [new-l new-r]))
57 )
58
1959 (defsynth sonic-pi-piano [note 52
2060 amp 1
2161 amp_slide 0
156196
157197 (comment
158198 (core/save-synthdef sonic-pi-piano)
199 (core/save-synthdef sonic-pi-pluck)
159200 (core/save-synthdef sonic-pi-synth_violin))
0 digraph synthdef {
1 2 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
2 6 [label = "{{ <in> in} |<__UG_NAME__>a2k }" style="bold, rounded" shape=record rankdir=LR];
3 10 [label = "{{ <in> in} |<__UG_NAME__>a2k }" style="bold, rounded" shape=record rankdir=LR];
4 4 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
5 8 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
6 0 [label = "control
7 :bus
8 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
9 1 [label = "control
10 :smoothness
11 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
12 11 [label = "{{ <phase> phase 0.0|<freq> freq 5.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
13 3 [label = "{{ <num____channels> num-channels 1|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
14 7 [label = "{{ <num____channels> num-channels 1|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
15 5 [label = "{{ <lag____time> lag-time|<in> in} |<__UG_NAME__>lag }" style="filled, bold, rounded" shape=record rankdir=LR];
16 9 [label = "{{ <lag____time> lag-time|<in> in} |<__UG_NAME__>lag }" style="filled, bold, rounded" shape=record rankdir=LR];
17 12 [label = "{{ <reply____id> reply-id|{{13}|values}|{{47|115|111|110|105|99|45|112|105|47|97|109|112|<cmd____name___a2k___13>|<cmd____name___a2k___14>}|cmd-name}|<trig> trig} |<__UG_NAME__>send-reply }" style="bold, rounded" shape=record rankdir=LR];
18
19 0:__UG_NAME__ -> 2:a ;
20 5:__UG_NAME__ -> 6:in ;
21 9:__UG_NAME__ -> 10:in ;
22 3:__UG_NAME__ -> 4:a ;
23 7:__UG_NAME__ -> 8:a ;
24 2:__UG_NAME__ -> 3:bus ;
25 0:__UG_NAME__ -> 7:bus ;
26 4:__UG_NAME__ -> 5:in ;
27 1:__UG_NAME__ -> 5:lag____time ;
28 8:__UG_NAME__ -> 9:in ;
29 1:__UG_NAME__ -> 9:lag____time ;
30 11:__UG_NAME__ -> 12:trig ;
31 10:__UG_NAME__ -> 12:cmd____name___a2k___13 ;
32 6:__UG_NAME__ -> 12:cmd____name___a2k___14 ;
33 0:__UG_NAME__ -> 12:reply____id ;
34
35 }
0 digraph synthdef {
1 17 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 18 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 12 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 14 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 8 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
6 13 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
7 7 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
8 10 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
9 0 [label = "control
10 :in_bus
11 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
12 1 [label = "control
13 :out_bus
14 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
15 2 [label = "control
16 :amp
17 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
18 3 [label = "control
19 :amp_slide
20 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
21 4 [label = "control
22 :amp_slide_shape
23 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
24 5 [label = "control
25 :amp_slide_curve
26 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
27 15 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
28 6 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
29 9 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
30 11 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
31 16 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
32 19 [label = "{{ {{<signals___binary____op____u____gen___0>|<signals___binary____op____u____gen___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
33
34 15:__UG_NAME__ -> 17:a ;
35 16:__UG_NAME__ -> 17:b ;
36 15:__UG_NAME__ -> 18:a ;
37 16:__UG_NAME__ -> 18:b ;
38 11:__UG_NAME__ -> 12:a ;
39 8:__UG_NAME__ -> 12:b ;
40 12:__UG_NAME__ -> 14:a ;
41 13:__UG_NAME__ -> 14:b ;
42 7:__UG_NAME__ -> 8:a ;
43 10:__UG_NAME__ -> 13:a ;
44 6:__UG_NAME__ -> 7:a ;
45 9:__UG_NAME__ -> 10:a ;
46 2:__UG_NAME__ -> 15:envelope___control___0 ;
47 2:__UG_NAME__ -> 15:envelope___control___4 ;
48 3:__UG_NAME__ -> 15:envelope___control___5 ;
49 4:__UG_NAME__ -> 15:envelope___control___6 ;
50 5:__UG_NAME__ -> 15:envelope___control___7 ;
51 14:__UG_NAME__ -> 15:gate ;
52 2:__UG_NAME__ -> 6:in ;
53 3:__UG_NAME__ -> 9:in ;
54 0:__UG_NAME__ -> 16:bus ;
55 1:__UG_NAME__ -> 19:bus ;
56 18:__UG_NAME__ -> 19:signals___binary____op____u____gen___0 ;
57 17:__UG_NAME__ -> 19:signals___binary____op____u____gen___1 ;
58
59 }
0 digraph synthdef {
1 61 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="dashed, rounded" shape=record rankdir=LR];
2 68 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="dashed, rounded" shape=record rankdir=LR];
3 84 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 32 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 36 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 43 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 47 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 55 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 90 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 93 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 97 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 98 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 99 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 101 [label = "{{ <b> |<a> 0.03} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 69 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="dashed, rounded" shape=record rankdir=LR];
17 70 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="dashed, rounded" shape=record rankdir=LR];
18 71 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="dashed, rounded" shape=record rankdir=LR];
19 77 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="dashed, rounded" shape=record rankdir=LR];
20 66 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="dashed, rounded" shape=record rankdir=LR];
21 75 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\< }" style="dashed, rounded" shape=record rankdir=LR];
22 51 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
23 63 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
24 31 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 35 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 38 [label = "{{ <b> -1.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 42 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 46 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 54 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 58 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 74 [label = "{{ <b> -1.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 89 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 92 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 30 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 34 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 45 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 53 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 65 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="dashed, rounded" shape=record rankdir=LR];
41 88 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 91 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 67 [label = "{{ <buf> buf} |<__UG_NAME__>buf-dur }" style="dashed, rounded" shape=record rankdir=LR];
44 76 [label = "{{ <buf> buf} |<__UG_NAME__>buf-frames }" style="dashed, rounded" shape=record rankdir=LR];
45 60 [label = "{{ <buf> buf} |<__UG_NAME__>buf-rate-scale }" style="dashed, rounded" shape=record rankdir=LR];
46 0 [label = "control
47 :buf
48 default: 0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
49 1 [label = "control
50 :attack
51 default: 0.0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
52 2 [label = "control
53 :decay
54 default: 0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
55 3 [label = "control
56 :sustain
57 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
58 4 [label = "control
59 :release
60 default: 0.0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
61 5 [label = "control
62 :attack_level
63 default: 1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
64 6 [label = "control
65 :decay_level
66 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
67 7 [label = "control
68 :sustain_level
69 default: 1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
70 8 [label = "control
71 :env_curve
72 default: 1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
73 9 [label = "control
74 :rate
75 default: 1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
76 10 [label = "control
77 :out_bus
78 default: 0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
79 11 [label = "control
80 :amp
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 12 [label = "control
83 :amp_slide
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 13 [label = "control
86 :amp_slide_shape
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 14 [label = "control
89 :amp_slide_curve
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 15 [label = "control
92 :pan
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 16 [label = "control
95 :pan_slide
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 17 [label = "control
98 :pan_slide_shape
99 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 18 [label = "control
101 :pan_slide_curve
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 19 [label = "control
104 :lpf
105 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 20 [label = "control
107 :lpf_slide
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 21 [label = "control
110 :lpf_slide_shape
111 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 22 [label = "control
113 :lpf_slide_curve
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 23 [label = "control
116 :hpf
117 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 24 [label = "control
119 :hpf_slide
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 25 [label = "control
122 :hpf_slide_shape
123 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 26 [label = "control
125 :hpf_slide_curve
126 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 37 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
128 48 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
129 73 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___select___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
130 85 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
131 94 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
132 82 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
133 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
134 29 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
135 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
136 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
137 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
138 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
139 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
140 87 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
141 28 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
142 39 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
143 50 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
144 86 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
145 102 [label = "{{ <action> action 2.0|<dur> dur|<end> end 1.0|<start> start 1.0} |<__UG_NAME__>line }" style="bold, rounded" shape=record rankdir=LR];
146 80 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
147 49 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
148 62 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
149 100 [label = "{{ <b> |<a> } |<__UG_NAME__>min }" style="bold, rounded" shape=record rankdir=LR];
150 96 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
151 95 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
152 79 [label = "{{ <action> action 0.0|<loop> loop 0.0|<start____pos> start-pos|<trigger> trigger 0.0|<rate> rate|<bufnum> bufnum|<num____channels> num-channels 1} |<__UG_NAME__>play-buf }" style="filled, bold, rounded" shape=record rankdir=LR];
153 64 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
154 72 [label = "{{ {{<array___control___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
155 78 [label = "{{ {{0.0|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
156 81 [label = "{{ {{<array___play____buf___0>|<array___lpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
157 83 [label = "{{ {{<array___select___0>|<array___hpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
158
159 9:__UG_NAME__ -> 61:a ;
160 60:__UG_NAME__ -> 61:b ;
161 66:__UG_NAME__ -> 68:a ;
162 67:__UG_NAME__ -> 68:b ;
163 73:__UG_NAME__ -> 84:a ;
164 83:__UG_NAME__ -> 84:b ;
165 28:__UG_NAME__ -> 32:a ;
166 31:__UG_NAME__ -> 32:b ;
167 32:__UG_NAME__ -> 36:a ;
168 35:__UG_NAME__ -> 36:b ;
169 39:__UG_NAME__ -> 43:a ;
170 42:__UG_NAME__ -> 43:b ;
171 43:__UG_NAME__ -> 47:a ;
172 46:__UG_NAME__ -> 47:b ;
173 50:__UG_NAME__ -> 55:a ;
174 54:__UG_NAME__ -> 55:b ;
175 55:__UG_NAME__ -> 59:a ;
176 58:__UG_NAME__ -> 59:b ;
177 86:__UG_NAME__ -> 90:a ;
178 89:__UG_NAME__ -> 90:b ;
179 90:__UG_NAME__ -> 93:a ;
180 92:__UG_NAME__ -> 93:b ;
181 1:__UG_NAME__ -> 97:a ;
182 72:__UG_NAME__ -> 97:b ;
183 97:__UG_NAME__ -> 98:a ;
184 2:__UG_NAME__ -> 98:b ;
185 98:__UG_NAME__ -> 99:a ;
186 4:__UG_NAME__ -> 99:b ;
187 100:__UG_NAME__ -> 101:b ;
188 68:__UG_NAME__ -> 69:a ;
189 1:__UG_NAME__ -> 69:b ;
190 69:__UG_NAME__ -> 70:a ;
191 4:__UG_NAME__ -> 70:b ;
192 70:__UG_NAME__ -> 71:a ;
193 2:__UG_NAME__ -> 71:b ;
194 76:__UG_NAME__ -> 77:a ;
195 65:__UG_NAME__ -> 66:b ;
196 9:__UG_NAME__ -> 75:a ;
197 3:__UG_NAME__ -> 51:b ;
198 6:__UG_NAME__ -> 63:b ;
199 30:__UG_NAME__ -> 31:a ;
200 34:__UG_NAME__ -> 35:a ;
201 37:__UG_NAME__ -> 38:a ;
202 41:__UG_NAME__ -> 42:a ;
203 45:__UG_NAME__ -> 46:a ;
204 53:__UG_NAME__ -> 54:a ;
205 57:__UG_NAME__ -> 58:a ;
206 48:__UG_NAME__ -> 74:a ;
207 88:__UG_NAME__ -> 89:a ;
208 91:__UG_NAME__ -> 92:a ;
209 29:__UG_NAME__ -> 30:a ;
210 33:__UG_NAME__ -> 34:a ;
211 40:__UG_NAME__ -> 41:a ;
212 44:__UG_NAME__ -> 45:a ;
213 52:__UG_NAME__ -> 53:a ;
214 56:__UG_NAME__ -> 57:a ;
215 9:__UG_NAME__ -> 65:a ;
216 87:__UG_NAME__ -> 88:a ;
217 27:__UG_NAME__ -> 91:a ;
218 0:__UG_NAME__ -> 67:buf ;
219 0:__UG_NAME__ -> 76:buf ;
220 0:__UG_NAME__ -> 60:buf ;
221 19:__UG_NAME__ -> 37:envelope___control___0 ;
222 19:__UG_NAME__ -> 37:envelope___control___4 ;
223 20:__UG_NAME__ -> 37:envelope___control___5 ;
224 21:__UG_NAME__ -> 37:envelope___control___6 ;
225 22:__UG_NAME__ -> 37:envelope___control___7 ;
226 36:__UG_NAME__ -> 37:gate ;
227 23:__UG_NAME__ -> 48:envelope___control___0 ;
228 23:__UG_NAME__ -> 48:envelope___control___4 ;
229 24:__UG_NAME__ -> 48:envelope___control___5 ;
230 25:__UG_NAME__ -> 48:envelope___control___6 ;
231 26:__UG_NAME__ -> 48:envelope___control___7 ;
232 47:__UG_NAME__ -> 48:gate ;
233 5:__UG_NAME__ -> 73:envelope___control___4 ;
234 1:__UG_NAME__ -> 73:envelope___control___5 ;
235 8:__UG_NAME__ -> 73:envelope___control___6 ;
236 64:__UG_NAME__ -> 73:envelope___select___8 ;
237 2:__UG_NAME__ -> 73:envelope___control___9 ;
238 8:__UG_NAME__ -> 73:envelope___control___10 ;
239 7:__UG_NAME__ -> 73:envelope___control___12 ;
240 72:__UG_NAME__ -> 73:envelope___select___13 ;
241 8:__UG_NAME__ -> 73:envelope___control___14 ;
242 4:__UG_NAME__ -> 73:envelope___control___17 ;
243 8:__UG_NAME__ -> 73:envelope___control___18 ;
244 15:__UG_NAME__ -> 85:envelope___control___0 ;
245 15:__UG_NAME__ -> 85:envelope___control___4 ;
246 16:__UG_NAME__ -> 85:envelope___control___5 ;
247 17:__UG_NAME__ -> 85:envelope___control___6 ;
248 18:__UG_NAME__ -> 85:envelope___control___7 ;
249 59:__UG_NAME__ -> 85:gate ;
250 11:__UG_NAME__ -> 94:envelope___control___0 ;
251 11:__UG_NAME__ -> 94:envelope___control___4 ;
252 12:__UG_NAME__ -> 94:envelope___control___5 ;
253 13:__UG_NAME__ -> 94:envelope___control___6 ;
254 14:__UG_NAME__ -> 94:envelope___control___7 ;
255 93:__UG_NAME__ -> 94:gate ;
256 81:__UG_NAME__ -> 82:in ;
257 49:__UG_NAME__ -> 82:freq ;
258 12:__UG_NAME__ -> 27:in ;
259 19:__UG_NAME__ -> 29:in ;
260 20:__UG_NAME__ -> 33:in ;
261 23:__UG_NAME__ -> 40:in ;
262 24:__UG_NAME__ -> 44:in ;
263 15:__UG_NAME__ -> 52:in ;
264 16:__UG_NAME__ -> 56:in ;
265 11:__UG_NAME__ -> 87:in ;
266 101:__UG_NAME__ -> 102:dur ;
267 79:__UG_NAME__ -> 80:in ;
268 62:__UG_NAME__ -> 80:freq ;
269 48:__UG_NAME__ -> 49:a ;
270 37:__UG_NAME__ -> 62:a ;
271 68:__UG_NAME__ -> 100:a ;
272 99:__UG_NAME__ -> 100:b ;
273 10:__UG_NAME__ -> 96:bus ;
274 95:__UG_NAME__ -> 96:signals___pan2___0 ;
275 95:__UG_NAME__ -> 96:signals___pan2___1 ;
276 84:__UG_NAME__ -> 95:in ;
277 85:__UG_NAME__ -> 95:pos ;
278 94:__UG_NAME__ -> 95:level ;
279 0:__UG_NAME__ -> 79:bufnum ;
280 61:__UG_NAME__ -> 79:rate ;
281 78:__UG_NAME__ -> 79:start____pos ;
282 63:__UG_NAME__ -> 64:which ;
283 6:__UG_NAME__ -> 64:array___control___0 ;
284 7:__UG_NAME__ -> 64:array___control___1 ;
285 51:__UG_NAME__ -> 72:which ;
286 3:__UG_NAME__ -> 72:array___control___0 ;
287 71:__UG_NAME__ -> 72:array___binary____op____u____gen___1 ;
288 75:__UG_NAME__ -> 78:which ;
289 77:__UG_NAME__ -> 78:array___binary____op____u____gen___1 ;
290 38:__UG_NAME__ -> 81:which ;
291 79:__UG_NAME__ -> 81:array___play____buf___0 ;
292 80:__UG_NAME__ -> 81:array___lpf___1 ;
293 74:__UG_NAME__ -> 83:which ;
294 81:__UG_NAME__ -> 83:array___select___0 ;
295 82:__UG_NAME__ -> 83:array___hpf___1 ;
296
297 }
0 digraph synthdef {
1 63 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="dashed, rounded" shape=record rankdir=LR];
2 72 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="dashed, rounded" shape=record rankdir=LR];
3 96 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 98 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 39 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 43 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 53 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 54 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 88 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 89 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 102 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 103 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 104 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 106 [label = "{{ <b> |<a> 0.03} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 29 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="dashed, rounded" shape=record rankdir=LR];
18 73 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="dashed, rounded" shape=record rankdir=LR];
19 74 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="dashed, rounded" shape=record rankdir=LR];
20 75 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="dashed, rounded" shape=record rankdir=LR];
21 57 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="dashed, rounded" shape=record rankdir=LR];
22 27 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\< }" style="dashed, rounded" shape=record rankdir=LR];
23 68 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
24 70 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
25 33 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 42 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 48 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 52 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 60 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 80 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 81 [label = "{{ <b> -1.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 87 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 91 [label = "{{ <b> -1.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 32 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 45 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 47 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 56 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="dashed, rounded" shape=record rankdir=LR];
42 79 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 86 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 100 [label = "{{ <level> level|<pos> pos|<right> right|<left> left} |<__UG_NAME__>balance2 }" style="filled, bold, rounded" shape=record rankdir=LR];
45 71 [label = "{{ <buf> buf} |<__UG_NAME__>buf-dur }" style="dashed, rounded" shape=record rankdir=LR];
46 28 [label = "{{ <buf> buf} |<__UG_NAME__>buf-frames }" style="dashed, rounded" shape=record rankdir=LR];
47 55 [label = "{{ <buf> buf} |<__UG_NAME__>buf-rate-scale }" style="dashed, rounded" shape=record rankdir=LR];
48 0 [label = "control
49 :buf
50 default: 0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
51 1 [label = "control
52 :attack
53 default: 0.0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
54 2 [label = "control
55 :decay
56 default: 0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
57 3 [label = "control
58 :sustain
59 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
60 4 [label = "control
61 :release
62 default: 0.0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
63 5 [label = "control
64 :attack_level
65 default: 1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
66 6 [label = "control
67 :decay_level
68 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
69 7 [label = "control
70 :sustain_level
71 default: 1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
72 8 [label = "control
73 :env_curve
74 default: 1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
75 9 [label = "control
76 :rate
77 default: 1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
78 10 [label = "control
79 :out_bus
80 default: 0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
81 11 [label = "control
82 :amp
83 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 12 [label = "control
85 :amp_slide
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 13 [label = "control
88 :amp_slide_shape
89 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 14 [label = "control
91 :amp_slide_curve
92 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 15 [label = "control
94 :pan
95 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 16 [label = "control
97 :pan_slide
98 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 17 [label = "control
100 :pan_slide_shape
101 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 18 [label = "control
103 :pan_slide_curve
104 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 19 [label = "control
106 :lpf
107 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 20 [label = "control
109 :lpf_slide
110 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 21 [label = "control
112 :lpf_slide_shape
113 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 22 [label = "control
115 :lpf_slide_curve
116 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 23 [label = "control
118 :hpf
119 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 24 [label = "control
121 :hpf_slide
122 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 25 [label = "control
124 :hpf_slide_shape
125 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 26 [label = "control
127 :hpf_slide_curve
128 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 62 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
130 65 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
131 77 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___select___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
132 90 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
133 99 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
134 84 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
135 94 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
136 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
137 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
138 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
139 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
140 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
141 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
142 78 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
143 85 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
144 34 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
145 38 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
146 49 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
147 58 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
148 107 [label = "{{ <action> action 2.0|<dur> dur|<end> end 1.0|<start> start 1.0} |<__UG_NAME__>line }" style="bold, rounded" shape=record rankdir=LR];
149 67 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
150 92 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
151 66 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
152 83 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
153 105 [label = "{{ <b> |<a> } |<__UG_NAME__>min }" style="bold, rounded" shape=record rankdir=LR];
154 101 [label = "{{ {{<signals___balance2___0>|<signals___balance2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
155 64 [label = "{{ <action> action 0.0|<loop> loop 0.0|<start____pos> start-pos|<trigger> trigger 0.0|<rate> rate|<bufnum> bufnum|<num____channels> num-channels 2} |<__UG_NAME__>play-buf }" style="filled, bold, rounded" shape=record rankdir=LR];
156 30 [label = "{{ {{0.0|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
157 69 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
158 76 [label = "{{ {{<array___control___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
159 82 [label = "{{ {{<array___play____buf___0>|<array___lpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
160 93 [label = "{{ {{<array___play____buf___0>|<array___lpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
161 95 [label = "{{ {{<array___select___0>|<array___hpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
162 97 [label = "{{ {{<array___select___0>|<array___hpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
163
164 9:__UG_NAME__ -> 63:a ;
165 55:__UG_NAME__ -> 63:b ;
166 57:__UG_NAME__ -> 72:a ;
167 71:__UG_NAME__ -> 72:b ;
168 77:__UG_NAME__ -> 96:a ;
169 95:__UG_NAME__ -> 96:b ;
170 77:__UG_NAME__ -> 98:a ;
171 97:__UG_NAME__ -> 98:b ;
172 38:__UG_NAME__ -> 39:a ;
173 33:__UG_NAME__ -> 39:b ;
174 39:__UG_NAME__ -> 43:a ;
175 42:__UG_NAME__ -> 43:b ;
176 49:__UG_NAME__ -> 53:a ;
177 52:__UG_NAME__ -> 53:b ;
178 53:__UG_NAME__ -> 54:a ;
179 48:__UG_NAME__ -> 54:b ;
180 58:__UG_NAME__ -> 59:a ;
181 37:__UG_NAME__ -> 59:b ;
182 59:__UG_NAME__ -> 61:a ;
183 60:__UG_NAME__ -> 61:b ;
184 34:__UG_NAME__ -> 88:a ;
185 87:__UG_NAME__ -> 88:b ;
186 88:__UG_NAME__ -> 89:a ;
187 80:__UG_NAME__ -> 89:b ;
188 1:__UG_NAME__ -> 102:a ;
189 76:__UG_NAME__ -> 102:b ;
190 102:__UG_NAME__ -> 103:a ;
191 2:__UG_NAME__ -> 103:b ;
192 103:__UG_NAME__ -> 104:a ;
193 4:__UG_NAME__ -> 104:b ;
194 105:__UG_NAME__ -> 106:b ;
195 28:__UG_NAME__ -> 29:a ;
196 72:__UG_NAME__ -> 73:a ;
197 1:__UG_NAME__ -> 73:b ;
198 73:__UG_NAME__ -> 74:a ;
199 4:__UG_NAME__ -> 74:b ;
200 74:__UG_NAME__ -> 75:a ;
201 2:__UG_NAME__ -> 75:b ;
202 56:__UG_NAME__ -> 57:b ;
203 9:__UG_NAME__ -> 27:a ;
204 6:__UG_NAME__ -> 68:b ;
205 3:__UG_NAME__ -> 70:b ;
206 32:__UG_NAME__ -> 33:a ;
207 36:__UG_NAME__ -> 37:a ;
208 41:__UG_NAME__ -> 42:a ;
209 47:__UG_NAME__ -> 48:a ;
210 51:__UG_NAME__ -> 52:a ;
211 45:__UG_NAME__ -> 60:a ;
212 79:__UG_NAME__ -> 80:a ;
213 65:__UG_NAME__ -> 81:a ;
214 86:__UG_NAME__ -> 87:a ;
215 62:__UG_NAME__ -> 91:a ;
216 31:__UG_NAME__ -> 32:a ;
217 35:__UG_NAME__ -> 36:a ;
218 40:__UG_NAME__ -> 41:a ;
219 44:__UG_NAME__ -> 45:a ;
220 46:__UG_NAME__ -> 47:a ;
221 50:__UG_NAME__ -> 51:a ;
222 9:__UG_NAME__ -> 56:a ;
223 78:__UG_NAME__ -> 79:a ;
224 85:__UG_NAME__ -> 86:a ;
225 96:__UG_NAME__ -> 100:left ;
226 98:__UG_NAME__ -> 100:right ;
227 90:__UG_NAME__ -> 100:pos ;
228 99:__UG_NAME__ -> 100:level ;
229 0:__UG_NAME__ -> 71:buf ;
230 0:__UG_NAME__ -> 28:buf ;
231 0:__UG_NAME__ -> 55:buf ;
232 23:__UG_NAME__ -> 62:envelope___control___0 ;
233 23:__UG_NAME__ -> 62:envelope___control___4 ;
234 24:__UG_NAME__ -> 62:envelope___control___5 ;
235 25:__UG_NAME__ -> 62:envelope___control___6 ;
236 26:__UG_NAME__ -> 62:envelope___control___7 ;
237 61:__UG_NAME__ -> 62:gate ;
238 19:__UG_NAME__ -> 65:envelope___control___0 ;
239 19:__UG_NAME__ -> 65:envelope___control___4 ;
240 20:__UG_NAME__ -> 65:envelope___control___5 ;
241 21:__UG_NAME__ -> 65:envelope___control___6 ;
242 22:__UG_NAME__ -> 65:envelope___control___7 ;
243 54:__UG_NAME__ -> 65:gate ;
244 5:__UG_NAME__ -> 77:envelope___control___4 ;
245 1:__UG_NAME__ -> 77:envelope___control___5 ;
246 8:__UG_NAME__ -> 77:envelope___control___6 ;
247 69:__UG_NAME__ -> 77:envelope___select___8 ;
248 2:__UG_NAME__ -> 77:envelope___control___9 ;
249 8:__UG_NAME__ -> 77:envelope___control___10 ;
250 7:__UG_NAME__ -> 77:envelope___control___12 ;
251 76:__UG_NAME__ -> 77:envelope___select___13 ;
252 8:__UG_NAME__ -> 77:envelope___control___14 ;
253 4:__UG_NAME__ -> 77:envelope___control___17 ;
254 8:__UG_NAME__ -> 77:envelope___control___18 ;
255 15:__UG_NAME__ -> 90:envelope___control___0 ;
256 15:__UG_NAME__ -> 90:envelope___control___4 ;
257 16:__UG_NAME__ -> 90:envelope___control___5 ;
258 17:__UG_NAME__ -> 90:envelope___control___6 ;
259 18:__UG_NAME__ -> 90:envelope___control___7 ;
260 43:__UG_NAME__ -> 90:gate ;
261 11:__UG_NAME__ -> 99:envelope___control___0 ;
262 11:__UG_NAME__ -> 99:envelope___control___4 ;
263 12:__UG_NAME__ -> 99:envelope___control___5 ;
264 13:__UG_NAME__ -> 99:envelope___control___6 ;
265 14:__UG_NAME__ -> 99:envelope___control___7 ;
266 89:__UG_NAME__ -> 99:gate ;
267 82:__UG_NAME__ -> 84:in ;
268 83:__UG_NAME__ -> 84:freq ;
269 93:__UG_NAME__ -> 94:in ;
270 83:__UG_NAME__ -> 94:freq ;
271 15:__UG_NAME__ -> 31:in ;
272 23:__UG_NAME__ -> 35:in ;
273 16:__UG_NAME__ -> 40:in ;
274 24:__UG_NAME__ -> 44:in ;
275 20:__UG_NAME__ -> 46:in ;
276 19:__UG_NAME__ -> 50:in ;
277 12:__UG_NAME__ -> 78:in ;
278 11:__UG_NAME__ -> 85:in ;
279 106:__UG_NAME__ -> 107:dur ;
280 64:__UG_NAME__ -> 67:in ;
281 66:__UG_NAME__ -> 67:freq ;
282 64:__UG_NAME__ -> 92:in ;
283 66:__UG_NAME__ -> 92:freq ;
284 65:__UG_NAME__ -> 66:a ;
285 62:__UG_NAME__ -> 83:a ;
286 72:__UG_NAME__ -> 105:a ;
287 104:__UG_NAME__ -> 105:b ;
288 10:__UG_NAME__ -> 101:bus ;
289 100:__UG_NAME__ -> 101:signals___balance2___0 ;
290 100:__UG_NAME__ -> 101:signals___balance2___1 ;
291 0:__UG_NAME__ -> 64:bufnum ;
292 63:__UG_NAME__ -> 64:rate ;
293 30:__UG_NAME__ -> 64:start____pos ;
294 27:__UG_NAME__ -> 30:which ;
295 29:__UG_NAME__ -> 30:array___binary____op____u____gen___1 ;
296 68:__UG_NAME__ -> 69:which ;
297 6:__UG_NAME__ -> 69:array___control___0 ;
298 7:__UG_NAME__ -> 69:array___control___1 ;
299 70:__UG_NAME__ -> 76:which ;
300 3:__UG_NAME__ -> 76:array___control___0 ;
301 75:__UG_NAME__ -> 76:array___binary____op____u____gen___1 ;
302 81:__UG_NAME__ -> 82:which ;
303 64:__UG_NAME__ -> 82:array___play____buf___0 ;
304 67:__UG_NAME__ -> 82:array___lpf___1 ;
305 81:__UG_NAME__ -> 93:which ;
306 64:__UG_NAME__ -> 93:array___play____buf___0 ;
307 92:__UG_NAME__ -> 93:array___lpf___1 ;
308 91:__UG_NAME__ -> 95:which ;
309 93:__UG_NAME__ -> 95:array___select___0 ;
310 94:__UG_NAME__ -> 95:array___hpf___1 ;
311 91:__UG_NAME__ -> 97:which ;
312 82:__UG_NAME__ -> 97:array___select___0 ;
313 84:__UG_NAME__ -> 97:array___hpf___1 ;
314
315 }
0 digraph synthdef {
1 40 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 53 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 31 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 36 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 38 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 45 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 49 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 56 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 24 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
10 30 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
11 35 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
12 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 44 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 48 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 55 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 22 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
17 29 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
18 34 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
19 43 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
20 47 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 54 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 0 [label = "control
23 :note
24 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
25 1 [label = "control
26 :note_slide
27 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
28 2 [label = "control
29 :note_slide_shape
30 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 3 [label = "control
32 :note_slide_curve
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 4 [label = "control
35 :amp
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 5 [label = "control
38 :amp_slide
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 6 [label = "control
41 :amp_slide_shape
42 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 7 [label = "control
44 :amp_slide_curve
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 8 [label = "control
47 :pan
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 9 [label = "control
50 :pan_slide
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 10 [label = "control
53 :pan_slide_shape
54 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 11 [label = "control
56 :pan_slide_curve
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 12 [label = "control
59 :attack
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 13 [label = "control
62 :decay
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 14 [label = "control
65 :sustain
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 15 [label = "control
68 :release
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 16 [label = "control
71 :attack_level
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 17 [label = "control
74 :decay_level
75 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 18 [label = "control
77 :sustain_level
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 19 [label = "control
80 :env_curve
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 20 [label = "control
83 :out_bus
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 26 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
86 39 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 50 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 57 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 21 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
90 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
91 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 27 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
96 32 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
97 41 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
98 51 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
99 59 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
100 58 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
101 25 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
102 52 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
103
104 26:__UG_NAME__ -> 40:b ;
105 40:__UG_NAME__ -> 53:a ;
106 52:__UG_NAME__ -> 53:b ;
107 27:__UG_NAME__ -> 31:a ;
108 30:__UG_NAME__ -> 31:b ;
109 32:__UG_NAME__ -> 36:a ;
110 35:__UG_NAME__ -> 36:b ;
111 36:__UG_NAME__ -> 38:a ;
112 37:__UG_NAME__ -> 38:b ;
113 41:__UG_NAME__ -> 45:a ;
114 44:__UG_NAME__ -> 45:b ;
115 45:__UG_NAME__ -> 49:a ;
116 48:__UG_NAME__ -> 49:b ;
117 31:__UG_NAME__ -> 56:a ;
118 55:__UG_NAME__ -> 56:b ;
119 17:__UG_NAME__ -> 24:b ;
120 29:__UG_NAME__ -> 30:a ;
121 34:__UG_NAME__ -> 35:a ;
122 22:__UG_NAME__ -> 37:a ;
123 43:__UG_NAME__ -> 44:a ;
124 47:__UG_NAME__ -> 48:a ;
125 54:__UG_NAME__ -> 55:a ;
126 21:__UG_NAME__ -> 22:a ;
127 28:__UG_NAME__ -> 29:a ;
128 33:__UG_NAME__ -> 34:a ;
129 42:__UG_NAME__ -> 43:a ;
130 46:__UG_NAME__ -> 47:a ;
131 23:__UG_NAME__ -> 54:a ;
132 16:__UG_NAME__ -> 26:envelope___control___4 ;
133 12:__UG_NAME__ -> 26:envelope___control___5 ;
134 19:__UG_NAME__ -> 26:envelope___control___6 ;
135 25:__UG_NAME__ -> 26:envelope___select___8 ;
136 13:__UG_NAME__ -> 26:envelope___control___9 ;
137 19:__UG_NAME__ -> 26:envelope___control___10 ;
138 18:__UG_NAME__ -> 26:envelope___control___12 ;
139 14:__UG_NAME__ -> 26:envelope___control___13 ;
140 19:__UG_NAME__ -> 26:envelope___control___14 ;
141 15:__UG_NAME__ -> 26:envelope___control___17 ;
142 19:__UG_NAME__ -> 26:envelope___control___18 ;
143 8:__UG_NAME__ -> 39:envelope___control___0 ;
144 8:__UG_NAME__ -> 39:envelope___control___4 ;
145 9:__UG_NAME__ -> 39:envelope___control___5 ;
146 10:__UG_NAME__ -> 39:envelope___control___6 ;
147 11:__UG_NAME__ -> 39:envelope___control___7 ;
148 38:__UG_NAME__ -> 39:gate ;
149 0:__UG_NAME__ -> 50:envelope___control___0 ;
150 0:__UG_NAME__ -> 50:envelope___control___4 ;
151 1:__UG_NAME__ -> 50:envelope___control___5 ;
152 2:__UG_NAME__ -> 50:envelope___control___6 ;
153 3:__UG_NAME__ -> 50:envelope___control___7 ;
154 49:__UG_NAME__ -> 50:gate ;
155 4:__UG_NAME__ -> 57:envelope___control___0 ;
156 4:__UG_NAME__ -> 57:envelope___control___4 ;
157 5:__UG_NAME__ -> 57:envelope___control___5 ;
158 6:__UG_NAME__ -> 57:envelope___control___6 ;
159 7:__UG_NAME__ -> 57:envelope___control___7 ;
160 56:__UG_NAME__ -> 57:gate ;
161 9:__UG_NAME__ -> 21:in ;
162 5:__UG_NAME__ -> 23:in ;
163 4:__UG_NAME__ -> 28:in ;
164 8:__UG_NAME__ -> 33:in ;
165 0:__UG_NAME__ -> 42:in ;
166 1:__UG_NAME__ -> 46:in ;
167 50:__UG_NAME__ -> 51:a ;
168 20:__UG_NAME__ -> 59:bus ;
169 58:__UG_NAME__ -> 59:signals___pan2___0 ;
170 58:__UG_NAME__ -> 59:signals___pan2___1 ;
171 53:__UG_NAME__ -> 58:in ;
172 39:__UG_NAME__ -> 58:pos ;
173 57:__UG_NAME__ -> 58:level ;
174 24:__UG_NAME__ -> 25:which ;
175 17:__UG_NAME__ -> 25:array___control___0 ;
176 18:__UG_NAME__ -> 25:array___control___1 ;
177 51:__UG_NAME__ -> 52:freq ;
178
179 }
0 digraph synthdef {
1 62 [label = "{{ <b> |<a> 1.2} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 66 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 33 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 37 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 42 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 55 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 68 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 71 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 72 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 63 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 28 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 32 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 36 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 41 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 46 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 54 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 58 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 67 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 27 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 31 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 35 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 40 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 43 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 45 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 53 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 48 [label = "{<__UG_NAME__>brown-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
29 0 [label = "control
30 :amp
31 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
32 1 [label = "control
33 :amp_slide
34 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
35 2 [label = "control
36 :amp_slide_shape
37 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 3 [label = "control
39 :amp_slide_curve
40 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 4 [label = "control
42 :pan
43 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 5 [label = "control
45 :pan_slide
46 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 6 [label = "control
48 :pan_slide_shape
49 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 7 [label = "control
51 :pan_slide_curve
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 8 [label = "control
54 :attack
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 9 [label = "control
57 :sustain
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 10 [label = "control
60 :decay
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 11 [label = "control
63 :release
64 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 12 [label = "control
66 :attack_level
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 13 [label = "control
69 :decay_level
70 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 14 [label = "control
72 :sustain_level
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 15 [label = "control
75 :env_curve
76 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 16 [label = "control
78 :cutoff
79 default: 110.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 17 [label = "control
81 :cutoff_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 18 [label = "control
84 :cutoff_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 19 [label = "control
87 :cutoff_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 20 [label = "control
90 :res
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 21 [label = "control
93 :res_slide
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 22 [label = "control
96 :res_slide_shape
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 23 [label = "control
99 :res_slide_curve
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 24 [label = "control
102 :out_bus
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 49 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 60 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 65 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 69 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 73 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
109 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 29 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 38 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 47 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 70 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 50 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
122 51 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
123 75 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
124 74 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
125 61 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
126 64 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
127
128 61:__UG_NAME__ -> 62:b ;
129 62:__UG_NAME__ -> 66:a ;
130 65:__UG_NAME__ -> 66:b ;
131 29:__UG_NAME__ -> 33:a ;
132 32:__UG_NAME__ -> 33:b ;
133 33:__UG_NAME__ -> 37:a ;
134 36:__UG_NAME__ -> 37:b ;
135 38:__UG_NAME__ -> 42:a ;
136 41:__UG_NAME__ -> 42:b ;
137 47:__UG_NAME__ -> 55:a ;
138 54:__UG_NAME__ -> 55:b ;
139 55:__UG_NAME__ -> 59:a ;
140 58:__UG_NAME__ -> 59:b ;
141 42:__UG_NAME__ -> 68:a ;
142 67:__UG_NAME__ -> 68:b ;
143 70:__UG_NAME__ -> 71:a ;
144 46:__UG_NAME__ -> 71:b ;
145 71:__UG_NAME__ -> 72:a ;
146 28:__UG_NAME__ -> 72:b ;
147 13:__UG_NAME__ -> 63:b ;
148 27:__UG_NAME__ -> 28:a ;
149 31:__UG_NAME__ -> 32:a ;
150 35:__UG_NAME__ -> 36:a ;
151 40:__UG_NAME__ -> 41:a ;
152 45:__UG_NAME__ -> 46:a ;
153 53:__UG_NAME__ -> 54:a ;
154 57:__UG_NAME__ -> 58:a ;
155 43:__UG_NAME__ -> 67:a ;
156 26:__UG_NAME__ -> 27:a ;
157 30:__UG_NAME__ -> 31:a ;
158 34:__UG_NAME__ -> 35:a ;
159 39:__UG_NAME__ -> 40:a ;
160 25:__UG_NAME__ -> 43:a ;
161 44:__UG_NAME__ -> 45:a ;
162 52:__UG_NAME__ -> 53:a ;
163 56:__UG_NAME__ -> 57:a ;
164 16:__UG_NAME__ -> 49:envelope___control___0 ;
165 16:__UG_NAME__ -> 49:envelope___control___4 ;
166 17:__UG_NAME__ -> 49:envelope___control___5 ;
167 18:__UG_NAME__ -> 49:envelope___control___6 ;
168 19:__UG_NAME__ -> 49:envelope___control___7 ;
169 37:__UG_NAME__ -> 49:gate ;
170 51:__UG_NAME__ -> 60:envelope___mul____add___0 ;
171 51:__UG_NAME__ -> 60:envelope___mul____add___4 ;
172 21:__UG_NAME__ -> 60:envelope___control___5 ;
173 22:__UG_NAME__ -> 60:envelope___control___6 ;
174 23:__UG_NAME__ -> 60:envelope___control___7 ;
175 59:__UG_NAME__ -> 60:gate ;
176 12:__UG_NAME__ -> 65:envelope___control___4 ;
177 8:__UG_NAME__ -> 65:envelope___control___5 ;
178 15:__UG_NAME__ -> 65:envelope___control___6 ;
179 64:__UG_NAME__ -> 65:envelope___select___8 ;
180 10:__UG_NAME__ -> 65:envelope___control___9 ;
181 15:__UG_NAME__ -> 65:envelope___control___10 ;
182 14:__UG_NAME__ -> 65:envelope___control___12 ;
183 9:__UG_NAME__ -> 65:envelope___control___13 ;
184 15:__UG_NAME__ -> 65:envelope___control___14 ;
185 11:__UG_NAME__ -> 65:envelope___control___17 ;
186 15:__UG_NAME__ -> 65:envelope___control___18 ;
187 4:__UG_NAME__ -> 69:envelope___control___0 ;
188 4:__UG_NAME__ -> 69:envelope___control___4 ;
189 5:__UG_NAME__ -> 69:envelope___control___5 ;
190 6:__UG_NAME__ -> 69:envelope___control___6 ;
191 7:__UG_NAME__ -> 69:envelope___control___7 ;
192 68:__UG_NAME__ -> 69:gate ;
193 0:__UG_NAME__ -> 73:envelope___control___0 ;
194 0:__UG_NAME__ -> 73:envelope___control___4 ;
195 1:__UG_NAME__ -> 73:envelope___control___5 ;
196 2:__UG_NAME__ -> 73:envelope___control___6 ;
197 3:__UG_NAME__ -> 73:envelope___control___7 ;
198 72:__UG_NAME__ -> 73:gate ;
199 5:__UG_NAME__ -> 25:in ;
200 1:__UG_NAME__ -> 26:in ;
201 16:__UG_NAME__ -> 30:in ;
202 17:__UG_NAME__ -> 34:in ;
203 4:__UG_NAME__ -> 39:in ;
204 0:__UG_NAME__ -> 44:in ;
205 51:__UG_NAME__ -> 52:in ;
206 21:__UG_NAME__ -> 56:in ;
207 49:__UG_NAME__ -> 50:a ;
208 20:__UG_NAME__ -> 51:in ;
209 24:__UG_NAME__ -> 75:bus ;
210 74:__UG_NAME__ -> 75:signals___pan2___0 ;
211 74:__UG_NAME__ -> 75:signals___pan2___1 ;
212 66:__UG_NAME__ -> 74:in ;
213 69:__UG_NAME__ -> 74:pos ;
214 73:__UG_NAME__ -> 74:level ;
215 48:__UG_NAME__ -> 61:in ;
216 50:__UG_NAME__ -> 61:freq ;
217 60:__UG_NAME__ -> 61:rq ;
218 63:__UG_NAME__ -> 64:which ;
219 13:__UG_NAME__ -> 64:array___control___0 ;
220 14:__UG_NAME__ -> 64:array___control___1 ;
221
222 }
0 digraph synthdef {
1 35 [label = "{{ <b> |<a> 32.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 40 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 44 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 27 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 31 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 49 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 53 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 62 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 41 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
11 26 [label = "{{ <b> 0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
12 30 [label = "{{ <b> 0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 48 [label = "{{ <b> 0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 52 [label = "{{ <b> 0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 58 [label = "{{ <b> 0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 61 [label = "{{ <b> 0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 25 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
18 29 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
19 47 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
20 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 60 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 0 [label = "control
24 :note
25 default: 60.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
26 1 [label = "control
27 :note_slide
28 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
29 2 [label = "control
30 :note_slide_shape
31 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
32 3 [label = "control
33 :note_slide_curve
34 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
35 4 [label = "control
36 :note_resolution
37 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 5 [label = "control
39 :amp
40 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 6 [label = "control
42 :amp_slide
43 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 7 [label = "control
45 :amp_slide_shape
46 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 8 [label = "control
48 :amp_slide_curve
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 9 [label = "control
51 :pan
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 10 [label = "control
54 :pan_slide
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 11 [label = "control
57 :pan_slide_shape
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 12 [label = "control
60 :pan_slide_curve
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 13 [label = "control
63 :attack
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 14 [label = "control
66 :sustain
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 15 [label = "control
69 :decay
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 16 [label = "control
72 :release
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 17 [label = "control
75 :attack_level
76 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 18 [label = "control
78 :decay_level
79 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 19 [label = "control
81 :sustain_level
82 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 20 [label = "control
84 :env_curve
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 21 [label = "control
87 :out_bus
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 38 [label = "{{ {{<demand____ugens___dseq___0>}|demand-ugens}|<reset> reset 0|<trig> trig} |<__UG_NAME__>demand }" style="filled, bold, rounded" shape=record rankdir=LR];
90 37 [label = "{{ <num____repeats> num-repeats Infinity|{{0|1.0|2.0|3|4|5|6|7|8|9|10|11|12|13|14|15|15|14|13|12|11|10|9|8|7|6|5|4|3|2.0|1.0|0}|list}} |<__UG_NAME__>dseq }" style="bold, diagonals" shape=record rankdir=LR];
91 32 [label = "{{ <action> action 0|<time____scale> time-scale 1.0|<level____bias> level-bias 0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
92 43 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0|0|<envelope___control___17>|<envelope___control___18>|0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
93 54 [label = "{{ <action> action 0|<time____scale> time-scale 1.0|<level____bias> level-bias 0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
94 63 [label = "{{ <action> action 0|<time____scale> time-scale 1.0|<level____bias> level-bias 0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
95 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 24 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
98 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
99 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
100 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
101 23 [label = "{{ <phase> phase 0|<freq> freq 0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
102 36 [label = "{{ <phase> phase 0|<freq> freq} |<__UG_NAME__>impulse }" style="filled, bold, rounded" shape=record rankdir=LR];
103 45 [label = "{{ <phase> phase 0|<freq> freq 0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
104 55 [label = "{{ <phase> phase 0|<freq> freq 0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
105 34 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
106 39 [label = "{{ <add> add -1.0|<mul> mul 0.13333334|<in> in} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
107 65 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
108 64 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
109 33 [label = "{{ <b> |<a> } |<__UG_NAME__>round-down }" style="bold, rounded" shape=record rankdir=LR];
110 42 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
111
112 34:__UG_NAME__ -> 35:b ;
113 39:__UG_NAME__ -> 40:b ;
114 40:__UG_NAME__ -> 44:a ;
115 43:__UG_NAME__ -> 44:b ;
116 23:__UG_NAME__ -> 27:a ;
117 26:__UG_NAME__ -> 27:b ;
118 27:__UG_NAME__ -> 31:a ;
119 30:__UG_NAME__ -> 31:b ;
120 45:__UG_NAME__ -> 49:a ;
121 48:__UG_NAME__ -> 49:b ;
122 49:__UG_NAME__ -> 53:a ;
123 52:__UG_NAME__ -> 53:b ;
124 55:__UG_NAME__ -> 59:a ;
125 58:__UG_NAME__ -> 59:b ;
126 59:__UG_NAME__ -> 62:a ;
127 61:__UG_NAME__ -> 62:b ;
128 18:__UG_NAME__ -> 41:b ;
129 25:__UG_NAME__ -> 26:a ;
130 29:__UG_NAME__ -> 30:a ;
131 47:__UG_NAME__ -> 48:a ;
132 51:__UG_NAME__ -> 52:a ;
133 57:__UG_NAME__ -> 58:a ;
134 60:__UG_NAME__ -> 61:a ;
135 24:__UG_NAME__ -> 25:a ;
136 28:__UG_NAME__ -> 29:a ;
137 46:__UG_NAME__ -> 47:a ;
138 50:__UG_NAME__ -> 51:a ;
139 56:__UG_NAME__ -> 57:a ;
140 22:__UG_NAME__ -> 60:a ;
141 36:__UG_NAME__ -> 38:trig ;
142 37:__UG_NAME__ -> 38:demand____ugens___dseq___0 ;
143 0:__UG_NAME__ -> 32:envelope___control___0 ;
144 0:__UG_NAME__ -> 32:envelope___control___4 ;
145 1:__UG_NAME__ -> 32:envelope___control___5 ;
146 2:__UG_NAME__ -> 32:envelope___control___6 ;
147 3:__UG_NAME__ -> 32:envelope___control___7 ;
148 31:__UG_NAME__ -> 32:gate ;
149 17:__UG_NAME__ -> 43:envelope___control___4 ;
150 13:__UG_NAME__ -> 43:envelope___control___5 ;
151 20:__UG_NAME__ -> 43:envelope___control___6 ;
152 42:__UG_NAME__ -> 43:envelope___select___8 ;
153 15:__UG_NAME__ -> 43:envelope___control___9 ;
154 20:__UG_NAME__ -> 43:envelope___control___10 ;
155 19:__UG_NAME__ -> 43:envelope___control___12 ;
156 14:__UG_NAME__ -> 43:envelope___control___13 ;
157 20:__UG_NAME__ -> 43:envelope___control___14 ;
158 16:__UG_NAME__ -> 43:envelope___control___17 ;
159 20:__UG_NAME__ -> 43:envelope___control___18 ;
160 9:__UG_NAME__ -> 54:envelope___control___0 ;
161 9:__UG_NAME__ -> 54:envelope___control___4 ;
162 10:__UG_NAME__ -> 54:envelope___control___5 ;
163 11:__UG_NAME__ -> 54:envelope___control___6 ;
164 12:__UG_NAME__ -> 54:envelope___control___7 ;
165 53:__UG_NAME__ -> 54:gate ;
166 5:__UG_NAME__ -> 63:envelope___control___0 ;
167 5:__UG_NAME__ -> 63:envelope___control___4 ;
168 6:__UG_NAME__ -> 63:envelope___control___5 ;
169 7:__UG_NAME__ -> 63:envelope___control___6 ;
170 8:__UG_NAME__ -> 63:envelope___control___7 ;
171 62:__UG_NAME__ -> 63:gate ;
172 6:__UG_NAME__ -> 22:in ;
173 0:__UG_NAME__ -> 24:in ;
174 1:__UG_NAME__ -> 28:in ;
175 9:__UG_NAME__ -> 46:in ;
176 10:__UG_NAME__ -> 50:in ;
177 5:__UG_NAME__ -> 56:in ;
178 35:__UG_NAME__ -> 36:freq ;
179 33:__UG_NAME__ -> 34:a ;
180 38:__UG_NAME__ -> 39:in ;
181 21:__UG_NAME__ -> 65:bus ;
182 64:__UG_NAME__ -> 65:signals___pan2___0 ;
183 64:__UG_NAME__ -> 65:signals___pan2___1 ;
184 44:__UG_NAME__ -> 64:in ;
185 54:__UG_NAME__ -> 64:pos ;
186 63:__UG_NAME__ -> 64:level ;
187 32:__UG_NAME__ -> 33:a ;
188 4:__UG_NAME__ -> 33:b ;
189 41:__UG_NAME__ -> 42:which ;
190 18:__UG_NAME__ -> 42:array___control___0 ;
191 19:__UG_NAME__ -> 42:array___control___1 ;
192
193 }
0 digraph synthdef {
1 51 [label = "{{ <b> |<a> 0.8} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 55 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 29 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 31 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 40 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 44 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 52 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
10 28 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
11 30 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
12 39 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 58 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 60 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
17 27 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
18 35 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
19 38 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
20 42 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 0 [label = "control
23 :note
24 default: 60.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
25 1 [label = "control
26 :note_slide
27 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
28 2 [label = "control
29 :note_slide_shape
30 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 3 [label = "control
32 :note_slide_curve
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 4 [label = "control
35 :note_resolution
36 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 5 [label = "control
38 :amp
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 6 [label = "control
41 :amp_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 7 [label = "control
44 :amp_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 8 [label = "control
47 :amp_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 9 [label = "control
50 :pan
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 10 [label = "control
53 :pan_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 11 [label = "control
56 :pan_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 12 [label = "control
59 :pan_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 13 [label = "control
62 :attack
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 14 [label = "control
65 :sustain
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 15 [label = "control
68 :decay
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 16 [label = "control
71 :release
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 17 [label = "control
74 :attack_level
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 18 [label = "control
77 :decay_level
78 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 19 [label = "control
80 :sustain_level
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 20 [label = "control
83 :env_curve
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 21 [label = "control
86 :width
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 22 [label = "control
89 :out_bus
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 32 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
92 45 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
93 54 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
94 62 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
95 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
98 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
99 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
100 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
101 25 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
102 33 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
103 36 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
104 47 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
105 64 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
106 63 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
107 49 [label = "{{ <width> width|<freq> freq} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
108 46 [label = "{{ <b> |<a> } |<__UG_NAME__>round-down }" style="bold, rounded" shape=record rankdir=LR];
109 48 [label = "{{ {{0.125|0.25|0.5}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
110 53 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
111 50 [label = "{{ <b> |<a> } |<__UG_NAME__>softclip }" style="filled, bold, rounded" shape=record rankdir=LR];
112
113 50:__UG_NAME__ -> 51:b ;
114 51:__UG_NAME__ -> 55:a ;
115 54:__UG_NAME__ -> 55:b ;
116 25:__UG_NAME__ -> 29:a ;
117 28:__UG_NAME__ -> 29:b ;
118 29:__UG_NAME__ -> 31:a ;
119 30:__UG_NAME__ -> 31:b ;
120 36:__UG_NAME__ -> 40:a ;
121 39:__UG_NAME__ -> 40:b ;
122 40:__UG_NAME__ -> 44:a ;
123 43:__UG_NAME__ -> 44:b ;
124 33:__UG_NAME__ -> 59:a ;
125 58:__UG_NAME__ -> 59:b ;
126 59:__UG_NAME__ -> 61:a ;
127 60:__UG_NAME__ -> 61:b ;
128 18:__UG_NAME__ -> 52:b ;
129 27:__UG_NAME__ -> 28:a ;
130 24:__UG_NAME__ -> 30:a ;
131 38:__UG_NAME__ -> 39:a ;
132 42:__UG_NAME__ -> 43:a ;
133 57:__UG_NAME__ -> 58:a ;
134 35:__UG_NAME__ -> 60:a ;
135 23:__UG_NAME__ -> 24:a ;
136 26:__UG_NAME__ -> 27:a ;
137 34:__UG_NAME__ -> 35:a ;
138 37:__UG_NAME__ -> 38:a ;
139 41:__UG_NAME__ -> 42:a ;
140 56:__UG_NAME__ -> 57:a ;
141 9:__UG_NAME__ -> 32:envelope___control___0 ;
142 9:__UG_NAME__ -> 32:envelope___control___4 ;
143 10:__UG_NAME__ -> 32:envelope___control___5 ;
144 11:__UG_NAME__ -> 32:envelope___control___6 ;
145 12:__UG_NAME__ -> 32:envelope___control___7 ;
146 31:__UG_NAME__ -> 32:gate ;
147 0:__UG_NAME__ -> 45:envelope___control___0 ;
148 0:__UG_NAME__ -> 45:envelope___control___4 ;
149 1:__UG_NAME__ -> 45:envelope___control___5 ;
150 2:__UG_NAME__ -> 45:envelope___control___6 ;
151 3:__UG_NAME__ -> 45:envelope___control___7 ;
152 44:__UG_NAME__ -> 45:gate ;
153 17:__UG_NAME__ -> 54:envelope___control___4 ;
154 13:__UG_NAME__ -> 54:envelope___control___5 ;
155 20:__UG_NAME__ -> 54:envelope___control___6 ;
156 53:__UG_NAME__ -> 54:envelope___select___8 ;
157 15:__UG_NAME__ -> 54:envelope___control___9 ;
158 20:__UG_NAME__ -> 54:envelope___control___10 ;
159 19:__UG_NAME__ -> 54:envelope___control___12 ;
160 14:__UG_NAME__ -> 54:envelope___control___13 ;
161 20:__UG_NAME__ -> 54:envelope___control___14 ;
162 16:__UG_NAME__ -> 54:envelope___control___17 ;
163 20:__UG_NAME__ -> 54:envelope___control___18 ;
164 5:__UG_NAME__ -> 62:envelope___control___0 ;
165 5:__UG_NAME__ -> 62:envelope___control___4 ;
166 6:__UG_NAME__ -> 62:envelope___control___5 ;
167 7:__UG_NAME__ -> 62:envelope___control___6 ;
168 8:__UG_NAME__ -> 62:envelope___control___7 ;
169 61:__UG_NAME__ -> 62:gate ;
170 10:__UG_NAME__ -> 23:in ;
171 9:__UG_NAME__ -> 26:in ;
172 6:__UG_NAME__ -> 34:in ;
173 0:__UG_NAME__ -> 37:in ;
174 1:__UG_NAME__ -> 41:in ;
175 5:__UG_NAME__ -> 56:in ;
176 46:__UG_NAME__ -> 47:a ;
177 22:__UG_NAME__ -> 64:bus ;
178 63:__UG_NAME__ -> 64:signals___pan2___0 ;
179 63:__UG_NAME__ -> 64:signals___pan2___1 ;
180 55:__UG_NAME__ -> 63:in ;
181 32:__UG_NAME__ -> 63:pos ;
182 62:__UG_NAME__ -> 63:level ;
183 47:__UG_NAME__ -> 49:freq ;
184 48:__UG_NAME__ -> 49:width ;
185 45:__UG_NAME__ -> 46:a ;
186 4:__UG_NAME__ -> 46:b ;
187 21:__UG_NAME__ -> 48:which ;
188 52:__UG_NAME__ -> 53:which ;
189 18:__UG_NAME__ -> 53:array___control___0 ;
190 19:__UG_NAME__ -> 53:array___control___1 ;
191 49:__UG_NAME__ -> 50:a ;
192
193 }
0 digraph synthdef {
1 42 [label = "{{ <b> |<a> 220.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 48 [label = "{{ <b> |<a> 0.8} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 52 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 25 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 29 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 34 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 38 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 55 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 49 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
11 24 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
12 28 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 33 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 54 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 58 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 23 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
18 27 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
19 32 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
20 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 47 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 0 [label = "control
24 :amp
25 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
26 1 [label = "control
27 :amp_slide
28 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
29 2 [label = "control
30 :amp_slide_shape
31 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
32 3 [label = "control
33 :amp_slide_curve
34 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
35 4 [label = "control
36 :pan
37 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 5 [label = "control
39 :pan_slide
40 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 6 [label = "control
42 :pan_slide_shape
43 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 7 [label = "control
45 :pan_slide_curve
46 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 8 [label = "control
48 :attack
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 9 [label = "control
51 :sustain
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 10 [label = "control
54 :decay
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 11 [label = "control
57 :release
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 12 [label = "control
60 :attack_level
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 13 [label = "control
63 :decay_level
64 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 14 [label = "control
66 :sustain_level
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 15 [label = "control
69 :env_curve
70 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 16 [label = "control
72 :freq_band
73 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 17 [label = "control
75 :freq_band_slide
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 18 [label = "control
78 :freq_band_slide_shape
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 19 [label = "control
81 :freq_band_slide_curve
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 20 [label = "control
84 :out_bus
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 39 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 45 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 51 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 60 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
90 40 [label = "{{ <b> |<a> } |<__UG_NAME__>floor }" style="bold, rounded" shape=record rankdir=LR];
91 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 21 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
98 30 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
99 53 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
100 43 [label = "{{ <freq> freq} |<__UG_NAME__>lfd-clip-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
101 62 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
102 61 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
103 41 [label = "{{ {{1.0|2.0|4.0|5.34|8.0|10.68|16.0|19.03|25.4|32.0|42.71|64.0|128.0|256.0|512.0|1024.0}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
104 50 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
105 44 [label = "{{ <b> |<a> } |<__UG_NAME__>softclip }" style="filled, bold, rounded" shape=record rankdir=LR];
106
107 41:__UG_NAME__ -> 42:b ;
108 44:__UG_NAME__ -> 48:b ;
109 48:__UG_NAME__ -> 52:a ;
110 51:__UG_NAME__ -> 52:b ;
111 21:__UG_NAME__ -> 25:a ;
112 24:__UG_NAME__ -> 25:b ;
113 25:__UG_NAME__ -> 29:a ;
114 28:__UG_NAME__ -> 29:b ;
115 30:__UG_NAME__ -> 34:a ;
116 33:__UG_NAME__ -> 34:b ;
117 34:__UG_NAME__ -> 38:a ;
118 37:__UG_NAME__ -> 38:b ;
119 53:__UG_NAME__ -> 55:a ;
120 54:__UG_NAME__ -> 55:b ;
121 55:__UG_NAME__ -> 59:a ;
122 58:__UG_NAME__ -> 59:b ;
123 13:__UG_NAME__ -> 49:b ;
124 23:__UG_NAME__ -> 24:a ;
125 27:__UG_NAME__ -> 28:a ;
126 32:__UG_NAME__ -> 33:a ;
127 36:__UG_NAME__ -> 37:a ;
128 47:__UG_NAME__ -> 54:a ;
129 57:__UG_NAME__ -> 58:a ;
130 22:__UG_NAME__ -> 23:a ;
131 26:__UG_NAME__ -> 27:a ;
132 31:__UG_NAME__ -> 32:a ;
133 35:__UG_NAME__ -> 36:a ;
134 46:__UG_NAME__ -> 47:a ;
135 56:__UG_NAME__ -> 57:a ;
136 16:__UG_NAME__ -> 39:envelope___control___0 ;
137 16:__UG_NAME__ -> 39:envelope___control___4 ;
138 17:__UG_NAME__ -> 39:envelope___control___5 ;
139 18:__UG_NAME__ -> 39:envelope___control___6 ;
140 19:__UG_NAME__ -> 39:envelope___control___7 ;
141 38:__UG_NAME__ -> 39:gate ;
142 0:__UG_NAME__ -> 45:envelope___control___0 ;
143 0:__UG_NAME__ -> 45:envelope___control___4 ;
144 1:__UG_NAME__ -> 45:envelope___control___5 ;
145 2:__UG_NAME__ -> 45:envelope___control___6 ;
146 3:__UG_NAME__ -> 45:envelope___control___7 ;
147 29:__UG_NAME__ -> 45:gate ;
148 12:__UG_NAME__ -> 51:envelope___control___4 ;
149 8:__UG_NAME__ -> 51:envelope___control___5 ;
150 15:__UG_NAME__ -> 51:envelope___control___6 ;
151 50:__UG_NAME__ -> 51:envelope___select___8 ;
152 10:__UG_NAME__ -> 51:envelope___control___9 ;
153 15:__UG_NAME__ -> 51:envelope___control___10 ;
154 14:__UG_NAME__ -> 51:envelope___control___12 ;
155 9:__UG_NAME__ -> 51:envelope___control___13 ;
156 15:__UG_NAME__ -> 51:envelope___control___14 ;
157 11:__UG_NAME__ -> 51:envelope___control___17 ;
158 15:__UG_NAME__ -> 51:envelope___control___18 ;
159 4:__UG_NAME__ -> 60:envelope___control___0 ;
160 4:__UG_NAME__ -> 60:envelope___control___4 ;
161 5:__UG_NAME__ -> 60:envelope___control___5 ;
162 6:__UG_NAME__ -> 60:envelope___control___6 ;
163 7:__UG_NAME__ -> 60:envelope___control___7 ;
164 59:__UG_NAME__ -> 60:gate ;
165 39:__UG_NAME__ -> 40:a ;
166 0:__UG_NAME__ -> 22:in ;
167 1:__UG_NAME__ -> 26:in ;
168 16:__UG_NAME__ -> 31:in ;
169 17:__UG_NAME__ -> 35:in ;
170 4:__UG_NAME__ -> 46:in ;
171 5:__UG_NAME__ -> 56:in ;
172 42:__UG_NAME__ -> 43:freq ;
173 20:__UG_NAME__ -> 62:bus ;
174 61:__UG_NAME__ -> 62:signals___pan2___0 ;
175 61:__UG_NAME__ -> 62:signals___pan2___1 ;
176 52:__UG_NAME__ -> 61:in ;
177 60:__UG_NAME__ -> 61:pos ;
178 45:__UG_NAME__ -> 61:level ;
179 40:__UG_NAME__ -> 41:which ;
180 49:__UG_NAME__ -> 50:which ;
181 13:__UG_NAME__ -> 50:array___control___0 ;
182 14:__UG_NAME__ -> 50:array___control___1 ;
183 43:__UG_NAME__ -> 44:a ;
184
185 }
0 digraph synthdef {
1 72 [label = "{{ <b> |<a> 0.6} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 73 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 29 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 33 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 39 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 43 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 50 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 52 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 67 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 56 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 28 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 32 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 38 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 42 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 49 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 51 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 66 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 26 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 31 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 37 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 45 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 48 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 60 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 61 [label = "{<__UG_NAME__>clip-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
29 0 [label = "control
30 :amp
31 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
32 1 [label = "control
33 :amp_slide
34 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
35 2 [label = "control
36 :amp_slide_shape
37 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 3 [label = "control
39 :amp_slide_curve
40 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 4 [label = "control
42 :pan
43 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 5 [label = "control
45 :pan_slide
46 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 6 [label = "control
48 :pan_slide_shape
49 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 7 [label = "control
51 :pan_slide_curve
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 8 [label = "control
54 :attack
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 9 [label = "control
57 :sustain
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 10 [label = "control
60 :decay
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 11 [label = "control
63 :release
64 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 12 [label = "control
66 :attack_level
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 13 [label = "control
69 :decay_level
70 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 14 [label = "control
72 :sustain_level
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 15 [label = "control
75 :env_curve
76 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 16 [label = "control
78 :cutoff
79 default: 110.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 17 [label = "control
81 :cutoff_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 18 [label = "control
84 :cutoff_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 19 [label = "control
87 :cutoff_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 20 [label = "control
90 :res
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 21 [label = "control
93 :res_slide
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 22 [label = "control
96 :res_slide_shape
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 23 [label = "control
99 :res_slide_curve
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 24 [label = "control
102 :out_bus
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 53 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 58 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 59 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 68 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 70 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
109 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 27 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 34 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 47 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 62 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 69 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
122 35 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
123 75 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
124 74 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
125 71 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
126 57 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
127
128 71:__UG_NAME__ -> 72:b ;
129 72:__UG_NAME__ -> 73:a ;
130 58:__UG_NAME__ -> 73:b ;
131 27:__UG_NAME__ -> 29:a ;
132 28:__UG_NAME__ -> 29:b ;
133 29:__UG_NAME__ -> 33:a ;
134 32:__UG_NAME__ -> 33:b ;
135 34:__UG_NAME__ -> 39:a ;
136 38:__UG_NAME__ -> 39:b ;
137 39:__UG_NAME__ -> 43:a ;
138 42:__UG_NAME__ -> 43:b ;
139 47:__UG_NAME__ -> 50:a ;
140 49:__UG_NAME__ -> 50:b ;
141 50:__UG_NAME__ -> 52:a ;
142 51:__UG_NAME__ -> 52:b ;
143 62:__UG_NAME__ -> 65:a ;
144 64:__UG_NAME__ -> 65:b ;
145 65:__UG_NAME__ -> 67:a ;
146 66:__UG_NAME__ -> 67:b ;
147 13:__UG_NAME__ -> 56:b ;
148 26:__UG_NAME__ -> 28:a ;
149 31:__UG_NAME__ -> 32:a ;
150 37:__UG_NAME__ -> 38:a ;
151 41:__UG_NAME__ -> 42:a ;
152 48:__UG_NAME__ -> 49:a ;
153 45:__UG_NAME__ -> 51:a ;
154 63:__UG_NAME__ -> 64:a ;
155 60:__UG_NAME__ -> 66:a ;
156 25:__UG_NAME__ -> 26:a ;
157 30:__UG_NAME__ -> 31:a ;
158 36:__UG_NAME__ -> 37:a ;
159 40:__UG_NAME__ -> 41:a ;
160 44:__UG_NAME__ -> 45:a ;
161 46:__UG_NAME__ -> 48:a ;
162 55:__UG_NAME__ -> 60:a ;
163 54:__UG_NAME__ -> 63:a ;
164 4:__UG_NAME__ -> 53:envelope___control___0 ;
165 4:__UG_NAME__ -> 53:envelope___control___4 ;
166 5:__UG_NAME__ -> 53:envelope___control___5 ;
167 6:__UG_NAME__ -> 53:envelope___control___6 ;
168 7:__UG_NAME__ -> 53:envelope___control___7 ;
169 52:__UG_NAME__ -> 53:gate ;
170 12:__UG_NAME__ -> 58:envelope___control___4 ;
171 8:__UG_NAME__ -> 58:envelope___control___5 ;
172 15:__UG_NAME__ -> 58:envelope___control___6 ;
173 57:__UG_NAME__ -> 58:envelope___select___8 ;
174 10:__UG_NAME__ -> 58:envelope___control___9 ;
175 15:__UG_NAME__ -> 58:envelope___control___10 ;
176 14:__UG_NAME__ -> 58:envelope___control___12 ;
177 9:__UG_NAME__ -> 58:envelope___control___13 ;
178 15:__UG_NAME__ -> 58:envelope___control___14 ;
179 11:__UG_NAME__ -> 58:envelope___control___17 ;
180 15:__UG_NAME__ -> 58:envelope___control___18 ;
181 0:__UG_NAME__ -> 59:envelope___control___0 ;
182 0:__UG_NAME__ -> 59:envelope___control___4 ;
183 1:__UG_NAME__ -> 59:envelope___control___5 ;
184 2:__UG_NAME__ -> 59:envelope___control___6 ;
185 3:__UG_NAME__ -> 59:envelope___control___7 ;
186 33:__UG_NAME__ -> 59:gate ;
187 16:__UG_NAME__ -> 68:envelope___control___0 ;
188 16:__UG_NAME__ -> 68:envelope___control___4 ;
189 17:__UG_NAME__ -> 68:envelope___control___5 ;
190 18:__UG_NAME__ -> 68:envelope___control___6 ;
191 19:__UG_NAME__ -> 68:envelope___control___7 ;
192 67:__UG_NAME__ -> 68:gate ;
193 35:__UG_NAME__ -> 70:envelope___mul____add___0 ;
194 35:__UG_NAME__ -> 70:envelope___mul____add___4 ;
195 21:__UG_NAME__ -> 70:envelope___control___5 ;
196 22:__UG_NAME__ -> 70:envelope___control___6 ;
197 23:__UG_NAME__ -> 70:envelope___control___7 ;
198 43:__UG_NAME__ -> 70:gate ;
199 0:__UG_NAME__ -> 25:in ;
200 1:__UG_NAME__ -> 30:in ;
201 35:__UG_NAME__ -> 36:in ;
202 21:__UG_NAME__ -> 40:in ;
203 5:__UG_NAME__ -> 44:in ;
204 4:__UG_NAME__ -> 46:in ;
205 16:__UG_NAME__ -> 54:in ;
206 17:__UG_NAME__ -> 55:in ;
207 68:__UG_NAME__ -> 69:a ;
208 20:__UG_NAME__ -> 35:in ;
209 24:__UG_NAME__ -> 75:bus ;
210 74:__UG_NAME__ -> 75:signals___pan2___0 ;
211 74:__UG_NAME__ -> 75:signals___pan2___1 ;
212 73:__UG_NAME__ -> 74:in ;
213 53:__UG_NAME__ -> 74:pos ;
214 59:__UG_NAME__ -> 74:level ;
215 61:__UG_NAME__ -> 71:in ;
216 69:__UG_NAME__ -> 71:freq ;
217 70:__UG_NAME__ -> 71:rq ;
218 56:__UG_NAME__ -> 57:which ;
219 13:__UG_NAME__ -> 57:array___control___0 ;
220 14:__UG_NAME__ -> 57:array___control___1 ;
221
222 }
0 digraph synthdef {
1 74 [label = "{{ <b> |<a> 0.005} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 76 [label = "{{ <b> |<a> 0.002} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 78 [label = "{{ <b> |<a> 0.002} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 80 [label = "{{ <b> |<a> 0.001} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 82 [label = "{{ <b> |<a> 0.001} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 114 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 128 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 129 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 135 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
10 149 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 52 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 53 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 58 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 62 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 68 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 70 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 88 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 92 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 98 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 102 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 104 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 111 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 117 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
24 118 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
25 122 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 124 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 127 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
28 140 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 144 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 72 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
31 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 51 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 57 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 61 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 67 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 69 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 87 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 91 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 97 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 101 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 110 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 121 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 139 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 143 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 42 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 45 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 50 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 56 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 60 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 66 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 86 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 90 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 96 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 100 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 109 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 120 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 130 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 138 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 142 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 151 [label = "{{ <level> level|<pos> pos|<right> right|<left> left} |<__UG_NAME__>balance2 }" style="filled, bold, rounded" shape=record rankdir=LR];
61 75 [label = "{<__UG_NAME__>brown-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
62 79 [label = "{<__UG_NAME__>clip-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
63 0 [label = "control
64 :note
65 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 1 [label = "control
67 :note_slide
68 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 2 [label = "control
70 :note_slide_shape
71 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 3 [label = "control
73 :note_slide_curve
74 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 4 [label = "control
76 :amp
77 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 5 [label = "control
79 :amp_slide
80 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 6 [label = "control
82 :amp_slide_shape
83 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 7 [label = "control
85 :amp_slide_curve
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 8 [label = "control
88 :pan
89 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 9 [label = "control
91 :pan_slide
92 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 10 [label = "control
94 :pan_slide_shape
95 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 11 [label = "control
97 :pan_slide_curve
98 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 12 [label = "control
100 :attack
101 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 13 [label = "control
103 :decay
104 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 14 [label = "control
106 :sustain
107 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 15 [label = "control
109 :release
110 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 16 [label = "control
112 :attack_level
113 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 17 [label = "control
115 :decay_level
116 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 18 [label = "control
118 :sustain_level
119 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 19 [label = "control
121 :env_curve
122 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 20 [label = "control
124 :cutoff
125 default: 110.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 21 [label = "control
127 :cutoff_slide
128 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 22 [label = "control
130 :cutoff_slide_shape
131 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 23 [label = "control
133 :cutoff_slide_curve
134 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 24 [label = "control
136 :res
137 default: 0.7" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 25 [label = "control
139 :res_slide
140 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 26 [label = "control
142 :res_slide_shape
143 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 27 [label = "control
145 :res_slide_curve
146 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 28 [label = "control
148 :detune1
149 default: 12.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
150 29 [label = "control
151 :detune1_slide
152 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
153 30 [label = "control
154 :detune1_slide_shape
155 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
156 31 [label = "control
157 :detune1_slide_curve
158 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
159 32 [label = "control
160 :detune2
161 default: 24.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
162 33 [label = "control
163 :detune2_slide
164 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
165 34 [label = "control
166 :detune2_slide_shape
167 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
168 35 [label = "control
169 :detune2_slide_curve
170 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
171 36 [label = "control
172 :noise
173 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
174 37 [label = "control
175 :ring
176 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
177 38 [label = "control
178 :room
179 default: 70.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
180 39 [label = "control
181 :reverb_time
182 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
183 40 [label = "control
184 :out_bus
185 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
186 54 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
187 63 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
188 71 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
189 93 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
190 103 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
191 113 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
192 123 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
193 145 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
194 133 [label = "{{ <in> in|<taillevel> taillevel 0.5|<earlyreflevel> earlyreflevel 0.7|<roomsize> roomsize|<damping> damping 0.5|<inputbw> inputbw 0.5|<maxroomsize> maxroomsize 300.0|<revtime> revtime|<spread> spread 15.0|<drylevel> drylevel 1.0} |<__UG_NAME__>g-verb }" style="filled, bold, rounded" shape=record rankdir=LR];
195 81 [label = "{<__UG_NAME__>gray-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
196 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
197 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
198 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
199 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
200 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
201 65 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
202 85 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
203 89 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
204 95 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
205 99 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
206 108 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
207 119 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
208 137 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
209 141 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
210 48 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
211 55 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
212 64 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
213 84 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
214 94 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
215 107 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
216 136 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
217 132 [label = "{{ <b> |<a> 0.1} |<__UG_NAME__>max }" style="bold, rounded" shape=record rankdir=LR];
218 105 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
219 115 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
220 125 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
221 146 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
222 131 [label = "{{ <b> |<a> 300.0} |<__UG_NAME__>min }" style="bold, rounded" shape=record rankdir=LR];
223 46 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
224 152 [label = "{{ {{<signals___balance2___0>|<signals___balance2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
225 73 [label = "{<__UG_NAME__>pink-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
226 106 [label = "{{ <decay____time> decay-time|<freq> freq|<in> in} |<__UG_NAME__>ringz }" style="filled, bold, rounded" shape=record rankdir=LR];
227 116 [label = "{{ <decay____time> decay-time|<freq> freq|<in> in} |<__UG_NAME__>ringz }" style="filled, bold, rounded" shape=record rankdir=LR];
228 126 [label = "{{ <decay____time> decay-time|<freq> freq|<in> in} |<__UG_NAME__>ringz }" style="filled, bold, rounded" shape=record rankdir=LR];
229 147 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
230 150 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
231 83 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___binary____op____u____gen___2>|<array___binary____op____u____gen___3>|<array___binary____op____u____gen___4>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
232 112 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
233 134 [label = "{{ <b> |<a> } |<__UG_NAME__>tanh }" style="filled, bold, rounded" shape=record rankdir=LR];
234 148 [label = "{{ <b> |<a> } |<__UG_NAME__>tanh }" style="filled, bold, rounded" shape=record rankdir=LR];
235 77 [label = "{<__UG_NAME__>white-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
236
237 73:__UG_NAME__ -> 74:b ;
238 75:__UG_NAME__ -> 76:b ;
239 77:__UG_NAME__ -> 78:b ;
240 79:__UG_NAME__ -> 80:b ;
241 81:__UG_NAME__ -> 82:b ;
242 113:__UG_NAME__ -> 114:b ;
243 127:__UG_NAME__ -> 128:a ;
244 113:__UG_NAME__ -> 129:a ;
245 128:__UG_NAME__ -> 129:b ;
246 114:__UG_NAME__ -> 135:a ;
247 134:__UG_NAME__ -> 135:b ;
248 114:__UG_NAME__ -> 149:a ;
249 148:__UG_NAME__ -> 149:b ;
250 48:__UG_NAME__ -> 52:a ;
251 51:__UG_NAME__ -> 52:b ;
252 52:__UG_NAME__ -> 53:a ;
253 43:__UG_NAME__ -> 53:b ;
254 55:__UG_NAME__ -> 58:a ;
255 57:__UG_NAME__ -> 58:b ;
256 58:__UG_NAME__ -> 62:a ;
257 61:__UG_NAME__ -> 62:b ;
258 64:__UG_NAME__ -> 68:a ;
259 67:__UG_NAME__ -> 68:b ;
260 68:__UG_NAME__ -> 70:a ;
261 69:__UG_NAME__ -> 70:b ;
262 84:__UG_NAME__ -> 88:a ;
263 87:__UG_NAME__ -> 88:b ;
264 88:__UG_NAME__ -> 92:a ;
265 91:__UG_NAME__ -> 92:b ;
266 94:__UG_NAME__ -> 98:a ;
267 97:__UG_NAME__ -> 98:b ;
268 98:__UG_NAME__ -> 102:a ;
269 101:__UG_NAME__ -> 102:b ;
270 93:__UG_NAME__ -> 104:a ;
271 103:__UG_NAME__ -> 104:b ;
272 107:__UG_NAME__ -> 111:a ;
273 110:__UG_NAME__ -> 111:b ;
274 116:__UG_NAME__ -> 117:a ;
275 116:__UG_NAME__ -> 117:b ;
276 117:__UG_NAME__ -> 118:a ;
277 106:__UG_NAME__ -> 118:b ;
278 111:__UG_NAME__ -> 122:a ;
279 121:__UG_NAME__ -> 122:b ;
280 93:__UG_NAME__ -> 124:a ;
281 123:__UG_NAME__ -> 124:b ;
282 118:__UG_NAME__ -> 127:a ;
283 126:__UG_NAME__ -> 127:b ;
284 136:__UG_NAME__ -> 140:a ;
285 139:__UG_NAME__ -> 140:b ;
286 140:__UG_NAME__ -> 144:a ;
287 143:__UG_NAME__ -> 144:b ;
288 17:__UG_NAME__ -> 72:b ;
289 42:__UG_NAME__ -> 43:a ;
290 50:__UG_NAME__ -> 51:a ;
291 56:__UG_NAME__ -> 57:a ;
292 60:__UG_NAME__ -> 61:a ;
293 66:__UG_NAME__ -> 67:a ;
294 45:__UG_NAME__ -> 69:a ;
295 86:__UG_NAME__ -> 87:a ;
296 90:__UG_NAME__ -> 91:a ;
297 96:__UG_NAME__ -> 97:a ;
298 100:__UG_NAME__ -> 101:a ;
299 109:__UG_NAME__ -> 110:a ;
300 120:__UG_NAME__ -> 121:a ;
301 138:__UG_NAME__ -> 139:a ;
302 142:__UG_NAME__ -> 143:a ;
303 41:__UG_NAME__ -> 42:a ;
304 44:__UG_NAME__ -> 45:a ;
305 49:__UG_NAME__ -> 50:a ;
306 47:__UG_NAME__ -> 56:a ;
307 59:__UG_NAME__ -> 60:a ;
308 65:__UG_NAME__ -> 66:a ;
309 85:__UG_NAME__ -> 86:a ;
310 89:__UG_NAME__ -> 90:a ;
311 95:__UG_NAME__ -> 96:a ;
312 99:__UG_NAME__ -> 100:a ;
313 108:__UG_NAME__ -> 109:a ;
314 119:__UG_NAME__ -> 120:a ;
315 38:__UG_NAME__ -> 130:a ;
316 137:__UG_NAME__ -> 138:a ;
317 141:__UG_NAME__ -> 142:a ;
318 150:__UG_NAME__ -> 151:left ;
319 147:__UG_NAME__ -> 151:right ;
320 54:__UG_NAME__ -> 151:pos ;
321 71:__UG_NAME__ -> 151:level ;
322 8:__UG_NAME__ -> 54:envelope___control___0 ;
323 8:__UG_NAME__ -> 54:envelope___control___4 ;
324 9:__UG_NAME__ -> 54:envelope___control___5 ;
325 10:__UG_NAME__ -> 54:envelope___control___6 ;
326 11:__UG_NAME__ -> 54:envelope___control___7 ;
327 53:__UG_NAME__ -> 54:gate ;
328 46:__UG_NAME__ -> 63:envelope___mul____add___0 ;
329 46:__UG_NAME__ -> 63:envelope___mul____add___4 ;
330 25:__UG_NAME__ -> 63:envelope___control___5 ;
331 26:__UG_NAME__ -> 63:envelope___control___6 ;
332 27:__UG_NAME__ -> 63:envelope___control___7 ;
333 62:__UG_NAME__ -> 63:gate ;
334 4:__UG_NAME__ -> 71:envelope___control___0 ;
335 4:__UG_NAME__ -> 71:envelope___control___4 ;
336 5:__UG_NAME__ -> 71:envelope___control___5 ;
337 6:__UG_NAME__ -> 71:envelope___control___6 ;
338 7:__UG_NAME__ -> 71:envelope___control___7 ;
339 70:__UG_NAME__ -> 71:gate ;
340 0:__UG_NAME__ -> 93:envelope___control___0 ;
341 0:__UG_NAME__ -> 93:envelope___control___4 ;
342 1:__UG_NAME__ -> 93:envelope___control___5 ;
343 2:__UG_NAME__ -> 93:envelope___control___6 ;
344 3:__UG_NAME__ -> 93:envelope___control___7 ;
345 92:__UG_NAME__ -> 93:gate ;
346 28:__UG_NAME__ -> 103:envelope___control___0 ;
347 28:__UG_NAME__ -> 103:envelope___control___4 ;
348 29:__UG_NAME__ -> 103:envelope___control___5 ;
349 30:__UG_NAME__ -> 103:envelope___control___6 ;
350 31:__UG_NAME__ -> 103:envelope___control___7 ;
351 102:__UG_NAME__ -> 103:gate ;
352 16:__UG_NAME__ -> 113:envelope___control___4 ;
353 12:__UG_NAME__ -> 113:envelope___control___5 ;
354 19:__UG_NAME__ -> 113:envelope___control___6 ;
355 112:__UG_NAME__ -> 113:envelope___select___8 ;
356 13:__UG_NAME__ -> 113:envelope___control___9 ;
357 19:__UG_NAME__ -> 113:envelope___control___10 ;
358 18:__UG_NAME__ -> 113:envelope___control___12 ;
359 14:__UG_NAME__ -> 113:envelope___control___13 ;
360 19:__UG_NAME__ -> 113:envelope___control___14 ;
361 15:__UG_NAME__ -> 113:envelope___control___17 ;
362 19:__UG_NAME__ -> 113:envelope___control___18 ;
363 32:__UG_NAME__ -> 123:envelope___control___0 ;
364 32:__UG_NAME__ -> 123:envelope___control___4 ;
365 33:__UG_NAME__ -> 123:envelope___control___5 ;
366 34:__UG_NAME__ -> 123:envelope___control___6 ;
367 35:__UG_NAME__ -> 123:envelope___control___7 ;
368 122:__UG_NAME__ -> 123:gate ;
369 20:__UG_NAME__ -> 145:envelope___control___0 ;
370 20:__UG_NAME__ -> 145:envelope___control___4 ;
371 21:__UG_NAME__ -> 145:envelope___control___5 ;
372 22:__UG_NAME__ -> 145:envelope___control___6 ;
373 23:__UG_NAME__ -> 145:envelope___control___7 ;
374 144:__UG_NAME__ -> 145:gate ;
375 39:__UG_NAME__ -> 133:revtime ;
376 132:__UG_NAME__ -> 133:roomsize ;
377 129:__UG_NAME__ -> 133:in ;
378 9:__UG_NAME__ -> 41:in ;
379 5:__UG_NAME__ -> 44:in ;
380 46:__UG_NAME__ -> 47:in ;
381 8:__UG_NAME__ -> 49:in ;
382 25:__UG_NAME__ -> 59:in ;
383 4:__UG_NAME__ -> 65:in ;
384 0:__UG_NAME__ -> 85:in ;
385 1:__UG_NAME__ -> 89:in ;
386 28:__UG_NAME__ -> 95:in ;
387 29:__UG_NAME__ -> 99:in ;
388 32:__UG_NAME__ -> 108:in ;
389 33:__UG_NAME__ -> 119:in ;
390 20:__UG_NAME__ -> 137:in ;
391 21:__UG_NAME__ -> 141:in ;
392 131:__UG_NAME__ -> 132:b ;
393 104:__UG_NAME__ -> 105:a ;
394 93:__UG_NAME__ -> 115:a ;
395 124:__UG_NAME__ -> 125:a ;
396 145:__UG_NAME__ -> 146:a ;
397 130:__UG_NAME__ -> 131:b ;
398 24:__UG_NAME__ -> 46:in ;
399 40:__UG_NAME__ -> 152:bus ;
400 151:__UG_NAME__ -> 152:signals___balance2___0 ;
401 151:__UG_NAME__ -> 152:signals___balance2___1 ;
402 83:__UG_NAME__ -> 106:in ;
403 105:__UG_NAME__ -> 106:freq ;
404 37:__UG_NAME__ -> 106:decay____time ;
405 83:__UG_NAME__ -> 116:in ;
406 115:__UG_NAME__ -> 116:freq ;
407 37:__UG_NAME__ -> 116:decay____time ;
408 83:__UG_NAME__ -> 126:in ;
409 125:__UG_NAME__ -> 126:freq ;
410 37:__UG_NAME__ -> 126:decay____time ;
411 135:__UG_NAME__ -> 147:in ;
412 146:__UG_NAME__ -> 147:freq ;
413 63:__UG_NAME__ -> 147:rq ;
414 149:__UG_NAME__ -> 150:in ;
415 146:__UG_NAME__ -> 150:freq ;
416 63:__UG_NAME__ -> 150:rq ;
417 36:__UG_NAME__ -> 83:which ;
418 74:__UG_NAME__ -> 83:array___binary____op____u____gen___0 ;
419 76:__UG_NAME__ -> 83:array___binary____op____u____gen___1 ;
420 78:__UG_NAME__ -> 83:array___binary____op____u____gen___2 ;
421 80:__UG_NAME__ -> 83:array___binary____op____u____gen___3 ;
422 82:__UG_NAME__ -> 83:array___binary____op____u____gen___4 ;
423 72:__UG_NAME__ -> 112:which ;
424 17:__UG_NAME__ -> 112:array___control___0 ;
425 18:__UG_NAME__ -> 112:array___control___1 ;
426 133:__UG_NAME__ -> 134:a ;
427 133:__UG_NAME__ -> 148:a ;
428
429 }
0 digraph synthdef {
1 124 [label = "{{ <b> |<a> 1.1} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 128 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 52 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 56 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 62 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 64 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 71 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 75 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 84 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 88 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 95 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 102 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 103 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 105 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 111 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 115 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 118 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
18 120 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 121 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
20 37 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
21 42 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
22 44 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
23 46 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
24 125 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
25 51 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 55 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 61 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 63 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 70 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 74 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 80 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 83 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 87 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 94 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 101 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 110 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 114 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 119 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 50 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 54 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 60 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 69 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 73 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 79 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 82 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 86 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 93 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 97 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 100 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 109 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 113 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 0 [label = "control
54 :note
55 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 1 [label = "control
57 :note_slide
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 2 [label = "control
60 :note_slide_shape
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 3 [label = "control
63 :note_slide_curve
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 4 [label = "control
66 :amp
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 5 [label = "control
69 :amp_slide
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 6 [label = "control
72 :amp_slide_shape
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 7 [label = "control
75 :amp_slide_curve
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 8 [label = "control
78 :pan
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 9 [label = "control
81 :pan_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 10 [label = "control
84 :pan_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 11 [label = "control
87 :pan_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 12 [label = "control
90 :attack
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 13 [label = "control
93 :decay
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 14 [label = "control
96 :sustain
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 15 [label = "control
99 :release
100 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 16 [label = "control
102 :attack_level
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 17 [label = "control
105 :decay_level
106 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 18 [label = "control
108 :sustain_level
109 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 19 [label = "control
111 :env_curve
112 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 20 [label = "control
114 :cutoff
115 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 21 [label = "control
117 :cutoff_slide
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 22 [label = "control
120 :cutoff_slide_shape
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 23 [label = "control
123 :cutoff_slide_curve
124 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 24 [label = "control
126 :detune
127 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 25 [label = "control
129 :detune_slide
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 26 [label = "control
132 :detune_slide_shape
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 27 [label = "control
135 :detune_slide_curve
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 28 [label = "control
138 :pulse_width
139 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 29 [label = "control
141 :pulse_width_slide
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 30 [label = "control
144 :pulse_width_slide_shape
145 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 31 [label = "control
147 :pulse_width_slide_curve
148 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 32 [label = "control
150 :dpulse_width
151 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 33 [label = "control
153 :dpulse_width_slide
154 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 34 [label = "control
156 :dpulse_width_slide_shape
157 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 35 [label = "control
159 :dpulse_width_slide_curve
160 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 36 [label = "control
162 :out_bus
163 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 57 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
165 65 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
166 76 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
167 89 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
168 104 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
169 116 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___select___0>|1.0|-99|-99|<envelope___select___4>|<envelope___select___5>|<envelope___select___6>|<envelope___select___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
170 127 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
171 129 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
172 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
173 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
174 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
175 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
176 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
177 68 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
178 72 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
179 78 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
180 85 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
181 92 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
182 96 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
183 99 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
184 108 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
185 112 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
186 48 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
187 58 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
188 67 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
189 81 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
190 91 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
191 98 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
192 107 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
193 122 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
194 66 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
195 90 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
196 106 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
197 123 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
198 131 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
199 130 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
200 77 [label = "{{ <width> width|<freq> freq} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
201 117 [label = "{{ <width> width|<freq> freq} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
202 38 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
203 43 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
204 45 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
205 47 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
206 126 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
207
208 123:__UG_NAME__ -> 124:b ;
209 124:__UG_NAME__ -> 128:a ;
210 127:__UG_NAME__ -> 128:b ;
211 48:__UG_NAME__ -> 52:a ;
212 51:__UG_NAME__ -> 52:b ;
213 52:__UG_NAME__ -> 56:a ;
214 55:__UG_NAME__ -> 56:b ;
215 58:__UG_NAME__ -> 62:a ;
216 61:__UG_NAME__ -> 62:b ;
217 62:__UG_NAME__ -> 64:a ;
218 63:__UG_NAME__ -> 64:b ;
219 67:__UG_NAME__ -> 71:a ;
220 70:__UG_NAME__ -> 71:b ;
221 71:__UG_NAME__ -> 75:a ;
222 74:__UG_NAME__ -> 75:b ;
223 81:__UG_NAME__ -> 84:a ;
224 83:__UG_NAME__ -> 84:b ;
225 84:__UG_NAME__ -> 88:a ;
226 87:__UG_NAME__ -> 88:b ;
227 91:__UG_NAME__ -> 95:a ;
228 94:__UG_NAME__ -> 95:b ;
229 98:__UG_NAME__ -> 102:a ;
230 101:__UG_NAME__ -> 102:b ;
231 102:__UG_NAME__ -> 103:a ;
232 80:__UG_NAME__ -> 103:b ;
233 65:__UG_NAME__ -> 105:a ;
234 104:__UG_NAME__ -> 105:b ;
235 107:__UG_NAME__ -> 111:a ;
236 110:__UG_NAME__ -> 111:b ;
237 111:__UG_NAME__ -> 115:a ;
238 114:__UG_NAME__ -> 115:b ;
239 77:__UG_NAME__ -> 118:a ;
240 117:__UG_NAME__ -> 118:b ;
241 95:__UG_NAME__ -> 120:a ;
242 119:__UG_NAME__ -> 120:b ;
243 118:__UG_NAME__ -> 121:a ;
244 32:__UG_NAME__ -> 37:b ;
245 33:__UG_NAME__ -> 42:b ;
246 34:__UG_NAME__ -> 44:b ;
247 35:__UG_NAME__ -> 46:b ;
248 17:__UG_NAME__ -> 125:b ;
249 50:__UG_NAME__ -> 51:a ;
250 54:__UG_NAME__ -> 55:a ;
251 60:__UG_NAME__ -> 61:a ;
252 41:__UG_NAME__ -> 63:a ;
253 69:__UG_NAME__ -> 70:a ;
254 73:__UG_NAME__ -> 74:a ;
255 79:__UG_NAME__ -> 80:a ;
256 82:__UG_NAME__ -> 83:a ;
257 86:__UG_NAME__ -> 87:a ;
258 93:__UG_NAME__ -> 94:a ;
259 100:__UG_NAME__ -> 101:a ;
260 109:__UG_NAME__ -> 110:a ;
261 113:__UG_NAME__ -> 114:a ;
262 97:__UG_NAME__ -> 119:a ;
263 40:__UG_NAME__ -> 41:a ;
264 49:__UG_NAME__ -> 50:a ;
265 53:__UG_NAME__ -> 54:a ;
266 59:__UG_NAME__ -> 60:a ;
267 68:__UG_NAME__ -> 69:a ;
268 72:__UG_NAME__ -> 73:a ;
269 78:__UG_NAME__ -> 79:a ;
270 39:__UG_NAME__ -> 82:a ;
271 85:__UG_NAME__ -> 86:a ;
272 92:__UG_NAME__ -> 93:a ;
273 96:__UG_NAME__ -> 97:a ;
274 99:__UG_NAME__ -> 100:a ;
275 108:__UG_NAME__ -> 109:a ;
276 112:__UG_NAME__ -> 113:a ;
277 4:__UG_NAME__ -> 57:envelope___control___0 ;
278 4:__UG_NAME__ -> 57:envelope___control___4 ;
279 5:__UG_NAME__ -> 57:envelope___control___5 ;
280 6:__UG_NAME__ -> 57:envelope___control___6 ;
281 7:__UG_NAME__ -> 57:envelope___control___7 ;
282 56:__UG_NAME__ -> 57:gate ;
283 0:__UG_NAME__ -> 65:envelope___control___0 ;
284 0:__UG_NAME__ -> 65:envelope___control___4 ;
285 1:__UG_NAME__ -> 65:envelope___control___5 ;
286 2:__UG_NAME__ -> 65:envelope___control___6 ;
287 3:__UG_NAME__ -> 65:envelope___control___7 ;
288 64:__UG_NAME__ -> 65:gate ;
289 28:__UG_NAME__ -> 76:envelope___control___0 ;
290 28:__UG_NAME__ -> 76:envelope___control___4 ;
291 29:__UG_NAME__ -> 76:envelope___control___5 ;
292 31:__UG_NAME__ -> 76:envelope___control___6 ;
293 30:__UG_NAME__ -> 76:envelope___control___7 ;
294 75:__UG_NAME__ -> 76:gate ;
295 20:__UG_NAME__ -> 89:envelope___control___0 ;
296 20:__UG_NAME__ -> 89:envelope___control___4 ;
297 21:__UG_NAME__ -> 89:envelope___control___5 ;
298 22:__UG_NAME__ -> 89:envelope___control___6 ;
299 23:__UG_NAME__ -> 89:envelope___control___7 ;
300 88:__UG_NAME__ -> 89:gate ;
301 24:__UG_NAME__ -> 104:envelope___control___0 ;
302 24:__UG_NAME__ -> 104:envelope___control___4 ;
303 25:__UG_NAME__ -> 104:envelope___control___5 ;
304 26:__UG_NAME__ -> 104:envelope___control___6 ;
305 27:__UG_NAME__ -> 104:envelope___control___7 ;
306 103:__UG_NAME__ -> 104:gate ;
307 38:__UG_NAME__ -> 116:envelope___select___0 ;
308 38:__UG_NAME__ -> 116:envelope___select___4 ;
309 43:__UG_NAME__ -> 116:envelope___select___5 ;
310 47:__UG_NAME__ -> 116:envelope___select___6 ;
311 45:__UG_NAME__ -> 116:envelope___select___7 ;
312 115:__UG_NAME__ -> 116:gate ;
313 16:__UG_NAME__ -> 127:envelope___control___4 ;
314 12:__UG_NAME__ -> 127:envelope___control___5 ;
315 19:__UG_NAME__ -> 127:envelope___control___6 ;
316 126:__UG_NAME__ -> 127:envelope___select___8 ;
317 13:__UG_NAME__ -> 127:envelope___control___9 ;
318 19:__UG_NAME__ -> 127:envelope___control___10 ;
319 18:__UG_NAME__ -> 127:envelope___control___12 ;
320 14:__UG_NAME__ -> 127:envelope___control___13 ;
321 19:__UG_NAME__ -> 127:envelope___control___14 ;
322 15:__UG_NAME__ -> 127:envelope___control___17 ;
323 19:__UG_NAME__ -> 127:envelope___control___18 ;
324 8:__UG_NAME__ -> 129:envelope___control___0 ;
325 8:__UG_NAME__ -> 129:envelope___control___4 ;
326 9:__UG_NAME__ -> 129:envelope___control___5 ;
327 10:__UG_NAME__ -> 129:envelope___control___6 ;
328 11:__UG_NAME__ -> 129:envelope___control___7 ;
329 120:__UG_NAME__ -> 129:gate ;
330 20:__UG_NAME__ -> 39:in ;
331 1:__UG_NAME__ -> 40:in ;
332 4:__UG_NAME__ -> 49:in ;
333 5:__UG_NAME__ -> 53:in ;
334 0:__UG_NAME__ -> 59:in ;
335 28:__UG_NAME__ -> 68:in ;
336 29:__UG_NAME__ -> 72:in ;
337 25:__UG_NAME__ -> 78:in ;
338 21:__UG_NAME__ -> 85:in ;
339 8:__UG_NAME__ -> 92:in ;
340 9:__UG_NAME__ -> 96:in ;
341 24:__UG_NAME__ -> 99:in ;
342 38:__UG_NAME__ -> 108:in ;
343 43:__UG_NAME__ -> 112:in ;
344 121:__UG_NAME__ -> 122:in ;
345 90:__UG_NAME__ -> 122:freq ;
346 65:__UG_NAME__ -> 66:a ;
347 89:__UG_NAME__ -> 90:a ;
348 105:__UG_NAME__ -> 106:a ;
349 122:__UG_NAME__ -> 123:in ;
350 36:__UG_NAME__ -> 131:bus ;
351 130:__UG_NAME__ -> 131:signals___pan2___0 ;
352 130:__UG_NAME__ -> 131:signals___pan2___1 ;
353 128:__UG_NAME__ -> 130:in ;
354 129:__UG_NAME__ -> 130:pos ;
355 57:__UG_NAME__ -> 130:level ;
356 66:__UG_NAME__ -> 77:freq ;
357 76:__UG_NAME__ -> 77:width ;
358 106:__UG_NAME__ -> 117:freq ;
359 116:__UG_NAME__ -> 117:width ;
360 37:__UG_NAME__ -> 38:which ;
361 32:__UG_NAME__ -> 38:array___control___0 ;
362 28:__UG_NAME__ -> 38:array___control___1 ;
363 42:__UG_NAME__ -> 43:which ;
364 33:__UG_NAME__ -> 43:array___control___0 ;
365 29:__UG_NAME__ -> 43:array___control___1 ;
366 44:__UG_NAME__ -> 45:which ;
367 38:__UG_NAME__ -> 45:array___select___0 ;
368 30:__UG_NAME__ -> 45:array___control___1 ;
369 46:__UG_NAME__ -> 47:which ;
370 38:__UG_NAME__ -> 47:array___select___0 ;
371 31:__UG_NAME__ -> 47:array___control___1 ;
372 125:__UG_NAME__ -> 126:which ;
373 17:__UG_NAME__ -> 126:array___control___0 ;
374 18:__UG_NAME__ -> 126:array___control___1 ;
375
376 }
0 digraph synthdef {
1 70 [label = "{{ <b> 0.5|<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 82 [label = "{{ <b> |<a> 1.1} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 85 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 36 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 40 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 44 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 50 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 54 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 64 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 66 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 69 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
13 74 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 88 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 91 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 45 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
17 35 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 39 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 49 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 53 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 59 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 63 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 73 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 86 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 90 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 30 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 34 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 38 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 42 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 48 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 52 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 62 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 72 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 79 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 89 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :note
39 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :note_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :note_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :note_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :amp
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :amp_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :amp_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :amp_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pan
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pan_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pan_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pan_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :attack
75 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :decay
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :sustain
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :release
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :attack_level
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :decay_level
90 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :sustain_level
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :env_curve
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :cutoff
99 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :cutoff_slide
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 22 [label = "control
104 :cutoff_slide_shape
105 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 23 [label = "control
107 :cutoff_slide_curve
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 24 [label = "control
110 :detune
111 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 25 [label = "control
113 :detune_slide
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 26 [label = "control
116 :detune_slide_shape
117 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 27 [label = "control
119 :detune_slide_curve
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 28 [label = "control
122 :out_bus
123 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 55 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
125 65 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
126 75 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
127 84 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
128 92 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
129 93 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
130 29 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
131 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
132 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
133 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
134 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
135 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
136 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
137 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
138 78 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
139 80 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
140 32 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
141 37 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
142 46 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
143 58 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
144 87 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
145 77 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
146 56 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
147 67 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
148 76 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
149 81 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
150 95 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
151 94 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
152 57 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
153 68 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
154 83 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
155
156 69:__UG_NAME__ -> 70:a ;
157 81:__UG_NAME__ -> 82:b ;
158 82:__UG_NAME__ -> 85:a ;
159 84:__UG_NAME__ -> 85:b ;
160 32:__UG_NAME__ -> 36:a ;
161 35:__UG_NAME__ -> 36:b ;
162 37:__UG_NAME__ -> 40:a ;
163 39:__UG_NAME__ -> 40:b ;
164 40:__UG_NAME__ -> 44:a ;
165 43:__UG_NAME__ -> 44:b ;
166 46:__UG_NAME__ -> 50:a ;
167 49:__UG_NAME__ -> 50:b ;
168 50:__UG_NAME__ -> 54:a ;
169 53:__UG_NAME__ -> 54:b ;
170 58:__UG_NAME__ -> 60:a ;
171 59:__UG_NAME__ -> 60:b ;
172 60:__UG_NAME__ -> 64:a ;
173 63:__UG_NAME__ -> 64:b ;
174 55:__UG_NAME__ -> 66:a ;
175 65:__UG_NAME__ -> 66:b ;
176 57:__UG_NAME__ -> 69:a ;
177 68:__UG_NAME__ -> 69:b ;
178 36:__UG_NAME__ -> 74:a ;
179 73:__UG_NAME__ -> 74:b ;
180 87:__UG_NAME__ -> 88:a ;
181 86:__UG_NAME__ -> 88:b ;
182 88:__UG_NAME__ -> 91:a ;
183 90:__UG_NAME__ -> 91:b ;
184 17:__UG_NAME__ -> 45:b ;
185 34:__UG_NAME__ -> 35:a ;
186 38:__UG_NAME__ -> 39:a ;
187 42:__UG_NAME__ -> 43:a ;
188 48:__UG_NAME__ -> 49:a ;
189 52:__UG_NAME__ -> 53:a ;
190 30:__UG_NAME__ -> 59:a ;
191 62:__UG_NAME__ -> 63:a ;
192 72:__UG_NAME__ -> 73:a ;
193 79:__UG_NAME__ -> 86:a ;
194 89:__UG_NAME__ -> 90:a ;
195 29:__UG_NAME__ -> 30:a ;
196 33:__UG_NAME__ -> 34:a ;
197 31:__UG_NAME__ -> 38:a ;
198 41:__UG_NAME__ -> 42:a ;
199 47:__UG_NAME__ -> 48:a ;
200 51:__UG_NAME__ -> 52:a ;
201 61:__UG_NAME__ -> 62:a ;
202 71:__UG_NAME__ -> 72:a ;
203 78:__UG_NAME__ -> 79:a ;
204 80:__UG_NAME__ -> 89:a ;
205 0:__UG_NAME__ -> 55:envelope___control___0 ;
206 0:__UG_NAME__ -> 55:envelope___control___4 ;
207 1:__UG_NAME__ -> 55:envelope___control___5 ;
208 2:__UG_NAME__ -> 55:envelope___control___6 ;
209 3:__UG_NAME__ -> 55:envelope___control___7 ;
210 54:__UG_NAME__ -> 55:gate ;
211 24:__UG_NAME__ -> 65:envelope___control___0 ;
212 24:__UG_NAME__ -> 65:envelope___control___4 ;
213 25:__UG_NAME__ -> 65:envelope___control___5 ;
214 26:__UG_NAME__ -> 65:envelope___control___6 ;
215 27:__UG_NAME__ -> 65:envelope___control___7 ;
216 64:__UG_NAME__ -> 65:gate ;
217 20:__UG_NAME__ -> 75:envelope___control___0 ;
218 20:__UG_NAME__ -> 75:envelope___control___4 ;
219 21:__UG_NAME__ -> 75:envelope___control___5 ;
220 22:__UG_NAME__ -> 75:envelope___control___6 ;
221 23:__UG_NAME__ -> 75:envelope___control___7 ;
222 74:__UG_NAME__ -> 75:gate ;
223 16:__UG_NAME__ -> 84:envelope___control___4 ;
224 12:__UG_NAME__ -> 84:envelope___control___5 ;
225 19:__UG_NAME__ -> 84:envelope___control___6 ;
226 83:__UG_NAME__ -> 84:envelope___select___8 ;
227 13:__UG_NAME__ -> 84:envelope___control___9 ;
228 19:__UG_NAME__ -> 84:envelope___control___10 ;
229 18:__UG_NAME__ -> 84:envelope___control___12 ;
230 14:__UG_NAME__ -> 84:envelope___control___13 ;
231 19:__UG_NAME__ -> 84:envelope___control___14 ;
232 15:__UG_NAME__ -> 84:envelope___control___17 ;
233 19:__UG_NAME__ -> 84:envelope___control___18 ;
234 8:__UG_NAME__ -> 92:envelope___control___0 ;
235 8:__UG_NAME__ -> 92:envelope___control___4 ;
236 9:__UG_NAME__ -> 92:envelope___control___5 ;
237 10:__UG_NAME__ -> 92:envelope___control___6 ;
238 11:__UG_NAME__ -> 92:envelope___control___7 ;
239 44:__UG_NAME__ -> 92:gate ;
240 4:__UG_NAME__ -> 93:envelope___control___0 ;
241 4:__UG_NAME__ -> 93:envelope___control___4 ;
242 5:__UG_NAME__ -> 93:envelope___control___5 ;
243 6:__UG_NAME__ -> 93:envelope___control___6 ;
244 7:__UG_NAME__ -> 93:envelope___control___7 ;
245 91:__UG_NAME__ -> 93:gate ;
246 24:__UG_NAME__ -> 29:in ;
247 8:__UG_NAME__ -> 31:in ;
248 20:__UG_NAME__ -> 33:in ;
249 9:__UG_NAME__ -> 41:in ;
250 0:__UG_NAME__ -> 47:in ;
251 1:__UG_NAME__ -> 51:in ;
252 25:__UG_NAME__ -> 61:in ;
253 21:__UG_NAME__ -> 71:in ;
254 4:__UG_NAME__ -> 78:in ;
255 5:__UG_NAME__ -> 80:in ;
256 70:__UG_NAME__ -> 77:in ;
257 76:__UG_NAME__ -> 77:freq ;
258 55:__UG_NAME__ -> 56:a ;
259 66:__UG_NAME__ -> 67:a ;
260 75:__UG_NAME__ -> 76:a ;
261 77:__UG_NAME__ -> 81:in ;
262 28:__UG_NAME__ -> 95:bus ;
263 94:__UG_NAME__ -> 95:signals___pan2___0 ;
264 94:__UG_NAME__ -> 95:signals___pan2___1 ;
265 85:__UG_NAME__ -> 94:in ;
266 92:__UG_NAME__ -> 94:pos ;
267 93:__UG_NAME__ -> 94:level ;
268 56:__UG_NAME__ -> 57:freq ;
269 67:__UG_NAME__ -> 68:freq ;
270 45:__UG_NAME__ -> 83:which ;
271 17:__UG_NAME__ -> 83:array___control___0 ;
272 18:__UG_NAME__ -> 83:array___control___1 ;
273
274 }
0 digraph synthdef {
1 70 [label = "{{ <b> 0.5|<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 92 [label = "{{ <b> |<a> 1.1} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 93 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 34 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 38 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 44 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 49 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 53 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 64 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 66 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 69 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
13 74 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 83 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 87 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 88 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
17 33 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 52 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 59 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 63 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 73 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 82 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 86 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 32 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 42 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 58 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 62 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 72 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 81 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 85 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :note
39 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :note_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :note_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :note_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :amp
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :amp_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :amp_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :amp_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pan
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pan_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pan_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pan_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :attack
75 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :decay
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :sustain
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :release
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :attack_level
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :decay_level
90 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :sustain_level
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :env_curve
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :cutoff
99 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :cutoff_slide
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 22 [label = "control
104 :cutoff_slide_shape
105 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 23 [label = "control
107 :cutoff_slide_curve
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 24 [label = "control
110 :detune
111 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 25 [label = "control
113 :detune_slide
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 26 [label = "control
116 :detune_slide_shape
117 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 27 [label = "control
119 :detune_slide_curve
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 28 [label = "control
122 :out_bus
123 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 39 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
125 54 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
126 65 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
127 75 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
128 90 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
129 91 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
130 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
131 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
132 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
133 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
134 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
135 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
136 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
137 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
138 80 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
139 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
140 29 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
141 30 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
142 40 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
143 48 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
144 79 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
145 56 [label = "{{ <iphase> iphase 0.0|<freq> freq} |<__UG_NAME__>lf-tri }" style="filled, bold, rounded" shape=record rankdir=LR];
146 68 [label = "{{ <iphase> iphase 0.0|<freq> freq} |<__UG_NAME__>lf-tri }" style="filled, bold, rounded" shape=record rankdir=LR];
147 77 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
148 55 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
149 67 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
150 76 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
151 78 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
152 95 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
153 94 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
154 89 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
155
156 69:__UG_NAME__ -> 70:a ;
157 78:__UG_NAME__ -> 92:b ;
158 92:__UG_NAME__ -> 93:a ;
159 90:__UG_NAME__ -> 93:b ;
160 30:__UG_NAME__ -> 34:a ;
161 33:__UG_NAME__ -> 34:b ;
162 34:__UG_NAME__ -> 38:a ;
163 37:__UG_NAME__ -> 38:b ;
164 40:__UG_NAME__ -> 44:a ;
165 43:__UG_NAME__ -> 44:b ;
166 48:__UG_NAME__ -> 49:a ;
167 47:__UG_NAME__ -> 49:b ;
168 49:__UG_NAME__ -> 53:a ;
169 52:__UG_NAME__ -> 53:b ;
170 29:__UG_NAME__ -> 60:a ;
171 59:__UG_NAME__ -> 60:b ;
172 60:__UG_NAME__ -> 64:a ;
173 63:__UG_NAME__ -> 64:b ;
174 54:__UG_NAME__ -> 66:a ;
175 65:__UG_NAME__ -> 66:b ;
176 56:__UG_NAME__ -> 69:a ;
177 68:__UG_NAME__ -> 69:b ;
178 44:__UG_NAME__ -> 74:a ;
179 73:__UG_NAME__ -> 74:b ;
180 79:__UG_NAME__ -> 83:a ;
181 82:__UG_NAME__ -> 83:b ;
182 83:__UG_NAME__ -> 87:a ;
183 86:__UG_NAME__ -> 87:b ;
184 17:__UG_NAME__ -> 88:b ;
185 32:__UG_NAME__ -> 33:a ;
186 36:__UG_NAME__ -> 37:a ;
187 42:__UG_NAME__ -> 43:a ;
188 46:__UG_NAME__ -> 47:a ;
189 51:__UG_NAME__ -> 52:a ;
190 58:__UG_NAME__ -> 59:a ;
191 62:__UG_NAME__ -> 63:a ;
192 72:__UG_NAME__ -> 73:a ;
193 81:__UG_NAME__ -> 82:a ;
194 85:__UG_NAME__ -> 86:a ;
195 31:__UG_NAME__ -> 32:a ;
196 35:__UG_NAME__ -> 36:a ;
197 41:__UG_NAME__ -> 42:a ;
198 45:__UG_NAME__ -> 46:a ;
199 50:__UG_NAME__ -> 51:a ;
200 57:__UG_NAME__ -> 58:a ;
201 61:__UG_NAME__ -> 62:a ;
202 71:__UG_NAME__ -> 72:a ;
203 80:__UG_NAME__ -> 81:a ;
204 84:__UG_NAME__ -> 85:a ;
205 4:__UG_NAME__ -> 39:envelope___control___0 ;
206 4:__UG_NAME__ -> 39:envelope___control___4 ;
207 5:__UG_NAME__ -> 39:envelope___control___5 ;
208 6:__UG_NAME__ -> 39:envelope___control___6 ;
209 7:__UG_NAME__ -> 39:envelope___control___7 ;
210 38:__UG_NAME__ -> 39:gate ;
211 0:__UG_NAME__ -> 54:envelope___control___0 ;
212 0:__UG_NAME__ -> 54:envelope___control___4 ;
213 1:__UG_NAME__ -> 54:envelope___control___5 ;
214 2:__UG_NAME__ -> 54:envelope___control___6 ;
215 3:__UG_NAME__ -> 54:envelope___control___7 ;
216 53:__UG_NAME__ -> 54:gate ;
217 24:__UG_NAME__ -> 65:envelope___control___0 ;
218 24:__UG_NAME__ -> 65:envelope___control___4 ;
219 25:__UG_NAME__ -> 65:envelope___control___5 ;
220 26:__UG_NAME__ -> 65:envelope___control___6 ;
221 27:__UG_NAME__ -> 65:envelope___control___7 ;
222 64:__UG_NAME__ -> 65:gate ;
223 20:__UG_NAME__ -> 75:envelope___control___0 ;
224 20:__UG_NAME__ -> 75:envelope___control___4 ;
225 21:__UG_NAME__ -> 75:envelope___control___5 ;
226 22:__UG_NAME__ -> 75:envelope___control___6 ;
227 23:__UG_NAME__ -> 75:envelope___control___7 ;
228 74:__UG_NAME__ -> 75:gate ;
229 16:__UG_NAME__ -> 90:envelope___control___4 ;
230 12:__UG_NAME__ -> 90:envelope___control___5 ;
231 19:__UG_NAME__ -> 90:envelope___control___6 ;
232 89:__UG_NAME__ -> 90:envelope___select___8 ;
233 13:__UG_NAME__ -> 90:envelope___control___9 ;
234 19:__UG_NAME__ -> 90:envelope___control___10 ;
235 18:__UG_NAME__ -> 90:envelope___control___12 ;
236 14:__UG_NAME__ -> 90:envelope___control___13 ;
237 19:__UG_NAME__ -> 90:envelope___control___14 ;
238 15:__UG_NAME__ -> 90:envelope___control___17 ;
239 19:__UG_NAME__ -> 90:envelope___control___18 ;
240 8:__UG_NAME__ -> 91:envelope___control___0 ;
241 8:__UG_NAME__ -> 91:envelope___control___4 ;
242 9:__UG_NAME__ -> 91:envelope___control___5 ;
243 10:__UG_NAME__ -> 91:envelope___control___6 ;
244 11:__UG_NAME__ -> 91:envelope___control___7 ;
245 87:__UG_NAME__ -> 91:gate ;
246 4:__UG_NAME__ -> 31:in ;
247 5:__UG_NAME__ -> 35:in ;
248 20:__UG_NAME__ -> 41:in ;
249 0:__UG_NAME__ -> 45:in ;
250 1:__UG_NAME__ -> 50:in ;
251 24:__UG_NAME__ -> 57:in ;
252 25:__UG_NAME__ -> 61:in ;
253 21:__UG_NAME__ -> 71:in ;
254 8:__UG_NAME__ -> 80:in ;
255 9:__UG_NAME__ -> 84:in ;
256 55:__UG_NAME__ -> 56:freq ;
257 67:__UG_NAME__ -> 68:freq ;
258 70:__UG_NAME__ -> 77:in ;
259 76:__UG_NAME__ -> 77:freq ;
260 54:__UG_NAME__ -> 55:a ;
261 66:__UG_NAME__ -> 67:a ;
262 75:__UG_NAME__ -> 76:a ;
263 77:__UG_NAME__ -> 78:in ;
264 28:__UG_NAME__ -> 95:bus ;
265 94:__UG_NAME__ -> 95:signals___pan2___0 ;
266 94:__UG_NAME__ -> 95:signals___pan2___1 ;
267 93:__UG_NAME__ -> 94:in ;
268 91:__UG_NAME__ -> 94:pos ;
269 39:__UG_NAME__ -> 94:level ;
270 88:__UG_NAME__ -> 89:which ;
271 17:__UG_NAME__ -> 89:array___control___0 ;
272 18:__UG_NAME__ -> 89:array___control___1 ;
273
274 }
0 digraph synthdef {
1 21 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 22 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 23 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 36 [label = "{{ <b> |<a> 0.56} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 38 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 39 [label = "{{ <b> 0.5|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 40 [label = "{{ <b> 0.5|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 41 [label = "{{ <b> 0.5|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 43 [label = "{{ <b> |<a> 1.19} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 45 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 57 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
12 58 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
13 59 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
14 61 [label = "{{ <b> |<a> 3.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
15 63 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
16 65 [label = "{{ <b> 0.125|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
17 66 [label = "{{ <b> 0.125|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
18 67 [label = "{{ <b> 0.125|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
19 69 [label = "{{ <b> |<a> 3.76} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
20 71 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
21 73 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
22 29 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 33 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 46 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
25 51 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 55 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 64 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
28 72 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
29 78 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 82 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 86 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
32 28 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 32 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 50 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 54 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 77 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 81 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 27 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 31 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 49 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 53 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 76 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 80 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 0 [label = "control
45 :note
46 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 1 [label = "control
48 :note_slide
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 2 [label = "control
51 :note_slide_shape
52 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 3 [label = "control
54 :note_slide_curve
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 4 [label = "control
57 :amp
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 5 [label = "control
60 :amp_slide
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 6 [label = "control
63 :amp_slide_shape
64 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 7 [label = "control
66 :amp_slide_curve
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 8 [label = "control
69 :pan
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 9 [label = "control
72 :pan_slide
73 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 10 [label = "control
75 :pan_slide_shape
76 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 11 [label = "control
78 :pan_slide_curve
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 12 [label = "control
81 :attack
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 13 [label = "control
84 :decay
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 14 [label = "control
87 :sustain
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 15 [label = "control
90 :release
91 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 16 [label = "control
93 :attack_level
94 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 17 [label = "control
96 :decay_level
97 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 18 [label = "control
99 :sustain_level
100 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 19 [label = "control
102 :env_curve
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 20 [label = "control
105 :out_bus
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 88 [label = "{{ <action> action 2.0|<time> time 0.1|<amp> amp 1.0E-4|<in> in} |<__UG_NAME__>detect-silence }" style="filled, bold, rounded" shape=record rankdir=LR];
108 24 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 0.5|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|1.0|0.0|<envelope___control___8>|<envelope___binary____op____u____gen___9>|1.0|0.0|<envelope___control___12>|<envelope___binary____op____u____gen___13>|1.0|0.0|0.0|<envelope___binary____op____u____gen___17>|1.0|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
109 34 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
110 42 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 0.25|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|1.0|0.0|<envelope___control___8>|<envelope___binary____op____u____gen___9>|1.0|0.0|<envelope___control___12>|<envelope___binary____op____u____gen___13>|1.0|0.0|0.0|<envelope___binary____op____u____gen___17>|1.0|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
111 56 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
112 60 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 0.125|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|1.0|0.0|<envelope___control___8>|<envelope___binary____op____u____gen___9>|1.0|0.0|<envelope___control___12>|<envelope___binary____op____u____gen___13>|1.0|0.0|0.0|<envelope___binary____op____u____gen___17>|1.0|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
113 68 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 0.0625|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|1.0|0.0|<envelope___control___8>|<envelope___binary____op____u____gen___9>|1.0|0.0|<envelope___control___12>|<envelope___binary____op____u____gen___13>|1.0|0.0|0.0|<envelope___binary____op____u____gen___17>|1.0|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
114 83 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
115 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
119 75 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
120 79 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
121 25 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 47 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 74 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
124 35 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
125 85 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
126 84 [label = "{{ <level> level 1.0|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
127 87 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
128 37 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
129 44 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
130 62 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
131 70 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
132
133 13:__UG_NAME__ -> 21:a ;
134 14:__UG_NAME__ -> 22:a ;
135 15:__UG_NAME__ -> 23:a ;
136 35:__UG_NAME__ -> 36:b ;
137 24:__UG_NAME__ -> 38:a ;
138 37:__UG_NAME__ -> 38:b ;
139 13:__UG_NAME__ -> 39:a ;
140 14:__UG_NAME__ -> 40:a ;
141 15:__UG_NAME__ -> 41:a ;
142 35:__UG_NAME__ -> 43:b ;
143 42:__UG_NAME__ -> 45:a ;
144 44:__UG_NAME__ -> 45:b ;
145 13:__UG_NAME__ -> 57:a ;
146 14:__UG_NAME__ -> 58:a ;
147 15:__UG_NAME__ -> 59:a ;
148 35:__UG_NAME__ -> 61:b ;
149 60:__UG_NAME__ -> 63:a ;
150 62:__UG_NAME__ -> 63:b ;
151 13:__UG_NAME__ -> 65:a ;
152 14:__UG_NAME__ -> 66:a ;
153 15:__UG_NAME__ -> 67:a ;
154 35:__UG_NAME__ -> 69:b ;
155 68:__UG_NAME__ -> 71:a ;
156 70:__UG_NAME__ -> 71:b ;
157 56:__UG_NAME__ -> 73:a ;
158 72:__UG_NAME__ -> 73:b ;
159 25:__UG_NAME__ -> 29:a ;
160 28:__UG_NAME__ -> 29:b ;
161 29:__UG_NAME__ -> 33:a ;
162 32:__UG_NAME__ -> 33:b ;
163 38:__UG_NAME__ -> 46:a ;
164 45:__UG_NAME__ -> 46:b ;
165 47:__UG_NAME__ -> 51:a ;
166 50:__UG_NAME__ -> 51:b ;
167 51:__UG_NAME__ -> 55:a ;
168 54:__UG_NAME__ -> 55:b ;
169 46:__UG_NAME__ -> 64:a ;
170 63:__UG_NAME__ -> 64:b ;
171 64:__UG_NAME__ -> 72:a ;
172 71:__UG_NAME__ -> 72:b ;
173 74:__UG_NAME__ -> 78:a ;
174 77:__UG_NAME__ -> 78:b ;
175 78:__UG_NAME__ -> 82:a ;
176 81:__UG_NAME__ -> 82:b ;
177 17:__UG_NAME__ -> 86:b ;
178 27:__UG_NAME__ -> 28:a ;
179 31:__UG_NAME__ -> 32:a ;
180 49:__UG_NAME__ -> 50:a ;
181 53:__UG_NAME__ -> 54:a ;
182 76:__UG_NAME__ -> 77:a ;
183 80:__UG_NAME__ -> 81:a ;
184 26:__UG_NAME__ -> 27:a ;
185 30:__UG_NAME__ -> 31:a ;
186 48:__UG_NAME__ -> 49:a ;
187 52:__UG_NAME__ -> 53:a ;
188 75:__UG_NAME__ -> 76:a ;
189 79:__UG_NAME__ -> 80:a ;
190 73:__UG_NAME__ -> 88:in ;
191 16:__UG_NAME__ -> 24:envelope___control___4 ;
192 12:__UG_NAME__ -> 24:envelope___control___5 ;
193 18:__UG_NAME__ -> 24:envelope___control___8 ;
194 21:__UG_NAME__ -> 24:envelope___binary____op____u____gen___9 ;
195 18:__UG_NAME__ -> 24:envelope___control___12 ;
196 22:__UG_NAME__ -> 24:envelope___binary____op____u____gen___13 ;
197 23:__UG_NAME__ -> 24:envelope___binary____op____u____gen___17 ;
198 0:__UG_NAME__ -> 34:envelope___control___0 ;
199 0:__UG_NAME__ -> 34:envelope___control___4 ;
200 1:__UG_NAME__ -> 34:envelope___control___5 ;
201 2:__UG_NAME__ -> 34:envelope___control___6 ;
202 3:__UG_NAME__ -> 34:envelope___control___7 ;
203 33:__UG_NAME__ -> 34:gate ;
204 16:__UG_NAME__ -> 42:envelope___control___4 ;
205 12:__UG_NAME__ -> 42:envelope___control___5 ;
206 18:__UG_NAME__ -> 42:envelope___control___8 ;
207 39:__UG_NAME__ -> 42:envelope___binary____op____u____gen___9 ;
208 18:__UG_NAME__ -> 42:envelope___control___12 ;
209 40:__UG_NAME__ -> 42:envelope___binary____op____u____gen___13 ;
210 41:__UG_NAME__ -> 42:envelope___binary____op____u____gen___17 ;
211 4:__UG_NAME__ -> 56:envelope___control___0 ;
212 4:__UG_NAME__ -> 56:envelope___control___4 ;
213 5:__UG_NAME__ -> 56:envelope___control___5 ;
214 6:__UG_NAME__ -> 56:envelope___control___6 ;
215 7:__UG_NAME__ -> 56:envelope___control___7 ;
216 55:__UG_NAME__ -> 56:gate ;
217 16:__UG_NAME__ -> 60:envelope___control___4 ;
218 12:__UG_NAME__ -> 60:envelope___control___5 ;
219 18:__UG_NAME__ -> 60:envelope___control___8 ;
220 57:__UG_NAME__ -> 60:envelope___binary____op____u____gen___9 ;
221 18:__UG_NAME__ -> 60:envelope___control___12 ;
222 58:__UG_NAME__ -> 60:envelope___binary____op____u____gen___13 ;
223 59:__UG_NAME__ -> 60:envelope___binary____op____u____gen___17 ;
224 16:__UG_NAME__ -> 68:envelope___control___4 ;
225 12:__UG_NAME__ -> 68:envelope___control___5 ;
226 18:__UG_NAME__ -> 68:envelope___control___8 ;
227 65:__UG_NAME__ -> 68:envelope___binary____op____u____gen___9 ;
228 18:__UG_NAME__ -> 68:envelope___control___12 ;
229 66:__UG_NAME__ -> 68:envelope___binary____op____u____gen___13 ;
230 67:__UG_NAME__ -> 68:envelope___binary____op____u____gen___17 ;
231 8:__UG_NAME__ -> 83:envelope___control___0 ;
232 8:__UG_NAME__ -> 83:envelope___control___4 ;
233 9:__UG_NAME__ -> 83:envelope___control___5 ;
234 10:__UG_NAME__ -> 83:envelope___control___6 ;
235 11:__UG_NAME__ -> 83:envelope___control___7 ;
236 82:__UG_NAME__ -> 83:gate ;
237 0:__UG_NAME__ -> 26:in ;
238 1:__UG_NAME__ -> 30:in ;
239 4:__UG_NAME__ -> 48:in ;
240 5:__UG_NAME__ -> 52:in ;
241 8:__UG_NAME__ -> 75:in ;
242 9:__UG_NAME__ -> 79:in ;
243 34:__UG_NAME__ -> 35:a ;
244 20:__UG_NAME__ -> 85:bus ;
245 84:__UG_NAME__ -> 85:signals___pan2___0 ;
246 84:__UG_NAME__ -> 85:signals___pan2___1 ;
247 73:__UG_NAME__ -> 84:in ;
248 83:__UG_NAME__ -> 84:pos ;
249 86:__UG_NAME__ -> 87:which ;
250 17:__UG_NAME__ -> 87:array___control___0 ;
251 18:__UG_NAME__ -> 87:array___control___1 ;
252 36:__UG_NAME__ -> 37:freq ;
253 43:__UG_NAME__ -> 44:freq ;
254 61:__UG_NAME__ -> 62:freq ;
255 69:__UG_NAME__ -> 70:freq ;
256
257 }
0 digraph synthdef {
1 68 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 69 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 82 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 97 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 105 [label = "{{ <b> |<a> 0.8} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 38 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 42 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 52 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 62 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 66 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 74 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 78 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 83 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
15 89 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 93 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 104 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 106 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 80 [label = "{{ <b> |<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
20 55 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
21 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 41 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 51 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 61 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 65 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 73 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 77 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 88 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 92 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 100 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 103 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 40 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 50 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 60 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 64 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 72 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 76 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 87 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 91 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 99 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 102 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 0 [label = "control
46 :note
47 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
48 1 [label = "control
49 :note_slide
50 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
51 2 [label = "control
52 :note_slide_shape
53 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
54 3 [label = "control
55 :note_slide_curve
56 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
57 4 [label = "control
58 :amp
59 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
60 5 [label = "control
61 :amp_slide
62 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 6 [label = "control
64 :amp_slide_shape
65 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 7 [label = "control
67 :amp_slide_curve
68 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 8 [label = "control
70 :pan
71 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 9 [label = "control
73 :pan_slide
74 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 10 [label = "control
76 :pan_slide_shape
77 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 11 [label = "control
79 :pan_slide_curve
80 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 12 [label = "control
82 :attack
83 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 13 [label = "control
85 :decay
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 14 [label = "control
88 :sustain
89 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 15 [label = "control
91 :release
92 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 16 [label = "control
94 :attack_level
95 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 17 [label = "control
97 :decay_level
98 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 18 [label = "control
100 :sustain_level
101 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 19 [label = "control
103 :env_curve
104 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 20 [label = "control
106 :cutoff
107 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 21 [label = "control
109 :cutoff_slide
110 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 22 [label = "control
112 :cutoff_slide_shape
113 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 23 [label = "control
115 :cutoff_slide_curve
116 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 24 [label = "control
118 :divisor
119 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 25 [label = "control
121 :divisor_slide
122 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 26 [label = "control
124 :divisor_slide_shape
125 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 27 [label = "control
127 :divisor_slide_curve
128 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 28 [label = "control
130 :depth
131 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 29 [label = "control
133 :depth_slide
134 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 30 [label = "control
136 :depth_slide_shape
137 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 31 [label = "control
139 :depth_slide_curve
140 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 32 [label = "control
142 :out_bus
143 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 43 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
145 53 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
146 57 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
147 67 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
148 79 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
149 94 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
150 107 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
151 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
152 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
153 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
154 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
155 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
156 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
157 63 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
158 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
159 75 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
160 86 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
161 90 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
162 98 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
163 34 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
164 44 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
165 58 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
166 70 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
167 85 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
168 101 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
169 96 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
170 54 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
171 95 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
172 109 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
173 108 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
174 56 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
175 81 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
176 84 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
177
178 54:__UG_NAME__ -> 68:a ;
179 67:__UG_NAME__ -> 68:b ;
180 57:__UG_NAME__ -> 69:a ;
181 68:__UG_NAME__ -> 69:b ;
182 69:__UG_NAME__ -> 82:a ;
183 81:__UG_NAME__ -> 82:b ;
184 57:__UG_NAME__ -> 97:a ;
185 96:__UG_NAME__ -> 97:b ;
186 97:__UG_NAME__ -> 105:b ;
187 34:__UG_NAME__ -> 38:a ;
188 37:__UG_NAME__ -> 38:b ;
189 38:__UG_NAME__ -> 42:a ;
190 41:__UG_NAME__ -> 42:b ;
191 44:__UG_NAME__ -> 48:a ;
192 47:__UG_NAME__ -> 48:b ;
193 48:__UG_NAME__ -> 52:a ;
194 51:__UG_NAME__ -> 52:b ;
195 58:__UG_NAME__ -> 62:a ;
196 61:__UG_NAME__ -> 62:b ;
197 62:__UG_NAME__ -> 66:a ;
198 65:__UG_NAME__ -> 66:b ;
199 70:__UG_NAME__ -> 74:a ;
200 73:__UG_NAME__ -> 74:b ;
201 74:__UG_NAME__ -> 78:a ;
202 77:__UG_NAME__ -> 78:b ;
203 54:__UG_NAME__ -> 83:a ;
204 82:__UG_NAME__ -> 83:b ;
205 85:__UG_NAME__ -> 89:a ;
206 88:__UG_NAME__ -> 89:b ;
207 89:__UG_NAME__ -> 93:a ;
208 92:__UG_NAME__ -> 93:b ;
209 101:__UG_NAME__ -> 104:a ;
210 103:__UG_NAME__ -> 104:b ;
211 104:__UG_NAME__ -> 106:a ;
212 100:__UG_NAME__ -> 106:b ;
213 54:__UG_NAME__ -> 80:a ;
214 79:__UG_NAME__ -> 80:b ;
215 17:__UG_NAME__ -> 55:b ;
216 36:__UG_NAME__ -> 37:a ;
217 40:__UG_NAME__ -> 41:a ;
218 46:__UG_NAME__ -> 47:a ;
219 50:__UG_NAME__ -> 51:a ;
220 60:__UG_NAME__ -> 61:a ;
221 64:__UG_NAME__ -> 65:a ;
222 72:__UG_NAME__ -> 73:a ;
223 76:__UG_NAME__ -> 77:a ;
224 87:__UG_NAME__ -> 88:a ;
225 91:__UG_NAME__ -> 92:a ;
226 99:__UG_NAME__ -> 100:a ;
227 102:__UG_NAME__ -> 103:a ;
228 35:__UG_NAME__ -> 36:a ;
229 39:__UG_NAME__ -> 40:a ;
230 45:__UG_NAME__ -> 46:a ;
231 49:__UG_NAME__ -> 50:a ;
232 59:__UG_NAME__ -> 60:a ;
233 63:__UG_NAME__ -> 64:a ;
234 71:__UG_NAME__ -> 72:a ;
235 75:__UG_NAME__ -> 76:a ;
236 86:__UG_NAME__ -> 87:a ;
237 90:__UG_NAME__ -> 91:a ;
238 98:__UG_NAME__ -> 99:a ;
239 33:__UG_NAME__ -> 102:a ;
240 8:__UG_NAME__ -> 43:envelope___control___0 ;
241 8:__UG_NAME__ -> 43:envelope___control___4 ;
242 9:__UG_NAME__ -> 43:envelope___control___5 ;
243 10:__UG_NAME__ -> 43:envelope___control___6 ;
244 11:__UG_NAME__ -> 43:envelope___control___7 ;
245 42:__UG_NAME__ -> 43:gate ;
246 0:__UG_NAME__ -> 53:envelope___control___0 ;
247 0:__UG_NAME__ -> 53:envelope___control___4 ;
248 1:__UG_NAME__ -> 53:envelope___control___5 ;
249 2:__UG_NAME__ -> 53:envelope___control___6 ;
250 3:__UG_NAME__ -> 53:envelope___control___7 ;
251 52:__UG_NAME__ -> 53:gate ;
252 16:__UG_NAME__ -> 57:envelope___control___4 ;
253 12:__UG_NAME__ -> 57:envelope___control___5 ;
254 19:__UG_NAME__ -> 57:envelope___control___6 ;
255 56:__UG_NAME__ -> 57:envelope___select___8 ;
256 13:__UG_NAME__ -> 57:envelope___control___9 ;
257 19:__UG_NAME__ -> 57:envelope___control___10 ;
258 18:__UG_NAME__ -> 57:envelope___control___12 ;
259 14:__UG_NAME__ -> 57:envelope___control___13 ;
260 19:__UG_NAME__ -> 57:envelope___control___14 ;
261 15:__UG_NAME__ -> 57:envelope___control___17 ;
262 19:__UG_NAME__ -> 57:envelope___control___18 ;
263 28:__UG_NAME__ -> 67:envelope___control___0 ;
264 28:__UG_NAME__ -> 67:envelope___control___4 ;
265 29:__UG_NAME__ -> 67:envelope___control___5 ;
266 30:__UG_NAME__ -> 67:envelope___control___6 ;
267 31:__UG_NAME__ -> 67:envelope___control___7 ;
268 66:__UG_NAME__ -> 67:gate ;
269 24:__UG_NAME__ -> 79:envelope___control___0 ;
270 24:__UG_NAME__ -> 79:envelope___control___4 ;
271 25:__UG_NAME__ -> 79:envelope___control___5 ;
272 26:__UG_NAME__ -> 79:envelope___control___6 ;
273 27:__UG_NAME__ -> 79:envelope___control___7 ;
274 78:__UG_NAME__ -> 79:gate ;
275 20:__UG_NAME__ -> 94:envelope___control___0 ;
276 20:__UG_NAME__ -> 94:envelope___control___4 ;
277 21:__UG_NAME__ -> 94:envelope___control___5 ;
278 22:__UG_NAME__ -> 94:envelope___control___6 ;
279 23:__UG_NAME__ -> 94:envelope___control___7 ;
280 93:__UG_NAME__ -> 94:gate ;
281 4:__UG_NAME__ -> 107:envelope___control___0 ;
282 4:__UG_NAME__ -> 107:envelope___control___4 ;
283 5:__UG_NAME__ -> 107:envelope___control___5 ;
284 6:__UG_NAME__ -> 107:envelope___control___6 ;
285 7:__UG_NAME__ -> 107:envelope___control___7 ;
286 106:__UG_NAME__ -> 107:gate ;
287 4:__UG_NAME__ -> 33:in ;
288 8:__UG_NAME__ -> 35:in ;
289 9:__UG_NAME__ -> 39:in ;
290 0:__UG_NAME__ -> 45:in ;
291 1:__UG_NAME__ -> 49:in ;
292 28:__UG_NAME__ -> 59:in ;
293 29:__UG_NAME__ -> 63:in ;
294 24:__UG_NAME__ -> 71:in ;
295 25:__UG_NAME__ -> 75:in ;
296 20:__UG_NAME__ -> 86:in ;
297 21:__UG_NAME__ -> 90:in ;
298 5:__UG_NAME__ -> 98:in ;
299 84:__UG_NAME__ -> 96:in ;
300 95:__UG_NAME__ -> 96:freq ;
301 53:__UG_NAME__ -> 54:a ;
302 94:__UG_NAME__ -> 95:a ;
303 32:__UG_NAME__ -> 109:bus ;
304 108:__UG_NAME__ -> 109:signals___pan2___0 ;
305 108:__UG_NAME__ -> 109:signals___pan2___1 ;
306 105:__UG_NAME__ -> 108:in ;
307 43:__UG_NAME__ -> 108:pos ;
308 107:__UG_NAME__ -> 108:level ;
309 55:__UG_NAME__ -> 56:which ;
310 17:__UG_NAME__ -> 56:array___control___0 ;
311 18:__UG_NAME__ -> 56:array___control___1 ;
312 80:__UG_NAME__ -> 81:freq ;
313 83:__UG_NAME__ -> 84:freq ;
314
315 }
0 digraph synthdef {
1 48 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 81 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 94 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 96 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 31 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 35 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 41 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 45 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 53 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 57 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 64 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 68 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 75 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 79 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 87 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 91 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 82 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
18 97 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
19 30 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 34 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 40 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 44 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 52 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 56 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 63 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 67 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 74 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 78 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 86 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 90 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 29 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 33 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 39 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 43 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 55 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 62 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 66 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 73 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 77 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 85 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 89 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 0 [label = "control
44 :amp
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 1 [label = "control
47 :amp_slide
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 2 [label = "control
50 :amp_slide_shape
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 3 [label = "control
53 :amp_slide_curve
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 4 [label = "control
56 :mix
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 5 [label = "control
59 :mix_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 6 [label = "control
62 :mix_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 7 [label = "control
65 :mix_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 8 [label = "control
68 :pre_amp
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 9 [label = "control
71 :pre_amp_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 10 [label = "control
74 :pre_amp_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 11 [label = "control
77 :pre_amp_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 12 [label = "control
80 :freq
81 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 13 [label = "control
83 :freq_slide
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 14 [label = "control
86 :freq_slide_shape
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 15 [label = "control
89 :freq_slide_curve
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 16 [label = "control
92 :res
93 default: 0.6" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 17 [label = "control
95 :res_slide
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 18 [label = "control
98 :res_slide_shape
99 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 19 [label = "control
101 :res_slide_curve
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 20 [label = "control
104 :db
105 default: 0.6" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 21 [label = "control
107 :db_slide
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 22 [label = "control
110 :db_slide_shape
111 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 23 [label = "control
113 :db_slide_curve
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 24 [label = "control
116 :in_bus
117 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 25 [label = "control
119 :out_bus
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 36 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
122 46 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
123 58 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
124 69 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
125 80 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
126 92 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
127 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
128 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
129 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
130 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
131 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
132 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
133 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
134 65 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
135 72 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
136 76 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
137 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
138 88 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
139 28 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
140 37 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
141 49 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
142 60 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
143 71 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
144 83 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
145 47 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
146 70 [label = "{{ <db> db|<rq> rq|<freq> freq|<in> in} |<__UG_NAME__>mid-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
147 95 [label = "{{ <db> db|<rq> rq|<freq> freq|<in> in} |<__UG_NAME__>mid-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
148 59 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
149 26 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
150 99 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
151 93 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
152 98 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
153
154 46:__UG_NAME__ -> 48:a ;
155 47:__UG_NAME__ -> 48:b ;
156 80:__UG_NAME__ -> 81:a ;
157 46:__UG_NAME__ -> 94:a ;
158 47:__UG_NAME__ -> 94:b ;
159 80:__UG_NAME__ -> 96:a ;
160 28:__UG_NAME__ -> 31:a ;
161 30:__UG_NAME__ -> 31:b ;
162 31:__UG_NAME__ -> 35:a ;
163 34:__UG_NAME__ -> 35:b ;
164 37:__UG_NAME__ -> 41:a ;
165 40:__UG_NAME__ -> 41:b ;
166 41:__UG_NAME__ -> 45:a ;
167 44:__UG_NAME__ -> 45:b ;
168 49:__UG_NAME__ -> 53:a ;
169 52:__UG_NAME__ -> 53:b ;
170 53:__UG_NAME__ -> 57:a ;
171 56:__UG_NAME__ -> 57:b ;
172 60:__UG_NAME__ -> 64:a ;
173 63:__UG_NAME__ -> 64:b ;
174 64:__UG_NAME__ -> 68:a ;
175 67:__UG_NAME__ -> 68:b ;
176 71:__UG_NAME__ -> 75:a ;
177 74:__UG_NAME__ -> 75:b ;
178 75:__UG_NAME__ -> 79:a ;
179 78:__UG_NAME__ -> 79:b ;
180 83:__UG_NAME__ -> 87:a ;
181 86:__UG_NAME__ -> 87:b ;
182 87:__UG_NAME__ -> 91:a ;
183 90:__UG_NAME__ -> 91:b ;
184 81:__UG_NAME__ -> 82:a ;
185 96:__UG_NAME__ -> 97:a ;
186 29:__UG_NAME__ -> 30:a ;
187 33:__UG_NAME__ -> 34:a ;
188 39:__UG_NAME__ -> 40:a ;
189 43:__UG_NAME__ -> 44:a ;
190 51:__UG_NAME__ -> 52:a ;
191 55:__UG_NAME__ -> 56:a ;
192 62:__UG_NAME__ -> 63:a ;
193 66:__UG_NAME__ -> 67:a ;
194 73:__UG_NAME__ -> 74:a ;
195 77:__UG_NAME__ -> 78:a ;
196 85:__UG_NAME__ -> 86:a ;
197 89:__UG_NAME__ -> 90:a ;
198 27:__UG_NAME__ -> 29:a ;
199 32:__UG_NAME__ -> 33:a ;
200 38:__UG_NAME__ -> 39:a ;
201 42:__UG_NAME__ -> 43:a ;
202 50:__UG_NAME__ -> 51:a ;
203 54:__UG_NAME__ -> 55:a ;
204 61:__UG_NAME__ -> 62:a ;
205 65:__UG_NAME__ -> 66:a ;
206 72:__UG_NAME__ -> 73:a ;
207 76:__UG_NAME__ -> 77:a ;
208 84:__UG_NAME__ -> 85:a ;
209 88:__UG_NAME__ -> 89:a ;
210 26:__UG_NAME__ -> 36:envelope___mul____add___0 ;
211 26:__UG_NAME__ -> 36:envelope___mul____add___4 ;
212 17:__UG_NAME__ -> 36:envelope___control___5 ;
213 18:__UG_NAME__ -> 36:envelope___control___6 ;
214 19:__UG_NAME__ -> 36:envelope___control___7 ;
215 35:__UG_NAME__ -> 36:gate ;
216 8:__UG_NAME__ -> 46:envelope___control___0 ;
217 8:__UG_NAME__ -> 46:envelope___control___4 ;
218 9:__UG_NAME__ -> 46:envelope___control___5 ;
219 10:__UG_NAME__ -> 46:envelope___control___6 ;
220 11:__UG_NAME__ -> 46:envelope___control___7 ;
221 45:__UG_NAME__ -> 46:gate ;
222 12:__UG_NAME__ -> 58:envelope___control___0 ;
223 12:__UG_NAME__ -> 58:envelope___control___4 ;
224 13:__UG_NAME__ -> 58:envelope___control___5 ;
225 14:__UG_NAME__ -> 58:envelope___control___6 ;
226 15:__UG_NAME__ -> 58:envelope___control___7 ;
227 57:__UG_NAME__ -> 58:gate ;
228 20:__UG_NAME__ -> 69:envelope___control___0 ;
229 20:__UG_NAME__ -> 69:envelope___control___4 ;
230 21:__UG_NAME__ -> 69:envelope___control___5 ;
231 22:__UG_NAME__ -> 69:envelope___control___6 ;
232 23:__UG_NAME__ -> 69:envelope___control___7 ;
233 68:__UG_NAME__ -> 69:gate ;
234 4:__UG_NAME__ -> 80:envelope___control___0 ;
235 4:__UG_NAME__ -> 80:envelope___control___4 ;
236 5:__UG_NAME__ -> 80:envelope___control___5 ;
237 6:__UG_NAME__ -> 80:envelope___control___6 ;
238 7:__UG_NAME__ -> 80:envelope___control___7 ;
239 79:__UG_NAME__ -> 80:gate ;
240 0:__UG_NAME__ -> 92:envelope___control___0 ;
241 0:__UG_NAME__ -> 92:envelope___control___4 ;
242 1:__UG_NAME__ -> 92:envelope___control___5 ;
243 2:__UG_NAME__ -> 92:envelope___control___6 ;
244 3:__UG_NAME__ -> 92:envelope___control___7 ;
245 91:__UG_NAME__ -> 92:gate ;
246 26:__UG_NAME__ -> 27:in ;
247 17:__UG_NAME__ -> 32:in ;
248 8:__UG_NAME__ -> 38:in ;
249 9:__UG_NAME__ -> 42:in ;
250 12:__UG_NAME__ -> 50:in ;
251 13:__UG_NAME__ -> 54:in ;
252 20:__UG_NAME__ -> 61:in ;
253 21:__UG_NAME__ -> 65:in ;
254 4:__UG_NAME__ -> 72:in ;
255 5:__UG_NAME__ -> 76:in ;
256 0:__UG_NAME__ -> 84:in ;
257 1:__UG_NAME__ -> 88:in ;
258 24:__UG_NAME__ -> 47:bus ;
259 48:__UG_NAME__ -> 70:in ;
260 59:__UG_NAME__ -> 70:freq ;
261 36:__UG_NAME__ -> 70:rq ;
262 69:__UG_NAME__ -> 70:db ;
263 94:__UG_NAME__ -> 95:in ;
264 59:__UG_NAME__ -> 95:freq ;
265 36:__UG_NAME__ -> 95:rq ;
266 69:__UG_NAME__ -> 95:db ;
267 58:__UG_NAME__ -> 59:a ;
268 16:__UG_NAME__ -> 26:in ;
269 25:__UG_NAME__ -> 99:bus ;
270 98:__UG_NAME__ -> 99:signals___x____fade2___0 ;
271 93:__UG_NAME__ -> 99:signals___x____fade2___1 ;
272 48:__UG_NAME__ -> 93:ina ;
273 70:__UG_NAME__ -> 93:inb ;
274 82:__UG_NAME__ -> 93:pan ;
275 92:__UG_NAME__ -> 93:level ;
276 94:__UG_NAME__ -> 98:ina ;
277 95:__UG_NAME__ -> 98:inb ;
278 97:__UG_NAME__ -> 98:pan ;
279 92:__UG_NAME__ -> 98:level ;
280
281 }
0 digraph synthdef {
1 71 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 76 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 96 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 100 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 30 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 34 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 46 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 51 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 56 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 69 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 80 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 81 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 86 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 89 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 72 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
18 101 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
19 29 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 33 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 36 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 41 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 45 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 50 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 54 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 59 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 68 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 79 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 85 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 88 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 28 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 32 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 40 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 44 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 49 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 53 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 58 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 67 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 78 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 84 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 87 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 0 [label = "control
45 :amp
46 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 1 [label = "control
48 :amp_slide
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 2 [label = "control
51 :amp_slide_shape
52 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 3 [label = "control
54 :amp_slide_curve
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 4 [label = "control
57 :mix
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 5 [label = "control
60 :mix_slide
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 6 [label = "control
63 :mix_slide_shape
64 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 7 [label = "control
66 :mix_slide_curve
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 8 [label = "control
69 :pre_amp
70 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 9 [label = "control
72 :pre_amp_slide
73 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 10 [label = "control
75 :pre_amp_slide_shape
76 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 11 [label = "control
78 :pre_amp_slide_curve
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 12 [label = "control
81 :sample_rate
82 default: 10000.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 13 [label = "control
84 :sample_rate_slide
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 14 [label = "control
87 :sample_rate_slide_shape
88 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 15 [label = "control
90 :sample_rate_slide_curve
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 16 [label = "control
93 :bits
94 default: 8.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 17 [label = "control
96 :bits_slide
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 18 [label = "control
99 :bits_slide_shape
100 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 19 [label = "control
102 :bits_slide_curve
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 20 [label = "control
105 :cutoff
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 21 [label = "control
108 :cutoff_slide
109 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 22 [label = "control
111 :cutoff_slide_shape
112 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 23 [label = "control
114 :cutoff_slide_curve
115 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 24 [label = "control
117 :in_bus
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 25 [label = "control
120 :out_bus
121 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 90 [label = "{{ <bits> bits|<rate> rate|<in> in} |<__UG_NAME__>decimator }" style="filled, bold, rounded" shape=record rankdir=LR];
123 97 [label = "{{ <bits> bits|<rate> rate|<in> in} |<__UG_NAME__>decimator }" style="filled, bold, rounded" shape=record rankdir=LR];
124 35 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
125 70 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
126 73 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
127 75 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
128 82 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
129 94 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
130 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
131 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
132 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
133 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
134 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
135 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
136 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
137 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
138 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
139 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
140 77 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
141 83 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
142 26 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
143 38 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
144 42 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
145 47 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
146 55 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
147 61 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
148 74 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
149 92 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
150 98 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
151 91 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
152 103 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
153 93 [label = "{{ {{<array___decimator___0>|<array___lpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
154 99 [label = "{{ {{<array___decimator___0>|<array___lpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
155 95 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
156 102 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
157
158 70:__UG_NAME__ -> 71:a ;
159 75:__UG_NAME__ -> 76:a ;
160 74:__UG_NAME__ -> 76:b ;
161 75:__UG_NAME__ -> 96:a ;
162 74:__UG_NAME__ -> 96:b ;
163 70:__UG_NAME__ -> 100:a ;
164 26:__UG_NAME__ -> 30:a ;
165 29:__UG_NAME__ -> 30:b ;
166 30:__UG_NAME__ -> 34:a ;
167 33:__UG_NAME__ -> 34:b ;
168 42:__UG_NAME__ -> 46:a ;
169 45:__UG_NAME__ -> 46:b ;
170 46:__UG_NAME__ -> 51:a ;
171 50:__UG_NAME__ -> 51:b ;
172 55:__UG_NAME__ -> 56:a ;
173 41:__UG_NAME__ -> 56:b ;
174 56:__UG_NAME__ -> 60:a ;
175 59:__UG_NAME__ -> 60:b ;
176 47:__UG_NAME__ -> 65:a ;
177 64:__UG_NAME__ -> 65:b ;
178 65:__UG_NAME__ -> 69:a ;
179 68:__UG_NAME__ -> 69:b ;
180 38:__UG_NAME__ -> 80:a ;
181 79:__UG_NAME__ -> 80:b ;
182 80:__UG_NAME__ -> 81:a ;
183 54:__UG_NAME__ -> 81:b ;
184 61:__UG_NAME__ -> 86:a ;
185 85:__UG_NAME__ -> 86:b ;
186 86:__UG_NAME__ -> 89:a ;
187 88:__UG_NAME__ -> 89:b ;
188 71:__UG_NAME__ -> 72:a ;
189 100:__UG_NAME__ -> 101:a ;
190 28:__UG_NAME__ -> 29:a ;
191 32:__UG_NAME__ -> 33:a ;
192 35:__UG_NAME__ -> 36:a ;
193 40:__UG_NAME__ -> 41:a ;
194 44:__UG_NAME__ -> 45:a ;
195 49:__UG_NAME__ -> 50:a ;
196 53:__UG_NAME__ -> 54:a ;
197 58:__UG_NAME__ -> 59:a ;
198 63:__UG_NAME__ -> 64:a ;
199 67:__UG_NAME__ -> 68:a ;
200 78:__UG_NAME__ -> 79:a ;
201 84:__UG_NAME__ -> 85:a ;
202 87:__UG_NAME__ -> 88:a ;
203 27:__UG_NAME__ -> 28:a ;
204 31:__UG_NAME__ -> 32:a ;
205 39:__UG_NAME__ -> 40:a ;
206 43:__UG_NAME__ -> 44:a ;
207 48:__UG_NAME__ -> 49:a ;
208 52:__UG_NAME__ -> 53:a ;
209 57:__UG_NAME__ -> 58:a ;
210 62:__UG_NAME__ -> 63:a ;
211 66:__UG_NAME__ -> 67:a ;
212 77:__UG_NAME__ -> 78:a ;
213 83:__UG_NAME__ -> 84:a ;
214 37:__UG_NAME__ -> 87:a ;
215 76:__UG_NAME__ -> 90:in ;
216 82:__UG_NAME__ -> 90:rate ;
217 73:__UG_NAME__ -> 90:bits ;
218 96:__UG_NAME__ -> 97:in ;
219 82:__UG_NAME__ -> 97:rate ;
220 73:__UG_NAME__ -> 97:bits ;
221 20:__UG_NAME__ -> 35:envelope___control___0 ;
222 20:__UG_NAME__ -> 35:envelope___control___4 ;
223 21:__UG_NAME__ -> 35:envelope___control___5 ;
224 22:__UG_NAME__ -> 35:envelope___control___6 ;
225 23:__UG_NAME__ -> 35:envelope___control___7 ;
226 34:__UG_NAME__ -> 35:gate ;
227 4:__UG_NAME__ -> 70:envelope___control___0 ;
228 4:__UG_NAME__ -> 70:envelope___control___4 ;
229 5:__UG_NAME__ -> 70:envelope___control___5 ;
230 6:__UG_NAME__ -> 70:envelope___control___6 ;
231 7:__UG_NAME__ -> 70:envelope___control___7 ;
232 69:__UG_NAME__ -> 70:gate ;
233 16:__UG_NAME__ -> 73:envelope___control___0 ;
234 16:__UG_NAME__ -> 73:envelope___control___4 ;
235 17:__UG_NAME__ -> 73:envelope___control___5 ;
236 18:__UG_NAME__ -> 73:envelope___control___6 ;
237 19:__UG_NAME__ -> 73:envelope___control___7 ;
238 51:__UG_NAME__ -> 73:gate ;
239 8:__UG_NAME__ -> 75:envelope___control___0 ;
240 8:__UG_NAME__ -> 75:envelope___control___4 ;
241 9:__UG_NAME__ -> 75:envelope___control___5 ;
242 10:__UG_NAME__ -> 75:envelope___control___6 ;
243 11:__UG_NAME__ -> 75:envelope___control___7 ;
244 60:__UG_NAME__ -> 75:gate ;
245 12:__UG_NAME__ -> 82:envelope___control___0 ;
246 12:__UG_NAME__ -> 82:envelope___control___4 ;
247 13:__UG_NAME__ -> 82:envelope___control___5 ;
248 14:__UG_NAME__ -> 82:envelope___control___6 ;
249 15:__UG_NAME__ -> 82:envelope___control___7 ;
250 81:__UG_NAME__ -> 82:gate ;
251 0:__UG_NAME__ -> 94:envelope___control___0 ;
252 0:__UG_NAME__ -> 94:envelope___control___4 ;
253 1:__UG_NAME__ -> 94:envelope___control___5 ;
254 2:__UG_NAME__ -> 94:envelope___control___6 ;
255 3:__UG_NAME__ -> 94:envelope___control___7 ;
256 89:__UG_NAME__ -> 94:gate ;
257 20:__UG_NAME__ -> 27:in ;
258 21:__UG_NAME__ -> 31:in ;
259 1:__UG_NAME__ -> 37:in ;
260 8:__UG_NAME__ -> 39:in ;
261 16:__UG_NAME__ -> 43:in ;
262 17:__UG_NAME__ -> 48:in ;
263 13:__UG_NAME__ -> 52:in ;
264 9:__UG_NAME__ -> 57:in ;
265 4:__UG_NAME__ -> 62:in ;
266 5:__UG_NAME__ -> 66:in ;
267 12:__UG_NAME__ -> 77:in ;
268 0:__UG_NAME__ -> 83:in ;
269 24:__UG_NAME__ -> 74:bus ;
270 90:__UG_NAME__ -> 92:in ;
271 91:__UG_NAME__ -> 92:freq ;
272 97:__UG_NAME__ -> 98:in ;
273 91:__UG_NAME__ -> 98:freq ;
274 35:__UG_NAME__ -> 91:a ;
275 25:__UG_NAME__ -> 103:bus ;
276 102:__UG_NAME__ -> 103:signals___x____fade2___0 ;
277 95:__UG_NAME__ -> 103:signals___x____fade2___1 ;
278 36:__UG_NAME__ -> 93:which ;
279 90:__UG_NAME__ -> 93:array___decimator___0 ;
280 92:__UG_NAME__ -> 93:array___lpf___1 ;
281 36:__UG_NAME__ -> 99:which ;
282 97:__UG_NAME__ -> 99:array___decimator___0 ;
283 98:__UG_NAME__ -> 99:array___lpf___1 ;
284 76:__UG_NAME__ -> 95:ina ;
285 93:__UG_NAME__ -> 95:inb ;
286 72:__UG_NAME__ -> 95:pan ;
287 94:__UG_NAME__ -> 95:level ;
288 96:__UG_NAME__ -> 102:ina ;
289 99:__UG_NAME__ -> 102:inb ;
290 101:__UG_NAME__ -> 102:pan ;
291 94:__UG_NAME__ -> 102:level ;
292
293 }
0 digraph synthdef {
1 33 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 67 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 80 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 82 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 26 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 30 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 38 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 42 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 50 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 54 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 73 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 77 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 68 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
16 83 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 25 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 29 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 41 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 49 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 53 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 60 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 72 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 76 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 28 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 40 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 48 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 52 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 59 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 71 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 75 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 56 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
38 81 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
39 0 [label = "control
40 :amp
41 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
42 1 [label = "control
43 :amp_slide
44 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
45 2 [label = "control
46 :amp_slide_shape
47 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
48 3 [label = "control
49 :amp_slide_curve
50 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
51 4 [label = "control
52 :mix
53 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
54 5 [label = "control
55 :mix_slide
56 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
57 6 [label = "control
58 :mix_slide_shape
59 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
60 7 [label = "control
61 :mix_slide_curve
62 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 8 [label = "control
64 :pre_amp
65 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 9 [label = "control
67 :pre_amp_slide
68 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 10 [label = "control
70 :pre_amp_slide_shape
71 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 11 [label = "control
73 :pre_amp_slide_curve
74 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 12 [label = "control
76 :centre
77 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 13 [label = "control
79 :centre_slide
80 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 14 [label = "control
82 :centre_slide_shape
83 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 15 [label = "control
85 :centre_slide_curve
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 16 [label = "control
88 :res
89 default: 0.6" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 17 [label = "control
91 :res_slide
92 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 18 [label = "control
94 :res_slide_shape
95 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 19 [label = "control
97 :res_slide_curve
98 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 20 [label = "control
100 :in_bus
101 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 21 [label = "control
103 :out_bus
104 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 31 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 43 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 55 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 66 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
109 78 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
110 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
119 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
120 22 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 34 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 45 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 57 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
124 69 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
125 32 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
126 44 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
127 46 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
128 85 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
129 79 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
130 84 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
131
132 31:__UG_NAME__ -> 33:a ;
133 32:__UG_NAME__ -> 33:b ;
134 66:__UG_NAME__ -> 67:a ;
135 31:__UG_NAME__ -> 80:a ;
136 32:__UG_NAME__ -> 80:b ;
137 66:__UG_NAME__ -> 82:a ;
138 22:__UG_NAME__ -> 26:a ;
139 25:__UG_NAME__ -> 26:b ;
140 26:__UG_NAME__ -> 30:a ;
141 29:__UG_NAME__ -> 30:b ;
142 34:__UG_NAME__ -> 38:a ;
143 37:__UG_NAME__ -> 38:b ;
144 38:__UG_NAME__ -> 42:a ;
145 41:__UG_NAME__ -> 42:b ;
146 45:__UG_NAME__ -> 50:a ;
147 49:__UG_NAME__ -> 50:b ;
148 50:__UG_NAME__ -> 54:a ;
149 53:__UG_NAME__ -> 54:b ;
150 57:__UG_NAME__ -> 61:a ;
151 60:__UG_NAME__ -> 61:b ;
152 61:__UG_NAME__ -> 65:a ;
153 64:__UG_NAME__ -> 65:b ;
154 69:__UG_NAME__ -> 73:a ;
155 72:__UG_NAME__ -> 73:b ;
156 73:__UG_NAME__ -> 77:a ;
157 76:__UG_NAME__ -> 77:b ;
158 67:__UG_NAME__ -> 68:a ;
159 82:__UG_NAME__ -> 83:a ;
160 24:__UG_NAME__ -> 25:a ;
161 28:__UG_NAME__ -> 29:a ;
162 36:__UG_NAME__ -> 37:a ;
163 40:__UG_NAME__ -> 41:a ;
164 48:__UG_NAME__ -> 49:a ;
165 52:__UG_NAME__ -> 53:a ;
166 59:__UG_NAME__ -> 60:a ;
167 63:__UG_NAME__ -> 64:a ;
168 71:__UG_NAME__ -> 72:a ;
169 75:__UG_NAME__ -> 76:a ;
170 23:__UG_NAME__ -> 24:a ;
171 27:__UG_NAME__ -> 28:a ;
172 35:__UG_NAME__ -> 36:a ;
173 39:__UG_NAME__ -> 40:a ;
174 47:__UG_NAME__ -> 48:a ;
175 51:__UG_NAME__ -> 52:a ;
176 58:__UG_NAME__ -> 59:a ;
177 62:__UG_NAME__ -> 63:a ;
178 70:__UG_NAME__ -> 71:a ;
179 74:__UG_NAME__ -> 75:a ;
180 33:__UG_NAME__ -> 56:in ;
181 44:__UG_NAME__ -> 56:freq ;
182 55:__UG_NAME__ -> 56:rq ;
183 80:__UG_NAME__ -> 81:in ;
184 44:__UG_NAME__ -> 81:freq ;
185 55:__UG_NAME__ -> 81:rq ;
186 8:__UG_NAME__ -> 31:envelope___control___0 ;
187 8:__UG_NAME__ -> 31:envelope___control___4 ;
188 9:__UG_NAME__ -> 31:envelope___control___5 ;
189 10:__UG_NAME__ -> 31:envelope___control___6 ;
190 11:__UG_NAME__ -> 31:envelope___control___7 ;
191 30:__UG_NAME__ -> 31:gate ;
192 12:__UG_NAME__ -> 43:envelope___control___0 ;
193 12:__UG_NAME__ -> 43:envelope___control___4 ;
194 13:__UG_NAME__ -> 43:envelope___control___5 ;
195 14:__UG_NAME__ -> 43:envelope___control___6 ;
196 15:__UG_NAME__ -> 43:envelope___control___7 ;
197 42:__UG_NAME__ -> 43:gate ;
198 46:__UG_NAME__ -> 55:envelope___mul____add___0 ;
199 46:__UG_NAME__ -> 55:envelope___mul____add___4 ;
200 17:__UG_NAME__ -> 55:envelope___control___5 ;
201 18:__UG_NAME__ -> 55:envelope___control___6 ;
202 19:__UG_NAME__ -> 55:envelope___control___7 ;
203 54:__UG_NAME__ -> 55:gate ;
204 4:__UG_NAME__ -> 66:envelope___control___0 ;
205 4:__UG_NAME__ -> 66:envelope___control___4 ;
206 5:__UG_NAME__ -> 66:envelope___control___5 ;
207 6:__UG_NAME__ -> 66:envelope___control___6 ;
208 7:__UG_NAME__ -> 66:envelope___control___7 ;
209 65:__UG_NAME__ -> 66:gate ;
210 0:__UG_NAME__ -> 78:envelope___control___0 ;
211 0:__UG_NAME__ -> 78:envelope___control___4 ;
212 1:__UG_NAME__ -> 78:envelope___control___5 ;
213 2:__UG_NAME__ -> 78:envelope___control___6 ;
214 3:__UG_NAME__ -> 78:envelope___control___7 ;
215 77:__UG_NAME__ -> 78:gate ;
216 8:__UG_NAME__ -> 23:in ;
217 9:__UG_NAME__ -> 27:in ;
218 12:__UG_NAME__ -> 35:in ;
219 13:__UG_NAME__ -> 39:in ;
220 46:__UG_NAME__ -> 47:in ;
221 17:__UG_NAME__ -> 51:in ;
222 4:__UG_NAME__ -> 58:in ;
223 5:__UG_NAME__ -> 62:in ;
224 0:__UG_NAME__ -> 70:in ;
225 1:__UG_NAME__ -> 74:in ;
226 20:__UG_NAME__ -> 32:bus ;
227 43:__UG_NAME__ -> 44:a ;
228 16:__UG_NAME__ -> 46:in ;
229 21:__UG_NAME__ -> 85:bus ;
230 79:__UG_NAME__ -> 85:signals___x____fade2___0 ;
231 84:__UG_NAME__ -> 85:signals___x____fade2___1 ;
232 33:__UG_NAME__ -> 79:ina ;
233 56:__UG_NAME__ -> 79:inb ;
234 68:__UG_NAME__ -> 79:pan ;
235 78:__UG_NAME__ -> 79:level ;
236 80:__UG_NAME__ -> 84:ina ;
237 81:__UG_NAME__ -> 84:inb ;
238 83:__UG_NAME__ -> 84:pan ;
239 78:__UG_NAME__ -> 84:level ;
240
241 }
0 digraph synthdef {
1 83 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 98 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 108 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 123 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 38 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 42 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 49 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 53 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 64 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 68 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 74 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 79 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 80 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 89 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 92 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 96 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 103 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 104 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 109 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
20 116 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 118 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 99 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
23 124 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
24 111 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
25 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 41 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 48 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 52 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 56 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 59 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 63 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 67 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 73 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 78 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 88 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 91 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 95 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 102 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 115 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 117 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 40 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 47 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 55 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 58 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 62 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 66 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 72 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 77 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 87 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 90 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 94 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 101 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 107 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 114 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 120 [label = "{{ <relax____time> relax-time|<clamp____time> clamp-time|<slope____above> slope-above|<slope____below> slope-below|<thresh> thresh|<control> control|<in> in} |<__UG_NAME__>compander }" style="filled, bold, rounded" shape=record rankdir=LR];
58 125 [label = "{{ <relax____time> relax-time|<clamp____time> clamp-time|<slope____above> slope-above|<slope____below> slope-below|<thresh> thresh|<control> control|<in> in} |<__UG_NAME__>compander }" style="filled, bold, rounded" shape=record rankdir=LR];
59 0 [label = "control
60 :amp
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 1 [label = "control
63 :amp_slide
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 2 [label = "control
66 :amp_slide_shape
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 3 [label = "control
69 :amp_slide_curve
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 4 [label = "control
72 :mix
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 5 [label = "control
75 :mix_slide
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 6 [label = "control
78 :mix_slide_shape
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 7 [label = "control
81 :mix_slide_curve
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 8 [label = "control
84 :pre_amp
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 9 [label = "control
87 :pre_amp_slide
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 10 [label = "control
90 :pre_amp_slide_shape
91 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 11 [label = "control
93 :pre_amp_slide_curve
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 12 [label = "control
96 :threshold
97 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 13 [label = "control
99 :threshold_slide
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 14 [label = "control
102 :threshold_slide_shape
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 15 [label = "control
105 :threshold_slide_curve
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 16 [label = "control
108 :clamp_time
109 default: 0.01" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 17 [label = "control
111 :clamp_time_slide
112 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 18 [label = "control
114 :clamp_time_slide_shape
115 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 19 [label = "control
117 :clamp_time_slide_curve
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 20 [label = "control
120 :slope_above
121 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 21 [label = "control
123 :slope_above_slide
124 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 22 [label = "control
126 :slope_above_slide_shape
127 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 23 [label = "control
129 :slope_above_slide_curve
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 24 [label = "control
132 :slope_below
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 25 [label = "control
135 :slope_below_slide
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 26 [label = "control
138 :slope_below_slide_shape
139 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 27 [label = "control
141 :slope_below_slide_curve
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 28 [label = "control
144 :relax_time
145 default: 0.01" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 29 [label = "control
147 :relax_time_slide
148 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 30 [label = "control
150 :relax_time_slide_shape
151 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 31 [label = "control
153 :relax_time_slide_curve
154 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 32 [label = "control
156 :in_bus
157 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 33 [label = "control
159 :out_bus
160 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 43 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
162 69 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
163 81 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
164 97 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
165 105 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
166 112 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
167 119 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
168 121 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
169 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
170 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
171 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
172 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
173 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
174 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
175 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
176 65 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
177 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
178 76 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
179 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
180 86 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
181 93 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
182 100 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
183 106 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
184 110 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
185 34 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
186 44 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
187 45 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
188 60 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
189 70 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
190 75 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
191 85 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
192 113 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
193 82 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
194 127 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
195 122 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
196 126 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
197
198 81:__UG_NAME__ -> 83:a ;
199 82:__UG_NAME__ -> 83:b ;
200 97:__UG_NAME__ -> 98:a ;
201 81:__UG_NAME__ -> 108:a ;
202 82:__UG_NAME__ -> 108:b ;
203 97:__UG_NAME__ -> 123:a ;
204 34:__UG_NAME__ -> 38:a ;
205 37:__UG_NAME__ -> 38:b ;
206 38:__UG_NAME__ -> 42:a ;
207 41:__UG_NAME__ -> 42:b ;
208 45:__UG_NAME__ -> 49:a ;
209 48:__UG_NAME__ -> 49:b ;
210 49:__UG_NAME__ -> 53:a ;
211 52:__UG_NAME__ -> 53:b ;
212 60:__UG_NAME__ -> 64:a ;
213 63:__UG_NAME__ -> 64:b ;
214 64:__UG_NAME__ -> 68:a ;
215 67:__UG_NAME__ -> 68:b ;
216 70:__UG_NAME__ -> 74:a ;
217 73:__UG_NAME__ -> 74:b ;
218 75:__UG_NAME__ -> 79:a ;
219 78:__UG_NAME__ -> 79:b ;
220 79:__UG_NAME__ -> 80:a ;
221 56:__UG_NAME__ -> 80:b ;
222 85:__UG_NAME__ -> 89:a ;
223 88:__UG_NAME__ -> 89:b ;
224 89:__UG_NAME__ -> 92:a ;
225 91:__UG_NAME__ -> 92:b ;
226 74:__UG_NAME__ -> 96:a ;
227 95:__UG_NAME__ -> 96:b ;
228 44:__UG_NAME__ -> 103:a ;
229 102:__UG_NAME__ -> 103:b ;
230 103:__UG_NAME__ -> 104:a ;
231 59:__UG_NAME__ -> 104:b ;
232 108:__UG_NAME__ -> 109:a ;
233 83:__UG_NAME__ -> 109:b ;
234 113:__UG_NAME__ -> 116:a ;
235 115:__UG_NAME__ -> 116:b ;
236 116:__UG_NAME__ -> 118:a ;
237 117:__UG_NAME__ -> 118:b ;
238 98:__UG_NAME__ -> 99:a ;
239 123:__UG_NAME__ -> 124:a ;
240 109:__UG_NAME__ -> 111:a ;
241 36:__UG_NAME__ -> 37:a ;
242 40:__UG_NAME__ -> 41:a ;
243 47:__UG_NAME__ -> 48:a ;
244 51:__UG_NAME__ -> 52:a ;
245 55:__UG_NAME__ -> 56:a ;
246 58:__UG_NAME__ -> 59:a ;
247 62:__UG_NAME__ -> 63:a ;
248 66:__UG_NAME__ -> 67:a ;
249 72:__UG_NAME__ -> 73:a ;
250 77:__UG_NAME__ -> 78:a ;
251 87:__UG_NAME__ -> 88:a ;
252 90:__UG_NAME__ -> 91:a ;
253 94:__UG_NAME__ -> 95:a ;
254 101:__UG_NAME__ -> 102:a ;
255 114:__UG_NAME__ -> 115:a ;
256 107:__UG_NAME__ -> 117:a ;
257 35:__UG_NAME__ -> 36:a ;
258 39:__UG_NAME__ -> 40:a ;
259 46:__UG_NAME__ -> 47:a ;
260 50:__UG_NAME__ -> 51:a ;
261 54:__UG_NAME__ -> 55:a ;
262 57:__UG_NAME__ -> 58:a ;
263 61:__UG_NAME__ -> 62:a ;
264 65:__UG_NAME__ -> 66:a ;
265 71:__UG_NAME__ -> 72:a ;
266 76:__UG_NAME__ -> 77:a ;
267 86:__UG_NAME__ -> 87:a ;
268 84:__UG_NAME__ -> 90:a ;
269 93:__UG_NAME__ -> 94:a ;
270 100:__UG_NAME__ -> 101:a ;
271 106:__UG_NAME__ -> 107:a ;
272 110:__UG_NAME__ -> 114:a ;
273 108:__UG_NAME__ -> 120:in ;
274 111:__UG_NAME__ -> 120:control ;
275 69:__UG_NAME__ -> 120:thresh ;
276 112:__UG_NAME__ -> 120:slope____below ;
277 43:__UG_NAME__ -> 120:slope____above ;
278 119:__UG_NAME__ -> 120:clamp____time ;
279 105:__UG_NAME__ -> 120:relax____time ;
280 83:__UG_NAME__ -> 125:in ;
281 111:__UG_NAME__ -> 125:control ;
282 69:__UG_NAME__ -> 125:thresh ;
283 112:__UG_NAME__ -> 125:slope____below ;
284 43:__UG_NAME__ -> 125:slope____above ;
285 119:__UG_NAME__ -> 125:clamp____time ;
286 105:__UG_NAME__ -> 125:relax____time ;
287 20:__UG_NAME__ -> 43:envelope___control___0 ;
288 20:__UG_NAME__ -> 43:envelope___control___4 ;
289 21:__UG_NAME__ -> 43:envelope___control___5 ;
290 22:__UG_NAME__ -> 43:envelope___control___6 ;
291 23:__UG_NAME__ -> 43:envelope___control___7 ;
292 42:__UG_NAME__ -> 43:gate ;
293 12:__UG_NAME__ -> 69:envelope___control___0 ;
294 12:__UG_NAME__ -> 69:envelope___control___4 ;
295 13:__UG_NAME__ -> 69:envelope___control___5 ;
296 14:__UG_NAME__ -> 69:envelope___control___6 ;
297 15:__UG_NAME__ -> 69:envelope___control___7 ;
298 68:__UG_NAME__ -> 69:gate ;
299 8:__UG_NAME__ -> 81:envelope___control___0 ;
300 8:__UG_NAME__ -> 81:envelope___control___4 ;
301 9:__UG_NAME__ -> 81:envelope___control___5 ;
302 10:__UG_NAME__ -> 81:envelope___control___6 ;
303 11:__UG_NAME__ -> 81:envelope___control___7 ;
304 80:__UG_NAME__ -> 81:gate ;
305 4:__UG_NAME__ -> 97:envelope___control___0 ;
306 4:__UG_NAME__ -> 97:envelope___control___4 ;
307 5:__UG_NAME__ -> 97:envelope___control___5 ;
308 6:__UG_NAME__ -> 97:envelope___control___6 ;
309 7:__UG_NAME__ -> 97:envelope___control___7 ;
310 96:__UG_NAME__ -> 97:gate ;
311 28:__UG_NAME__ -> 105:envelope___control___0 ;
312 28:__UG_NAME__ -> 105:envelope___control___4 ;
313 29:__UG_NAME__ -> 105:envelope___control___5 ;
314 30:__UG_NAME__ -> 105:envelope___control___6 ;
315 31:__UG_NAME__ -> 105:envelope___control___7 ;
316 104:__UG_NAME__ -> 105:gate ;
317 24:__UG_NAME__ -> 112:envelope___control___0 ;
318 24:__UG_NAME__ -> 112:envelope___control___4 ;
319 25:__UG_NAME__ -> 112:envelope___control___5 ;
320 26:__UG_NAME__ -> 112:envelope___control___6 ;
321 27:__UG_NAME__ -> 112:envelope___control___7 ;
322 53:__UG_NAME__ -> 112:gate ;
323 16:__UG_NAME__ -> 119:envelope___control___0 ;
324 16:__UG_NAME__ -> 119:envelope___control___4 ;
325 17:__UG_NAME__ -> 119:envelope___control___5 ;
326 18:__UG_NAME__ -> 119:envelope___control___6 ;
327 19:__UG_NAME__ -> 119:envelope___control___7 ;
328 118:__UG_NAME__ -> 119:gate ;
329 0:__UG_NAME__ -> 121:envelope___control___0 ;
330 0:__UG_NAME__ -> 121:envelope___control___4 ;
331 1:__UG_NAME__ -> 121:envelope___control___5 ;
332 2:__UG_NAME__ -> 121:envelope___control___6 ;
333 3:__UG_NAME__ -> 121:envelope___control___7 ;
334 92:__UG_NAME__ -> 121:gate ;
335 20:__UG_NAME__ -> 35:in ;
336 21:__UG_NAME__ -> 39:in ;
337 24:__UG_NAME__ -> 46:in ;
338 25:__UG_NAME__ -> 50:in ;
339 9:__UG_NAME__ -> 54:in ;
340 29:__UG_NAME__ -> 57:in ;
341 12:__UG_NAME__ -> 61:in ;
342 13:__UG_NAME__ -> 65:in ;
343 4:__UG_NAME__ -> 71:in ;
344 8:__UG_NAME__ -> 76:in ;
345 1:__UG_NAME__ -> 84:in ;
346 0:__UG_NAME__ -> 86:in ;
347 5:__UG_NAME__ -> 93:in ;
348 28:__UG_NAME__ -> 100:in ;
349 17:__UG_NAME__ -> 106:in ;
350 16:__UG_NAME__ -> 110:in ;
351 32:__UG_NAME__ -> 82:bus ;
352 33:__UG_NAME__ -> 127:bus ;
353 122:__UG_NAME__ -> 127:signals___x____fade2___0 ;
354 126:__UG_NAME__ -> 127:signals___x____fade2___1 ;
355 82:__UG_NAME__ -> 122:ina ;
356 120:__UG_NAME__ -> 122:inb ;
357 99:__UG_NAME__ -> 122:pan ;
358 121:__UG_NAME__ -> 122:level ;
359 82:__UG_NAME__ -> 126:ina ;
360 125:__UG_NAME__ -> 126:inb ;
361 124:__UG_NAME__ -> 126:pan ;
362 121:__UG_NAME__ -> 126:level ;
363
364 }
0 digraph synthdef {
1 31 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 41 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 45 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 47 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 52 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 53 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 55 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 67 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 78 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 24 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 28 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 35 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 39 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 44 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 48 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
16 56 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
17 62 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 73 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 75 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 42 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
22 68 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
23 79 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
24 43 [label = "{{ <b> |<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
25 49 [label = "{{ <b> |<a> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
26 57 [label = "{{ <b> |<a> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
27 23 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 27 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 34 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 38 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 61 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 72 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 74 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 22 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 26 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 33 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 37 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
40 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 54 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
42 60 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 71 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 0 [label = "control
46 :amp
47 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
48 1 [label = "control
49 :amp_slide
50 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
51 2 [label = "control
52 :amp_slide_shape
53 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
54 3 [label = "control
55 :amp_slide_curve
56 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
57 4 [label = "control
58 :mix
59 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
60 5 [label = "control
61 :mix_slide
62 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 6 [label = "control
64 :mix_slide_shape
65 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 7 [label = "control
67 :mix_slide_curve
68 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 8 [label = "control
70 :pre_amp
71 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 9 [label = "control
73 :pre_amp_slide
74 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 10 [label = "control
76 :pre_amp_slide_shape
77 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 11 [label = "control
79 :pre_amp_slide_curve
80 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 12 [label = "control
82 :distort
83 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 13 [label = "control
85 :distort_slide
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 14 [label = "control
88 :distort_slide_shape
89 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 15 [label = "control
91 :distort_slide_curve
92 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 16 [label = "control
94 :in_bus
95 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 17 [label = "control
97 :out_bus
98 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 29 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
100 40 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
101 66 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
102 76 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
103 18 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
104 19 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
105 21 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
106 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
107 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
108 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 20 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
112 32 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
113 58 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
114 69 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
115 30 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
116 81 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
117 77 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
118 80 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
119
120 29:__UG_NAME__ -> 31:a ;
121 30:__UG_NAME__ -> 31:b ;
122 40:__UG_NAME__ -> 41:b ;
123 31:__UG_NAME__ -> 45:a ;
124 44:__UG_NAME__ -> 45:b ;
125 43:__UG_NAME__ -> 47:a ;
126 46:__UG_NAME__ -> 47:b ;
127 29:__UG_NAME__ -> 52:a ;
128 30:__UG_NAME__ -> 52:b ;
129 52:__UG_NAME__ -> 53:a ;
130 44:__UG_NAME__ -> 53:b ;
131 43:__UG_NAME__ -> 55:a ;
132 54:__UG_NAME__ -> 55:b ;
133 66:__UG_NAME__ -> 67:a ;
134 66:__UG_NAME__ -> 78:a ;
135 20:__UG_NAME__ -> 24:a ;
136 23:__UG_NAME__ -> 24:b ;
137 24:__UG_NAME__ -> 28:a ;
138 27:__UG_NAME__ -> 28:b ;
139 32:__UG_NAME__ -> 35:a ;
140 34:__UG_NAME__ -> 35:b ;
141 35:__UG_NAME__ -> 39:a ;
142 38:__UG_NAME__ -> 39:b ;
143 43:__UG_NAME__ -> 44:b ;
144 47:__UG_NAME__ -> 48:b ;
145 55:__UG_NAME__ -> 56:b ;
146 58:__UG_NAME__ -> 62:a ;
147 61:__UG_NAME__ -> 62:b ;
148 62:__UG_NAME__ -> 65:a ;
149 64:__UG_NAME__ -> 65:b ;
150 69:__UG_NAME__ -> 73:a ;
151 72:__UG_NAME__ -> 73:b ;
152 73:__UG_NAME__ -> 75:a ;
153 74:__UG_NAME__ -> 75:b ;
154 40:__UG_NAME__ -> 42:b ;
155 67:__UG_NAME__ -> 68:a ;
156 78:__UG_NAME__ -> 79:a ;
157 41:__UG_NAME__ -> 43:a ;
158 42:__UG_NAME__ -> 43:b ;
159 45:__UG_NAME__ -> 49:a ;
160 48:__UG_NAME__ -> 49:b ;
161 53:__UG_NAME__ -> 57:a ;
162 56:__UG_NAME__ -> 57:b ;
163 22:__UG_NAME__ -> 23:a ;
164 26:__UG_NAME__ -> 27:a ;
165 33:__UG_NAME__ -> 34:a ;
166 37:__UG_NAME__ -> 38:a ;
167 60:__UG_NAME__ -> 61:a ;
168 63:__UG_NAME__ -> 64:a ;
169 71:__UG_NAME__ -> 72:a ;
170 51:__UG_NAME__ -> 74:a ;
171 21:__UG_NAME__ -> 22:a ;
172 25:__UG_NAME__ -> 26:a ;
173 18:__UG_NAME__ -> 33:a ;
174 36:__UG_NAME__ -> 37:a ;
175 31:__UG_NAME__ -> 46:a ;
176 50:__UG_NAME__ -> 51:a ;
177 52:__UG_NAME__ -> 54:a ;
178 59:__UG_NAME__ -> 60:a ;
179 19:__UG_NAME__ -> 63:a ;
180 70:__UG_NAME__ -> 71:a ;
181 8:__UG_NAME__ -> 29:envelope___control___0 ;
182 8:__UG_NAME__ -> 29:envelope___control___4 ;
183 9:__UG_NAME__ -> 29:envelope___control___5 ;
184 10:__UG_NAME__ -> 29:envelope___control___6 ;
185 11:__UG_NAME__ -> 29:envelope___control___7 ;
186 28:__UG_NAME__ -> 29:gate ;
187 12:__UG_NAME__ -> 40:envelope___control___0 ;
188 12:__UG_NAME__ -> 40:envelope___control___4 ;
189 13:__UG_NAME__ -> 40:envelope___control___5 ;
190 14:__UG_NAME__ -> 40:envelope___control___6 ;
191 15:__UG_NAME__ -> 40:envelope___control___7 ;
192 39:__UG_NAME__ -> 40:gate ;
193 4:__UG_NAME__ -> 66:envelope___control___0 ;
194 4:__UG_NAME__ -> 66:envelope___control___4 ;
195 5:__UG_NAME__ -> 66:envelope___control___5 ;
196 6:__UG_NAME__ -> 66:envelope___control___6 ;
197 7:__UG_NAME__ -> 66:envelope___control___7 ;
198 65:__UG_NAME__ -> 66:gate ;
199 0:__UG_NAME__ -> 76:envelope___control___0 ;
200 0:__UG_NAME__ -> 76:envelope___control___4 ;
201 1:__UG_NAME__ -> 76:envelope___control___5 ;
202 2:__UG_NAME__ -> 76:envelope___control___6 ;
203 3:__UG_NAME__ -> 76:envelope___control___7 ;
204 75:__UG_NAME__ -> 76:gate ;
205 12:__UG_NAME__ -> 18:in ;
206 5:__UG_NAME__ -> 19:in ;
207 8:__UG_NAME__ -> 21:in ;
208 9:__UG_NAME__ -> 25:in ;
209 13:__UG_NAME__ -> 36:in ;
210 1:__UG_NAME__ -> 50:in ;
211 4:__UG_NAME__ -> 59:in ;
212 0:__UG_NAME__ -> 70:in ;
213 16:__UG_NAME__ -> 30:bus ;
214 17:__UG_NAME__ -> 81:bus ;
215 77:__UG_NAME__ -> 81:signals___x____fade2___0 ;
216 80:__UG_NAME__ -> 81:signals___x____fade2___1 ;
217 52:__UG_NAME__ -> 77:ina ;
218 57:__UG_NAME__ -> 77:inb ;
219 68:__UG_NAME__ -> 77:pan ;
220 76:__UG_NAME__ -> 77:level ;
221 31:__UG_NAME__ -> 80:ina ;
222 49:__UG_NAME__ -> 80:inb ;
223 79:__UG_NAME__ -> 80:pan ;
224 76:__UG_NAME__ -> 80:level ;
225
226 }
0 digraph synthdef {
1 34 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 49 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 73 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 83 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 27 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 31 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 39 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 47 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 55 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 62 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
13 67 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 71 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 78 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 82 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
17 74 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
18 84 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
19 25 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 30 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 38 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 42 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 46 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 54 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 58 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 66 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 70 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 77 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 29 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 37 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 45 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 53 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 65 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 69 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 76 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 61 [label = "{{ <decay____time> decay-time|<delay____time> delay-time|<max____delay____time> max-delay-time|<in> in} |<__UG_NAME__>comb-n }" style="filled, bold, rounded" shape=record rankdir=LR];
40 81 [label = "{{ <decay____time> decay-time|<delay____time> delay-time|<max____delay____time> max-delay-time|<in> in} |<__UG_NAME__>comb-n }" style="filled, bold, rounded" shape=record rankdir=LR];
41 0 [label = "control
42 :amp
43 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 1 [label = "control
45 :amp_slide
46 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 2 [label = "control
48 :amp_slide_shape
49 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 3 [label = "control
51 :amp_slide_curve
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 4 [label = "control
54 :mix
55 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 5 [label = "control
57 :mix_slide
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 6 [label = "control
60 :mix_slide_shape
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 7 [label = "control
63 :mix_slide_curve
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 8 [label = "control
66 :pre_amp
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 9 [label = "control
69 :pre_amp_slide
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 10 [label = "control
72 :pre_amp_slide_shape
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 11 [label = "control
75 :pre_amp_slide_curve
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 12 [label = "control
78 :phase
79 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 13 [label = "control
81 :phase_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 14 [label = "control
84 :phase_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 15 [label = "control
87 :phase_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 16 [label = "control
90 :decay
91 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 17 [label = "control
93 :decay_slide
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 18 [label = "control
96 :decay_slide_shape
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 19 [label = "control
99 :decay_slide_curve
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 20 [label = "control
102 :max_phase
103 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 21 [label = "control
105 :in_bus
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 22 [label = "control
108 :out_bus
109 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 32 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
111 50 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
112 60 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
113 72 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
114 79 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
115 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
119 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
120 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
121 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
122 64 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
123 68 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
124 75 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
125 26 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
126 35 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
127 43 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
128 51 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
129 63 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
130 33 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
131 86 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
132 80 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
133 85 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
134
135 32:__UG_NAME__ -> 34:a ;
136 33:__UG_NAME__ -> 34:b ;
137 32:__UG_NAME__ -> 49:a ;
138 33:__UG_NAME__ -> 49:b ;
139 72:__UG_NAME__ -> 73:a ;
140 72:__UG_NAME__ -> 83:a ;
141 26:__UG_NAME__ -> 27:a ;
142 25:__UG_NAME__ -> 27:b ;
143 27:__UG_NAME__ -> 31:a ;
144 30:__UG_NAME__ -> 31:b ;
145 35:__UG_NAME__ -> 39:a ;
146 38:__UG_NAME__ -> 39:b ;
147 43:__UG_NAME__ -> 47:a ;
148 46:__UG_NAME__ -> 47:b ;
149 47:__UG_NAME__ -> 48:a ;
150 42:__UG_NAME__ -> 48:b ;
151 51:__UG_NAME__ -> 55:a ;
152 54:__UG_NAME__ -> 55:b ;
153 55:__UG_NAME__ -> 59:a ;
154 58:__UG_NAME__ -> 59:b ;
155 49:__UG_NAME__ -> 62:a ;
156 61:__UG_NAME__ -> 62:b ;
157 63:__UG_NAME__ -> 67:a ;
158 66:__UG_NAME__ -> 67:b ;
159 67:__UG_NAME__ -> 71:a ;
160 70:__UG_NAME__ -> 71:b ;
161 39:__UG_NAME__ -> 78:a ;
162 77:__UG_NAME__ -> 78:b ;
163 34:__UG_NAME__ -> 82:a ;
164 81:__UG_NAME__ -> 82:b ;
165 73:__UG_NAME__ -> 74:a ;
166 83:__UG_NAME__ -> 84:a ;
167 24:__UG_NAME__ -> 25:a ;
168 29:__UG_NAME__ -> 30:a ;
169 37:__UG_NAME__ -> 38:a ;
170 41:__UG_NAME__ -> 42:a ;
171 45:__UG_NAME__ -> 46:a ;
172 53:__UG_NAME__ -> 54:a ;
173 57:__UG_NAME__ -> 58:a ;
174 65:__UG_NAME__ -> 66:a ;
175 69:__UG_NAME__ -> 70:a ;
176 76:__UG_NAME__ -> 77:a ;
177 23:__UG_NAME__ -> 24:a ;
178 28:__UG_NAME__ -> 29:a ;
179 36:__UG_NAME__ -> 37:a ;
180 40:__UG_NAME__ -> 41:a ;
181 44:__UG_NAME__ -> 45:a ;
182 52:__UG_NAME__ -> 53:a ;
183 56:__UG_NAME__ -> 57:a ;
184 64:__UG_NAME__ -> 65:a ;
185 68:__UG_NAME__ -> 69:a ;
186 75:__UG_NAME__ -> 76:a ;
187 49:__UG_NAME__ -> 61:in ;
188 20:__UG_NAME__ -> 61:max____delay____time ;
189 50:__UG_NAME__ -> 61:delay____time ;
190 60:__UG_NAME__ -> 61:decay____time ;
191 34:__UG_NAME__ -> 81:in ;
192 20:__UG_NAME__ -> 81:max____delay____time ;
193 50:__UG_NAME__ -> 81:delay____time ;
194 60:__UG_NAME__ -> 81:decay____time ;
195 8:__UG_NAME__ -> 32:envelope___control___0 ;
196 8:__UG_NAME__ -> 32:envelope___control___4 ;
197 9:__UG_NAME__ -> 32:envelope___control___5 ;
198 10:__UG_NAME__ -> 32:envelope___control___6 ;
199 11:__UG_NAME__ -> 32:envelope___control___7 ;
200 31:__UG_NAME__ -> 32:gate ;
201 12:__UG_NAME__ -> 50:envelope___control___0 ;
202 12:__UG_NAME__ -> 50:envelope___control___4 ;
203 13:__UG_NAME__ -> 50:envelope___control___5 ;
204 14:__UG_NAME__ -> 50:envelope___control___6 ;
205 15:__UG_NAME__ -> 50:envelope___control___7 ;
206 48:__UG_NAME__ -> 50:gate ;
207 16:__UG_NAME__ -> 60:envelope___control___0 ;
208 16:__UG_NAME__ -> 60:envelope___control___4 ;
209 17:__UG_NAME__ -> 60:envelope___control___5 ;
210 18:__UG_NAME__ -> 60:envelope___control___6 ;
211 19:__UG_NAME__ -> 60:envelope___control___7 ;
212 59:__UG_NAME__ -> 60:gate ;
213 4:__UG_NAME__ -> 72:envelope___control___0 ;
214 4:__UG_NAME__ -> 72:envelope___control___4 ;
215 5:__UG_NAME__ -> 72:envelope___control___5 ;
216 6:__UG_NAME__ -> 72:envelope___control___6 ;
217 7:__UG_NAME__ -> 72:envelope___control___7 ;
218 71:__UG_NAME__ -> 72:gate ;
219 0:__UG_NAME__ -> 79:envelope___control___0 ;
220 0:__UG_NAME__ -> 79:envelope___control___4 ;
221 1:__UG_NAME__ -> 79:envelope___control___5 ;
222 2:__UG_NAME__ -> 79:envelope___control___6 ;
223 3:__UG_NAME__ -> 79:envelope___control___7 ;
224 78:__UG_NAME__ -> 79:gate ;
225 8:__UG_NAME__ -> 23:in ;
226 9:__UG_NAME__ -> 28:in ;
227 0:__UG_NAME__ -> 36:in ;
228 13:__UG_NAME__ -> 40:in ;
229 12:__UG_NAME__ -> 44:in ;
230 16:__UG_NAME__ -> 52:in ;
231 17:__UG_NAME__ -> 56:in ;
232 4:__UG_NAME__ -> 64:in ;
233 5:__UG_NAME__ -> 68:in ;
234 1:__UG_NAME__ -> 75:in ;
235 21:__UG_NAME__ -> 33:bus ;
236 22:__UG_NAME__ -> 86:bus ;
237 80:__UG_NAME__ -> 86:signals___x____fade2___0 ;
238 85:__UG_NAME__ -> 86:signals___x____fade2___1 ;
239 49:__UG_NAME__ -> 80:ina ;
240 62:__UG_NAME__ -> 80:inb ;
241 74:__UG_NAME__ -> 80:pan ;
242 79:__UG_NAME__ -> 80:level ;
243 34:__UG_NAME__ -> 85:ina ;
244 82:__UG_NAME__ -> 85:inb ;
245 84:__UG_NAME__ -> 85:pan ;
246 79:__UG_NAME__ -> 85:level ;
247
248 }
0 digraph synthdef {
1 56 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 58 [label = "{{ <b> |<a> -2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 71 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 74 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 88 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 91 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 103 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 108 [label = "{{ <b> 6.2831855|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 154 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
10 156 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 159 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
12 160 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
13 181 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
14 182 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
15 188 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
16 49 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 53 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 59 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 69 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 75 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
22 81 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 85 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 89 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 96 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 100 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 105 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 107 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 110 [label = "{{ <b> 0.5|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 113 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 123 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 126 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 133 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 137 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
35 146 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
36 150 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
37 155 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
38 161 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
39 175 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
40 179 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
41 186 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
42 189 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
43 192 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
44 73 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
45 104 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
46 115 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
47 117 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
48 158 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
49 183 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
50 194 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
51 76 [label = "{{ <b> 1000.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
52 87 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
53 114 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
54 128 [label = "{{ <b> 1000.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
55 139 [label = "{{ <b> 1000.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
56 152 [label = "{{ <b> 1000.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
57 162 [label = "{{ <b> 1000.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
58 163 [label = "{{ <b> 1000.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
59 164 [label = "{{ <b> 1000.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
60 167 [label = "{{ <b> 1000.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
61 198 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
62 48 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
63 52 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
64 57 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
65 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
66 68 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
67 80 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
68 84 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
69 95 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
70 99 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
71 122 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
72 125 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
73 132 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
74 136 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
75 145 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
76 149 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
77 174 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
78 178 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
79 185 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
80 191 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
81 47 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
82 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
83 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
84 67 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
85 79 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
86 83 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
87 94 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
88 98 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
89 121 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
90 124 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
91 131 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
92 135 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
93 144 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
94 148 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
95 170 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
96 173 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
97 177 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
98 190 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
99 153 [label = "{{ <decay____time> decay-time|<delay____time> delay-time|<max____delay____time> max-delay-time|<in> in} |<__UG_NAME__>allpass-c }" style="filled, bold, rounded" shape=record rankdir=LR];
100 168 [label = "{{ <decay____time> decay-time|<delay____time> delay-time|<max____delay____time> max-delay-time|<in> in} |<__UG_NAME__>allpass-c }" style="filled, bold, rounded" shape=record rankdir=LR];
101 0 [label = "control
102 :amp
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 1 [label = "control
105 :amp_slide
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 2 [label = "control
108 :amp_slide_shape
109 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 3 [label = "control
111 :amp_slide_curve
112 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 4 [label = "control
114 :mix
115 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 5 [label = "control
117 :mix_slide
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 6 [label = "control
120 :mix_slide_shape
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 7 [label = "control
123 :mix_slide_curve
124 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 8 [label = "control
126 :pre_amp
127 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 9 [label = "control
129 :pre_amp_slide
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 10 [label = "control
132 :pre_amp_slide_shape
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 11 [label = "control
135 :pre_amp_slide_curve
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 12 [label = "control
138 :phase
139 default: 4.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 13 [label = "control
141 :phase_slide
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 14 [label = "control
144 :phase_slide_shape
145 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 15 [label = "control
147 :phase_slide_curve
148 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 16 [label = "control
150 :phase_offset
151 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 17 [label = "control
153 :wave
154 default: 4.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 18 [label = "control
156 :invert_wave
157 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 19 [label = "control
159 :stereo_invert_wave
160 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 20 [label = "control
162 :pulse_width
163 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 21 [label = "control
165 :pulse_width_slide
166 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
167 22 [label = "control
168 :pulse_width_slide_shape
169 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
170 23 [label = "control
171 :pulse_width_slide_curve
172 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
173 24 [label = "control
174 :delay
175 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
176 25 [label = "control
177 :delay_slide
178 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
179 26 [label = "control
180 :delay_slide_shape
181 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
182 27 [label = "control
183 :delay_slide_curve
184 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
185 28 [label = "control
186 :max_delay
187 default: 20.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
188 29 [label = "control
189 :depth
190 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
191 30 [label = "control
192 :depth_slide
193 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
194 31 [label = "control
195 :depth_slide_shape
196 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
197 32 [label = "control
198 :depth_slide_curve
199 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
200 33 [label = "control
201 :feedback
202 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
203 34 [label = "control
204 :feedback_slide
205 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
206 35 [label = "control
207 :feedback_slide_shape
208 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
209 36 [label = "control
210 :feedback_slide_curve
211 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
212 37 [label = "control
213 :decay
214 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
215 38 [label = "control
216 :decay_slide
217 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
218 39 [label = "control
219 :decay_slide_shape
220 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
221 40 [label = "control
222 :decay_slide_curve
223 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
224 41 [label = "control
225 :invert_flange
226 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
227 42 [label = "control
228 :in_bus
229 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
230 43 [label = "control
231 :out_bus
232 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
233 54 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
234 70 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
235 86 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
236 101 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
237 127 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
238 138 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
239 151 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
240 180 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
241 193 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
242 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
243 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
244 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
245 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
246 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
247 78 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
248 82 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
249 93 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
250 97 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
251 120 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
252 130 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
253 134 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
254 143 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
255 147 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
256 169 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
257 172 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
258 176 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
259 187 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
260 45 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
261 61 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
262 77 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
263 92 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
264 119 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
265 129 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
266 142 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
267 171 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
268 184 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
269 55 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
270 111 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-cub }" style="bold, rounded" shape=record rankdir=LR];
271 102 [label = "{{ <width> width|<iphase> iphase|<freq> freq} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
272 90 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
273 106 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
274 72 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>limiter }" style="filled, bold, rounded" shape=record rankdir=LR];
275 157 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>limiter }" style="filled, bold, rounded" shape=record rankdir=LR];
276 60 [label = "{{ <num____channels> num-channels 2} |<__UG_NAME__>local-in }" style="filled, bold, rounded" shape=record rankdir=LR];
277 199 [label = "{{ {{<channels____array___binary____op____u____gen___0>|<channels____array___binary____op____u____gen___1>}|channels-array}} |<__UG_NAME__>local-out }" style="filled, bold, rounded" shape=record rankdir=LR];
278 141 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>max }" style="bold, rounded" shape=record rankdir=LR];
279 166 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>max }" style="bold, rounded" shape=record rankdir=LR];
280 140 [label = "{{ <add> add|<mul> mul|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
281 165 [label = "{{ <add> add|<mul> mul|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
282 197 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
283 112 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>|<array___lf____cub___4>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
284 116 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
285 118 [label = "{{ {{<array___select___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
286 109 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase|<freq> freq} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
287 195 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
288 196 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
289
290 54:__UG_NAME__ -> 56:a ;
291 55:__UG_NAME__ -> 56:b ;
292 57:__UG_NAME__ -> 58:b ;
293 60:__UG_NAME__ -> 71:a ;
294 70:__UG_NAME__ -> 71:b ;
295 73:__UG_NAME__ -> 74:a ;
296 56:__UG_NAME__ -> 74:b ;
297 16:__UG_NAME__ -> 88:b ;
298 90:__UG_NAME__ -> 91:b ;
299 102:__UG_NAME__ -> 103:b ;
300 107:__UG_NAME__ -> 108:a ;
301 59:__UG_NAME__ -> 154:a ;
302 153:__UG_NAME__ -> 154:b ;
303 60:__UG_NAME__ -> 156:a ;
304 70:__UG_NAME__ -> 156:b ;
305 54:__UG_NAME__ -> 159:a ;
306 55:__UG_NAME__ -> 159:b ;
307 158:__UG_NAME__ -> 160:a ;
308 159:__UG_NAME__ -> 160:b ;
309 180:__UG_NAME__ -> 181:a ;
310 180:__UG_NAME__ -> 182:a ;
311 59:__UG_NAME__ -> 188:a ;
312 168:__UG_NAME__ -> 188:b ;
313 45:__UG_NAME__ -> 49:a ;
314 48:__UG_NAME__ -> 49:b ;
315 49:__UG_NAME__ -> 53:a ;
316 52:__UG_NAME__ -> 53:b ;
317 58:__UG_NAME__ -> 59:a ;
318 61:__UG_NAME__ -> 65:a ;
319 64:__UG_NAME__ -> 65:b ;
320 65:__UG_NAME__ -> 69:a ;
321 68:__UG_NAME__ -> 69:b ;
322 72:__UG_NAME__ -> 75:a ;
323 74:__UG_NAME__ -> 75:b ;
324 77:__UG_NAME__ -> 81:a ;
325 80:__UG_NAME__ -> 81:b ;
326 81:__UG_NAME__ -> 85:a ;
327 84:__UG_NAME__ -> 85:b ;
328 88:__UG_NAME__ -> 89:a ;
329 92:__UG_NAME__ -> 96:a ;
330 95:__UG_NAME__ -> 96:b ;
331 96:__UG_NAME__ -> 100:a ;
332 99:__UG_NAME__ -> 100:b ;
333 88:__UG_NAME__ -> 105:a ;
334 16:__UG_NAME__ -> 107:a ;
335 16:__UG_NAME__ -> 110:a ;
336 112:__UG_NAME__ -> 113:a ;
337 119:__UG_NAME__ -> 123:a ;
338 122:__UG_NAME__ -> 123:b ;
339 123:__UG_NAME__ -> 126:a ;
340 125:__UG_NAME__ -> 126:b ;
341 129:__UG_NAME__ -> 133:a ;
342 132:__UG_NAME__ -> 133:b ;
343 133:__UG_NAME__ -> 137:a ;
344 136:__UG_NAME__ -> 137:b ;
345 142:__UG_NAME__ -> 146:a ;
346 145:__UG_NAME__ -> 146:b ;
347 146:__UG_NAME__ -> 150:a ;
348 149:__UG_NAME__ -> 150:b ;
349 56:__UG_NAME__ -> 155:a ;
350 154:__UG_NAME__ -> 155:b ;
351 157:__UG_NAME__ -> 161:a ;
352 160:__UG_NAME__ -> 161:b ;
353 171:__UG_NAME__ -> 175:a ;
354 174:__UG_NAME__ -> 175:b ;
355 175:__UG_NAME__ -> 179:a ;
356 178:__UG_NAME__ -> 179:b ;
357 184:__UG_NAME__ -> 186:a ;
358 185:__UG_NAME__ -> 186:b ;
359 159:__UG_NAME__ -> 189:a ;
360 188:__UG_NAME__ -> 189:b ;
361 186:__UG_NAME__ -> 192:a ;
362 191:__UG_NAME__ -> 192:b ;
363 70:__UG_NAME__ -> 73:b ;
364 103:__UG_NAME__ -> 104:a ;
365 114:__UG_NAME__ -> 115:b ;
366 116:__UG_NAME__ -> 117:b ;
367 70:__UG_NAME__ -> 158:b ;
368 182:__UG_NAME__ -> 183:a ;
369 181:__UG_NAME__ -> 194:a ;
370 28:__UG_NAME__ -> 76:a ;
371 86:__UG_NAME__ -> 87:b ;
372 113:__UG_NAME__ -> 114:a ;
373 127:__UG_NAME__ -> 128:a ;
374 138:__UG_NAME__ -> 139:a ;
375 151:__UG_NAME__ -> 152:a ;
376 28:__UG_NAME__ -> 162:a ;
377 127:__UG_NAME__ -> 163:a ;
378 138:__UG_NAME__ -> 164:a ;
379 151:__UG_NAME__ -> 167:a ;
380 86:__UG_NAME__ -> 198:b ;
381 47:__UG_NAME__ -> 48:a ;
382 51:__UG_NAME__ -> 52:a ;
383 41:__UG_NAME__ -> 57:a ;
384 63:__UG_NAME__ -> 64:a ;
385 67:__UG_NAME__ -> 68:a ;
386 79:__UG_NAME__ -> 80:a ;
387 83:__UG_NAME__ -> 84:a ;
388 94:__UG_NAME__ -> 95:a ;
389 98:__UG_NAME__ -> 99:a ;
390 121:__UG_NAME__ -> 122:a ;
391 124:__UG_NAME__ -> 125:a ;
392 131:__UG_NAME__ -> 132:a ;
393 135:__UG_NAME__ -> 136:a ;
394 144:__UG_NAME__ -> 145:a ;
395 148:__UG_NAME__ -> 149:a ;
396 173:__UG_NAME__ -> 174:a ;
397 177:__UG_NAME__ -> 178:a ;
398 170:__UG_NAME__ -> 185:a ;
399 190:__UG_NAME__ -> 191:a ;
400 46:__UG_NAME__ -> 47:a ;
401 50:__UG_NAME__ -> 51:a ;
402 62:__UG_NAME__ -> 63:a ;
403 66:__UG_NAME__ -> 67:a ;
404 78:__UG_NAME__ -> 79:a ;
405 82:__UG_NAME__ -> 83:a ;
406 93:__UG_NAME__ -> 94:a ;
407 97:__UG_NAME__ -> 98:a ;
408 120:__UG_NAME__ -> 121:a ;
409 44:__UG_NAME__ -> 124:a ;
410 130:__UG_NAME__ -> 131:a ;
411 134:__UG_NAME__ -> 135:a ;
412 143:__UG_NAME__ -> 144:a ;
413 147:__UG_NAME__ -> 148:a ;
414 169:__UG_NAME__ -> 170:a ;
415 172:__UG_NAME__ -> 173:a ;
416 176:__UG_NAME__ -> 177:a ;
417 187:__UG_NAME__ -> 190:a ;
418 75:__UG_NAME__ -> 153:in ;
419 76:__UG_NAME__ -> 153:max____delay____time ;
420 141:__UG_NAME__ -> 153:delay____time ;
421 152:__UG_NAME__ -> 153:decay____time ;
422 161:__UG_NAME__ -> 168:in ;
423 162:__UG_NAME__ -> 168:max____delay____time ;
424 166:__UG_NAME__ -> 168:delay____time ;
425 167:__UG_NAME__ -> 168:decay____time ;
426 8:__UG_NAME__ -> 54:envelope___control___0 ;
427 8:__UG_NAME__ -> 54:envelope___control___4 ;
428 9:__UG_NAME__ -> 54:envelope___control___5 ;
429 10:__UG_NAME__ -> 54:envelope___control___6 ;
430 11:__UG_NAME__ -> 54:envelope___control___7 ;
431 53:__UG_NAME__ -> 54:gate ;
432 33:__UG_NAME__ -> 70:envelope___control___0 ;
433 33:__UG_NAME__ -> 70:envelope___control___4 ;
434 34:__UG_NAME__ -> 70:envelope___control___5 ;
435 35:__UG_NAME__ -> 70:envelope___control___6 ;
436 36:__UG_NAME__ -> 70:envelope___control___7 ;
437 69:__UG_NAME__ -> 70:gate ;
438 12:__UG_NAME__ -> 86:envelope___control___0 ;
439 12:__UG_NAME__ -> 86:envelope___control___4 ;
440 13:__UG_NAME__ -> 86:envelope___control___5 ;
441 14:__UG_NAME__ -> 86:envelope___control___6 ;
442 15:__UG_NAME__ -> 86:envelope___control___7 ;
443 85:__UG_NAME__ -> 86:gate ;
444 20:__UG_NAME__ -> 101:envelope___control___0 ;
445 20:__UG_NAME__ -> 101:envelope___control___4 ;
446 21:__UG_NAME__ -> 101:envelope___control___5 ;
447 22:__UG_NAME__ -> 101:envelope___control___6 ;
448 23:__UG_NAME__ -> 101:envelope___control___7 ;
449 100:__UG_NAME__ -> 101:gate ;
450 29:__UG_NAME__ -> 127:envelope___control___0 ;
451 29:__UG_NAME__ -> 127:envelope___control___4 ;
452 30:__UG_NAME__ -> 127:envelope___control___5 ;
453 31:__UG_NAME__ -> 127:envelope___control___6 ;
454 32:__UG_NAME__ -> 127:envelope___control___7 ;
455 126:__UG_NAME__ -> 127:gate ;
456 24:__UG_NAME__ -> 138:envelope___control___0 ;
457 24:__UG_NAME__ -> 138:envelope___control___4 ;
458 25:__UG_NAME__ -> 138:envelope___control___5 ;
459 26:__UG_NAME__ -> 138:envelope___control___6 ;
460 27:__UG_NAME__ -> 138:envelope___control___7 ;
461 137:__UG_NAME__ -> 138:gate ;
462 37:__UG_NAME__ -> 151:envelope___control___0 ;
463 37:__UG_NAME__ -> 151:envelope___control___4 ;
464 38:__UG_NAME__ -> 151:envelope___control___5 ;
465 39:__UG_NAME__ -> 151:envelope___control___6 ;
466 40:__UG_NAME__ -> 151:envelope___control___7 ;
467 150:__UG_NAME__ -> 151:gate ;
468 4:__UG_NAME__ -> 180:envelope___control___0 ;
469 4:__UG_NAME__ -> 180:envelope___control___4 ;
470 5:__UG_NAME__ -> 180:envelope___control___5 ;
471 6:__UG_NAME__ -> 180:envelope___control___6 ;
472 7:__UG_NAME__ -> 180:envelope___control___7 ;
473 179:__UG_NAME__ -> 180:gate ;
474 0:__UG_NAME__ -> 193:envelope___control___0 ;
475 0:__UG_NAME__ -> 193:envelope___control___4 ;
476 1:__UG_NAME__ -> 193:envelope___control___5 ;
477 2:__UG_NAME__ -> 193:envelope___control___6 ;
478 3:__UG_NAME__ -> 193:envelope___control___7 ;
479 192:__UG_NAME__ -> 193:gate ;
480 30:__UG_NAME__ -> 44:in ;
481 8:__UG_NAME__ -> 46:in ;
482 9:__UG_NAME__ -> 50:in ;
483 33:__UG_NAME__ -> 62:in ;
484 34:__UG_NAME__ -> 66:in ;
485 12:__UG_NAME__ -> 78:in ;
486 13:__UG_NAME__ -> 82:in ;
487 20:__UG_NAME__ -> 93:in ;
488 21:__UG_NAME__ -> 97:in ;
489 29:__UG_NAME__ -> 120:in ;
490 24:__UG_NAME__ -> 130:in ;
491 25:__UG_NAME__ -> 134:in ;
492 37:__UG_NAME__ -> 143:in ;
493 38:__UG_NAME__ -> 147:in ;
494 0:__UG_NAME__ -> 169:in ;
495 4:__UG_NAME__ -> 172:in ;
496 5:__UG_NAME__ -> 176:in ;
497 1:__UG_NAME__ -> 187:in ;
498 42:__UG_NAME__ -> 55:bus ;
499 87:__UG_NAME__ -> 111:freq ;
500 110:__UG_NAME__ -> 111:iphase ;
501 87:__UG_NAME__ -> 102:freq ;
502 16:__UG_NAME__ -> 102:iphase ;
503 101:__UG_NAME__ -> 102:width ;
504 87:__UG_NAME__ -> 90:freq ;
505 89:__UG_NAME__ -> 90:iphase ;
506 87:__UG_NAME__ -> 106:freq ;
507 105:__UG_NAME__ -> 106:iphase ;
508 71:__UG_NAME__ -> 72:in ;
509 156:__UG_NAME__ -> 157:in ;
510 155:__UG_NAME__ -> 199:channels____array___binary____op____u____gen___0 ;
511 189:__UG_NAME__ -> 199:channels____array___binary____op____u____gen___1 ;
512 140:__UG_NAME__ -> 141:a ;
513 165:__UG_NAME__ -> 166:a ;
514 118:__UG_NAME__ -> 140:in ;
515 128:__UG_NAME__ -> 140:mul ;
516 139:__UG_NAME__ -> 140:add ;
517 116:__UG_NAME__ -> 165:in ;
518 163:__UG_NAME__ -> 165:mul ;
519 164:__UG_NAME__ -> 165:add ;
520 43:__UG_NAME__ -> 197:bus ;
521 195:__UG_NAME__ -> 197:signals___x____fade2___0 ;
522 196:__UG_NAME__ -> 197:signals___x____fade2___1 ;
523 17:__UG_NAME__ -> 112:which ;
524 91:__UG_NAME__ -> 112:array___binary____op____u____gen___0 ;
525 104:__UG_NAME__ -> 112:array___binary____op____u____gen___1 ;
526 106:__UG_NAME__ -> 112:array___lf____tri___2 ;
527 109:__UG_NAME__ -> 112:array___sin____osc___3 ;
528 111:__UG_NAME__ -> 112:array___lf____cub___4 ;
529 18:__UG_NAME__ -> 116:which ;
530 114:__UG_NAME__ -> 116:array___binary____op____u____gen___0 ;
531 115:__UG_NAME__ -> 116:array___binary____op____u____gen___1 ;
532 19:__UG_NAME__ -> 118:which ;
533 116:__UG_NAME__ -> 118:array___select___0 ;
534 117:__UG_NAME__ -> 118:array___binary____op____u____gen___1 ;
535 87:__UG_NAME__ -> 109:freq ;
536 108:__UG_NAME__ -> 109:phase ;
537 56:__UG_NAME__ -> 195:ina ;
538 155:__UG_NAME__ -> 195:inb ;
539 194:__UG_NAME__ -> 195:pan ;
540 193:__UG_NAME__ -> 195:level ;
541 159:__UG_NAME__ -> 196:ina ;
542 189:__UG_NAME__ -> 196:inb ;
543 183:__UG_NAME__ -> 196:pan ;
544 193:__UG_NAME__ -> 196:level ;
545
546 }
0 digraph synthdef {
1 56 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 91 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 113 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 115 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 116 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 118 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 119 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 122 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 39 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 43 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 49 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 53 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 71 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 75 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 81 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 85 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 88 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="dashed, rounded" shape=record rankdir=LR];
20 97 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 101 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 107 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 111 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 114 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
25 124 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
26 87 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
27 38 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 42 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 48 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 52 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 60 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 70 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 74 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 80 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 84 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 96 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 100 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 106 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 110 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 37 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 47 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 59 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 69 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 73 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 79 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 83 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 95 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 99 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 105 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 109 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 0 [label = "control
56 :room
57 default: 10" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
58 1 [label = "control
59 :max_room
60 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
61 2 [label = "control
62 :release
63 default: 3" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
64 3 [label = "control
65 :ref_level
66 default: 0.7" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
67 4 [label = "control
68 :tail_level
69 default: 0.5" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
70 5 [label = "control
71 :amp
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 6 [label = "control
74 :amp_slide
75 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 7 [label = "control
77 :amp_slide_shape
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 8 [label = "control
80 :amp_slide_curve
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 9 [label = "control
83 :mix
84 default: 0.4" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 10 [label = "control
86 :mix_slide
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 11 [label = "control
89 :mix_slide_shape
90 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 12 [label = "control
92 :mix_slide_curve
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 13 [label = "control
95 :pre_amp
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 14 [label = "control
98 :pre_amp_slide
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 15 [label = "control
101 :pre_amp_slide_shape
102 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 16 [label = "control
104 :pre_amp_slide_curve
105 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 17 [label = "control
107 :spread
108 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 18 [label = "control
110 :spread_slide
111 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 19 [label = "control
113 :spread_slide_shape
114 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 20 [label = "control
116 :spread_slide_curve
117 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 21 [label = "control
119 :damp
120 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 22 [label = "control
122 :damp_slide
123 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 23 [label = "control
125 :damp_slide_shape
126 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 24 [label = "control
128 :damp_slide_curve
129 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 25 [label = "control
131 :pre_damp
132 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 26 [label = "control
134 :pre_damp_slide
135 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 27 [label = "control
137 :pre_damp_slide_shape
138 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 28 [label = "control
140 :pre_damp_slide_curve
141 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
142 29 [label = "control
143 :dry
144 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
145 30 [label = "control
146 :dry_slide
147 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
148 31 [label = "control
149 :dry_slide_shape
150 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
151 32 [label = "control
152 :dry_slide_curve
153 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
154 33 [label = "control
155 :in_bus
156 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
157 34 [label = "control
158 :out_bus
159 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
160 44 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
161 54 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
162 66 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
163 76 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
164 86 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
165 102 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
166 112 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
167 90 [label = "{{ <in> in|<taillevel> taillevel|<earlyreflevel> earlyreflevel|<roomsize> roomsize|<damping> damping|<inputbw> inputbw|<maxroomsize> maxroomsize|<revtime> revtime|<spread> spread 0.0|<drylevel> drylevel} |<__UG_NAME__>g-verb }" style="filled, bold, rounded" shape=record rankdir=LR];
168 117 [label = "{{ <in> in|<taillevel> taillevel|<earlyreflevel> earlyreflevel|<roomsize> roomsize|<damping> damping|<inputbw> inputbw|<maxroomsize> maxroomsize|<revtime> revtime|<spread> spread 0.0|<drylevel> drylevel} |<__UG_NAME__>g-verb }" style="filled, bold, rounded" shape=record rankdir=LR];
169 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
170 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
171 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
172 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
173 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
174 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
175 68 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
176 72 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
177 78 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
178 82 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
179 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
180 98 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
181 104 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
182 108 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
183 35 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
184 45 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
185 57 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
186 67 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
187 77 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
188 92 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
189 93 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
190 55 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
191 103 [label = "{{ <add> add -1.0|<mul> mul 1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
192 126 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
193 89 [label = "{{ {{<array___control___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
194 120 [label = "{{ <level> level 1.0|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
195 121 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
196 123 [label = "{{ <level> level 1.0|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
197 125 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
198
199 54:__UG_NAME__ -> 56:a ;
200 55:__UG_NAME__ -> 56:b ;
201 44:__UG_NAME__ -> 91:a ;
202 90:__UG_NAME__ -> 91:b ;
203 112:__UG_NAME__ -> 113:a ;
204 112:__UG_NAME__ -> 115:a ;
205 54:__UG_NAME__ -> 116:a ;
206 55:__UG_NAME__ -> 116:b ;
207 44:__UG_NAME__ -> 118:a ;
208 90:__UG_NAME__ -> 118:b ;
209 44:__UG_NAME__ -> 119:a ;
210 117:__UG_NAME__ -> 119:b ;
211 44:__UG_NAME__ -> 122:a ;
212 117:__UG_NAME__ -> 122:b ;
213 35:__UG_NAME__ -> 39:a ;
214 38:__UG_NAME__ -> 39:b ;
215 39:__UG_NAME__ -> 43:a ;
216 42:__UG_NAME__ -> 43:b ;
217 45:__UG_NAME__ -> 49:a ;
218 48:__UG_NAME__ -> 49:b ;
219 49:__UG_NAME__ -> 53:a ;
220 52:__UG_NAME__ -> 53:b ;
221 57:__UG_NAME__ -> 61:a ;
222 60:__UG_NAME__ -> 61:b ;
223 61:__UG_NAME__ -> 65:a ;
224 64:__UG_NAME__ -> 65:b ;
225 67:__UG_NAME__ -> 71:a ;
226 70:__UG_NAME__ -> 71:b ;
227 71:__UG_NAME__ -> 75:a ;
228 74:__UG_NAME__ -> 75:b ;
229 77:__UG_NAME__ -> 81:a ;
230 80:__UG_NAME__ -> 81:b ;
231 81:__UG_NAME__ -> 85:a ;
232 84:__UG_NAME__ -> 85:b ;
233 0:__UG_NAME__ -> 88:a ;
234 93:__UG_NAME__ -> 97:a ;
235 96:__UG_NAME__ -> 97:b ;
236 97:__UG_NAME__ -> 101:a ;
237 100:__UG_NAME__ -> 101:b ;
238 92:__UG_NAME__ -> 107:a ;
239 106:__UG_NAME__ -> 107:b ;
240 107:__UG_NAME__ -> 111:a ;
241 110:__UG_NAME__ -> 111:b ;
242 113:__UG_NAME__ -> 114:a ;
243 115:__UG_NAME__ -> 124:a ;
244 1:__UG_NAME__ -> 87:b ;
245 37:__UG_NAME__ -> 38:a ;
246 41:__UG_NAME__ -> 42:a ;
247 47:__UG_NAME__ -> 48:a ;
248 51:__UG_NAME__ -> 52:a ;
249 59:__UG_NAME__ -> 60:a ;
250 63:__UG_NAME__ -> 64:a ;
251 69:__UG_NAME__ -> 70:a ;
252 73:__UG_NAME__ -> 74:a ;
253 79:__UG_NAME__ -> 80:a ;
254 83:__UG_NAME__ -> 84:a ;
255 95:__UG_NAME__ -> 96:a ;
256 99:__UG_NAME__ -> 100:a ;
257 105:__UG_NAME__ -> 106:a ;
258 109:__UG_NAME__ -> 110:a ;
259 36:__UG_NAME__ -> 37:a ;
260 40:__UG_NAME__ -> 41:a ;
261 46:__UG_NAME__ -> 47:a ;
262 50:__UG_NAME__ -> 51:a ;
263 58:__UG_NAME__ -> 59:a ;
264 62:__UG_NAME__ -> 63:a ;
265 68:__UG_NAME__ -> 69:a ;
266 72:__UG_NAME__ -> 73:a ;
267 78:__UG_NAME__ -> 79:a ;
268 82:__UG_NAME__ -> 83:a ;
269 94:__UG_NAME__ -> 95:a ;
270 98:__UG_NAME__ -> 99:a ;
271 104:__UG_NAME__ -> 105:a ;
272 108:__UG_NAME__ -> 109:a ;
273 5:__UG_NAME__ -> 44:envelope___control___0 ;
274 5:__UG_NAME__ -> 44:envelope___control___4 ;
275 6:__UG_NAME__ -> 44:envelope___control___5 ;
276 7:__UG_NAME__ -> 44:envelope___control___6 ;
277 8:__UG_NAME__ -> 44:envelope___control___7 ;
278 43:__UG_NAME__ -> 44:gate ;
279 13:__UG_NAME__ -> 54:envelope___control___0 ;
280 13:__UG_NAME__ -> 54:envelope___control___4 ;
281 14:__UG_NAME__ -> 54:envelope___control___5 ;
282 15:__UG_NAME__ -> 54:envelope___control___6 ;
283 16:__UG_NAME__ -> 54:envelope___control___7 ;
284 53:__UG_NAME__ -> 54:gate ;
285 21:__UG_NAME__ -> 66:envelope___control___0 ;
286 21:__UG_NAME__ -> 66:envelope___control___4 ;
287 22:__UG_NAME__ -> 66:envelope___control___5 ;
288 23:__UG_NAME__ -> 66:envelope___control___6 ;
289 24:__UG_NAME__ -> 66:envelope___control___7 ;
290 65:__UG_NAME__ -> 66:gate ;
291 25:__UG_NAME__ -> 76:envelope___control___0 ;
292 25:__UG_NAME__ -> 76:envelope___control___4 ;
293 26:__UG_NAME__ -> 76:envelope___control___5 ;
294 27:__UG_NAME__ -> 76:envelope___control___6 ;
295 28:__UG_NAME__ -> 76:envelope___control___7 ;
296 75:__UG_NAME__ -> 76:gate ;
297 29:__UG_NAME__ -> 86:envelope___control___0 ;
298 29:__UG_NAME__ -> 86:envelope___control___4 ;
299 30:__UG_NAME__ -> 86:envelope___control___5 ;
300 31:__UG_NAME__ -> 86:envelope___control___6 ;
301 32:__UG_NAME__ -> 86:envelope___control___7 ;
302 85:__UG_NAME__ -> 86:gate ;
303 17:__UG_NAME__ -> 102:envelope___control___0 ;
304 17:__UG_NAME__ -> 102:envelope___control___4 ;
305 18:__UG_NAME__ -> 102:envelope___control___5 ;
306 19:__UG_NAME__ -> 102:envelope___control___6 ;
307 20:__UG_NAME__ -> 102:envelope___control___7 ;
308 101:__UG_NAME__ -> 102:gate ;
309 9:__UG_NAME__ -> 112:envelope___control___0 ;
310 9:__UG_NAME__ -> 112:envelope___control___4 ;
311 10:__UG_NAME__ -> 112:envelope___control___5 ;
312 11:__UG_NAME__ -> 112:envelope___control___6 ;
313 12:__UG_NAME__ -> 112:envelope___control___7 ;
314 111:__UG_NAME__ -> 112:gate ;
315 86:__UG_NAME__ -> 90:drylevel ;
316 2:__UG_NAME__ -> 90:revtime ;
317 89:__UG_NAME__ -> 90:maxroomsize ;
318 76:__UG_NAME__ -> 90:inputbw ;
319 66:__UG_NAME__ -> 90:damping ;
320 0:__UG_NAME__ -> 90:roomsize ;
321 3:__UG_NAME__ -> 90:earlyreflevel ;
322 4:__UG_NAME__ -> 90:taillevel ;
323 56:__UG_NAME__ -> 90:in ;
324 86:__UG_NAME__ -> 117:drylevel ;
325 2:__UG_NAME__ -> 117:revtime ;
326 89:__UG_NAME__ -> 117:maxroomsize ;
327 76:__UG_NAME__ -> 117:inputbw ;
328 66:__UG_NAME__ -> 117:damping ;
329 0:__UG_NAME__ -> 117:roomsize ;
330 3:__UG_NAME__ -> 117:earlyreflevel ;
331 4:__UG_NAME__ -> 117:taillevel ;
332 116:__UG_NAME__ -> 117:in ;
333 5:__UG_NAME__ -> 36:in ;
334 6:__UG_NAME__ -> 40:in ;
335 13:__UG_NAME__ -> 46:in ;
336 14:__UG_NAME__ -> 50:in ;
337 21:__UG_NAME__ -> 58:in ;
338 22:__UG_NAME__ -> 62:in ;
339 25:__UG_NAME__ -> 68:in ;
340 26:__UG_NAME__ -> 72:in ;
341 29:__UG_NAME__ -> 78:in ;
342 30:__UG_NAME__ -> 82:in ;
343 17:__UG_NAME__ -> 94:in ;
344 18:__UG_NAME__ -> 98:in ;
345 9:__UG_NAME__ -> 104:in ;
346 10:__UG_NAME__ -> 108:in ;
347 33:__UG_NAME__ -> 55:bus ;
348 102:__UG_NAME__ -> 103:in ;
349 34:__UG_NAME__ -> 126:bus ;
350 121:__UG_NAME__ -> 126:signals___x____fade2___0 ;
351 125:__UG_NAME__ -> 126:signals___x____fade2___1 ;
352 87:__UG_NAME__ -> 89:which ;
353 1:__UG_NAME__ -> 89:array___control___0 ;
354 88:__UG_NAME__ -> 89:array___binary____op____u____gen___1 ;
355 118:__UG_NAME__ -> 120:ina ;
356 119:__UG_NAME__ -> 120:inb ;
357 103:__UG_NAME__ -> 120:pan ;
358 56:__UG_NAME__ -> 121:ina ;
359 120:__UG_NAME__ -> 121:inb ;
360 114:__UG_NAME__ -> 121:pan ;
361 44:__UG_NAME__ -> 121:level ;
362 122:__UG_NAME__ -> 123:ina ;
363 91:__UG_NAME__ -> 123:inb ;
364 103:__UG_NAME__ -> 123:pan ;
365 116:__UG_NAME__ -> 125:ina ;
366 123:__UG_NAME__ -> 125:inb ;
367 124:__UG_NAME__ -> 125:pan ;
368 44:__UG_NAME__ -> 125:level ;
369
370 }
0 digraph synthdef {
1 28 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 41 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 50 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 63 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 22 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 26 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 34 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 38 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 46 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 55 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 29 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
14 64 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
15 21 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 25 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 33 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 45 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 49 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 54 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 58 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 20 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 32 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 44 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 48 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 53 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 0 [label = "control
32 :amp
33 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 1 [label = "control
35 :amp_slide
36 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 2 [label = "control
38 :amp_slide_shape
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 3 [label = "control
41 :amp_slide_curve
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 4 [label = "control
44 :mix
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 5 [label = "control
47 :mix_slide
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 6 [label = "control
50 :mix_slide_shape
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 7 [label = "control
53 :mix_slide_curve
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 8 [label = "control
56 :pre_amp
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 9 [label = "control
59 :pre_amp_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 10 [label = "control
62 :pre_amp_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 11 [label = "control
65 :pre_amp_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 12 [label = "control
68 :cutoff
69 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 13 [label = "control
71 :cutoff_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 14 [label = "control
74 :cutoff_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 15 [label = "control
77 :cutoff_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 16 [label = "control
80 :in_bus
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 17 [label = "control
83 :out_bus
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 27 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
86 39 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 60 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 66 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 62 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
90 67 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
91 19 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
98 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
99 18 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
100 30 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
101 42 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
102 51 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
103 40 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
104 61 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
105 70 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
106 68 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
107 69 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
108
109 27:__UG_NAME__ -> 28:a ;
110 39:__UG_NAME__ -> 41:a ;
111 40:__UG_NAME__ -> 41:b ;
112 39:__UG_NAME__ -> 50:a ;
113 40:__UG_NAME__ -> 50:b ;
114 27:__UG_NAME__ -> 63:a ;
115 18:__UG_NAME__ -> 22:a ;
116 21:__UG_NAME__ -> 22:b ;
117 22:__UG_NAME__ -> 26:a ;
118 25:__UG_NAME__ -> 26:b ;
119 30:__UG_NAME__ -> 34:a ;
120 33:__UG_NAME__ -> 34:b ;
121 34:__UG_NAME__ -> 38:a ;
122 37:__UG_NAME__ -> 38:b ;
123 42:__UG_NAME__ -> 46:a ;
124 45:__UG_NAME__ -> 46:b ;
125 51:__UG_NAME__ -> 55:a ;
126 54:__UG_NAME__ -> 55:b ;
127 55:__UG_NAME__ -> 59:a ;
128 58:__UG_NAME__ -> 59:b ;
129 46:__UG_NAME__ -> 65:a ;
130 49:__UG_NAME__ -> 65:b ;
131 28:__UG_NAME__ -> 29:a ;
132 63:__UG_NAME__ -> 64:a ;
133 20:__UG_NAME__ -> 21:a ;
134 24:__UG_NAME__ -> 25:a ;
135 32:__UG_NAME__ -> 33:a ;
136 36:__UG_NAME__ -> 37:a ;
137 44:__UG_NAME__ -> 45:a ;
138 48:__UG_NAME__ -> 49:a ;
139 53:__UG_NAME__ -> 54:a ;
140 57:__UG_NAME__ -> 58:a ;
141 19:__UG_NAME__ -> 20:a ;
142 23:__UG_NAME__ -> 24:a ;
143 31:__UG_NAME__ -> 32:a ;
144 35:__UG_NAME__ -> 36:a ;
145 43:__UG_NAME__ -> 44:a ;
146 47:__UG_NAME__ -> 48:a ;
147 52:__UG_NAME__ -> 53:a ;
148 56:__UG_NAME__ -> 57:a ;
149 4:__UG_NAME__ -> 27:envelope___control___0 ;
150 4:__UG_NAME__ -> 27:envelope___control___4 ;
151 5:__UG_NAME__ -> 27:envelope___control___5 ;
152 6:__UG_NAME__ -> 27:envelope___control___6 ;
153 7:__UG_NAME__ -> 27:envelope___control___7 ;
154 26:__UG_NAME__ -> 27:gate ;
155 8:__UG_NAME__ -> 39:envelope___control___0 ;
156 8:__UG_NAME__ -> 39:envelope___control___4 ;
157 9:__UG_NAME__ -> 39:envelope___control___5 ;
158 10:__UG_NAME__ -> 39:envelope___control___6 ;
159 11:__UG_NAME__ -> 39:envelope___control___7 ;
160 38:__UG_NAME__ -> 39:gate ;
161 12:__UG_NAME__ -> 60:envelope___control___0 ;
162 12:__UG_NAME__ -> 60:envelope___control___4 ;
163 13:__UG_NAME__ -> 60:envelope___control___5 ;
164 14:__UG_NAME__ -> 60:envelope___control___6 ;
165 15:__UG_NAME__ -> 60:envelope___control___7 ;
166 59:__UG_NAME__ -> 60:gate ;
167 0:__UG_NAME__ -> 66:envelope___control___0 ;
168 0:__UG_NAME__ -> 66:envelope___control___4 ;
169 1:__UG_NAME__ -> 66:envelope___control___5 ;
170 2:__UG_NAME__ -> 66:envelope___control___6 ;
171 3:__UG_NAME__ -> 66:envelope___control___7 ;
172 65:__UG_NAME__ -> 66:gate ;
173 50:__UG_NAME__ -> 62:in ;
174 61:__UG_NAME__ -> 62:freq ;
175 41:__UG_NAME__ -> 67:in ;
176 61:__UG_NAME__ -> 67:freq ;
177 4:__UG_NAME__ -> 19:in ;
178 5:__UG_NAME__ -> 23:in ;
179 8:__UG_NAME__ -> 31:in ;
180 9:__UG_NAME__ -> 35:in ;
181 0:__UG_NAME__ -> 43:in ;
182 1:__UG_NAME__ -> 47:in ;
183 12:__UG_NAME__ -> 52:in ;
184 13:__UG_NAME__ -> 56:in ;
185 16:__UG_NAME__ -> 40:bus ;
186 60:__UG_NAME__ -> 61:a ;
187 17:__UG_NAME__ -> 70:bus ;
188 68:__UG_NAME__ -> 70:signals___x____fade2___0 ;
189 69:__UG_NAME__ -> 70:signals___x____fade2___1 ;
190 41:__UG_NAME__ -> 68:ina ;
191 67:__UG_NAME__ -> 68:inb ;
192 29:__UG_NAME__ -> 68:pan ;
193 66:__UG_NAME__ -> 68:level ;
194 50:__UG_NAME__ -> 69:ina ;
195 62:__UG_NAME__ -> 69:inb ;
196 64:__UG_NAME__ -> 69:pan ;
197 66:__UG_NAME__ -> 69:level ;
198
199 }
0 digraph synthdef {
1 63 [label = "{{ <b> 6.2831855|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 88 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 110 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 113 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 116 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 37 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 41 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 50 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 54 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 58 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 69 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 73 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 82 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 86 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 95 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 98 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 103 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 106 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 31 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
21 114 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
22 118 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
23 62 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
24 36 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 40 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 49 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 53 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 57 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 59 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 68 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 72 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 81 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 85 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 94 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 97 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 102 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 105 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 35 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 39 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 44 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 45 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 48 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 52 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 67 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 71 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 80 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 84 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 93 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 96 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 101 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 104 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 0 [label = "control
53 :amp
54 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 1 [label = "control
56 :amp_slide
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 2 [label = "control
59 :amp_slide_shape
60 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 3 [label = "control
62 :amp_slide_curve
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 4 [label = "control
65 :mix
66 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 5 [label = "control
68 :mix_slide
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 6 [label = "control
71 :mix_slide_shape
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 7 [label = "control
74 :mix_slide_curve
75 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 8 [label = "control
77 :pre_amp
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 9 [label = "control
80 :pre_amp_slide
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 10 [label = "control
83 :pre_amp_slide_shape
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 11 [label = "control
86 :pre_amp_slide_curve
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 12 [label = "control
89 :phase
90 default: 4.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 13 [label = "control
92 :phase_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 14 [label = "control
95 :phase_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 15 [label = "control
98 :phase_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 16 [label = "control
101 :phase_offset
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 17 [label = "control
104 :cutoff_min
105 default: 60.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 18 [label = "control
107 :cutoff_min_slide
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 19 [label = "control
110 :cutoff_min_slide_shape
111 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 20 [label = "control
113 :cutoff_min_slide_curve
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 21 [label = "control
116 :cutoff_max
117 default: 120.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 22 [label = "control
119 :cutoff_max_slide
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 23 [label = "control
122 :cutoff_max_slide_shape
123 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 24 [label = "control
125 :cutoff_max_slide_curve
126 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 25 [label = "control
128 :res
129 default: 0.8" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 26 [label = "control
131 :res_slide
132 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 27 [label = "control
134 :res_slide_shape
135 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 28 [label = "control
137 :res_slide_curve
138 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 29 [label = "control
140 :in_bus
141 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
142 30 [label = "control
143 :out_bus
144 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
145 55 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
146 61 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
147 74 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
148 87 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
149 107 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
150 108 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
151 111 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
152 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
153 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
154 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
155 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
156 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
157 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
158 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
159 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
160 79 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
161 83 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
162 89 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
163 90 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
164 92 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
165 100 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
166 32 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
167 46 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
168 56 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
169 65 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
170 78 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
171 91 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
172 99 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
173 109 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
174 77 [label = "{{ <dsthi> dsthi|<dstlo> dstlo|<srchi> srchi 1.0|<srclo> srclo -1.0|<in> in} |<__UG_NAME__>lin-exp }" style="bold, rounded" shape=record rankdir=LR];
175 75 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
176 76 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
177 33 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
178 120 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
179 112 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
180 117 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
181 64 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase|<freq> freq} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
182 115 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
183 119 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
184
185 31:__UG_NAME__ -> 63:a ;
186 87:__UG_NAME__ -> 88:a ;
187 108:__UG_NAME__ -> 110:a ;
188 109:__UG_NAME__ -> 110:b ;
189 87:__UG_NAME__ -> 113:a ;
190 108:__UG_NAME__ -> 116:a ;
191 109:__UG_NAME__ -> 116:b ;
192 32:__UG_NAME__ -> 37:a ;
193 36:__UG_NAME__ -> 37:b ;
194 37:__UG_NAME__ -> 41:a ;
195 40:__UG_NAME__ -> 41:b ;
196 46:__UG_NAME__ -> 50:a ;
197 49:__UG_NAME__ -> 50:b ;
198 50:__UG_NAME__ -> 54:a ;
199 53:__UG_NAME__ -> 54:b ;
200 56:__UG_NAME__ -> 58:a ;
201 57:__UG_NAME__ -> 58:b ;
202 58:__UG_NAME__ -> 60:a ;
203 59:__UG_NAME__ -> 60:b ;
204 65:__UG_NAME__ -> 69:a ;
205 68:__UG_NAME__ -> 69:b ;
206 69:__UG_NAME__ -> 73:a ;
207 72:__UG_NAME__ -> 73:b ;
208 78:__UG_NAME__ -> 82:a ;
209 81:__UG_NAME__ -> 82:b ;
210 82:__UG_NAME__ -> 86:a ;
211 85:__UG_NAME__ -> 86:b ;
212 91:__UG_NAME__ -> 95:a ;
213 94:__UG_NAME__ -> 95:b ;
214 95:__UG_NAME__ -> 98:a ;
215 97:__UG_NAME__ -> 98:b ;
216 99:__UG_NAME__ -> 103:a ;
217 102:__UG_NAME__ -> 103:b ;
218 103:__UG_NAME__ -> 106:a ;
219 105:__UG_NAME__ -> 106:b ;
220 16:__UG_NAME__ -> 31:a ;
221 113:__UG_NAME__ -> 114:a ;
222 88:__UG_NAME__ -> 118:a ;
223 61:__UG_NAME__ -> 62:b ;
224 35:__UG_NAME__ -> 36:a ;
225 39:__UG_NAME__ -> 40:a ;
226 48:__UG_NAME__ -> 49:a ;
227 52:__UG_NAME__ -> 53:a ;
228 44:__UG_NAME__ -> 57:a ;
229 45:__UG_NAME__ -> 59:a ;
230 67:__UG_NAME__ -> 68:a ;
231 71:__UG_NAME__ -> 72:a ;
232 80:__UG_NAME__ -> 81:a ;
233 84:__UG_NAME__ -> 85:a ;
234 93:__UG_NAME__ -> 94:a ;
235 96:__UG_NAME__ -> 97:a ;
236 101:__UG_NAME__ -> 102:a ;
237 104:__UG_NAME__ -> 105:a ;
238 34:__UG_NAME__ -> 35:a ;
239 38:__UG_NAME__ -> 39:a ;
240 43:__UG_NAME__ -> 44:a ;
241 42:__UG_NAME__ -> 45:a ;
242 47:__UG_NAME__ -> 48:a ;
243 51:__UG_NAME__ -> 52:a ;
244 66:__UG_NAME__ -> 67:a ;
245 70:__UG_NAME__ -> 71:a ;
246 79:__UG_NAME__ -> 80:a ;
247 83:__UG_NAME__ -> 84:a ;
248 92:__UG_NAME__ -> 93:a ;
249 90:__UG_NAME__ -> 96:a ;
250 100:__UG_NAME__ -> 101:a ;
251 89:__UG_NAME__ -> 104:a ;
252 21:__UG_NAME__ -> 55:envelope___control___0 ;
253 21:__UG_NAME__ -> 55:envelope___control___4 ;
254 22:__UG_NAME__ -> 55:envelope___control___5 ;
255 23:__UG_NAME__ -> 55:envelope___control___6 ;
256 24:__UG_NAME__ -> 55:envelope___control___7 ;
257 54:__UG_NAME__ -> 55:gate ;
258 12:__UG_NAME__ -> 61:envelope___control___0 ;
259 12:__UG_NAME__ -> 61:envelope___control___4 ;
260 13:__UG_NAME__ -> 61:envelope___control___5 ;
261 14:__UG_NAME__ -> 61:envelope___control___6 ;
262 15:__UG_NAME__ -> 61:envelope___control___7 ;
263 60:__UG_NAME__ -> 61:gate ;
264 17:__UG_NAME__ -> 74:envelope___control___0 ;
265 17:__UG_NAME__ -> 74:envelope___control___4 ;
266 18:__UG_NAME__ -> 74:envelope___control___5 ;
267 19:__UG_NAME__ -> 74:envelope___control___6 ;
268 20:__UG_NAME__ -> 74:envelope___control___7 ;
269 73:__UG_NAME__ -> 74:gate ;
270 4:__UG_NAME__ -> 87:envelope___control___0 ;
271 4:__UG_NAME__ -> 87:envelope___control___4 ;
272 5:__UG_NAME__ -> 87:envelope___control___5 ;
273 6:__UG_NAME__ -> 87:envelope___control___6 ;
274 7:__UG_NAME__ -> 87:envelope___control___7 ;
275 86:__UG_NAME__ -> 87:gate ;
276 0:__UG_NAME__ -> 107:envelope___control___0 ;
277 0:__UG_NAME__ -> 107:envelope___control___4 ;
278 1:__UG_NAME__ -> 107:envelope___control___5 ;
279 2:__UG_NAME__ -> 107:envelope___control___6 ;
280 3:__UG_NAME__ -> 107:envelope___control___7 ;
281 106:__UG_NAME__ -> 107:gate ;
282 8:__UG_NAME__ -> 108:envelope___control___0 ;
283 8:__UG_NAME__ -> 108:envelope___control___4 ;
284 9:__UG_NAME__ -> 108:envelope___control___5 ;
285 10:__UG_NAME__ -> 108:envelope___control___6 ;
286 11:__UG_NAME__ -> 108:envelope___control___7 ;
287 98:__UG_NAME__ -> 108:gate ;
288 33:__UG_NAME__ -> 111:envelope___mul____add___0 ;
289 33:__UG_NAME__ -> 111:envelope___mul____add___4 ;
290 26:__UG_NAME__ -> 111:envelope___control___5 ;
291 27:__UG_NAME__ -> 111:envelope___control___6 ;
292 28:__UG_NAME__ -> 111:envelope___control___7 ;
293 41:__UG_NAME__ -> 111:gate ;
294 33:__UG_NAME__ -> 34:in ;
295 26:__UG_NAME__ -> 38:in ;
296 13:__UG_NAME__ -> 42:in ;
297 12:__UG_NAME__ -> 43:in ;
298 21:__UG_NAME__ -> 47:in ;
299 22:__UG_NAME__ -> 51:in ;
300 17:__UG_NAME__ -> 66:in ;
301 18:__UG_NAME__ -> 70:in ;
302 4:__UG_NAME__ -> 79:in ;
303 5:__UG_NAME__ -> 83:in ;
304 1:__UG_NAME__ -> 89:in ;
305 9:__UG_NAME__ -> 90:in ;
306 8:__UG_NAME__ -> 92:in ;
307 0:__UG_NAME__ -> 100:in ;
308 29:__UG_NAME__ -> 109:bus ;
309 64:__UG_NAME__ -> 77:in ;
310 75:__UG_NAME__ -> 77:dstlo ;
311 76:__UG_NAME__ -> 77:dsthi ;
312 74:__UG_NAME__ -> 75:a ;
313 55:__UG_NAME__ -> 76:a ;
314 25:__UG_NAME__ -> 33:in ;
315 30:__UG_NAME__ -> 120:bus ;
316 115:__UG_NAME__ -> 120:signals___x____fade2___0 ;
317 119:__UG_NAME__ -> 120:signals___x____fade2___1 ;
318 110:__UG_NAME__ -> 112:in ;
319 77:__UG_NAME__ -> 112:freq ;
320 111:__UG_NAME__ -> 112:rq ;
321 116:__UG_NAME__ -> 117:in ;
322 77:__UG_NAME__ -> 117:freq ;
323 111:__UG_NAME__ -> 117:rq ;
324 62:__UG_NAME__ -> 64:freq ;
325 63:__UG_NAME__ -> 64:phase ;
326 110:__UG_NAME__ -> 115:ina ;
327 112:__UG_NAME__ -> 115:inb ;
328 114:__UG_NAME__ -> 115:pan ;
329 107:__UG_NAME__ -> 115:level ;
330 116:__UG_NAME__ -> 119:ina ;
331 117:__UG_NAME__ -> 119:inb ;
332 118:__UG_NAME__ -> 119:pan ;
333 107:__UG_NAME__ -> 119:level ;
334
335 }
0 digraph synthdef {
1 37 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 50 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 53 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 67 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 92 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 106 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 109 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 114 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 30 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 34 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 44 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 51 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
14 54 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
15 55 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
16 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 73 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 77 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 83 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 87 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 93 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
23 97 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 100 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 110 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
26 111 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
27 52 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
28 91 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
29 107 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
30 115 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
31 56 [label = "{{ <b> |<a> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
32 112 [label = "{{ <b> |<a> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
33 29 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 33 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 60 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 72 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 76 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 82 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 86 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 96 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 99 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 28 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 32 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 38 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
48 42 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 58 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 68 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
53 71 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 75 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 81 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 85 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 95 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 98 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 0 [label = "control
60 :amp
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 1 [label = "control
63 :amp_slide
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 2 [label = "control
66 :amp_slide_shape
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 3 [label = "control
69 :amp_slide_curve
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 4 [label = "control
72 :mix
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 5 [label = "control
75 :mix_slide
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 6 [label = "control
78 :mix_slide_shape
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 7 [label = "control
81 :mix_slide_curve
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 8 [label = "control
84 :pre_amp
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 9 [label = "control
87 :pre_amp_slide
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 10 [label = "control
90 :pre_amp_slide_shape
91 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 11 [label = "control
93 :pre_amp_slide_curve
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 12 [label = "control
96 :gain
97 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 13 [label = "control
99 :gain_slide
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 14 [label = "control
102 :gain_slide_shape
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 15 [label = "control
105 :gain_slide_curve
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 16 [label = "control
108 :cutoff
109 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 17 [label = "control
111 :cutoff_slide
112 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 18 [label = "control
114 :cutoff_slide_shape
115 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 19 [label = "control
117 :cutoff_slide_curve
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 20 [label = "control
120 :res
121 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 21 [label = "control
123 :res_slide
124 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 22 [label = "control
126 :res_slide_shape
127 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 23 [label = "control
129 :res_slide_curve
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 24 [label = "control
132 :in_bus
133 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 25 [label = "control
135 :out_bus
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 35 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
138 49 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
139 66 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
140 101 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
141 103 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
142 105 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
143 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
144 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
145 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
146 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
147 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
148 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
149 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
150 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
151 80 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
152 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
153 88 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
154 89 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
155 26 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
156 40 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
157 59 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
158 69 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
159 78 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
160 94 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
161 36 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
162 102 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
163 79 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
164 117 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
165 104 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
166 113 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
167 39 [label = "{{ <b> |<a> } |<__UG_NAME__>squared }" style="filled, bold, rounded" shape=record rankdir=LR];
168 90 [label = "{{ <b> |<a> } |<__UG_NAME__>squared }" style="filled, bold, rounded" shape=record rankdir=LR];
169 108 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
170 116 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
171
172 35:__UG_NAME__ -> 37:a ;
173 36:__UG_NAME__ -> 37:b ;
174 49:__UG_NAME__ -> 50:a ;
175 38:__UG_NAME__ -> 50:b ;
176 38:__UG_NAME__ -> 53:a ;
177 52:__UG_NAME__ -> 53:b ;
178 35:__UG_NAME__ -> 67:a ;
179 36:__UG_NAME__ -> 67:b ;
180 68:__UG_NAME__ -> 92:a ;
181 91:__UG_NAME__ -> 92:b ;
182 105:__UG_NAME__ -> 106:a ;
183 49:__UG_NAME__ -> 109:a ;
184 68:__UG_NAME__ -> 109:b ;
185 105:__UG_NAME__ -> 114:a ;
186 26:__UG_NAME__ -> 30:a ;
187 29:__UG_NAME__ -> 30:b ;
188 30:__UG_NAME__ -> 34:a ;
189 33:__UG_NAME__ -> 34:b ;
190 40:__UG_NAME__ -> 44:a ;
191 43:__UG_NAME__ -> 44:b ;
192 44:__UG_NAME__ -> 48:a ;
193 47:__UG_NAME__ -> 48:b ;
194 39:__UG_NAME__ -> 51:a ;
195 50:__UG_NAME__ -> 51:b ;
196 39:__UG_NAME__ -> 54:a ;
197 53:__UG_NAME__ -> 54:b ;
198 54:__UG_NAME__ -> 55:a ;
199 59:__UG_NAME__ -> 61:a ;
200 60:__UG_NAME__ -> 61:b ;
201 61:__UG_NAME__ -> 65:a ;
202 64:__UG_NAME__ -> 65:b ;
203 69:__UG_NAME__ -> 73:a ;
204 72:__UG_NAME__ -> 73:b ;
205 73:__UG_NAME__ -> 77:a ;
206 76:__UG_NAME__ -> 77:b ;
207 78:__UG_NAME__ -> 83:a ;
208 82:__UG_NAME__ -> 83:b ;
209 83:__UG_NAME__ -> 87:a ;
210 86:__UG_NAME__ -> 87:b ;
211 90:__UG_NAME__ -> 93:a ;
212 92:__UG_NAME__ -> 93:b ;
213 94:__UG_NAME__ -> 97:a ;
214 96:__UG_NAME__ -> 97:b ;
215 97:__UG_NAME__ -> 100:a ;
216 99:__UG_NAME__ -> 100:b ;
217 90:__UG_NAME__ -> 110:a ;
218 109:__UG_NAME__ -> 110:b ;
219 93:__UG_NAME__ -> 111:a ;
220 49:__UG_NAME__ -> 52:a ;
221 49:__UG_NAME__ -> 91:a ;
222 106:__UG_NAME__ -> 107:a ;
223 114:__UG_NAME__ -> 115:a ;
224 51:__UG_NAME__ -> 56:a ;
225 55:__UG_NAME__ -> 56:b ;
226 110:__UG_NAME__ -> 112:a ;
227 111:__UG_NAME__ -> 112:b ;
228 28:__UG_NAME__ -> 29:a ;
229 32:__UG_NAME__ -> 33:a ;
230 42:__UG_NAME__ -> 43:a ;
231 46:__UG_NAME__ -> 47:a ;
232 58:__UG_NAME__ -> 60:a ;
233 63:__UG_NAME__ -> 64:a ;
234 71:__UG_NAME__ -> 72:a ;
235 75:__UG_NAME__ -> 76:a ;
236 81:__UG_NAME__ -> 82:a ;
237 85:__UG_NAME__ -> 86:a ;
238 95:__UG_NAME__ -> 96:a ;
239 98:__UG_NAME__ -> 99:a ;
240 27:__UG_NAME__ -> 28:a ;
241 31:__UG_NAME__ -> 32:a ;
242 37:__UG_NAME__ -> 38:a ;
243 41:__UG_NAME__ -> 42:a ;
244 45:__UG_NAME__ -> 46:a ;
245 57:__UG_NAME__ -> 58:a ;
246 62:__UG_NAME__ -> 63:a ;
247 67:__UG_NAME__ -> 68:a ;
248 70:__UG_NAME__ -> 71:a ;
249 74:__UG_NAME__ -> 75:a ;
250 80:__UG_NAME__ -> 81:a ;
251 84:__UG_NAME__ -> 85:a ;
252 88:__UG_NAME__ -> 95:a ;
253 89:__UG_NAME__ -> 98:a ;
254 8:__UG_NAME__ -> 35:envelope___control___0 ;
255 8:__UG_NAME__ -> 35:envelope___control___4 ;
256 9:__UG_NAME__ -> 35:envelope___control___5 ;
257 10:__UG_NAME__ -> 35:envelope___control___6 ;
258 11:__UG_NAME__ -> 35:envelope___control___7 ;
259 34:__UG_NAME__ -> 35:gate ;
260 12:__UG_NAME__ -> 49:envelope___control___0 ;
261 12:__UG_NAME__ -> 49:envelope___control___4 ;
262 13:__UG_NAME__ -> 49:envelope___control___5 ;
263 14:__UG_NAME__ -> 49:envelope___control___6 ;
264 15:__UG_NAME__ -> 49:envelope___control___7 ;
265 48:__UG_NAME__ -> 49:gate ;
266 0:__UG_NAME__ -> 66:envelope___control___0 ;
267 0:__UG_NAME__ -> 66:envelope___control___4 ;
268 1:__UG_NAME__ -> 66:envelope___control___5 ;
269 2:__UG_NAME__ -> 66:envelope___control___6 ;
270 3:__UG_NAME__ -> 66:envelope___control___7 ;
271 65:__UG_NAME__ -> 66:gate ;
272 16:__UG_NAME__ -> 101:envelope___control___0 ;
273 16:__UG_NAME__ -> 101:envelope___control___4 ;
274 17:__UG_NAME__ -> 101:envelope___control___5 ;
275 18:__UG_NAME__ -> 101:envelope___control___6 ;
276 19:__UG_NAME__ -> 101:envelope___control___7 ;
277 100:__UG_NAME__ -> 101:gate ;
278 79:__UG_NAME__ -> 103:envelope___mul____add___0 ;
279 79:__UG_NAME__ -> 103:envelope___mul____add___4 ;
280 21:__UG_NAME__ -> 103:envelope___control___5 ;
281 22:__UG_NAME__ -> 103:envelope___control___6 ;
282 23:__UG_NAME__ -> 103:envelope___control___7 ;
283 87:__UG_NAME__ -> 103:gate ;
284 4:__UG_NAME__ -> 105:envelope___control___0 ;
285 4:__UG_NAME__ -> 105:envelope___control___4 ;
286 5:__UG_NAME__ -> 105:envelope___control___5 ;
287 6:__UG_NAME__ -> 105:envelope___control___6 ;
288 7:__UG_NAME__ -> 105:envelope___control___7 ;
289 77:__UG_NAME__ -> 105:gate ;
290 8:__UG_NAME__ -> 27:in ;
291 9:__UG_NAME__ -> 31:in ;
292 12:__UG_NAME__ -> 41:in ;
293 13:__UG_NAME__ -> 45:in ;
294 0:__UG_NAME__ -> 57:in ;
295 1:__UG_NAME__ -> 62:in ;
296 4:__UG_NAME__ -> 70:in ;
297 5:__UG_NAME__ -> 74:in ;
298 79:__UG_NAME__ -> 80:in ;
299 21:__UG_NAME__ -> 84:in ;
300 16:__UG_NAME__ -> 88:in ;
301 17:__UG_NAME__ -> 89:in ;
302 24:__UG_NAME__ -> 36:bus ;
303 101:__UG_NAME__ -> 102:a ;
304 20:__UG_NAME__ -> 79:in ;
305 25:__UG_NAME__ -> 117:bus ;
306 108:__UG_NAME__ -> 117:signals___x____fade2___0 ;
307 116:__UG_NAME__ -> 117:signals___x____fade2___1 ;
308 56:__UG_NAME__ -> 104:in ;
309 102:__UG_NAME__ -> 104:freq ;
310 103:__UG_NAME__ -> 104:rq ;
311 112:__UG_NAME__ -> 113:in ;
312 102:__UG_NAME__ -> 113:freq ;
313 103:__UG_NAME__ -> 113:rq ;
314 38:__UG_NAME__ -> 39:a ;
315 68:__UG_NAME__ -> 90:a ;
316 37:__UG_NAME__ -> 108:ina ;
317 104:__UG_NAME__ -> 108:inb ;
318 107:__UG_NAME__ -> 108:pan ;
319 66:__UG_NAME__ -> 108:level ;
320 67:__UG_NAME__ -> 116:ina ;
321 113:__UG_NAME__ -> 116:inb ;
322 115:__UG_NAME__ -> 116:pan ;
323 66:__UG_NAME__ -> 116:level ;
324
325 }
0 digraph synthdef {
1 17 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 18 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 10 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 14 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 9 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
6 13 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
7 8 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
8 12 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
9 0 [label = "control
10 :amp
11 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
12 1 [label = "control
13 :amp_slide
14 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
15 2 [label = "control
16 :amp_slide_shape
17 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
18 3 [label = "control
19 :amp_slide_curve
20 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
21 4 [label = "control
22 :in_bus
23 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
24 5 [label = "control
25 :out_bus
26 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
27 15 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
28 7 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
29 11 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
30 6 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
31 16 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
32 19 [label = "{{ {{<signals___binary____op____u____gen___0>|<signals___binary____op____u____gen___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
33
34 15:__UG_NAME__ -> 17:a ;
35 16:__UG_NAME__ -> 17:b ;
36 15:__UG_NAME__ -> 18:a ;
37 16:__UG_NAME__ -> 18:b ;
38 6:__UG_NAME__ -> 10:a ;
39 9:__UG_NAME__ -> 10:b ;
40 10:__UG_NAME__ -> 14:a ;
41 13:__UG_NAME__ -> 14:b ;
42 8:__UG_NAME__ -> 9:a ;
43 12:__UG_NAME__ -> 13:a ;
44 7:__UG_NAME__ -> 8:a ;
45 11:__UG_NAME__ -> 12:a ;
46 0:__UG_NAME__ -> 15:envelope___control___0 ;
47 0:__UG_NAME__ -> 15:envelope___control___4 ;
48 1:__UG_NAME__ -> 15:envelope___control___5 ;
49 2:__UG_NAME__ -> 15:envelope___control___6 ;
50 3:__UG_NAME__ -> 15:envelope___control___7 ;
51 14:__UG_NAME__ -> 15:gate ;
52 0:__UG_NAME__ -> 7:in ;
53 1:__UG_NAME__ -> 11:in ;
54 4:__UG_NAME__ -> 16:bus ;
55 5:__UG_NAME__ -> 19:bus ;
56 18:__UG_NAME__ -> 19:signals___binary____op____u____gen___0 ;
57 17:__UG_NAME__ -> 19:signals___binary____op____u____gen___1 ;
58
59 }
0 digraph synthdef {
1 28 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 61 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 64 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 66 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 22 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 26 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 36 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 40 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 46 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 53 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 57 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 29 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
14 65 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
15 21 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 25 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 35 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 39 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 45 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 52 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 56 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 20 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 32 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 34 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 38 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 44 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 55 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 0 [label = "control
32 :amp
33 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 1 [label = "control
35 :amp_slide
36 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 2 [label = "control
38 :amp_slide_shape
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 3 [label = "control
41 :amp_slide_curve
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 4 [label = "control
44 :mix
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 5 [label = "control
47 :mix_slide
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 6 [label = "control
50 :mix_slide_shape
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 7 [label = "control
53 :mix_slide_curve
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 8 [label = "control
56 :pre_amp
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 9 [label = "control
59 :pre_amp_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 10 [label = "control
62 :pre_amp_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 11 [label = "control
65 :pre_amp_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 12 [label = "control
68 :cutoff
69 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 13 [label = "control
71 :cutoff_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 14 [label = "control
74 :cutoff_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 15 [label = "control
77 :cutoff_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 16 [label = "control
80 :in_bus
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 17 [label = "control
83 :out_bus
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 27 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
86 41 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 58 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 59 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 19 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
90 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
91 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 18 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
98 30 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
99 42 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
100 49 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
101 60 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
102 63 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
103 67 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
104 62 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
105 70 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
106 68 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
107 69 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
108
109 27:__UG_NAME__ -> 28:a ;
110 59:__UG_NAME__ -> 61:a ;
111 60:__UG_NAME__ -> 61:b ;
112 27:__UG_NAME__ -> 64:a ;
113 59:__UG_NAME__ -> 66:a ;
114 60:__UG_NAME__ -> 66:b ;
115 18:__UG_NAME__ -> 22:a ;
116 21:__UG_NAME__ -> 22:b ;
117 22:__UG_NAME__ -> 26:a ;
118 25:__UG_NAME__ -> 26:b ;
119 30:__UG_NAME__ -> 36:a ;
120 35:__UG_NAME__ -> 36:b ;
121 36:__UG_NAME__ -> 40:a ;
122 39:__UG_NAME__ -> 40:b ;
123 42:__UG_NAME__ -> 46:a ;
124 45:__UG_NAME__ -> 46:b ;
125 46:__UG_NAME__ -> 48:a ;
126 47:__UG_NAME__ -> 48:b ;
127 49:__UG_NAME__ -> 53:a ;
128 52:__UG_NAME__ -> 53:b ;
129 53:__UG_NAME__ -> 57:a ;
130 56:__UG_NAME__ -> 57:b ;
131 28:__UG_NAME__ -> 29:a ;
132 64:__UG_NAME__ -> 65:a ;
133 20:__UG_NAME__ -> 21:a ;
134 24:__UG_NAME__ -> 25:a ;
135 34:__UG_NAME__ -> 35:a ;
136 38:__UG_NAME__ -> 39:a ;
137 44:__UG_NAME__ -> 45:a ;
138 32:__UG_NAME__ -> 47:a ;
139 51:__UG_NAME__ -> 52:a ;
140 55:__UG_NAME__ -> 56:a ;
141 19:__UG_NAME__ -> 20:a ;
142 23:__UG_NAME__ -> 24:a ;
143 31:__UG_NAME__ -> 32:a ;
144 33:__UG_NAME__ -> 34:a ;
145 37:__UG_NAME__ -> 38:a ;
146 43:__UG_NAME__ -> 44:a ;
147 50:__UG_NAME__ -> 51:a ;
148 54:__UG_NAME__ -> 55:a ;
149 4:__UG_NAME__ -> 27:envelope___control___0 ;
150 4:__UG_NAME__ -> 27:envelope___control___4 ;
151 5:__UG_NAME__ -> 27:envelope___control___5 ;
152 6:__UG_NAME__ -> 27:envelope___control___6 ;
153 7:__UG_NAME__ -> 27:envelope___control___7 ;
154 26:__UG_NAME__ -> 27:gate ;
155 0:__UG_NAME__ -> 41:envelope___control___0 ;
156 0:__UG_NAME__ -> 41:envelope___control___4 ;
157 1:__UG_NAME__ -> 41:envelope___control___5 ;
158 2:__UG_NAME__ -> 41:envelope___control___6 ;
159 3:__UG_NAME__ -> 41:envelope___control___7 ;
160 40:__UG_NAME__ -> 41:gate ;
161 12:__UG_NAME__ -> 58:envelope___control___0 ;
162 12:__UG_NAME__ -> 58:envelope___control___4 ;
163 13:__UG_NAME__ -> 58:envelope___control___5 ;
164 14:__UG_NAME__ -> 58:envelope___control___6 ;
165 15:__UG_NAME__ -> 58:envelope___control___7 ;
166 57:__UG_NAME__ -> 58:gate ;
167 8:__UG_NAME__ -> 59:envelope___control___0 ;
168 8:__UG_NAME__ -> 59:envelope___control___4 ;
169 9:__UG_NAME__ -> 59:envelope___control___5 ;
170 10:__UG_NAME__ -> 59:envelope___control___6 ;
171 11:__UG_NAME__ -> 59:envelope___control___7 ;
172 48:__UG_NAME__ -> 59:gate ;
173 4:__UG_NAME__ -> 19:in ;
174 5:__UG_NAME__ -> 23:in ;
175 9:__UG_NAME__ -> 31:in ;
176 0:__UG_NAME__ -> 33:in ;
177 1:__UG_NAME__ -> 37:in ;
178 8:__UG_NAME__ -> 43:in ;
179 12:__UG_NAME__ -> 50:in ;
180 13:__UG_NAME__ -> 54:in ;
181 16:__UG_NAME__ -> 60:bus ;
182 61:__UG_NAME__ -> 63:in ;
183 62:__UG_NAME__ -> 63:freq ;
184 66:__UG_NAME__ -> 67:in ;
185 62:__UG_NAME__ -> 67:freq ;
186 58:__UG_NAME__ -> 62:a ;
187 17:__UG_NAME__ -> 70:bus ;
188 69:__UG_NAME__ -> 70:signals___x____fade2___0 ;
189 68:__UG_NAME__ -> 70:signals___x____fade2___1 ;
190 66:__UG_NAME__ -> 68:ina ;
191 67:__UG_NAME__ -> 68:inb ;
192 29:__UG_NAME__ -> 68:pan ;
193 41:__UG_NAME__ -> 68:level ;
194 61:__UG_NAME__ -> 69:ina ;
195 63:__UG_NAME__ -> 69:inb ;
196 65:__UG_NAME__ -> 69:pan ;
197 41:__UG_NAME__ -> 69:level ;
198
199 }
0 digraph synthdef {
1 47 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 50 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 18 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 22 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 25 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
6 30 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 34 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 40 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 44 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 48 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
11 51 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
12 17 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 21 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 29 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 33 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 39 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 16 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
19 20 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
20 28 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 32 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 38 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 42 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 0 [label = "control
25 :amp
26 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
27 1 [label = "control
28 :amp_slide
29 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
30 2 [label = "control
31 :amp_slide_shape
32 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
33 3 [label = "control
34 :amp_slide_curve
35 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
36 4 [label = "control
37 :mix
38 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
39 5 [label = "control
40 :mix_slide
41 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
42 6 [label = "control
43 :mix_slide_shape
44 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
45 7 [label = "control
46 :mix_slide_curve
47 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
48 8 [label = "control
49 :pan
50 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
51 9 [label = "control
52 :pan_slide
53 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
54 10 [label = "control
55 :pan_slide_shape
56 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
57 11 [label = "control
58 :pan_slide_curve
59 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
60 12 [label = "control
61 :in_bus
62 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 13 [label = "control
64 :out_bus
65 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 23 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
67 35 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
68 45 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
69 15 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
70 19 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
71 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
72 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
73 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
74 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
75 14 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
76 26 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
77 36 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
78 24 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
79 53 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
80 46 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
81 49 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
82 52 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
83
84 23:__UG_NAME__ -> 47:a ;
85 23:__UG_NAME__ -> 50:a ;
86 14:__UG_NAME__ -> 18:a ;
87 17:__UG_NAME__ -> 18:b ;
88 18:__UG_NAME__ -> 22:a ;
89 21:__UG_NAME__ -> 22:b ;
90 24:__UG_NAME__ -> 25:a ;
91 24:__UG_NAME__ -> 25:b ;
92 26:__UG_NAME__ -> 30:a ;
93 29:__UG_NAME__ -> 30:b ;
94 30:__UG_NAME__ -> 34:a ;
95 33:__UG_NAME__ -> 34:b ;
96 36:__UG_NAME__ -> 40:a ;
97 39:__UG_NAME__ -> 40:b ;
98 40:__UG_NAME__ -> 44:a ;
99 43:__UG_NAME__ -> 44:b ;
100 47:__UG_NAME__ -> 48:a ;
101 50:__UG_NAME__ -> 51:a ;
102 16:__UG_NAME__ -> 17:a ;
103 20:__UG_NAME__ -> 21:a ;
104 28:__UG_NAME__ -> 29:a ;
105 32:__UG_NAME__ -> 33:a ;
106 38:__UG_NAME__ -> 39:a ;
107 42:__UG_NAME__ -> 43:a ;
108 15:__UG_NAME__ -> 16:a ;
109 19:__UG_NAME__ -> 20:a ;
110 27:__UG_NAME__ -> 28:a ;
111 31:__UG_NAME__ -> 32:a ;
112 37:__UG_NAME__ -> 38:a ;
113 41:__UG_NAME__ -> 42:a ;
114 4:__UG_NAME__ -> 23:envelope___control___0 ;
115 4:__UG_NAME__ -> 23:envelope___control___4 ;
116 5:__UG_NAME__ -> 23:envelope___control___5 ;
117 6:__UG_NAME__ -> 23:envelope___control___6 ;
118 7:__UG_NAME__ -> 23:envelope___control___7 ;
119 22:__UG_NAME__ -> 23:gate ;
120 8:__UG_NAME__ -> 35:envelope___control___0 ;
121 8:__UG_NAME__ -> 35:envelope___control___4 ;
122 9:__UG_NAME__ -> 35:envelope___control___5 ;
123 10:__UG_NAME__ -> 35:envelope___control___6 ;
124 11:__UG_NAME__ -> 35:envelope___control___7 ;
125 34:__UG_NAME__ -> 35:gate ;
126 0:__UG_NAME__ -> 45:envelope___control___0 ;
127 0:__UG_NAME__ -> 45:envelope___control___4 ;
128 1:__UG_NAME__ -> 45:envelope___control___5 ;
129 2:__UG_NAME__ -> 45:envelope___control___6 ;
130 3:__UG_NAME__ -> 45:envelope___control___7 ;
131 44:__UG_NAME__ -> 45:gate ;
132 4:__UG_NAME__ -> 15:in ;
133 5:__UG_NAME__ -> 19:in ;
134 8:__UG_NAME__ -> 27:in ;
135 9:__UG_NAME__ -> 31:in ;
136 0:__UG_NAME__ -> 37:in ;
137 1:__UG_NAME__ -> 41:in ;
138 12:__UG_NAME__ -> 24:bus ;
139 13:__UG_NAME__ -> 53:bus ;
140 49:__UG_NAME__ -> 53:signals___x____fade2___0 ;
141 52:__UG_NAME__ -> 53:signals___x____fade2___1 ;
142 25:__UG_NAME__ -> 46:in ;
143 35:__UG_NAME__ -> 46:pos ;
144 45:__UG_NAME__ -> 46:level ;
145 24:__UG_NAME__ -> 49:ina ;
146 46:__UG_NAME__ -> 49:inb ;
147 48:__UG_NAME__ -> 49:pan ;
148 45:__UG_NAME__ -> 49:level ;
149 24:__UG_NAME__ -> 52:ina ;
150 46:__UG_NAME__ -> 52:inb ;
151 51:__UG_NAME__ -> 52:pan ;
152 45:__UG_NAME__ -> 52:level ;
153
154 }
0 digraph synthdef {
1 29 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 48 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 60 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 69 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 22 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 26 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 34 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 38 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 54 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 58 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 64 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 66 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 61 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
14 70 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
15 21 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 25 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 33 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 53 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 57 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 63 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 65 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 20 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 32 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 44 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 52 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 56 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 0 [label = "control
32 :amp
33 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 1 [label = "control
35 :amp_slide
36 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 2 [label = "control
38 :amp_slide_shape
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 3 [label = "control
41 :amp_slide_curve
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 4 [label = "control
44 :mix
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 5 [label = "control
47 :mix_slide
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 6 [label = "control
50 :mix_slide_shape
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 7 [label = "control
53 :mix_slide_curve
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 8 [label = "control
56 :pre_amp
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 9 [label = "control
59 :pre_amp_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 10 [label = "control
62 :pre_amp_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 11 [label = "control
65 :pre_amp_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 12 [label = "control
68 :cutoff
69 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 13 [label = "control
71 :cutoff_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 14 [label = "control
74 :cutoff_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 15 [label = "control
77 :cutoff_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 16 [label = "control
80 :in_bus
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 17 [label = "control
83 :out_bus
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 27 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
86 39 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 59 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 67 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 41 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
90 49 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
91 19 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
98 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
99 18 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
100 30 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
101 51 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
102 62 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
103 28 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
104 40 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
105 42 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
106 50 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
107 72 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
108 68 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
109 71 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
110
111 27:__UG_NAME__ -> 29:a ;
112 28:__UG_NAME__ -> 29:b ;
113 27:__UG_NAME__ -> 48:a ;
114 28:__UG_NAME__ -> 48:b ;
115 59:__UG_NAME__ -> 60:a ;
116 59:__UG_NAME__ -> 69:a ;
117 18:__UG_NAME__ -> 22:a ;
118 21:__UG_NAME__ -> 22:b ;
119 22:__UG_NAME__ -> 26:a ;
120 25:__UG_NAME__ -> 26:b ;
121 30:__UG_NAME__ -> 34:a ;
122 33:__UG_NAME__ -> 34:b ;
123 34:__UG_NAME__ -> 38:a ;
124 37:__UG_NAME__ -> 38:b ;
125 51:__UG_NAME__ -> 54:a ;
126 53:__UG_NAME__ -> 54:b ;
127 54:__UG_NAME__ -> 58:a ;
128 57:__UG_NAME__ -> 58:b ;
129 62:__UG_NAME__ -> 64:a ;
130 63:__UG_NAME__ -> 64:b ;
131 64:__UG_NAME__ -> 66:a ;
132 65:__UG_NAME__ -> 66:b ;
133 60:__UG_NAME__ -> 61:a ;
134 69:__UG_NAME__ -> 70:a ;
135 20:__UG_NAME__ -> 21:a ;
136 24:__UG_NAME__ -> 25:a ;
137 32:__UG_NAME__ -> 33:a ;
138 36:__UG_NAME__ -> 37:a ;
139 52:__UG_NAME__ -> 53:a ;
140 56:__UG_NAME__ -> 57:a ;
141 44:__UG_NAME__ -> 63:a ;
142 46:__UG_NAME__ -> 65:a ;
143 19:__UG_NAME__ -> 20:a ;
144 23:__UG_NAME__ -> 24:a ;
145 31:__UG_NAME__ -> 32:a ;
146 35:__UG_NAME__ -> 36:a ;
147 43:__UG_NAME__ -> 44:a ;
148 45:__UG_NAME__ -> 46:a ;
149 47:__UG_NAME__ -> 52:a ;
150 55:__UG_NAME__ -> 56:a ;
151 8:__UG_NAME__ -> 27:envelope___control___0 ;
152 8:__UG_NAME__ -> 27:envelope___control___4 ;
153 9:__UG_NAME__ -> 27:envelope___control___5 ;
154 10:__UG_NAME__ -> 27:envelope___control___6 ;
155 11:__UG_NAME__ -> 27:envelope___control___7 ;
156 26:__UG_NAME__ -> 27:gate ;
157 12:__UG_NAME__ -> 39:envelope___control___0 ;
158 12:__UG_NAME__ -> 39:envelope___control___4 ;
159 13:__UG_NAME__ -> 39:envelope___control___5 ;
160 14:__UG_NAME__ -> 39:envelope___control___6 ;
161 15:__UG_NAME__ -> 39:envelope___control___7 ;
162 38:__UG_NAME__ -> 39:gate ;
163 4:__UG_NAME__ -> 59:envelope___control___0 ;
164 4:__UG_NAME__ -> 59:envelope___control___4 ;
165 5:__UG_NAME__ -> 59:envelope___control___5 ;
166 6:__UG_NAME__ -> 59:envelope___control___6 ;
167 7:__UG_NAME__ -> 59:envelope___control___7 ;
168 58:__UG_NAME__ -> 59:gate ;
169 0:__UG_NAME__ -> 67:envelope___control___0 ;
170 0:__UG_NAME__ -> 67:envelope___control___4 ;
171 1:__UG_NAME__ -> 67:envelope___control___5 ;
172 2:__UG_NAME__ -> 67:envelope___control___6 ;
173 3:__UG_NAME__ -> 67:envelope___control___7 ;
174 66:__UG_NAME__ -> 67:gate ;
175 29:__UG_NAME__ -> 41:in ;
176 40:__UG_NAME__ -> 41:freq ;
177 48:__UG_NAME__ -> 49:in ;
178 40:__UG_NAME__ -> 49:freq ;
179 8:__UG_NAME__ -> 19:in ;
180 9:__UG_NAME__ -> 23:in ;
181 12:__UG_NAME__ -> 31:in ;
182 13:__UG_NAME__ -> 35:in ;
183 0:__UG_NAME__ -> 43:in ;
184 1:__UG_NAME__ -> 45:in ;
185 4:__UG_NAME__ -> 47:in ;
186 5:__UG_NAME__ -> 55:in ;
187 16:__UG_NAME__ -> 28:bus ;
188 39:__UG_NAME__ -> 40:a ;
189 41:__UG_NAME__ -> 42:in ;
190 49:__UG_NAME__ -> 50:in ;
191 17:__UG_NAME__ -> 72:bus ;
192 71:__UG_NAME__ -> 72:signals___x____fade2___0 ;
193 68:__UG_NAME__ -> 72:signals___x____fade2___1 ;
194 48:__UG_NAME__ -> 68:ina ;
195 50:__UG_NAME__ -> 68:inb ;
196 61:__UG_NAME__ -> 68:pan ;
197 67:__UG_NAME__ -> 68:level ;
198 29:__UG_NAME__ -> 71:ina ;
199 42:__UG_NAME__ -> 71:inb ;
200 70:__UG_NAME__ -> 71:pan ;
201 67:__UG_NAME__ -> 71:level ;
202
203 }
0 digraph synthdef {
1 28 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 51 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 66 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 69 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 22 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 26 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 33 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 37 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 44 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 63 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 38 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
14 70 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
15 21 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 25 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 32 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 36 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 58 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 62 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 20 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 31 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 35 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 42 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 61 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 0 [label = "control
32 :amp
33 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 1 [label = "control
35 :amp_slide
36 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 2 [label = "control
38 :amp_slide_shape
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 3 [label = "control
41 :amp_slide_curve
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 4 [label = "control
44 :mix
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 5 [label = "control
47 :mix_slide
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 6 [label = "control
50 :mix_slide_shape
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 7 [label = "control
53 :mix_slide_curve
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 8 [label = "control
56 :pre_amp
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 9 [label = "control
59 :pre_amp_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 10 [label = "control
62 :pre_amp_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 11 [label = "control
65 :pre_amp_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 12 [label = "control
68 :cutoff
69 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 13 [label = "control
71 :cutoff_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 14 [label = "control
74 :cutoff_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 15 [label = "control
77 :cutoff_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 16 [label = "control
80 :in_bus
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 17 [label = "control
83 :out_bus
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 27 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
86 39 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 49 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 64 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 19 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
90 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
91 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 18 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
98 29 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
99 40 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
100 55 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
101 50 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
102 53 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
103 67 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
104 52 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
105 54 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
106 68 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
107 72 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
108 65 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
109 71 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
110
111 27:__UG_NAME__ -> 28:a ;
112 49:__UG_NAME__ -> 51:a ;
113 50:__UG_NAME__ -> 51:b ;
114 49:__UG_NAME__ -> 66:a ;
115 50:__UG_NAME__ -> 66:b ;
116 27:__UG_NAME__ -> 69:a ;
117 18:__UG_NAME__ -> 22:a ;
118 21:__UG_NAME__ -> 22:b ;
119 22:__UG_NAME__ -> 26:a ;
120 25:__UG_NAME__ -> 26:b ;
121 29:__UG_NAME__ -> 33:a ;
122 32:__UG_NAME__ -> 33:b ;
123 33:__UG_NAME__ -> 37:a ;
124 36:__UG_NAME__ -> 37:b ;
125 40:__UG_NAME__ -> 44:a ;
126 43:__UG_NAME__ -> 44:b ;
127 44:__UG_NAME__ -> 48:a ;
128 47:__UG_NAME__ -> 48:b ;
129 55:__UG_NAME__ -> 59:a ;
130 58:__UG_NAME__ -> 59:b ;
131 59:__UG_NAME__ -> 63:a ;
132 62:__UG_NAME__ -> 63:b ;
133 28:__UG_NAME__ -> 38:a ;
134 69:__UG_NAME__ -> 70:a ;
135 20:__UG_NAME__ -> 21:a ;
136 24:__UG_NAME__ -> 25:a ;
137 31:__UG_NAME__ -> 32:a ;
138 35:__UG_NAME__ -> 36:a ;
139 42:__UG_NAME__ -> 43:a ;
140 46:__UG_NAME__ -> 47:a ;
141 57:__UG_NAME__ -> 58:a ;
142 61:__UG_NAME__ -> 62:a ;
143 19:__UG_NAME__ -> 20:a ;
144 23:__UG_NAME__ -> 24:a ;
145 30:__UG_NAME__ -> 31:a ;
146 34:__UG_NAME__ -> 35:a ;
147 41:__UG_NAME__ -> 42:a ;
148 45:__UG_NAME__ -> 46:a ;
149 56:__UG_NAME__ -> 57:a ;
150 60:__UG_NAME__ -> 61:a ;
151 4:__UG_NAME__ -> 27:envelope___control___0 ;
152 4:__UG_NAME__ -> 27:envelope___control___4 ;
153 5:__UG_NAME__ -> 27:envelope___control___5 ;
154 6:__UG_NAME__ -> 27:envelope___control___6 ;
155 7:__UG_NAME__ -> 27:envelope___control___7 ;
156 26:__UG_NAME__ -> 27:gate ;
157 12:__UG_NAME__ -> 39:envelope___control___0 ;
158 12:__UG_NAME__ -> 39:envelope___control___4 ;
159 13:__UG_NAME__ -> 39:envelope___control___5 ;
160 14:__UG_NAME__ -> 39:envelope___control___6 ;
161 15:__UG_NAME__ -> 39:envelope___control___7 ;
162 37:__UG_NAME__ -> 39:gate ;
163 8:__UG_NAME__ -> 49:envelope___control___0 ;
164 8:__UG_NAME__ -> 49:envelope___control___4 ;
165 9:__UG_NAME__ -> 49:envelope___control___5 ;
166 10:__UG_NAME__ -> 49:envelope___control___6 ;
167 11:__UG_NAME__ -> 49:envelope___control___7 ;
168 48:__UG_NAME__ -> 49:gate ;
169 0:__UG_NAME__ -> 64:envelope___control___0 ;
170 0:__UG_NAME__ -> 64:envelope___control___4 ;
171 1:__UG_NAME__ -> 64:envelope___control___5 ;
172 2:__UG_NAME__ -> 64:envelope___control___6 ;
173 3:__UG_NAME__ -> 64:envelope___control___7 ;
174 63:__UG_NAME__ -> 64:gate ;
175 4:__UG_NAME__ -> 19:in ;
176 5:__UG_NAME__ -> 23:in ;
177 12:__UG_NAME__ -> 30:in ;
178 13:__UG_NAME__ -> 34:in ;
179 8:__UG_NAME__ -> 41:in ;
180 9:__UG_NAME__ -> 45:in ;
181 0:__UG_NAME__ -> 56:in ;
182 1:__UG_NAME__ -> 60:in ;
183 16:__UG_NAME__ -> 50:bus ;
184 51:__UG_NAME__ -> 53:in ;
185 52:__UG_NAME__ -> 53:freq ;
186 66:__UG_NAME__ -> 67:in ;
187 52:__UG_NAME__ -> 67:freq ;
188 39:__UG_NAME__ -> 52:a ;
189 53:__UG_NAME__ -> 54:in ;
190 67:__UG_NAME__ -> 68:in ;
191 17:__UG_NAME__ -> 72:bus ;
192 71:__UG_NAME__ -> 72:signals___x____fade2___0 ;
193 65:__UG_NAME__ -> 72:signals___x____fade2___1 ;
194 51:__UG_NAME__ -> 65:ina ;
195 54:__UG_NAME__ -> 65:inb ;
196 38:__UG_NAME__ -> 65:pan ;
197 64:__UG_NAME__ -> 65:level ;
198 66:__UG_NAME__ -> 71:ina ;
199 68:__UG_NAME__ -> 71:inb ;
200 70:__UG_NAME__ -> 71:pan ;
201 64:__UG_NAME__ -> 71:level ;
202
203 }
0 digraph synthdef {
1 31 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 53 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 64 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 66 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 25 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 29 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 37 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 41 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 46 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 50 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 58 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 32 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
14 67 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
15 20 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 24 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 28 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 36 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 40 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 44 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 49 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 57 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 19 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 23 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 27 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 35 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 39 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 43 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 48 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 56 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 0 [label = "control
32 :amp
33 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 1 [label = "control
35 :amp_slide
36 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 2 [label = "control
38 :amp_slide_shape
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 3 [label = "control
41 :amp_slide_curve
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 4 [label = "control
44 :mix
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 5 [label = "control
47 :mix_slide
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 6 [label = "control
50 :mix_slide_shape
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 7 [label = "control
53 :mix_slide_curve
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 8 [label = "control
56 :pre_amp
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 9 [label = "control
59 :pre_amp_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 10 [label = "control
62 :pre_amp_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 11 [label = "control
65 :pre_amp_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 12 [label = "control
68 :level
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 13 [label = "control
71 :level_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 14 [label = "control
74 :level_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 15 [label = "control
77 :level_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 16 [label = "control
80 :in_bus
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 17 [label = "control
83 :out_bus
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 30 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
86 51 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 60 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 62 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 18 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
90 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
91 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 21 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
98 33 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
99 45 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
100 54 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
101 52 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
102 61 [label = "{{ <dur> dur 0.01|<level> level|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
103 65 [label = "{{ <dur> dur 0.01|<level> level|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
104 69 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
105 63 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
106 68 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
107
108 30:__UG_NAME__ -> 31:a ;
109 51:__UG_NAME__ -> 53:a ;
110 52:__UG_NAME__ -> 53:b ;
111 51:__UG_NAME__ -> 64:a ;
112 52:__UG_NAME__ -> 64:b ;
113 30:__UG_NAME__ -> 66:a ;
114 21:__UG_NAME__ -> 25:a ;
115 24:__UG_NAME__ -> 25:b ;
116 25:__UG_NAME__ -> 29:a ;
117 28:__UG_NAME__ -> 29:b ;
118 33:__UG_NAME__ -> 37:a ;
119 36:__UG_NAME__ -> 37:b ;
120 37:__UG_NAME__ -> 41:a ;
121 40:__UG_NAME__ -> 41:b ;
122 45:__UG_NAME__ -> 46:a ;
123 44:__UG_NAME__ -> 46:b ;
124 46:__UG_NAME__ -> 50:a ;
125 49:__UG_NAME__ -> 50:b ;
126 54:__UG_NAME__ -> 58:a ;
127 57:__UG_NAME__ -> 58:b ;
128 58:__UG_NAME__ -> 59:a ;
129 20:__UG_NAME__ -> 59:b ;
130 31:__UG_NAME__ -> 32:a ;
131 66:__UG_NAME__ -> 67:a ;
132 19:__UG_NAME__ -> 20:a ;
133 23:__UG_NAME__ -> 24:a ;
134 27:__UG_NAME__ -> 28:a ;
135 35:__UG_NAME__ -> 36:a ;
136 39:__UG_NAME__ -> 40:a ;
137 43:__UG_NAME__ -> 44:a ;
138 48:__UG_NAME__ -> 49:a ;
139 56:__UG_NAME__ -> 57:a ;
140 18:__UG_NAME__ -> 19:a ;
141 22:__UG_NAME__ -> 23:a ;
142 26:__UG_NAME__ -> 27:a ;
143 34:__UG_NAME__ -> 35:a ;
144 38:__UG_NAME__ -> 39:a ;
145 42:__UG_NAME__ -> 43:a ;
146 47:__UG_NAME__ -> 48:a ;
147 55:__UG_NAME__ -> 56:a ;
148 4:__UG_NAME__ -> 30:envelope___control___0 ;
149 4:__UG_NAME__ -> 30:envelope___control___4 ;
150 5:__UG_NAME__ -> 30:envelope___control___5 ;
151 6:__UG_NAME__ -> 30:envelope___control___6 ;
152 7:__UG_NAME__ -> 30:envelope___control___7 ;
153 29:__UG_NAME__ -> 30:gate ;
154 8:__UG_NAME__ -> 51:envelope___control___0 ;
155 8:__UG_NAME__ -> 51:envelope___control___4 ;
156 9:__UG_NAME__ -> 51:envelope___control___5 ;
157 10:__UG_NAME__ -> 51:envelope___control___6 ;
158 11:__UG_NAME__ -> 51:envelope___control___7 ;
159 50:__UG_NAME__ -> 51:gate ;
160 12:__UG_NAME__ -> 60:envelope___control___0 ;
161 12:__UG_NAME__ -> 60:envelope___control___4 ;
162 13:__UG_NAME__ -> 60:envelope___control___5 ;
163 14:__UG_NAME__ -> 60:envelope___control___6 ;
164 15:__UG_NAME__ -> 60:envelope___control___7 ;
165 59:__UG_NAME__ -> 60:gate ;
166 0:__UG_NAME__ -> 62:envelope___control___0 ;
167 0:__UG_NAME__ -> 62:envelope___control___4 ;
168 1:__UG_NAME__ -> 62:envelope___control___5 ;
169 2:__UG_NAME__ -> 62:envelope___control___6 ;
170 3:__UG_NAME__ -> 62:envelope___control___7 ;
171 41:__UG_NAME__ -> 62:gate ;
172 13:__UG_NAME__ -> 18:in ;
173 4:__UG_NAME__ -> 22:in ;
174 5:__UG_NAME__ -> 26:in ;
175 0:__UG_NAME__ -> 34:in ;
176 1:__UG_NAME__ -> 38:in ;
177 8:__UG_NAME__ -> 42:in ;
178 9:__UG_NAME__ -> 47:in ;
179 12:__UG_NAME__ -> 55:in ;
180 16:__UG_NAME__ -> 52:bus ;
181 53:__UG_NAME__ -> 61:in ;
182 60:__UG_NAME__ -> 61:level ;
183 64:__UG_NAME__ -> 65:in ;
184 60:__UG_NAME__ -> 65:level ;
185 17:__UG_NAME__ -> 69:bus ;
186 68:__UG_NAME__ -> 69:signals___x____fade2___0 ;
187 63:__UG_NAME__ -> 69:signals___x____fade2___1 ;
188 53:__UG_NAME__ -> 63:ina ;
189 61:__UG_NAME__ -> 63:inb ;
190 32:__UG_NAME__ -> 63:pan ;
191 62:__UG_NAME__ -> 63:level ;
192 64:__UG_NAME__ -> 68:ina ;
193 65:__UG_NAME__ -> 68:inb ;
194 67:__UG_NAME__ -> 68:pan ;
195 62:__UG_NAME__ -> 68:level ;
196
197 }
0 digraph synthdef {
1 34 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 58 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 71 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 83 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 27 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 31 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 39 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 43 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 51 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 55 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 69 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 77 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 80 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 72 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
16 84 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 26 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 30 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 38 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 42 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 50 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 54 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 68 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 76 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 79 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 25 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 29 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 37 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 49 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 53 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 67 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 75 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 78 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :amp
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :amp_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :amp_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :amp_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :mix
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :mix_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :mix_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :mix_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pre_amp
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pre_amp_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pre_amp_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pre_amp_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :centre
75 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :centre_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :centre_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :centre_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :res
87 default: 0.6" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :res_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :res_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :res_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :in_bus
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 32 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 44 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 56 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 70 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 81 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 24 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 23 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 35 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 46 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 61 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 73 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 33 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
124 45 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
125 47 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
126 60 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
127 85 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
128 87 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
129 57 [label = "{{ <bwr> bwr|<freq> freq|<in> in} |<__UG_NAME__>resonz }" style="filled, bold, rounded" shape=record rankdir=LR];
130 59 [label = "{{ <bwr> bwr|<freq> freq|<in> in} |<__UG_NAME__>resonz }" style="filled, bold, rounded" shape=record rankdir=LR];
131 82 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
132 86 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
133
134 32:__UG_NAME__ -> 34:a ;
135 33:__UG_NAME__ -> 34:b ;
136 32:__UG_NAME__ -> 58:a ;
137 33:__UG_NAME__ -> 58:b ;
138 70:__UG_NAME__ -> 71:a ;
139 70:__UG_NAME__ -> 83:a ;
140 23:__UG_NAME__ -> 27:a ;
141 26:__UG_NAME__ -> 27:b ;
142 27:__UG_NAME__ -> 31:a ;
143 30:__UG_NAME__ -> 31:b ;
144 35:__UG_NAME__ -> 39:a ;
145 38:__UG_NAME__ -> 39:b ;
146 39:__UG_NAME__ -> 43:a ;
147 42:__UG_NAME__ -> 43:b ;
148 46:__UG_NAME__ -> 51:a ;
149 50:__UG_NAME__ -> 51:b ;
150 51:__UG_NAME__ -> 55:a ;
151 54:__UG_NAME__ -> 55:b ;
152 61:__UG_NAME__ -> 65:a ;
153 64:__UG_NAME__ -> 65:b ;
154 65:__UG_NAME__ -> 69:a ;
155 68:__UG_NAME__ -> 69:b ;
156 73:__UG_NAME__ -> 77:a ;
157 76:__UG_NAME__ -> 77:b ;
158 77:__UG_NAME__ -> 80:a ;
159 79:__UG_NAME__ -> 80:b ;
160 71:__UG_NAME__ -> 72:a ;
161 83:__UG_NAME__ -> 84:a ;
162 25:__UG_NAME__ -> 26:a ;
163 29:__UG_NAME__ -> 30:a ;
164 37:__UG_NAME__ -> 38:a ;
165 41:__UG_NAME__ -> 42:a ;
166 49:__UG_NAME__ -> 50:a ;
167 53:__UG_NAME__ -> 54:a ;
168 63:__UG_NAME__ -> 64:a ;
169 67:__UG_NAME__ -> 68:a ;
170 75:__UG_NAME__ -> 76:a ;
171 78:__UG_NAME__ -> 79:a ;
172 24:__UG_NAME__ -> 25:a ;
173 28:__UG_NAME__ -> 29:a ;
174 36:__UG_NAME__ -> 37:a ;
175 40:__UG_NAME__ -> 41:a ;
176 48:__UG_NAME__ -> 49:a ;
177 52:__UG_NAME__ -> 53:a ;
178 62:__UG_NAME__ -> 63:a ;
179 66:__UG_NAME__ -> 67:a ;
180 74:__UG_NAME__ -> 75:a ;
181 22:__UG_NAME__ -> 78:a ;
182 8:__UG_NAME__ -> 32:envelope___control___0 ;
183 8:__UG_NAME__ -> 32:envelope___control___4 ;
184 9:__UG_NAME__ -> 32:envelope___control___5 ;
185 10:__UG_NAME__ -> 32:envelope___control___6 ;
186 11:__UG_NAME__ -> 32:envelope___control___7 ;
187 31:__UG_NAME__ -> 32:gate ;
188 12:__UG_NAME__ -> 44:envelope___control___0 ;
189 12:__UG_NAME__ -> 44:envelope___control___4 ;
190 13:__UG_NAME__ -> 44:envelope___control___5 ;
191 14:__UG_NAME__ -> 44:envelope___control___6 ;
192 15:__UG_NAME__ -> 44:envelope___control___7 ;
193 43:__UG_NAME__ -> 44:gate ;
194 47:__UG_NAME__ -> 56:envelope___mul____add___0 ;
195 47:__UG_NAME__ -> 56:envelope___mul____add___4 ;
196 17:__UG_NAME__ -> 56:envelope___control___5 ;
197 18:__UG_NAME__ -> 56:envelope___control___6 ;
198 19:__UG_NAME__ -> 56:envelope___control___7 ;
199 55:__UG_NAME__ -> 56:gate ;
200 4:__UG_NAME__ -> 70:envelope___control___0 ;
201 4:__UG_NAME__ -> 70:envelope___control___4 ;
202 5:__UG_NAME__ -> 70:envelope___control___5 ;
203 6:__UG_NAME__ -> 70:envelope___control___6 ;
204 7:__UG_NAME__ -> 70:envelope___control___7 ;
205 69:__UG_NAME__ -> 70:gate ;
206 0:__UG_NAME__ -> 81:envelope___control___0 ;
207 0:__UG_NAME__ -> 81:envelope___control___4 ;
208 1:__UG_NAME__ -> 81:envelope___control___5 ;
209 2:__UG_NAME__ -> 81:envelope___control___6 ;
210 3:__UG_NAME__ -> 81:envelope___control___7 ;
211 80:__UG_NAME__ -> 81:gate ;
212 1:__UG_NAME__ -> 22:in ;
213 8:__UG_NAME__ -> 24:in ;
214 9:__UG_NAME__ -> 28:in ;
215 12:__UG_NAME__ -> 36:in ;
216 13:__UG_NAME__ -> 40:in ;
217 47:__UG_NAME__ -> 48:in ;
218 17:__UG_NAME__ -> 52:in ;
219 4:__UG_NAME__ -> 62:in ;
220 5:__UG_NAME__ -> 66:in ;
221 0:__UG_NAME__ -> 74:in ;
222 20:__UG_NAME__ -> 33:bus ;
223 44:__UG_NAME__ -> 45:a ;
224 16:__UG_NAME__ -> 47:in ;
225 59:__UG_NAME__ -> 60:in ;
226 57:__UG_NAME__ -> 85:in ;
227 21:__UG_NAME__ -> 87:bus ;
228 82:__UG_NAME__ -> 87:signals___x____fade2___0 ;
229 86:__UG_NAME__ -> 87:signals___x____fade2___1 ;
230 34:__UG_NAME__ -> 57:in ;
231 45:__UG_NAME__ -> 57:freq ;
232 56:__UG_NAME__ -> 57:bwr ;
233 58:__UG_NAME__ -> 59:in ;
234 45:__UG_NAME__ -> 59:freq ;
235 56:__UG_NAME__ -> 59:bwr ;
236 58:__UG_NAME__ -> 82:ina ;
237 60:__UG_NAME__ -> 82:inb ;
238 72:__UG_NAME__ -> 82:pan ;
239 81:__UG_NAME__ -> 82:level ;
240 34:__UG_NAME__ -> 86:ina ;
241 85:__UG_NAME__ -> 86:inb ;
242 84:__UG_NAME__ -> 86:pan ;
243 81:__UG_NAME__ -> 86:level ;
244
245 }
0 digraph synthdef {
1 70 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 76 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 79 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 83 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 26 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 30 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 36 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 40 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 52 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 54 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 67 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 80 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
16 84 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 25 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 29 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 35 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 39 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 51 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 53 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 58 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 66 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 28 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 34 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 38 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 42 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 45 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 47 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 50 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :amp
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :amp_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :amp_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :amp_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :mix
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :mix_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :mix_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :mix_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pre_amp
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pre_amp_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pre_amp_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pre_amp_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :cutoff
75 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :cutoff_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :cutoff_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :cutoff_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :res
87 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :res_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :res_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :res_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :in_bus
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 55 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 68 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 71 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 73 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 81 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 22 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 32 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 48 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 56 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 61 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 69 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
124 72 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
125 75 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
126 78 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
127 86 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
128 74 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rhpf }" style="filled, bold, rounded" shape=record rankdir=LR];
129 77 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rhpf }" style="filled, bold, rounded" shape=record rankdir=LR];
130 82 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
131 85 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
132
133 68:__UG_NAME__ -> 70:a ;
134 69:__UG_NAME__ -> 70:b ;
135 68:__UG_NAME__ -> 76:a ;
136 69:__UG_NAME__ -> 76:b ;
137 55:__UG_NAME__ -> 79:a ;
138 55:__UG_NAME__ -> 83:a ;
139 22:__UG_NAME__ -> 26:a ;
140 25:__UG_NAME__ -> 26:b ;
141 26:__UG_NAME__ -> 30:a ;
142 29:__UG_NAME__ -> 30:b ;
143 32:__UG_NAME__ -> 36:a ;
144 35:__UG_NAME__ -> 36:b ;
145 36:__UG_NAME__ -> 40:a ;
146 39:__UG_NAME__ -> 40:b ;
147 48:__UG_NAME__ -> 52:a ;
148 51:__UG_NAME__ -> 52:b ;
149 52:__UG_NAME__ -> 54:a ;
150 53:__UG_NAME__ -> 54:b ;
151 56:__UG_NAME__ -> 59:a ;
152 58:__UG_NAME__ -> 59:b ;
153 59:__UG_NAME__ -> 60:a ;
154 43:__UG_NAME__ -> 60:b ;
155 61:__UG_NAME__ -> 65:a ;
156 64:__UG_NAME__ -> 65:b ;
157 65:__UG_NAME__ -> 67:a ;
158 66:__UG_NAME__ -> 67:b ;
159 79:__UG_NAME__ -> 80:a ;
160 83:__UG_NAME__ -> 84:a ;
161 24:__UG_NAME__ -> 25:a ;
162 28:__UG_NAME__ -> 29:a ;
163 34:__UG_NAME__ -> 35:a ;
164 38:__UG_NAME__ -> 39:a ;
165 42:__UG_NAME__ -> 43:a ;
166 50:__UG_NAME__ -> 51:a ;
167 45:__UG_NAME__ -> 53:a ;
168 57:__UG_NAME__ -> 58:a ;
169 63:__UG_NAME__ -> 64:a ;
170 47:__UG_NAME__ -> 66:a ;
171 23:__UG_NAME__ -> 24:a ;
172 27:__UG_NAME__ -> 28:a ;
173 33:__UG_NAME__ -> 34:a ;
174 37:__UG_NAME__ -> 38:a ;
175 41:__UG_NAME__ -> 42:a ;
176 44:__UG_NAME__ -> 45:a ;
177 46:__UG_NAME__ -> 47:a ;
178 49:__UG_NAME__ -> 50:a ;
179 31:__UG_NAME__ -> 57:a ;
180 62:__UG_NAME__ -> 63:a ;
181 4:__UG_NAME__ -> 55:envelope___control___0 ;
182 4:__UG_NAME__ -> 55:envelope___control___4 ;
183 5:__UG_NAME__ -> 55:envelope___control___5 ;
184 6:__UG_NAME__ -> 55:envelope___control___6 ;
185 7:__UG_NAME__ -> 55:envelope___control___7 ;
186 54:__UG_NAME__ -> 55:gate ;
187 8:__UG_NAME__ -> 68:envelope___control___0 ;
188 8:__UG_NAME__ -> 68:envelope___control___4 ;
189 9:__UG_NAME__ -> 68:envelope___control___5 ;
190 10:__UG_NAME__ -> 68:envelope___control___6 ;
191 11:__UG_NAME__ -> 68:envelope___control___7 ;
192 67:__UG_NAME__ -> 68:gate ;
193 12:__UG_NAME__ -> 71:envelope___control___0 ;
194 12:__UG_NAME__ -> 71:envelope___control___4 ;
195 13:__UG_NAME__ -> 71:envelope___control___5 ;
196 14:__UG_NAME__ -> 71:envelope___control___6 ;
197 15:__UG_NAME__ -> 71:envelope___control___7 ;
198 30:__UG_NAME__ -> 71:gate ;
199 16:__UG_NAME__ -> 73:envelope___control___0 ;
200 16:__UG_NAME__ -> 73:envelope___control___4 ;
201 17:__UG_NAME__ -> 73:envelope___control___5 ;
202 18:__UG_NAME__ -> 73:envelope___control___6 ;
203 19:__UG_NAME__ -> 73:envelope___control___7 ;
204 40:__UG_NAME__ -> 73:gate ;
205 0:__UG_NAME__ -> 81:envelope___control___0 ;
206 0:__UG_NAME__ -> 81:envelope___control___4 ;
207 1:__UG_NAME__ -> 81:envelope___control___5 ;
208 2:__UG_NAME__ -> 81:envelope___control___6 ;
209 3:__UG_NAME__ -> 81:envelope___control___7 ;
210 60:__UG_NAME__ -> 81:gate ;
211 12:__UG_NAME__ -> 23:in ;
212 13:__UG_NAME__ -> 27:in ;
213 0:__UG_NAME__ -> 31:in ;
214 16:__UG_NAME__ -> 33:in ;
215 17:__UG_NAME__ -> 37:in ;
216 1:__UG_NAME__ -> 41:in ;
217 5:__UG_NAME__ -> 44:in ;
218 9:__UG_NAME__ -> 46:in ;
219 4:__UG_NAME__ -> 49:in ;
220 8:__UG_NAME__ -> 62:in ;
221 20:__UG_NAME__ -> 69:bus ;
222 71:__UG_NAME__ -> 72:a ;
223 74:__UG_NAME__ -> 75:in ;
224 77:__UG_NAME__ -> 78:in ;
225 21:__UG_NAME__ -> 86:bus ;
226 85:__UG_NAME__ -> 86:signals___x____fade2___0 ;
227 82:__UG_NAME__ -> 86:signals___x____fade2___1 ;
228 70:__UG_NAME__ -> 74:in ;
229 72:__UG_NAME__ -> 74:freq ;
230 73:__UG_NAME__ -> 74:rq ;
231 76:__UG_NAME__ -> 77:in ;
232 72:__UG_NAME__ -> 77:freq ;
233 73:__UG_NAME__ -> 77:rq ;
234 76:__UG_NAME__ -> 82:ina ;
235 78:__UG_NAME__ -> 82:inb ;
236 80:__UG_NAME__ -> 82:pan ;
237 81:__UG_NAME__ -> 82:level ;
238 70:__UG_NAME__ -> 85:ina ;
239 75:__UG_NAME__ -> 85:inb ;
240 84:__UG_NAME__ -> 85:pan ;
241 81:__UG_NAME__ -> 85:level ;
242
243 }
0 digraph synthdef {
1 32 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 44 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 81 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 84 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 26 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 30 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 37 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 41 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 49 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 53 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 74 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 78 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 69 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
16 85 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 25 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 29 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 36 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 40 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 48 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 52 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 60 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 73 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 77 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 28 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 35 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 39 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 47 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 59 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 72 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 76 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :amp
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :amp_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :amp_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :amp_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :mix
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :mix_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :mix_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :mix_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pre_amp
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pre_amp_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pre_amp_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pre_amp_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :cutoff
75 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :cutoff_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :cutoff_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :cutoff_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :res
87 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :res_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :res_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :res_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :in_bus
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 31 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 42 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 54 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 66 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 79 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 75 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 22 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 33 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 45 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 56 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 70 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 43 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
124 55 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
125 57 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
126 68 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
127 83 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
128 87 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
129 67 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
130 82 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
131 80 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
132 86 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
133
134 31:__UG_NAME__ -> 32:a ;
135 42:__UG_NAME__ -> 44:a ;
136 43:__UG_NAME__ -> 44:b ;
137 42:__UG_NAME__ -> 81:a ;
138 43:__UG_NAME__ -> 81:b ;
139 31:__UG_NAME__ -> 84:a ;
140 22:__UG_NAME__ -> 26:a ;
141 25:__UG_NAME__ -> 26:b ;
142 26:__UG_NAME__ -> 30:a ;
143 29:__UG_NAME__ -> 30:b ;
144 33:__UG_NAME__ -> 37:a ;
145 36:__UG_NAME__ -> 37:b ;
146 37:__UG_NAME__ -> 41:a ;
147 40:__UG_NAME__ -> 41:b ;
148 45:__UG_NAME__ -> 49:a ;
149 48:__UG_NAME__ -> 49:b ;
150 49:__UG_NAME__ -> 53:a ;
151 52:__UG_NAME__ -> 53:b ;
152 56:__UG_NAME__ -> 61:a ;
153 60:__UG_NAME__ -> 61:b ;
154 61:__UG_NAME__ -> 65:a ;
155 64:__UG_NAME__ -> 65:b ;
156 70:__UG_NAME__ -> 74:a ;
157 73:__UG_NAME__ -> 74:b ;
158 74:__UG_NAME__ -> 78:a ;
159 77:__UG_NAME__ -> 78:b ;
160 32:__UG_NAME__ -> 69:a ;
161 84:__UG_NAME__ -> 85:a ;
162 24:__UG_NAME__ -> 25:a ;
163 28:__UG_NAME__ -> 29:a ;
164 35:__UG_NAME__ -> 36:a ;
165 39:__UG_NAME__ -> 40:a ;
166 47:__UG_NAME__ -> 48:a ;
167 51:__UG_NAME__ -> 52:a ;
168 59:__UG_NAME__ -> 60:a ;
169 63:__UG_NAME__ -> 64:a ;
170 72:__UG_NAME__ -> 73:a ;
171 76:__UG_NAME__ -> 77:a ;
172 23:__UG_NAME__ -> 24:a ;
173 27:__UG_NAME__ -> 28:a ;
174 34:__UG_NAME__ -> 35:a ;
175 38:__UG_NAME__ -> 39:a ;
176 46:__UG_NAME__ -> 47:a ;
177 50:__UG_NAME__ -> 51:a ;
178 58:__UG_NAME__ -> 59:a ;
179 62:__UG_NAME__ -> 63:a ;
180 71:__UG_NAME__ -> 72:a ;
181 75:__UG_NAME__ -> 76:a ;
182 4:__UG_NAME__ -> 31:envelope___control___0 ;
183 4:__UG_NAME__ -> 31:envelope___control___4 ;
184 5:__UG_NAME__ -> 31:envelope___control___5 ;
185 6:__UG_NAME__ -> 31:envelope___control___6 ;
186 7:__UG_NAME__ -> 31:envelope___control___7 ;
187 30:__UG_NAME__ -> 31:gate ;
188 8:__UG_NAME__ -> 42:envelope___control___0 ;
189 8:__UG_NAME__ -> 42:envelope___control___4 ;
190 9:__UG_NAME__ -> 42:envelope___control___5 ;
191 10:__UG_NAME__ -> 42:envelope___control___6 ;
192 11:__UG_NAME__ -> 42:envelope___control___7 ;
193 41:__UG_NAME__ -> 42:gate ;
194 12:__UG_NAME__ -> 54:envelope___control___0 ;
195 12:__UG_NAME__ -> 54:envelope___control___4 ;
196 13:__UG_NAME__ -> 54:envelope___control___5 ;
197 14:__UG_NAME__ -> 54:envelope___control___6 ;
198 15:__UG_NAME__ -> 54:envelope___control___7 ;
199 53:__UG_NAME__ -> 54:gate ;
200 57:__UG_NAME__ -> 66:envelope___mul____add___0 ;
201 57:__UG_NAME__ -> 66:envelope___mul____add___4 ;
202 17:__UG_NAME__ -> 66:envelope___control___5 ;
203 18:__UG_NAME__ -> 66:envelope___control___6 ;
204 19:__UG_NAME__ -> 66:envelope___control___7 ;
205 65:__UG_NAME__ -> 66:gate ;
206 0:__UG_NAME__ -> 79:envelope___control___0 ;
207 0:__UG_NAME__ -> 79:envelope___control___4 ;
208 1:__UG_NAME__ -> 79:envelope___control___5 ;
209 2:__UG_NAME__ -> 79:envelope___control___6 ;
210 3:__UG_NAME__ -> 79:envelope___control___7 ;
211 78:__UG_NAME__ -> 79:gate ;
212 4:__UG_NAME__ -> 23:in ;
213 5:__UG_NAME__ -> 27:in ;
214 8:__UG_NAME__ -> 34:in ;
215 9:__UG_NAME__ -> 38:in ;
216 12:__UG_NAME__ -> 46:in ;
217 13:__UG_NAME__ -> 50:in ;
218 57:__UG_NAME__ -> 58:in ;
219 17:__UG_NAME__ -> 62:in ;
220 0:__UG_NAME__ -> 71:in ;
221 1:__UG_NAME__ -> 75:in ;
222 20:__UG_NAME__ -> 43:bus ;
223 54:__UG_NAME__ -> 55:a ;
224 16:__UG_NAME__ -> 57:in ;
225 67:__UG_NAME__ -> 68:in ;
226 82:__UG_NAME__ -> 83:in ;
227 21:__UG_NAME__ -> 87:bus ;
228 80:__UG_NAME__ -> 87:signals___x____fade2___0 ;
229 86:__UG_NAME__ -> 87:signals___x____fade2___1 ;
230 44:__UG_NAME__ -> 67:in ;
231 55:__UG_NAME__ -> 67:freq ;
232 66:__UG_NAME__ -> 67:rq ;
233 81:__UG_NAME__ -> 82:in ;
234 55:__UG_NAME__ -> 82:freq ;
235 66:__UG_NAME__ -> 82:rq ;
236 44:__UG_NAME__ -> 80:ina ;
237 68:__UG_NAME__ -> 80:inb ;
238 69:__UG_NAME__ -> 80:pan ;
239 79:__UG_NAME__ -> 80:level ;
240 81:__UG_NAME__ -> 86:ina ;
241 83:__UG_NAME__ -> 86:inb ;
242 85:__UG_NAME__ -> 86:pan ;
243 79:__UG_NAME__ -> 86:level ;
244
245 }
0 digraph synthdef {
1 71 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 77 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 81 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 90 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 92 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 94 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 97 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 98 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 106 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
10 109 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 110 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
12 113 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
13 116 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
14 117 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
15 119 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
16 120 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
17 121 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
18 122 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
19 38 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 42 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 52 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 55 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 69 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 84 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 88 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 95 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
30 99 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
31 103 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 105 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 125 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
34 126 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
35 73 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
36 123 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
37 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 41 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 51 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 54 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 58 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 68 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 83 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 87 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 102 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 104 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 31 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 33 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 40 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 50 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 67 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 75 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 79 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
60 86 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 101 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 114 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
63 0 [label = "control
64 :amp
65 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 1 [label = "control
67 :amp_slide
68 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 2 [label = "control
70 :amp_slide_shape
71 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 3 [label = "control
73 :amp_slide_curve
74 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 4 [label = "control
76 :mix
77 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 5 [label = "control
79 :mix_slide
80 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 6 [label = "control
82 :mix_slide_shape
83 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 7 [label = "control
85 :mix_slide_curve
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 8 [label = "control
88 :pre_amp
89 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 9 [label = "control
91 :pre_amp_slide
92 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 10 [label = "control
94 :pre_amp_slide_shape
95 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 11 [label = "control
97 :pre_amp_slide_curve
98 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 12 [label = "control
100 :amp
101 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 13 [label = "control
103 :amp_slide
104 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 14 [label = "control
106 :amp_slide_shape
107 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 15 [label = "control
109 :amp_slide_curve
110 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 16 [label = "control
112 :super_amp
113 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 17 [label = "control
115 :super_amp_slide
116 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 18 [label = "control
118 :super_amp_slide_shape
119 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 19 [label = "control
121 :super_amp_slide_curve
122 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 20 [label = "control
124 :sub_amp
125 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 21 [label = "control
127 :sub_amp_slide
128 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 22 [label = "control
130 :sub_amp_slide_shape
131 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 23 [label = "control
133 :sub_amp_slide_curve
134 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 24 [label = "control
136 :subsub_amp
137 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 25 [label = "control
139 :subsub_amp_slide
140 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 26 [label = "control
142 :subsub_amp_slide_shape
143 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 27 [label = "control
145 :subsub_amp_slide_curve
146 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 28 [label = "control
148 :in_bus
149 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
150 29 [label = "control
151 :out_bus
152 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
153 43 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
154 60 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
155 70 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
156 89 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
157 93 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
158 112 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
159 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
160 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
161 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
162 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
163 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
164 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
165 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
166 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
167 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
168 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
169 85 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
170 100 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
171 34 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
172 44 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
173 53 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
174 61 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
175 72 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
176 82 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
177 76 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
178 118 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
179 80 [label = "{{ <coef> coef 0.995|<in> in} |<__UG_NAME__>leak-dc }" style="filled, bold, rounded" shape=record rankdir=LR];
180 115 [label = "{{ <coef> coef 0.995|<in> in} |<__UG_NAME__>leak-dc }" style="filled, bold, rounded" shape=record rankdir=LR];
181 78 [label = "{{ <freq> freq 440.0|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
182 107 [label = "{{ <freq> freq 440.0|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
183 128 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
184 91 [label = "{{ <trig> trig} |<__UG_NAME__>toggle-ff }" style="filled, bold, rounded" shape=record rankdir=LR];
185 96 [label = "{{ <trig> trig} |<__UG_NAME__>toggle-ff }" style="filled, bold, rounded" shape=record rankdir=LR];
186 108 [label = "{{ <trig> trig} |<__UG_NAME__>toggle-ff }" style="filled, bold, rounded" shape=record rankdir=LR];
187 111 [label = "{{ <trig> trig} |<__UG_NAME__>toggle-ff }" style="filled, bold, rounded" shape=record rankdir=LR];
188 124 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
189 127 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
190
191 70:__UG_NAME__ -> 71:a ;
192 60:__UG_NAME__ -> 77:a ;
193 76:__UG_NAME__ -> 77:b ;
194 80:__UG_NAME__ -> 81:b ;
195 81:__UG_NAME__ -> 90:a ;
196 89:__UG_NAME__ -> 90:b ;
197 78:__UG_NAME__ -> 92:a ;
198 91:__UG_NAME__ -> 92:b ;
199 92:__UG_NAME__ -> 94:a ;
200 93:__UG_NAME__ -> 94:b ;
201 78:__UG_NAME__ -> 97:a ;
202 96:__UG_NAME__ -> 97:b ;
203 97:__UG_NAME__ -> 98:a ;
204 43:__UG_NAME__ -> 98:b ;
205 60:__UG_NAME__ -> 106:a ;
206 76:__UG_NAME__ -> 106:b ;
207 107:__UG_NAME__ -> 109:a ;
208 108:__UG_NAME__ -> 109:b ;
209 109:__UG_NAME__ -> 110:a ;
210 93:__UG_NAME__ -> 110:b ;
211 107:__UG_NAME__ -> 113:a ;
212 111:__UG_NAME__ -> 113:b ;
213 115:__UG_NAME__ -> 116:b ;
214 113:__UG_NAME__ -> 117:a ;
215 43:__UG_NAME__ -> 117:b ;
216 60:__UG_NAME__ -> 119:a ;
217 118:__UG_NAME__ -> 119:b ;
218 116:__UG_NAME__ -> 120:a ;
219 89:__UG_NAME__ -> 120:b ;
220 60:__UG_NAME__ -> 121:a ;
221 118:__UG_NAME__ -> 121:b ;
222 70:__UG_NAME__ -> 122:a ;
223 34:__UG_NAME__ -> 38:a ;
224 37:__UG_NAME__ -> 38:b ;
225 38:__UG_NAME__ -> 42:a ;
226 41:__UG_NAME__ -> 42:b ;
227 44:__UG_NAME__ -> 48:a ;
228 47:__UG_NAME__ -> 48:b ;
229 48:__UG_NAME__ -> 52:a ;
230 51:__UG_NAME__ -> 52:b ;
231 53:__UG_NAME__ -> 55:a ;
232 54:__UG_NAME__ -> 55:b ;
233 55:__UG_NAME__ -> 59:a ;
234 58:__UG_NAME__ -> 59:b ;
235 61:__UG_NAME__ -> 65:a ;
236 64:__UG_NAME__ -> 65:b ;
237 65:__UG_NAME__ -> 69:a ;
238 68:__UG_NAME__ -> 69:b ;
239 82:__UG_NAME__ -> 84:a ;
240 83:__UG_NAME__ -> 84:b ;
241 84:__UG_NAME__ -> 88:a ;
242 87:__UG_NAME__ -> 88:b ;
243 90:__UG_NAME__ -> 95:a ;
244 94:__UG_NAME__ -> 95:b ;
245 95:__UG_NAME__ -> 99:a ;
246 98:__UG_NAME__ -> 99:b ;
247 72:__UG_NAME__ -> 103:a ;
248 102:__UG_NAME__ -> 103:b ;
249 103:__UG_NAME__ -> 105:a ;
250 104:__UG_NAME__ -> 105:b ;
251 120:__UG_NAME__ -> 125:a ;
252 110:__UG_NAME__ -> 125:b ;
253 125:__UG_NAME__ -> 126:a ;
254 117:__UG_NAME__ -> 126:b ;
255 71:__UG_NAME__ -> 73:a ;
256 122:__UG_NAME__ -> 123:a ;
257 36:__UG_NAME__ -> 37:a ;
258 40:__UG_NAME__ -> 41:a ;
259 46:__UG_NAME__ -> 47:a ;
260 50:__UG_NAME__ -> 51:a ;
261 33:__UG_NAME__ -> 54:a ;
262 57:__UG_NAME__ -> 58:a ;
263 63:__UG_NAME__ -> 64:a ;
264 67:__UG_NAME__ -> 68:a ;
265 31:__UG_NAME__ -> 83:a ;
266 86:__UG_NAME__ -> 87:a ;
267 101:__UG_NAME__ -> 102:a ;
268 75:__UG_NAME__ -> 104:a ;
269 30:__UG_NAME__ -> 31:a ;
270 32:__UG_NAME__ -> 33:a ;
271 35:__UG_NAME__ -> 36:a ;
272 39:__UG_NAME__ -> 40:a ;
273 45:__UG_NAME__ -> 46:a ;
274 49:__UG_NAME__ -> 50:a ;
275 56:__UG_NAME__ -> 57:a ;
276 62:__UG_NAME__ -> 63:a ;
277 66:__UG_NAME__ -> 67:a ;
278 74:__UG_NAME__ -> 75:a ;
279 78:__UG_NAME__ -> 79:a ;
280 85:__UG_NAME__ -> 86:a ;
281 100:__UG_NAME__ -> 101:a ;
282 107:__UG_NAME__ -> 114:a ;
283 24:__UG_NAME__ -> 43:envelope___control___0 ;
284 24:__UG_NAME__ -> 43:envelope___control___4 ;
285 25:__UG_NAME__ -> 43:envelope___control___5 ;
286 26:__UG_NAME__ -> 43:envelope___control___6 ;
287 27:__UG_NAME__ -> 43:envelope___control___7 ;
288 42:__UG_NAME__ -> 43:gate ;
289 8:__UG_NAME__ -> 60:envelope___control___0 ;
290 8:__UG_NAME__ -> 60:envelope___control___4 ;
291 9:__UG_NAME__ -> 60:envelope___control___5 ;
292 10:__UG_NAME__ -> 60:envelope___control___6 ;
293 11:__UG_NAME__ -> 60:envelope___control___7 ;
294 59:__UG_NAME__ -> 60:gate ;
295 4:__UG_NAME__ -> 70:envelope___control___0 ;
296 4:__UG_NAME__ -> 70:envelope___control___4 ;
297 5:__UG_NAME__ -> 70:envelope___control___5 ;
298 6:__UG_NAME__ -> 70:envelope___control___6 ;
299 7:__UG_NAME__ -> 70:envelope___control___7 ;
300 69:__UG_NAME__ -> 70:gate ;
301 16:__UG_NAME__ -> 89:envelope___control___0 ;
302 16:__UG_NAME__ -> 89:envelope___control___4 ;
303 17:__UG_NAME__ -> 89:envelope___control___5 ;
304 18:__UG_NAME__ -> 89:envelope___control___6 ;
305 19:__UG_NAME__ -> 89:envelope___control___7 ;
306 88:__UG_NAME__ -> 89:gate ;
307 20:__UG_NAME__ -> 93:envelope___control___0 ;
308 20:__UG_NAME__ -> 93:envelope___control___4 ;
309 21:__UG_NAME__ -> 93:envelope___control___5 ;
310 22:__UG_NAME__ -> 93:envelope___control___6 ;
311 23:__UG_NAME__ -> 93:envelope___control___7 ;
312 52:__UG_NAME__ -> 93:gate ;
313 0:__UG_NAME__ -> 112:envelope___control___0 ;
314 0:__UG_NAME__ -> 112:envelope___control___4 ;
315 1:__UG_NAME__ -> 112:envelope___control___5 ;
316 2:__UG_NAME__ -> 112:envelope___control___6 ;
317 3:__UG_NAME__ -> 112:envelope___control___7 ;
318 105:__UG_NAME__ -> 112:gate ;
319 16:__UG_NAME__ -> 30:in ;
320 8:__UG_NAME__ -> 32:in ;
321 24:__UG_NAME__ -> 35:in ;
322 25:__UG_NAME__ -> 39:in ;
323 20:__UG_NAME__ -> 45:in ;
324 21:__UG_NAME__ -> 49:in ;
325 9:__UG_NAME__ -> 56:in ;
326 4:__UG_NAME__ -> 62:in ;
327 5:__UG_NAME__ -> 66:in ;
328 1:__UG_NAME__ -> 74:in ;
329 17:__UG_NAME__ -> 85:in ;
330 0:__UG_NAME__ -> 100:in ;
331 28:__UG_NAME__ -> 76:bus ;
332 28:__UG_NAME__ -> 118:bus ;
333 79:__UG_NAME__ -> 80:in ;
334 114:__UG_NAME__ -> 115:in ;
335 77:__UG_NAME__ -> 78:in ;
336 106:__UG_NAME__ -> 107:in ;
337 29:__UG_NAME__ -> 128:bus ;
338 124:__UG_NAME__ -> 128:signals___x____fade2___0 ;
339 127:__UG_NAME__ -> 128:signals___x____fade2___1 ;
340 78:__UG_NAME__ -> 91:trig ;
341 91:__UG_NAME__ -> 96:trig ;
342 107:__UG_NAME__ -> 108:trig ;
343 108:__UG_NAME__ -> 111:trig ;
344 121:__UG_NAME__ -> 124:ina ;
345 99:__UG_NAME__ -> 124:inb ;
346 123:__UG_NAME__ -> 124:pan ;
347 112:__UG_NAME__ -> 124:level ;
348 119:__UG_NAME__ -> 127:ina ;
349 126:__UG_NAME__ -> 127:inb ;
350 73:__UG_NAME__ -> 127:pan ;
351 112:__UG_NAME__ -> 127:level ;
352
353 }
0 digraph synthdef {
1 33 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 34 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 62 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 65 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 27 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 30 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 36 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 40 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 46 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 49 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 56 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 63 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
14 66 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
15 21 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 25 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 29 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 39 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 45 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 48 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 55 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 59 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 20 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 28 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 38 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 44 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 47 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 54 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 58 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 51 [label = "{{ <level> level|<pos> pos|<right> right|<left> left} |<__UG_NAME__>balance2 }" style="filled, bold, rounded" shape=record rankdir=LR];
32 0 [label = "control
33 :amp
34 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
35 1 [label = "control
36 :amp_slide
37 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 2 [label = "control
39 :amp_slide_shape
40 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 3 [label = "control
42 :amp_slide_curve
43 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 4 [label = "control
45 :mix
46 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 5 [label = "control
48 :mix_slide
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 6 [label = "control
51 :mix_slide_shape
52 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 7 [label = "control
54 :mix_slide_curve
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 8 [label = "control
57 :pre_amp
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 9 [label = "control
60 :pre_amp_slide
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 10 [label = "control
63 :pre_amp_slide_shape
64 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 11 [label = "control
66 :pre_amp_slide_curve
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 12 [label = "control
69 :pan
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 13 [label = "control
72 :pan_slide
73 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 14 [label = "control
75 :pan_slide_shape
76 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 15 [label = "control
78 :pan_slide_curve
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 16 [label = "control
81 :in_bus
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 17 [label = "control
84 :out_bus
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 31 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 41 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 50 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 61 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
90 18 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
91 19 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
98 26 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
99 35 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
100 42 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
101 52 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
102 32 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
103 68 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
104 64 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
105 67 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
106
107 31:__UG_NAME__ -> 33:a ;
108 32:__UG_NAME__ -> 33:b ;
109 31:__UG_NAME__ -> 34:a ;
110 32:__UG_NAME__ -> 34:b ;
111 61:__UG_NAME__ -> 62:a ;
112 61:__UG_NAME__ -> 65:a ;
113 26:__UG_NAME__ -> 27:a ;
114 25:__UG_NAME__ -> 27:b ;
115 27:__UG_NAME__ -> 30:a ;
116 29:__UG_NAME__ -> 30:b ;
117 35:__UG_NAME__ -> 36:a ;
118 21:__UG_NAME__ -> 36:b ;
119 36:__UG_NAME__ -> 40:a ;
120 39:__UG_NAME__ -> 40:b ;
121 42:__UG_NAME__ -> 46:a ;
122 45:__UG_NAME__ -> 46:b ;
123 46:__UG_NAME__ -> 49:a ;
124 48:__UG_NAME__ -> 49:b ;
125 52:__UG_NAME__ -> 56:a ;
126 55:__UG_NAME__ -> 56:b ;
127 56:__UG_NAME__ -> 60:a ;
128 59:__UG_NAME__ -> 60:b ;
129 62:__UG_NAME__ -> 63:a ;
130 65:__UG_NAME__ -> 66:a ;
131 20:__UG_NAME__ -> 21:a ;
132 24:__UG_NAME__ -> 25:a ;
133 28:__UG_NAME__ -> 29:a ;
134 38:__UG_NAME__ -> 39:a ;
135 44:__UG_NAME__ -> 45:a ;
136 47:__UG_NAME__ -> 48:a ;
137 54:__UG_NAME__ -> 55:a ;
138 58:__UG_NAME__ -> 59:a ;
139 19:__UG_NAME__ -> 20:a ;
140 23:__UG_NAME__ -> 24:a ;
141 22:__UG_NAME__ -> 28:a ;
142 37:__UG_NAME__ -> 38:a ;
143 43:__UG_NAME__ -> 44:a ;
144 18:__UG_NAME__ -> 47:a ;
145 53:__UG_NAME__ -> 54:a ;
146 57:__UG_NAME__ -> 58:a ;
147 34:__UG_NAME__ -> 51:left ;
148 33:__UG_NAME__ -> 51:right ;
149 41:__UG_NAME__ -> 51:pos ;
150 50:__UG_NAME__ -> 51:level ;
151 8:__UG_NAME__ -> 31:envelope___control___0 ;
152 8:__UG_NAME__ -> 31:envelope___control___4 ;
153 9:__UG_NAME__ -> 31:envelope___control___5 ;
154 10:__UG_NAME__ -> 31:envelope___control___6 ;
155 11:__UG_NAME__ -> 31:envelope___control___7 ;
156 30:__UG_NAME__ -> 31:gate ;
157 12:__UG_NAME__ -> 41:envelope___control___0 ;
158 12:__UG_NAME__ -> 41:envelope___control___4 ;
159 13:__UG_NAME__ -> 41:envelope___control___5 ;
160 14:__UG_NAME__ -> 41:envelope___control___6 ;
161 15:__UG_NAME__ -> 41:envelope___control___7 ;
162 40:__UG_NAME__ -> 41:gate ;
163 0:__UG_NAME__ -> 50:envelope___control___0 ;
164 0:__UG_NAME__ -> 50:envelope___control___4 ;
165 1:__UG_NAME__ -> 50:envelope___control___5 ;
166 2:__UG_NAME__ -> 50:envelope___control___6 ;
167 3:__UG_NAME__ -> 50:envelope___control___7 ;
168 49:__UG_NAME__ -> 50:gate ;
169 4:__UG_NAME__ -> 61:envelope___control___0 ;
170 4:__UG_NAME__ -> 61:envelope___control___4 ;
171 5:__UG_NAME__ -> 61:envelope___control___5 ;
172 6:__UG_NAME__ -> 61:envelope___control___6 ;
173 7:__UG_NAME__ -> 61:envelope___control___7 ;
174 60:__UG_NAME__ -> 61:gate ;
175 1:__UG_NAME__ -> 18:in ;
176 12:__UG_NAME__ -> 19:in ;
177 9:__UG_NAME__ -> 22:in ;
178 8:__UG_NAME__ -> 23:in ;
179 13:__UG_NAME__ -> 37:in ;
180 0:__UG_NAME__ -> 43:in ;
181 4:__UG_NAME__ -> 53:in ;
182 5:__UG_NAME__ -> 57:in ;
183 16:__UG_NAME__ -> 32:bus ;
184 17:__UG_NAME__ -> 68:bus ;
185 67:__UG_NAME__ -> 68:signals___x____fade2___0 ;
186 64:__UG_NAME__ -> 68:signals___x____fade2___1 ;
187 33:__UG_NAME__ -> 64:ina ;
188 51:__UG_NAME__ -> 64:inb ;
189 63:__UG_NAME__ -> 64:pan ;
190 50:__UG_NAME__ -> 64:level ;
191 34:__UG_NAME__ -> 67:ina ;
192 51:__UG_NAME__ -> 67:inb ;
193 66:__UG_NAME__ -> 67:pan ;
194 50:__UG_NAME__ -> 67:level ;
195
196 }
0 digraph synthdef {
1 68 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 70 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 82 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 85 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 97 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 102 [label = "{{ <b> 6.2831855|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 105 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 149 [label = "{{ <b> -1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 203 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
10 204 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 218 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
12 221 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
13 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 64 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 75 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 79 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 83 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 90 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 94 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 99 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 101 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 108 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 117 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 121 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 129 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 133 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 140 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 144 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 156 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 160 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 166 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 170 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 177 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 181 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
35 190 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
36 193 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
37 198 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
38 200 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
39 212 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
40 216 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
41 69 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
42 98 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
43 147 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
44 150 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
45 219 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
46 222 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
47 81 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
48 148 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
49 110 [label = "{{ <b> |<a> } |<__UG_NAME__>\< }" style="bold, rounded" shape=record rankdir=LR];
50 59 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 63 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 66 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 67 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 74 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 78 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 89 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 93 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
58 116 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
59 120 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
60 128 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
61 132 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
62 139 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
63 143 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
64 155 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
65 159 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
66 165 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
67 169 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
68 176 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
69 180 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
70 189 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
71 192 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
72 197 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
73 199 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
74 211 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
75 215 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
76 58 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
77 62 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
78 73 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
79 77 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
80 88 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
81 92 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
82 115 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
83 119 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
84 127 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
85 131 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
86 138 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
87 142 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
88 154 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
89 158 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
90 164 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
91 168 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
92 175 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
93 179 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
94 184 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
95 188 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
96 191 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
97 196 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
98 210 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
99 214 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
100 207 [label = "{{ <level> level|<pos> pos|<right> right|<left> left} |<__UG_NAME__>balance2 }" style="filled, bold, rounded" shape=record rankdir=LR];
101 109 [label = "{{ <interpolation> interpolation 2.0|<loop> loop 1.0|<phase> phase|<bufnum> bufnum|<num____channels> num-channels 1} |<__UG_NAME__>buf-rd }" style="bold, rounded" shape=record rankdir=LR];
102 56 [label = "{{ <hi> hi 1.0|<lo> lo 0.0|<in> in} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
103 112 [label = "{{ <hi> hi 1.0|<lo> lo 0.0|<in> in} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
104 135 [label = "{{ <hi> hi 1.0|<lo> lo -1.0|<in> in} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
105 146 [label = "{{ <hi> hi 1.0|<lo> lo -1.0|<in> in} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
106 0 [label = "control
107 :amp
108 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 1 [label = "control
110 :amp_slide
111 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 2 [label = "control
113 :amp_slide_shape
114 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 3 [label = "control
116 :amp_slide_curve
117 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 4 [label = "control
119 :mix
120 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 5 [label = "control
122 :mix_slide
123 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 6 [label = "control
125 :mix_slide_shape
126 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 7 [label = "control
128 :mix_slide_curve
129 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 8 [label = "control
131 :pre_amp
132 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 9 [label = "control
134 :pre_amp_slide
135 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 10 [label = "control
137 :pre_amp_slide_shape
138 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 11 [label = "control
140 :pre_amp_slide_curve
141 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
142 12 [label = "control
143 :phase
144 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
145 13 [label = "control
146 :phase_slide
147 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
148 14 [label = "control
149 :phase_slide_shape
150 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
151 15 [label = "control
152 :phase_slide_curve
153 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
154 16 [label = "control
155 :pan_min
156 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
157 17 [label = "control
158 :pan_min_slide
159 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
160 18 [label = "control
161 :pan_min_slide_shape
162 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
163 19 [label = "control
164 :pan_min_slide_curve
165 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
166 20 [label = "control
167 :pan_max
168 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
169 21 [label = "control
170 :pan_max_slide
171 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
172 22 [label = "control
173 :pan_max_slide_shape
174 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
175 23 [label = "control
176 :pan_max_slide_curve
177 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
178 24 [label = "control
179 :pulse_width
180 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
181 25 [label = "control
182 :pulse_width_slide
183 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
184 26 [label = "control
185 :pulse_width_slide_shape
186 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
187 27 [label = "control
188 :pulse_width_slide_curve
189 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
190 28 [label = "control
191 :smooth
192 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
193 29 [label = "control
194 :smooth_slide
195 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
196 30 [label = "control
197 :smooth_slide_shape
198 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
199 31 [label = "control
200 :smooth_slide_curve
201 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
202 32 [label = "control
203 :smooth_up
204 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
205 33 [label = "control
206 :smooth_up_slide
207 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
208 34 [label = "control
209 :smooth_up_slide_shape
210 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
211 35 [label = "control
212 :smooth_up_slide_curve
213 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
214 36 [label = "control
215 :smooth_down
216 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
217 37 [label = "control
218 :smooth_down_slide
219 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
220 38 [label = "control
221 :smooth_down_slide_shape
222 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
223 39 [label = "control
224 :smooth_down_slide_curve
225 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
226 40 [label = "control
227 :probability
228 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
229 41 [label = "control
230 :probability_slide
231 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
232 42 [label = "control
233 :probability_slide_shape
234 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
235 43 [label = "control
236 :probability_slide_curve
237 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
238 44 [label = "control
239 :prob_pos
240 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
241 45 [label = "control
242 :prob_pos_slide
243 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
244 46 [label = "control
245 :prob_pos_slide_shape
246 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
247 47 [label = "control
248 :prob_pos_slide_curve
249 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
250 48 [label = "control
251 :phase_offset
252 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
253 49 [label = "control
254 :wave
255 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
256 50 [label = "control
257 :invert_wave
258 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
259 51 [label = "control
260 :seed
261 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
262 52 [label = "control
263 :rand_buf
264 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
265 53 [label = "control
266 :in_bus
267 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
268 54 [label = "control
269 :out_bus
270 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
271 65 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___clip___0>|1.0|-99|-99|<envelope___clip___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
272 80 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
273 95 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
274 122 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
275 134 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
276 145 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
277 161 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
278 171 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
279 182 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
280 201 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
281 206 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
282 217 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
283 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
284 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
285 72 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
286 76 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
287 87 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
288 91 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
289 114 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
290 118 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
291 126 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
292 130 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
293 137 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
294 141 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
295 153 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
296 157 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
297 163 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
298 167 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
299 174 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
300 178 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
301 183 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
302 185 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
303 187 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
304 195 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
305 209 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
306 213 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
307 55 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
308 71 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
309 86 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
310 106 [label = "{{ <phase> phase 0.0|<freq> freq} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
311 111 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
312 125 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
313 136 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
314 152 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
315 162 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
316 173 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
317 186 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
318 194 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
319 208 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
320 202 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
321 205 [label = "{{ <lag____time> lag-time|<in> in} |<__UG_NAME__>lag }" style="bold, rounded" shape=record rankdir=LR];
322 172 [label = "{{ <lag____time____down> lag-time-down|<lag____time____up> lag-time-up|<in> in} |<__UG_NAME__>lag-ud }" style="bold, rounded" shape=record rankdir=LR];
323 96 [label = "{{ <width> width|<iphase> iphase|<freq> freq} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
324 84 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
325 100 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
326 113 [label = "{{ <add> add -1.0|<mul> mul 2.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
327 151 [label = "{{ <add> add|<mul> mul|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
328 224 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
329 107 [label = "{{ <reset> reset 0.0|<trig> trig} |<__UG_NAME__>pulse-count }" style="bold, rounded" shape=record rankdir=LR];
330 104 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
331 123 [label = "{{ {{<array___env____gen___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
332 124 [label = "{{ {{<array___binary____op____u____gen___0>|<array___select___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
333 103 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase|<freq> freq} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
334 220 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
335 223 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
336
337 67:__UG_NAME__ -> 68:b ;
338 69:__UG_NAME__ -> 70:b ;
339 48:__UG_NAME__ -> 82:b ;
340 84:__UG_NAME__ -> 85:b ;
341 96:__UG_NAME__ -> 97:b ;
342 101:__UG_NAME__ -> 102:a ;
343 70:__UG_NAME__ -> 105:a ;
344 104:__UG_NAME__ -> 105:b ;
345 148:__UG_NAME__ -> 149:a ;
346 201:__UG_NAME__ -> 203:a ;
347 202:__UG_NAME__ -> 203:b ;
348 201:__UG_NAME__ -> 204:a ;
349 202:__UG_NAME__ -> 204:b ;
350 217:__UG_NAME__ -> 218:a ;
351 217:__UG_NAME__ -> 221:a ;
352 55:__UG_NAME__ -> 60:a ;
353 59:__UG_NAME__ -> 60:b ;
354 60:__UG_NAME__ -> 64:a ;
355 63:__UG_NAME__ -> 64:b ;
356 71:__UG_NAME__ -> 75:a ;
357 74:__UG_NAME__ -> 75:b ;
358 75:__UG_NAME__ -> 79:a ;
359 78:__UG_NAME__ -> 79:b ;
360 82:__UG_NAME__ -> 83:a ;
361 86:__UG_NAME__ -> 90:a ;
362 89:__UG_NAME__ -> 90:b ;
363 90:__UG_NAME__ -> 94:a ;
364 93:__UG_NAME__ -> 94:b ;
365 82:__UG_NAME__ -> 99:a ;
366 48:__UG_NAME__ -> 101:a ;
367 51:__UG_NAME__ -> 108:a ;
368 107:__UG_NAME__ -> 108:b ;
369 111:__UG_NAME__ -> 117:a ;
370 116:__UG_NAME__ -> 117:b ;
371 117:__UG_NAME__ -> 121:a ;
372 120:__UG_NAME__ -> 121:b ;
373 125:__UG_NAME__ -> 129:a ;
374 128:__UG_NAME__ -> 129:b ;
375 129:__UG_NAME__ -> 133:a ;
376 132:__UG_NAME__ -> 133:b ;
377 136:__UG_NAME__ -> 140:a ;
378 139:__UG_NAME__ -> 140:b ;
379 140:__UG_NAME__ -> 144:a ;
380 143:__UG_NAME__ -> 144:b ;
381 152:__UG_NAME__ -> 156:a ;
382 155:__UG_NAME__ -> 156:b ;
383 156:__UG_NAME__ -> 160:a ;
384 159:__UG_NAME__ -> 160:b ;
385 162:__UG_NAME__ -> 166:a ;
386 165:__UG_NAME__ -> 166:b ;
387 166:__UG_NAME__ -> 170:a ;
388 169:__UG_NAME__ -> 170:b ;
389 173:__UG_NAME__ -> 177:a ;
390 176:__UG_NAME__ -> 177:b ;
391 177:__UG_NAME__ -> 181:a ;
392 180:__UG_NAME__ -> 181:b ;
393 186:__UG_NAME__ -> 190:a ;
394 189:__UG_NAME__ -> 190:b ;
395 190:__UG_NAME__ -> 193:a ;
396 192:__UG_NAME__ -> 193:b ;
397 194:__UG_NAME__ -> 198:a ;
398 197:__UG_NAME__ -> 198:b ;
399 198:__UG_NAME__ -> 200:a ;
400 199:__UG_NAME__ -> 200:b ;
401 208:__UG_NAME__ -> 212:a ;
402 211:__UG_NAME__ -> 212:b ;
403 212:__UG_NAME__ -> 216:a ;
404 215:__UG_NAME__ -> 216:b ;
405 68:__UG_NAME__ -> 69:a ;
406 97:__UG_NAME__ -> 98:a ;
407 135:__UG_NAME__ -> 147:a ;
408 146:__UG_NAME__ -> 147:b ;
409 146:__UG_NAME__ -> 150:a ;
410 149:__UG_NAME__ -> 150:b ;
411 218:__UG_NAME__ -> 219:a ;
412 221:__UG_NAME__ -> 222:a ;
413 80:__UG_NAME__ -> 81:b ;
414 147:__UG_NAME__ -> 148:a ;
415 109:__UG_NAME__ -> 110:a ;
416 65:__UG_NAME__ -> 110:b ;
417 58:__UG_NAME__ -> 59:a ;
418 62:__UG_NAME__ -> 63:a ;
419 65:__UG_NAME__ -> 66:a ;
420 50:__UG_NAME__ -> 67:a ;
421 73:__UG_NAME__ -> 74:a ;
422 77:__UG_NAME__ -> 78:a ;
423 88:__UG_NAME__ -> 89:a ;
424 92:__UG_NAME__ -> 93:a ;
425 115:__UG_NAME__ -> 116:a ;
426 119:__UG_NAME__ -> 120:a ;
427 127:__UG_NAME__ -> 128:a ;
428 131:__UG_NAME__ -> 132:a ;
429 138:__UG_NAME__ -> 139:a ;
430 142:__UG_NAME__ -> 143:a ;
431 154:__UG_NAME__ -> 155:a ;
432 158:__UG_NAME__ -> 159:a ;
433 164:__UG_NAME__ -> 165:a ;
434 168:__UG_NAME__ -> 169:a ;
435 175:__UG_NAME__ -> 176:a ;
436 179:__UG_NAME__ -> 180:a ;
437 188:__UG_NAME__ -> 189:a ;
438 191:__UG_NAME__ -> 192:a ;
439 196:__UG_NAME__ -> 197:a ;
440 184:__UG_NAME__ -> 199:a ;
441 210:__UG_NAME__ -> 211:a ;
442 214:__UG_NAME__ -> 215:a ;
443 57:__UG_NAME__ -> 58:a ;
444 61:__UG_NAME__ -> 62:a ;
445 72:__UG_NAME__ -> 73:a ;
446 76:__UG_NAME__ -> 77:a ;
447 87:__UG_NAME__ -> 88:a ;
448 91:__UG_NAME__ -> 92:a ;
449 114:__UG_NAME__ -> 115:a ;
450 118:__UG_NAME__ -> 119:a ;
451 126:__UG_NAME__ -> 127:a ;
452 130:__UG_NAME__ -> 131:a ;
453 137:__UG_NAME__ -> 138:a ;
454 141:__UG_NAME__ -> 142:a ;
455 153:__UG_NAME__ -> 154:a ;
456 157:__UG_NAME__ -> 158:a ;
457 163:__UG_NAME__ -> 164:a ;
458 167:__UG_NAME__ -> 168:a ;
459 174:__UG_NAME__ -> 175:a ;
460 178:__UG_NAME__ -> 179:a ;
461 183:__UG_NAME__ -> 184:a ;
462 187:__UG_NAME__ -> 188:a ;
463 185:__UG_NAME__ -> 191:a ;
464 195:__UG_NAME__ -> 196:a ;
465 209:__UG_NAME__ -> 210:a ;
466 213:__UG_NAME__ -> 214:a ;
467 203:__UG_NAME__ -> 207:left ;
468 204:__UG_NAME__ -> 207:right ;
469 205:__UG_NAME__ -> 207:pos ;
470 206:__UG_NAME__ -> 207:level ;
471 52:__UG_NAME__ -> 109:bufnum ;
472 108:__UG_NAME__ -> 109:phase ;
473 40:__UG_NAME__ -> 56:in ;
474 44:__UG_NAME__ -> 112:in ;
475 134:__UG_NAME__ -> 135:in ;
476 145:__UG_NAME__ -> 146:in ;
477 56:__UG_NAME__ -> 65:envelope___clip___0 ;
478 56:__UG_NAME__ -> 65:envelope___clip___4 ;
479 41:__UG_NAME__ -> 65:envelope___control___5 ;
480 42:__UG_NAME__ -> 65:envelope___control___6 ;
481 43:__UG_NAME__ -> 65:envelope___control___7 ;
482 64:__UG_NAME__ -> 65:gate ;
483 12:__UG_NAME__ -> 80:envelope___control___0 ;
484 12:__UG_NAME__ -> 80:envelope___control___4 ;
485 13:__UG_NAME__ -> 80:envelope___control___5 ;
486 14:__UG_NAME__ -> 80:envelope___control___6 ;
487 15:__UG_NAME__ -> 80:envelope___control___7 ;
488 79:__UG_NAME__ -> 80:gate ;
489 24:__UG_NAME__ -> 95:envelope___control___0 ;
490 24:__UG_NAME__ -> 95:envelope___control___4 ;
491 25:__UG_NAME__ -> 95:envelope___control___5 ;
492 26:__UG_NAME__ -> 95:envelope___control___6 ;
493 27:__UG_NAME__ -> 95:envelope___control___7 ;
494 94:__UG_NAME__ -> 95:gate ;
495 113:__UG_NAME__ -> 122:envelope___mul____add___0 ;
496 113:__UG_NAME__ -> 122:envelope___mul____add___4 ;
497 45:__UG_NAME__ -> 122:envelope___control___5 ;
498 46:__UG_NAME__ -> 122:envelope___control___6 ;
499 47:__UG_NAME__ -> 122:envelope___control___7 ;
500 121:__UG_NAME__ -> 122:gate ;
501 20:__UG_NAME__ -> 134:envelope___control___0 ;
502 20:__UG_NAME__ -> 134:envelope___control___4 ;
503 21:__UG_NAME__ -> 134:envelope___control___5 ;
504 22:__UG_NAME__ -> 134:envelope___control___6 ;
505 23:__UG_NAME__ -> 134:envelope___control___7 ;
506 133:__UG_NAME__ -> 134:gate ;
507 16:__UG_NAME__ -> 145:envelope___control___0 ;
508 16:__UG_NAME__ -> 145:envelope___control___4 ;
509 17:__UG_NAME__ -> 145:envelope___control___5 ;
510 18:__UG_NAME__ -> 145:envelope___control___6 ;
511 19:__UG_NAME__ -> 145:envelope___control___7 ;
512 144:__UG_NAME__ -> 145:gate ;
513 32:__UG_NAME__ -> 161:envelope___control___0 ;
514 32:__UG_NAME__ -> 161:envelope___control___4 ;
515 33:__UG_NAME__ -> 161:envelope___control___5 ;
516 34:__UG_NAME__ -> 161:envelope___control___6 ;
517 35:__UG_NAME__ -> 161:envelope___control___7 ;
518 160:__UG_NAME__ -> 161:gate ;
519 36:__UG_NAME__ -> 171:envelope___control___0 ;
520 36:__UG_NAME__ -> 171:envelope___control___4 ;
521 37:__UG_NAME__ -> 171:envelope___control___5 ;
522 38:__UG_NAME__ -> 171:envelope___control___6 ;
523 39:__UG_NAME__ -> 171:envelope___control___7 ;
524 170:__UG_NAME__ -> 171:gate ;
525 28:__UG_NAME__ -> 182:envelope___control___0 ;
526 28:__UG_NAME__ -> 182:envelope___control___4 ;
527 29:__UG_NAME__ -> 182:envelope___control___5 ;
528 30:__UG_NAME__ -> 182:envelope___control___6 ;
529 31:__UG_NAME__ -> 182:envelope___control___7 ;
530 181:__UG_NAME__ -> 182:gate ;
531 8:__UG_NAME__ -> 201:envelope___control___0 ;
532 8:__UG_NAME__ -> 201:envelope___control___4 ;
533 9:__UG_NAME__ -> 201:envelope___control___5 ;
534 10:__UG_NAME__ -> 201:envelope___control___6 ;
535 11:__UG_NAME__ -> 201:envelope___control___7 ;
536 200:__UG_NAME__ -> 201:gate ;
537 0:__UG_NAME__ -> 206:envelope___control___0 ;
538 0:__UG_NAME__ -> 206:envelope___control___4 ;
539 1:__UG_NAME__ -> 206:envelope___control___5 ;
540 2:__UG_NAME__ -> 206:envelope___control___6 ;
541 3:__UG_NAME__ -> 206:envelope___control___7 ;
542 193:__UG_NAME__ -> 206:gate ;
543 4:__UG_NAME__ -> 217:envelope___control___0 ;
544 4:__UG_NAME__ -> 217:envelope___control___4 ;
545 5:__UG_NAME__ -> 217:envelope___control___5 ;
546 6:__UG_NAME__ -> 217:envelope___control___6 ;
547 7:__UG_NAME__ -> 217:envelope___control___7 ;
548 216:__UG_NAME__ -> 217:gate ;
549 56:__UG_NAME__ -> 57:in ;
550 41:__UG_NAME__ -> 61:in ;
551 12:__UG_NAME__ -> 72:in ;
552 13:__UG_NAME__ -> 76:in ;
553 24:__UG_NAME__ -> 87:in ;
554 25:__UG_NAME__ -> 91:in ;
555 113:__UG_NAME__ -> 114:in ;
556 45:__UG_NAME__ -> 118:in ;
557 20:__UG_NAME__ -> 126:in ;
558 21:__UG_NAME__ -> 130:in ;
559 16:__UG_NAME__ -> 137:in ;
560 17:__UG_NAME__ -> 141:in ;
561 32:__UG_NAME__ -> 153:in ;
562 33:__UG_NAME__ -> 157:in ;
563 36:__UG_NAME__ -> 163:in ;
564 37:__UG_NAME__ -> 167:in ;
565 28:__UG_NAME__ -> 174:in ;
566 29:__UG_NAME__ -> 178:in ;
567 9:__UG_NAME__ -> 183:in ;
568 1:__UG_NAME__ -> 185:in ;
569 0:__UG_NAME__ -> 187:in ;
570 8:__UG_NAME__ -> 195:in ;
571 4:__UG_NAME__ -> 209:in ;
572 5:__UG_NAME__ -> 213:in ;
573 81:__UG_NAME__ -> 106:freq ;
574 53:__UG_NAME__ -> 202:bus ;
575 172:__UG_NAME__ -> 205:in ;
576 182:__UG_NAME__ -> 205:lag____time ;
577 151:__UG_NAME__ -> 172:in ;
578 161:__UG_NAME__ -> 172:lag____time____up ;
579 171:__UG_NAME__ -> 172:lag____time____down ;
580 81:__UG_NAME__ -> 96:freq ;
581 48:__UG_NAME__ -> 96:iphase ;
582 95:__UG_NAME__ -> 96:width ;
583 81:__UG_NAME__ -> 84:freq ;
584 83:__UG_NAME__ -> 84:iphase ;
585 81:__UG_NAME__ -> 100:freq ;
586 99:__UG_NAME__ -> 100:iphase ;
587 112:__UG_NAME__ -> 113:in ;
588 124:__UG_NAME__ -> 151:in ;
589 148:__UG_NAME__ -> 151:mul ;
590 150:__UG_NAME__ -> 151:add ;
591 54:__UG_NAME__ -> 224:bus ;
592 220:__UG_NAME__ -> 224:signals___x____fade2___0 ;
593 223:__UG_NAME__ -> 224:signals___x____fade2___1 ;
594 106:__UG_NAME__ -> 107:trig ;
595 49:__UG_NAME__ -> 104:which ;
596 85:__UG_NAME__ -> 104:array___binary____op____u____gen___0 ;
597 98:__UG_NAME__ -> 104:array___binary____op____u____gen___1 ;
598 100:__UG_NAME__ -> 104:array___lf____tri___2 ;
599 103:__UG_NAME__ -> 104:array___sin____osc___3 ;
600 110:__UG_NAME__ -> 123:which ;
601 122:__UG_NAME__ -> 123:array___env____gen___0 ;
602 105:__UG_NAME__ -> 123:array___binary____op____u____gen___1 ;
603 66:__UG_NAME__ -> 124:which ;
604 105:__UG_NAME__ -> 124:array___binary____op____u____gen___0 ;
605 123:__UG_NAME__ -> 124:array___select___1 ;
606 81:__UG_NAME__ -> 103:freq ;
607 102:__UG_NAME__ -> 103:phase ;
608 203:__UG_NAME__ -> 220:ina ;
609 207:__UG_NAME__ -> 220:inb ;
610 219:__UG_NAME__ -> 220:pan ;
611 206:__UG_NAME__ -> 220:level ;
612 204:__UG_NAME__ -> 223:ina ;
613 207:__UG_NAME__ -> 223:inb ;
614 222:__UG_NAME__ -> 223:pan ;
615 206:__UG_NAME__ -> 223:level ;
616
617 }
0 digraph synthdef {
1 41 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 94 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 107 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 109 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 34 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 38 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 46 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 50 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 56 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 67 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 71 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 77 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 81 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 88 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 92 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 100 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 104 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 95 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
20 110 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
21 33 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 45 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 49 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 55 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 59 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 66 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 70 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 76 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 80 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 87 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 91 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 99 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 103 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 32 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 44 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 48 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 54 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 58 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 65 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 69 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 75 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 79 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 86 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 90 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 98 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 102 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 0 [label = "control
50 :amp
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 1 [label = "control
53 :amp_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 2 [label = "control
56 :amp_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 3 [label = "control
59 :amp_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 4 [label = "control
62 :mix
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 5 [label = "control
65 :mix_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 6 [label = "control
68 :mix_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 7 [label = "control
71 :mix_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 8 [label = "control
74 :pre_amp
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 9 [label = "control
77 :pre_amp_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 10 [label = "control
80 :pre_amp_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 11 [label = "control
83 :pre_amp_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 12 [label = "control
86 :pitch
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 13 [label = "control
89 :pitch_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 14 [label = "control
92 :pitch_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 15 [label = "control
95 :pitch_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 16 [label = "control
98 :window_size
99 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 17 [label = "control
101 :window_size_slide
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 18 [label = "control
104 :window_size_slide_shape
105 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 19 [label = "control
107 :window_size_slide_curve
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 20 [label = "control
110 :pitch_dis
111 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 21 [label = "control
113 :pitch_dis_slide
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 22 [label = "control
116 :pitch_dis_slide_shape
117 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 23 [label = "control
119 :pitch_dis_slide_curve
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 24 [label = "control
122 :time_dis
123 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 25 [label = "control
125 :time_dis_slide
126 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 26 [label = "control
128 :time_dis_slide_shape
129 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 27 [label = "control
131 :time_dis_slide_curve
132 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 28 [label = "control
134 :in_bus
135 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 29 [label = "control
137 :out_bus
138 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 39 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
140 51 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
141 61 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
142 72 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
143 82 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
144 93 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
145 105 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
146 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
147 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
148 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
149 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
150 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
151 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
152 64 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
153 68 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
154 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
155 78 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
156 85 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
157 89 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
158 97 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
159 101 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
160 30 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
161 42 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
162 52 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
163 63 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
164 73 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
165 84 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
166 96 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
167 40 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
168 62 [label = "{{ <b> |<a> } |<__UG_NAME__>midiratio }" style="bold, rounded" shape=record rankdir=LR];
169 112 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
170 83 [label = "{{ <time____dispersion> time-dispersion|<pitch____dispersion> pitch-dispersion|<pitch____ratio> pitch-ratio|<window____size> window-size|<in> in} |<__UG_NAME__>pitch-shift }" style="filled, bold, rounded" shape=record rankdir=LR];
171 108 [label = "{{ <time____dispersion> time-dispersion|<pitch____dispersion> pitch-dispersion|<pitch____ratio> pitch-ratio|<window____size> window-size|<in> in} |<__UG_NAME__>pitch-shift }" style="filled, bold, rounded" shape=record rankdir=LR];
172 106 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
173 111 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
174
175 39:__UG_NAME__ -> 41:a ;
176 40:__UG_NAME__ -> 41:b ;
177 93:__UG_NAME__ -> 94:a ;
178 39:__UG_NAME__ -> 107:a ;
179 40:__UG_NAME__ -> 107:b ;
180 93:__UG_NAME__ -> 109:a ;
181 30:__UG_NAME__ -> 34:a ;
182 33:__UG_NAME__ -> 34:b ;
183 34:__UG_NAME__ -> 38:a ;
184 37:__UG_NAME__ -> 38:b ;
185 42:__UG_NAME__ -> 46:a ;
186 45:__UG_NAME__ -> 46:b ;
187 46:__UG_NAME__ -> 50:a ;
188 49:__UG_NAME__ -> 50:b ;
189 52:__UG_NAME__ -> 56:a ;
190 55:__UG_NAME__ -> 56:b ;
191 56:__UG_NAME__ -> 60:a ;
192 59:__UG_NAME__ -> 60:b ;
193 63:__UG_NAME__ -> 67:a ;
194 66:__UG_NAME__ -> 67:b ;
195 67:__UG_NAME__ -> 71:a ;
196 70:__UG_NAME__ -> 71:b ;
197 73:__UG_NAME__ -> 77:a ;
198 76:__UG_NAME__ -> 77:b ;
199 77:__UG_NAME__ -> 81:a ;
200 80:__UG_NAME__ -> 81:b ;
201 84:__UG_NAME__ -> 88:a ;
202 87:__UG_NAME__ -> 88:b ;
203 88:__UG_NAME__ -> 92:a ;
204 91:__UG_NAME__ -> 92:b ;
205 96:__UG_NAME__ -> 100:a ;
206 99:__UG_NAME__ -> 100:b ;
207 100:__UG_NAME__ -> 104:a ;
208 103:__UG_NAME__ -> 104:b ;
209 94:__UG_NAME__ -> 95:a ;
210 109:__UG_NAME__ -> 110:a ;
211 32:__UG_NAME__ -> 33:a ;
212 36:__UG_NAME__ -> 37:a ;
213 44:__UG_NAME__ -> 45:a ;
214 48:__UG_NAME__ -> 49:a ;
215 54:__UG_NAME__ -> 55:a ;
216 58:__UG_NAME__ -> 59:a ;
217 65:__UG_NAME__ -> 66:a ;
218 69:__UG_NAME__ -> 70:a ;
219 75:__UG_NAME__ -> 76:a ;
220 79:__UG_NAME__ -> 80:a ;
221 86:__UG_NAME__ -> 87:a ;
222 90:__UG_NAME__ -> 91:a ;
223 98:__UG_NAME__ -> 99:a ;
224 102:__UG_NAME__ -> 103:a ;
225 31:__UG_NAME__ -> 32:a ;
226 35:__UG_NAME__ -> 36:a ;
227 43:__UG_NAME__ -> 44:a ;
228 47:__UG_NAME__ -> 48:a ;
229 53:__UG_NAME__ -> 54:a ;
230 57:__UG_NAME__ -> 58:a ;
231 64:__UG_NAME__ -> 65:a ;
232 68:__UG_NAME__ -> 69:a ;
233 74:__UG_NAME__ -> 75:a ;
234 78:__UG_NAME__ -> 79:a ;
235 85:__UG_NAME__ -> 86:a ;
236 89:__UG_NAME__ -> 90:a ;
237 97:__UG_NAME__ -> 98:a ;
238 101:__UG_NAME__ -> 102:a ;
239 8:__UG_NAME__ -> 39:envelope___control___0 ;
240 8:__UG_NAME__ -> 39:envelope___control___4 ;
241 9:__UG_NAME__ -> 39:envelope___control___5 ;
242 10:__UG_NAME__ -> 39:envelope___control___6 ;
243 11:__UG_NAME__ -> 39:envelope___control___7 ;
244 38:__UG_NAME__ -> 39:gate ;
245 16:__UG_NAME__ -> 51:envelope___control___0 ;
246 16:__UG_NAME__ -> 51:envelope___control___4 ;
247 17:__UG_NAME__ -> 51:envelope___control___5 ;
248 18:__UG_NAME__ -> 51:envelope___control___6 ;
249 19:__UG_NAME__ -> 51:envelope___control___7 ;
250 50:__UG_NAME__ -> 51:gate ;
251 12:__UG_NAME__ -> 61:envelope___control___0 ;
252 12:__UG_NAME__ -> 61:envelope___control___4 ;
253 13:__UG_NAME__ -> 61:envelope___control___5 ;
254 14:__UG_NAME__ -> 61:envelope___control___6 ;
255 15:__UG_NAME__ -> 61:envelope___control___7 ;
256 60:__UG_NAME__ -> 61:gate ;
257 20:__UG_NAME__ -> 72:envelope___control___0 ;
258 20:__UG_NAME__ -> 72:envelope___control___4 ;
259 21:__UG_NAME__ -> 72:envelope___control___5 ;
260 22:__UG_NAME__ -> 72:envelope___control___6 ;
261 23:__UG_NAME__ -> 72:envelope___control___7 ;
262 71:__UG_NAME__ -> 72:gate ;
263 24:__UG_NAME__ -> 82:envelope___control___0 ;
264 24:__UG_NAME__ -> 82:envelope___control___4 ;
265 25:__UG_NAME__ -> 82:envelope___control___5 ;
266 26:__UG_NAME__ -> 82:envelope___control___6 ;
267 27:__UG_NAME__ -> 82:envelope___control___7 ;
268 81:__UG_NAME__ -> 82:gate ;
269 4:__UG_NAME__ -> 93:envelope___control___0 ;
270 4:__UG_NAME__ -> 93:envelope___control___4 ;
271 5:__UG_NAME__ -> 93:envelope___control___5 ;
272 6:__UG_NAME__ -> 93:envelope___control___6 ;
273 7:__UG_NAME__ -> 93:envelope___control___7 ;
274 92:__UG_NAME__ -> 93:gate ;
275 0:__UG_NAME__ -> 105:envelope___control___0 ;
276 0:__UG_NAME__ -> 105:envelope___control___4 ;
277 1:__UG_NAME__ -> 105:envelope___control___5 ;
278 2:__UG_NAME__ -> 105:envelope___control___6 ;
279 3:__UG_NAME__ -> 105:envelope___control___7 ;
280 104:__UG_NAME__ -> 105:gate ;
281 8:__UG_NAME__ -> 31:in ;
282 9:__UG_NAME__ -> 35:in ;
283 16:__UG_NAME__ -> 43:in ;
284 17:__UG_NAME__ -> 47:in ;
285 12:__UG_NAME__ -> 53:in ;
286 13:__UG_NAME__ -> 57:in ;
287 20:__UG_NAME__ -> 64:in ;
288 21:__UG_NAME__ -> 68:in ;
289 24:__UG_NAME__ -> 74:in ;
290 25:__UG_NAME__ -> 78:in ;
291 4:__UG_NAME__ -> 85:in ;
292 5:__UG_NAME__ -> 89:in ;
293 0:__UG_NAME__ -> 97:in ;
294 1:__UG_NAME__ -> 101:in ;
295 28:__UG_NAME__ -> 40:bus ;
296 61:__UG_NAME__ -> 62:a ;
297 29:__UG_NAME__ -> 112:bus ;
298 111:__UG_NAME__ -> 112:signals___x____fade2___0 ;
299 106:__UG_NAME__ -> 112:signals___x____fade2___1 ;
300 41:__UG_NAME__ -> 83:in ;
301 51:__UG_NAME__ -> 83:window____size ;
302 62:__UG_NAME__ -> 83:pitch____ratio ;
303 72:__UG_NAME__ -> 83:pitch____dispersion ;
304 82:__UG_NAME__ -> 83:time____dispersion ;
305 107:__UG_NAME__ -> 108:in ;
306 51:__UG_NAME__ -> 108:window____size ;
307 62:__UG_NAME__ -> 108:pitch____ratio ;
308 72:__UG_NAME__ -> 108:pitch____dispersion ;
309 82:__UG_NAME__ -> 108:time____dispersion ;
310 41:__UG_NAME__ -> 106:ina ;
311 83:__UG_NAME__ -> 106:inb ;
312 95:__UG_NAME__ -> 106:pan ;
313 105:__UG_NAME__ -> 106:level ;
314 107:__UG_NAME__ -> 111:ina ;
315 108:__UG_NAME__ -> 111:inb ;
316 110:__UG_NAME__ -> 111:pan ;
317 105:__UG_NAME__ -> 111:level ;
318
319 }
0 digraph synthdef {
1 38 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 69 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 73 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 82 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 26 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 31 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 35 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 43 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 47 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 55 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 67 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 77 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 79 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 74 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
16 75 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 25 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 30 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 34 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 42 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 46 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 54 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 58 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 66 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 70 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 78 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 29 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 33 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 45 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 53 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 65 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 72 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :amp
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :amp_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :amp_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :amp_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :mix
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :mix_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :mix_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :mix_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pre_amp
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pre_amp_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pre_amp_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pre_amp_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :centre
75 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :centre_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :centre_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :centre_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :res
87 default: 0.6" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :res_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :res_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :res_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :in_bus
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 36 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 48 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 60 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 68 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 80 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 64 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 22 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 27 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 39 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 50 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 76 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 37 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
124 49 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
125 51 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
126 85 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
127 61 [label = "{{ <bwr> bwr|<freq> freq|<in> in} |<__UG_NAME__>resonz }" style="filled, bold, rounded" shape=record rankdir=LR];
128 83 [label = "{{ <bwr> bwr|<freq> freq|<in> in} |<__UG_NAME__>resonz }" style="filled, bold, rounded" shape=record rankdir=LR];
129 81 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
130 84 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
131
132 36:__UG_NAME__ -> 38:a ;
133 37:__UG_NAME__ -> 38:b ;
134 68:__UG_NAME__ -> 69:a ;
135 68:__UG_NAME__ -> 73:a ;
136 36:__UG_NAME__ -> 82:a ;
137 37:__UG_NAME__ -> 82:b ;
138 22:__UG_NAME__ -> 26:a ;
139 25:__UG_NAME__ -> 26:b ;
140 27:__UG_NAME__ -> 31:a ;
141 30:__UG_NAME__ -> 31:b ;
142 31:__UG_NAME__ -> 35:a ;
143 34:__UG_NAME__ -> 35:b ;
144 39:__UG_NAME__ -> 43:a ;
145 42:__UG_NAME__ -> 43:b ;
146 43:__UG_NAME__ -> 47:a ;
147 46:__UG_NAME__ -> 47:b ;
148 50:__UG_NAME__ -> 55:a ;
149 54:__UG_NAME__ -> 55:b ;
150 55:__UG_NAME__ -> 59:a ;
151 58:__UG_NAME__ -> 59:b ;
152 26:__UG_NAME__ -> 67:a ;
153 66:__UG_NAME__ -> 67:b ;
154 76:__UG_NAME__ -> 77:a ;
155 70:__UG_NAME__ -> 77:b ;
156 77:__UG_NAME__ -> 79:a ;
157 78:__UG_NAME__ -> 79:b ;
158 73:__UG_NAME__ -> 74:a ;
159 69:__UG_NAME__ -> 75:a ;
160 24:__UG_NAME__ -> 25:a ;
161 29:__UG_NAME__ -> 30:a ;
162 33:__UG_NAME__ -> 34:a ;
163 41:__UG_NAME__ -> 42:a ;
164 45:__UG_NAME__ -> 46:a ;
165 53:__UG_NAME__ -> 54:a ;
166 57:__UG_NAME__ -> 58:a ;
167 65:__UG_NAME__ -> 66:a ;
168 63:__UG_NAME__ -> 70:a ;
169 72:__UG_NAME__ -> 78:a ;
170 23:__UG_NAME__ -> 24:a ;
171 28:__UG_NAME__ -> 29:a ;
172 32:__UG_NAME__ -> 33:a ;
173 40:__UG_NAME__ -> 41:a ;
174 44:__UG_NAME__ -> 45:a ;
175 52:__UG_NAME__ -> 53:a ;
176 56:__UG_NAME__ -> 57:a ;
177 62:__UG_NAME__ -> 63:a ;
178 64:__UG_NAME__ -> 65:a ;
179 71:__UG_NAME__ -> 72:a ;
180 8:__UG_NAME__ -> 36:envelope___control___0 ;
181 8:__UG_NAME__ -> 36:envelope___control___4 ;
182 9:__UG_NAME__ -> 36:envelope___control___5 ;
183 10:__UG_NAME__ -> 36:envelope___control___6 ;
184 11:__UG_NAME__ -> 36:envelope___control___7 ;
185 35:__UG_NAME__ -> 36:gate ;
186 12:__UG_NAME__ -> 48:envelope___control___0 ;
187 12:__UG_NAME__ -> 48:envelope___control___4 ;
188 13:__UG_NAME__ -> 48:envelope___control___5 ;
189 14:__UG_NAME__ -> 48:envelope___control___6 ;
190 15:__UG_NAME__ -> 48:envelope___control___7 ;
191 47:__UG_NAME__ -> 48:gate ;
192 51:__UG_NAME__ -> 60:envelope___mul____add___0 ;
193 51:__UG_NAME__ -> 60:envelope___mul____add___4 ;
194 17:__UG_NAME__ -> 60:envelope___control___5 ;
195 18:__UG_NAME__ -> 60:envelope___control___6 ;
196 19:__UG_NAME__ -> 60:envelope___control___7 ;
197 59:__UG_NAME__ -> 60:gate ;
198 4:__UG_NAME__ -> 68:envelope___control___0 ;
199 4:__UG_NAME__ -> 68:envelope___control___4 ;
200 5:__UG_NAME__ -> 68:envelope___control___5 ;
201 6:__UG_NAME__ -> 68:envelope___control___6 ;
202 7:__UG_NAME__ -> 68:envelope___control___7 ;
203 67:__UG_NAME__ -> 68:gate ;
204 0:__UG_NAME__ -> 80:envelope___control___0 ;
205 0:__UG_NAME__ -> 80:envelope___control___4 ;
206 1:__UG_NAME__ -> 80:envelope___control___5 ;
207 2:__UG_NAME__ -> 80:envelope___control___6 ;
208 3:__UG_NAME__ -> 80:envelope___control___7 ;
209 79:__UG_NAME__ -> 80:gate ;
210 4:__UG_NAME__ -> 23:in ;
211 8:__UG_NAME__ -> 28:in ;
212 9:__UG_NAME__ -> 32:in ;
213 12:__UG_NAME__ -> 40:in ;
214 13:__UG_NAME__ -> 44:in ;
215 51:__UG_NAME__ -> 52:in ;
216 17:__UG_NAME__ -> 56:in ;
217 0:__UG_NAME__ -> 62:in ;
218 5:__UG_NAME__ -> 64:in ;
219 1:__UG_NAME__ -> 71:in ;
220 20:__UG_NAME__ -> 37:bus ;
221 48:__UG_NAME__ -> 49:a ;
222 16:__UG_NAME__ -> 51:in ;
223 21:__UG_NAME__ -> 85:bus ;
224 81:__UG_NAME__ -> 85:signals___x____fade2___0 ;
225 84:__UG_NAME__ -> 85:signals___x____fade2___1 ;
226 38:__UG_NAME__ -> 61:in ;
227 49:__UG_NAME__ -> 61:freq ;
228 60:__UG_NAME__ -> 61:bwr ;
229 82:__UG_NAME__ -> 83:in ;
230 49:__UG_NAME__ -> 83:freq ;
231 60:__UG_NAME__ -> 83:bwr ;
232 38:__UG_NAME__ -> 81:ina ;
233 61:__UG_NAME__ -> 81:inb ;
234 75:__UG_NAME__ -> 81:pan ;
235 80:__UG_NAME__ -> 81:level ;
236 82:__UG_NAME__ -> 84:ina ;
237 83:__UG_NAME__ -> 84:inb ;
238 74:__UG_NAME__ -> 84:pan ;
239 80:__UG_NAME__ -> 84:level ;
240
241 }
0 digraph synthdef {
1 44 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 45 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 76 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 77 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 27 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 31 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 37 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 41 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 50 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 54 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 63 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 69 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 73 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 26 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 30 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 36 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 40 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 49 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 53 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 59 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 62 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 68 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 72 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 25 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 29 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 35 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 39 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 48 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 52 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 58 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 61 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 67 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 71 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 0 [label = "control
36 :amp
37 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 1 [label = "control
39 :amp_slide
40 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 2 [label = "control
42 :amp_slide_shape
43 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 3 [label = "control
45 :amp_slide_curve
46 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 4 [label = "control
48 :mix
49 default: 0.4" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 5 [label = "control
51 :mix_slide
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 6 [label = "control
54 :mix_slide_shape
55 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 7 [label = "control
57 :mix_slide_curve
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 8 [label = "control
60 :pre_amp
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 9 [label = "control
63 :pre_amp_slide
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 10 [label = "control
66 :pre_amp_slide_shape
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 11 [label = "control
69 :pre_amp_slide_curve
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 12 [label = "control
72 :room
73 default: 0.6" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 13 [label = "control
75 :room_slide
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 14 [label = "control
78 :room_slide_shape
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 15 [label = "control
81 :room_slide_curve
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 16 [label = "control
84 :damp
85 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 17 [label = "control
87 :damp_slide
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 18 [label = "control
90 :damp_slide_shape
91 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 19 [label = "control
93 :damp_slide_curve
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 20 [label = "control
96 :in_bus
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 21 [label = "control
99 :out_bus
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 32 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
102 42 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
103 55 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 64 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 74 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 75 [label = "{{ <damp> damp|<room> room|<mix> mix|<in2> in2|<in> in} |<__UG_NAME__>free-verb2 }" style="filled, bold, rounded" shape=record rankdir=LR];
107 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
108 24 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 23 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 33 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 46 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 56 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 65 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 43 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
123 78 [label = "{{ {{<signals___binary____op____u____gen___0>|<signals___binary____op____u____gen___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
124
125 42:__UG_NAME__ -> 44:a ;
126 43:__UG_NAME__ -> 44:b ;
127 42:__UG_NAME__ -> 45:a ;
128 43:__UG_NAME__ -> 45:b ;
129 32:__UG_NAME__ -> 76:a ;
130 75:__UG_NAME__ -> 76:b ;
131 32:__UG_NAME__ -> 77:a ;
132 75:__UG_NAME__ -> 77:b ;
133 23:__UG_NAME__ -> 27:a ;
134 26:__UG_NAME__ -> 27:b ;
135 27:__UG_NAME__ -> 31:a ;
136 30:__UG_NAME__ -> 31:b ;
137 33:__UG_NAME__ -> 37:a ;
138 36:__UG_NAME__ -> 37:b ;
139 37:__UG_NAME__ -> 41:a ;
140 40:__UG_NAME__ -> 41:b ;
141 46:__UG_NAME__ -> 50:a ;
142 49:__UG_NAME__ -> 50:b ;
143 50:__UG_NAME__ -> 54:a ;
144 53:__UG_NAME__ -> 54:b ;
145 56:__UG_NAME__ -> 60:a ;
146 59:__UG_NAME__ -> 60:b ;
147 60:__UG_NAME__ -> 63:a ;
148 62:__UG_NAME__ -> 63:b ;
149 65:__UG_NAME__ -> 69:a ;
150 68:__UG_NAME__ -> 69:b ;
151 69:__UG_NAME__ -> 73:a ;
152 72:__UG_NAME__ -> 73:b ;
153 25:__UG_NAME__ -> 26:a ;
154 29:__UG_NAME__ -> 30:a ;
155 35:__UG_NAME__ -> 36:a ;
156 39:__UG_NAME__ -> 40:a ;
157 48:__UG_NAME__ -> 49:a ;
158 52:__UG_NAME__ -> 53:a ;
159 58:__UG_NAME__ -> 59:a ;
160 61:__UG_NAME__ -> 62:a ;
161 67:__UG_NAME__ -> 68:a ;
162 71:__UG_NAME__ -> 72:a ;
163 24:__UG_NAME__ -> 25:a ;
164 28:__UG_NAME__ -> 29:a ;
165 34:__UG_NAME__ -> 35:a ;
166 38:__UG_NAME__ -> 39:a ;
167 47:__UG_NAME__ -> 48:a ;
168 51:__UG_NAME__ -> 52:a ;
169 57:__UG_NAME__ -> 58:a ;
170 22:__UG_NAME__ -> 61:a ;
171 66:__UG_NAME__ -> 67:a ;
172 70:__UG_NAME__ -> 71:a ;
173 0:__UG_NAME__ -> 32:envelope___control___0 ;
174 0:__UG_NAME__ -> 32:envelope___control___4 ;
175 1:__UG_NAME__ -> 32:envelope___control___5 ;
176 2:__UG_NAME__ -> 32:envelope___control___6 ;
177 3:__UG_NAME__ -> 32:envelope___control___7 ;
178 31:__UG_NAME__ -> 32:gate ;
179 8:__UG_NAME__ -> 42:envelope___control___0 ;
180 8:__UG_NAME__ -> 42:envelope___control___4 ;
181 9:__UG_NAME__ -> 42:envelope___control___5 ;
182 10:__UG_NAME__ -> 42:envelope___control___6 ;
183 11:__UG_NAME__ -> 42:envelope___control___7 ;
184 41:__UG_NAME__ -> 42:gate ;
185 4:__UG_NAME__ -> 55:envelope___control___0 ;
186 4:__UG_NAME__ -> 55:envelope___control___4 ;
187 5:__UG_NAME__ -> 55:envelope___control___5 ;
188 6:__UG_NAME__ -> 55:envelope___control___6 ;
189 7:__UG_NAME__ -> 55:envelope___control___7 ;
190 54:__UG_NAME__ -> 55:gate ;
191 12:__UG_NAME__ -> 64:envelope___control___0 ;
192 12:__UG_NAME__ -> 64:envelope___control___4 ;
193 13:__UG_NAME__ -> 64:envelope___control___5 ;
194 14:__UG_NAME__ -> 64:envelope___control___6 ;
195 15:__UG_NAME__ -> 64:envelope___control___7 ;
196 63:__UG_NAME__ -> 64:gate ;
197 16:__UG_NAME__ -> 74:envelope___control___0 ;
198 16:__UG_NAME__ -> 74:envelope___control___4 ;
199 17:__UG_NAME__ -> 74:envelope___control___5 ;
200 18:__UG_NAME__ -> 74:envelope___control___6 ;
201 19:__UG_NAME__ -> 74:envelope___control___7 ;
202 73:__UG_NAME__ -> 74:gate ;
203 44:__UG_NAME__ -> 75:in ;
204 45:__UG_NAME__ -> 75:in2 ;
205 55:__UG_NAME__ -> 75:mix ;
206 64:__UG_NAME__ -> 75:room ;
207 74:__UG_NAME__ -> 75:damp ;
208 13:__UG_NAME__ -> 22:in ;
209 0:__UG_NAME__ -> 24:in ;
210 1:__UG_NAME__ -> 28:in ;
211 8:__UG_NAME__ -> 34:in ;
212 9:__UG_NAME__ -> 38:in ;
213 4:__UG_NAME__ -> 47:in ;
214 5:__UG_NAME__ -> 51:in ;
215 12:__UG_NAME__ -> 57:in ;
216 16:__UG_NAME__ -> 66:in ;
217 17:__UG_NAME__ -> 70:in ;
218 20:__UG_NAME__ -> 43:bus ;
219 21:__UG_NAME__ -> 78:bus ;
220 77:__UG_NAME__ -> 78:signals___binary____op____u____gen___0 ;
221 76:__UG_NAME__ -> 78:signals___binary____op____u____gen___1 ;
222
223 }
0 digraph synthdef {
1 38 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 67 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 80 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 82 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 26 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 31 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 35 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 42 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 50 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 54 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 73 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 77 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 68 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
16 83 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 25 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 30 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 34 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 41 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 49 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 53 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 60 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 72 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 76 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 29 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 33 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 40 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 48 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 52 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 59 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 71 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 75 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :amp
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :amp_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :amp_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :amp_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :mix
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :mix_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :mix_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :mix_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pre_amp
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pre_amp_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pre_amp_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pre_amp_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :cutoff
75 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :cutoff_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :cutoff_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :cutoff_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :res
87 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :res_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :res_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :res_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :in_bus
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 36 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 43 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 55 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 66 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 78 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 22 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 27 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 45 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 57 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 69 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 37 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
124 44 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
125 46 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
126 85 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
127 56 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rhpf }" style="filled, bold, rounded" shape=record rankdir=LR];
128 81 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rhpf }" style="filled, bold, rounded" shape=record rankdir=LR];
129 79 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
130 84 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
131
132 36:__UG_NAME__ -> 38:a ;
133 37:__UG_NAME__ -> 38:b ;
134 66:__UG_NAME__ -> 67:a ;
135 36:__UG_NAME__ -> 80:a ;
136 37:__UG_NAME__ -> 80:b ;
137 66:__UG_NAME__ -> 82:a ;
138 22:__UG_NAME__ -> 26:a ;
139 25:__UG_NAME__ -> 26:b ;
140 27:__UG_NAME__ -> 31:a ;
141 30:__UG_NAME__ -> 31:b ;
142 31:__UG_NAME__ -> 35:a ;
143 34:__UG_NAME__ -> 35:b ;
144 26:__UG_NAME__ -> 42:a ;
145 41:__UG_NAME__ -> 42:b ;
146 45:__UG_NAME__ -> 50:a ;
147 49:__UG_NAME__ -> 50:b ;
148 50:__UG_NAME__ -> 54:a ;
149 53:__UG_NAME__ -> 54:b ;
150 57:__UG_NAME__ -> 61:a ;
151 60:__UG_NAME__ -> 61:b ;
152 61:__UG_NAME__ -> 65:a ;
153 64:__UG_NAME__ -> 65:b ;
154 69:__UG_NAME__ -> 73:a ;
155 72:__UG_NAME__ -> 73:b ;
156 73:__UG_NAME__ -> 77:a ;
157 76:__UG_NAME__ -> 77:b ;
158 67:__UG_NAME__ -> 68:a ;
159 82:__UG_NAME__ -> 83:a ;
160 24:__UG_NAME__ -> 25:a ;
161 29:__UG_NAME__ -> 30:a ;
162 33:__UG_NAME__ -> 34:a ;
163 40:__UG_NAME__ -> 41:a ;
164 48:__UG_NAME__ -> 49:a ;
165 52:__UG_NAME__ -> 53:a ;
166 59:__UG_NAME__ -> 60:a ;
167 63:__UG_NAME__ -> 64:a ;
168 71:__UG_NAME__ -> 72:a ;
169 75:__UG_NAME__ -> 76:a ;
170 23:__UG_NAME__ -> 24:a ;
171 28:__UG_NAME__ -> 29:a ;
172 32:__UG_NAME__ -> 33:a ;
173 39:__UG_NAME__ -> 40:a ;
174 47:__UG_NAME__ -> 48:a ;
175 51:__UG_NAME__ -> 52:a ;
176 58:__UG_NAME__ -> 59:a ;
177 62:__UG_NAME__ -> 63:a ;
178 70:__UG_NAME__ -> 71:a ;
179 74:__UG_NAME__ -> 75:a ;
180 8:__UG_NAME__ -> 36:envelope___control___0 ;
181 8:__UG_NAME__ -> 36:envelope___control___4 ;
182 9:__UG_NAME__ -> 36:envelope___control___5 ;
183 10:__UG_NAME__ -> 36:envelope___control___6 ;
184 11:__UG_NAME__ -> 36:envelope___control___7 ;
185 35:__UG_NAME__ -> 36:gate ;
186 12:__UG_NAME__ -> 43:envelope___control___0 ;
187 12:__UG_NAME__ -> 43:envelope___control___4 ;
188 13:__UG_NAME__ -> 43:envelope___control___5 ;
189 14:__UG_NAME__ -> 43:envelope___control___6 ;
190 15:__UG_NAME__ -> 43:envelope___control___7 ;
191 42:__UG_NAME__ -> 43:gate ;
192 46:__UG_NAME__ -> 55:envelope___mul____add___0 ;
193 46:__UG_NAME__ -> 55:envelope___mul____add___4 ;
194 17:__UG_NAME__ -> 55:envelope___control___5 ;
195 18:__UG_NAME__ -> 55:envelope___control___6 ;
196 19:__UG_NAME__ -> 55:envelope___control___7 ;
197 54:__UG_NAME__ -> 55:gate ;
198 4:__UG_NAME__ -> 66:envelope___control___0 ;
199 4:__UG_NAME__ -> 66:envelope___control___4 ;
200 5:__UG_NAME__ -> 66:envelope___control___5 ;
201 6:__UG_NAME__ -> 66:envelope___control___6 ;
202 7:__UG_NAME__ -> 66:envelope___control___7 ;
203 65:__UG_NAME__ -> 66:gate ;
204 0:__UG_NAME__ -> 78:envelope___control___0 ;
205 0:__UG_NAME__ -> 78:envelope___control___4 ;
206 1:__UG_NAME__ -> 78:envelope___control___5 ;
207 2:__UG_NAME__ -> 78:envelope___control___6 ;
208 3:__UG_NAME__ -> 78:envelope___control___7 ;
209 77:__UG_NAME__ -> 78:gate ;
210 12:__UG_NAME__ -> 23:in ;
211 8:__UG_NAME__ -> 28:in ;
212 9:__UG_NAME__ -> 32:in ;
213 13:__UG_NAME__ -> 39:in ;
214 46:__UG_NAME__ -> 47:in ;
215 17:__UG_NAME__ -> 51:in ;
216 4:__UG_NAME__ -> 58:in ;
217 5:__UG_NAME__ -> 62:in ;
218 0:__UG_NAME__ -> 70:in ;
219 1:__UG_NAME__ -> 74:in ;
220 20:__UG_NAME__ -> 37:bus ;
221 43:__UG_NAME__ -> 44:a ;
222 16:__UG_NAME__ -> 46:in ;
223 21:__UG_NAME__ -> 85:bus ;
224 79:__UG_NAME__ -> 85:signals___x____fade2___0 ;
225 84:__UG_NAME__ -> 85:signals___x____fade2___1 ;
226 38:__UG_NAME__ -> 56:in ;
227 44:__UG_NAME__ -> 56:freq ;
228 55:__UG_NAME__ -> 56:rq ;
229 80:__UG_NAME__ -> 81:in ;
230 44:__UG_NAME__ -> 81:freq ;
231 55:__UG_NAME__ -> 81:rq ;
232 38:__UG_NAME__ -> 79:ina ;
233 56:__UG_NAME__ -> 79:inb ;
234 68:__UG_NAME__ -> 79:pan ;
235 78:__UG_NAME__ -> 79:level ;
236 80:__UG_NAME__ -> 84:ina ;
237 81:__UG_NAME__ -> 84:inb ;
238 83:__UG_NAME__ -> 84:pan ;
239 78:__UG_NAME__ -> 84:level ;
240
241 }
0 digraph synthdef {
1 35 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 63 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 76 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 82 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 83 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 29 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 33 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 40 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 44 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 47 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 51 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 57 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 68 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 72 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 79 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 86 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
18 24 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 28 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 32 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 39 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 50 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 56 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 60 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 67 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 71 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 23 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 27 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 31 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 38 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 42 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 49 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 55 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 59 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 66 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 70 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 0 [label = "control
39 :amp
40 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 1 [label = "control
42 :amp_slide
43 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 2 [label = "control
45 :amp_slide_shape
46 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 3 [label = "control
48 :amp_slide_curve
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 4 [label = "control
51 :mix
52 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 5 [label = "control
54 :mix_slide
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 6 [label = "control
57 :mix_slide_shape
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 7 [label = "control
60 :mix_slide_curve
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 8 [label = "control
63 :pre_amp
64 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 9 [label = "control
66 :pre_amp_slide
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 10 [label = "control
69 :pre_amp_slide_shape
70 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 11 [label = "control
72 :pre_amp_slide_curve
73 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 12 [label = "control
75 :freq
76 default: 30.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 13 [label = "control
78 :freq_slide
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 14 [label = "control
81 :freq_slide_shape
82 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 15 [label = "control
84 :freq_slide_curve
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 16 [label = "control
87 :mod_amp
88 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 17 [label = "control
90 :mod_amp_slide
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 18 [label = "control
93 :mod_amp_slide_shape
94 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 19 [label = "control
96 :mod_amp_slide_curve
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 20 [label = "control
99 :in_bus
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 21 [label = "control
102 :out_bus
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 34 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 45 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 52 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 73 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 80 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
109 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 65 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 69 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
119 25 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 36 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 46 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 53 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 64 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
124 62 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
125 78 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>limiter }" style="filled, bold, rounded" shape=record rankdir=LR];
126 85 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>limiter }" style="filled, bold, rounded" shape=record rankdir=LR];
127 74 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
128 88 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
129 77 [label = "{{ <b> |<a> } |<__UG_NAME__>ring1 }" style="filled, bold, rounded" shape=record rankdir=LR];
130 84 [label = "{{ <b> |<a> } |<__UG_NAME__>ring1 }" style="filled, bold, rounded" shape=record rankdir=LR];
131 75 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
132 81 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
133 87 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
134
135 34:__UG_NAME__ -> 35:a ;
136 52:__UG_NAME__ -> 63:a ;
137 62:__UG_NAME__ -> 63:b ;
138 45:__UG_NAME__ -> 76:a ;
139 75:__UG_NAME__ -> 76:b ;
140 34:__UG_NAME__ -> 82:a ;
141 52:__UG_NAME__ -> 83:a ;
142 62:__UG_NAME__ -> 83:b ;
143 25:__UG_NAME__ -> 29:a ;
144 28:__UG_NAME__ -> 29:b ;
145 29:__UG_NAME__ -> 33:a ;
146 32:__UG_NAME__ -> 33:b ;
147 36:__UG_NAME__ -> 40:a ;
148 39:__UG_NAME__ -> 40:b ;
149 40:__UG_NAME__ -> 44:a ;
150 43:__UG_NAME__ -> 44:b ;
151 46:__UG_NAME__ -> 47:a ;
152 24:__UG_NAME__ -> 47:b ;
153 47:__UG_NAME__ -> 51:a ;
154 50:__UG_NAME__ -> 51:b ;
155 53:__UG_NAME__ -> 57:a ;
156 56:__UG_NAME__ -> 57:b ;
157 57:__UG_NAME__ -> 61:a ;
158 60:__UG_NAME__ -> 61:b ;
159 64:__UG_NAME__ -> 68:a ;
160 67:__UG_NAME__ -> 68:b ;
161 68:__UG_NAME__ -> 72:a ;
162 71:__UG_NAME__ -> 72:b ;
163 35:__UG_NAME__ -> 79:a ;
164 82:__UG_NAME__ -> 86:a ;
165 23:__UG_NAME__ -> 24:a ;
166 27:__UG_NAME__ -> 28:a ;
167 31:__UG_NAME__ -> 32:a ;
168 38:__UG_NAME__ -> 39:a ;
169 42:__UG_NAME__ -> 43:a ;
170 49:__UG_NAME__ -> 50:a ;
171 55:__UG_NAME__ -> 56:a ;
172 59:__UG_NAME__ -> 60:a ;
173 66:__UG_NAME__ -> 67:a ;
174 70:__UG_NAME__ -> 71:a ;
175 22:__UG_NAME__ -> 23:a ;
176 26:__UG_NAME__ -> 27:a ;
177 30:__UG_NAME__ -> 31:a ;
178 37:__UG_NAME__ -> 38:a ;
179 41:__UG_NAME__ -> 42:a ;
180 48:__UG_NAME__ -> 49:a ;
181 54:__UG_NAME__ -> 55:a ;
182 58:__UG_NAME__ -> 59:a ;
183 65:__UG_NAME__ -> 66:a ;
184 69:__UG_NAME__ -> 70:a ;
185 4:__UG_NAME__ -> 34:envelope___control___0 ;
186 4:__UG_NAME__ -> 34:envelope___control___4 ;
187 5:__UG_NAME__ -> 34:envelope___control___5 ;
188 6:__UG_NAME__ -> 34:envelope___control___6 ;
189 7:__UG_NAME__ -> 34:envelope___control___7 ;
190 33:__UG_NAME__ -> 34:gate ;
191 16:__UG_NAME__ -> 45:envelope___control___0 ;
192 16:__UG_NAME__ -> 45:envelope___control___4 ;
193 17:__UG_NAME__ -> 45:envelope___control___5 ;
194 18:__UG_NAME__ -> 45:envelope___control___6 ;
195 19:__UG_NAME__ -> 45:envelope___control___7 ;
196 44:__UG_NAME__ -> 45:gate ;
197 8:__UG_NAME__ -> 52:envelope___control___0 ;
198 8:__UG_NAME__ -> 52:envelope___control___4 ;
199 9:__UG_NAME__ -> 52:envelope___control___5 ;
200 10:__UG_NAME__ -> 52:envelope___control___6 ;
201 11:__UG_NAME__ -> 52:envelope___control___7 ;
202 51:__UG_NAME__ -> 52:gate ;
203 12:__UG_NAME__ -> 73:envelope___control___0 ;
204 12:__UG_NAME__ -> 73:envelope___control___4 ;
205 13:__UG_NAME__ -> 73:envelope___control___5 ;
206 14:__UG_NAME__ -> 73:envelope___control___6 ;
207 15:__UG_NAME__ -> 73:envelope___control___7 ;
208 72:__UG_NAME__ -> 73:gate ;
209 0:__UG_NAME__ -> 80:envelope___control___0 ;
210 0:__UG_NAME__ -> 80:envelope___control___4 ;
211 1:__UG_NAME__ -> 80:envelope___control___5 ;
212 2:__UG_NAME__ -> 80:envelope___control___6 ;
213 3:__UG_NAME__ -> 80:envelope___control___7 ;
214 61:__UG_NAME__ -> 80:gate ;
215 8:__UG_NAME__ -> 22:in ;
216 4:__UG_NAME__ -> 26:in ;
217 5:__UG_NAME__ -> 30:in ;
218 16:__UG_NAME__ -> 37:in ;
219 17:__UG_NAME__ -> 41:in ;
220 9:__UG_NAME__ -> 48:in ;
221 0:__UG_NAME__ -> 54:in ;
222 1:__UG_NAME__ -> 58:in ;
223 12:__UG_NAME__ -> 65:in ;
224 13:__UG_NAME__ -> 69:in ;
225 20:__UG_NAME__ -> 62:bus ;
226 77:__UG_NAME__ -> 78:in ;
227 84:__UG_NAME__ -> 85:in ;
228 73:__UG_NAME__ -> 74:a ;
229 21:__UG_NAME__ -> 88:bus ;
230 87:__UG_NAME__ -> 88:signals___x____fade2___0 ;
231 81:__UG_NAME__ -> 88:signals___x____fade2___1 ;
232 63:__UG_NAME__ -> 77:a ;
233 76:__UG_NAME__ -> 77:b ;
234 83:__UG_NAME__ -> 84:a ;
235 76:__UG_NAME__ -> 84:b ;
236 74:__UG_NAME__ -> 75:freq ;
237 63:__UG_NAME__ -> 81:ina ;
238 78:__UG_NAME__ -> 81:inb ;
239 79:__UG_NAME__ -> 81:pan ;
240 80:__UG_NAME__ -> 81:level ;
241 83:__UG_NAME__ -> 87:ina ;
242 85:__UG_NAME__ -> 87:inb ;
243 86:__UG_NAME__ -> 87:pan ;
244 80:__UG_NAME__ -> 87:level ;
245
246 }
0 digraph synthdef {
1 36 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 49 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 60 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 70 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 26 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 30 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 42 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 46 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 62 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 66 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 67 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 78 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 80 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 37 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
16 83 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 25 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 29 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 41 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 45 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 50 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 54 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 58 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 61 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 77 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 79 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 28 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 33 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 35 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 40 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 44 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 53 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 72 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 76 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :amp
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :amp_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :amp_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :amp_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :mix
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :mix_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :mix_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :mix_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pre_amp
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pre_amp_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pre_amp_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pre_amp_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :cutoff
75 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :cutoff_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :cutoff_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :cutoff_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :res
87 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :res_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :res_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :res_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :in_bus
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 31 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 47 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 63 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 68 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 81 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 75 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 22 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 38 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 55 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 65 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 74 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 48 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
124 64 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
125 51 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
126 85 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
127 69 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
128 73 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
129 82 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
130 84 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
131
132 31:__UG_NAME__ -> 36:a ;
133 47:__UG_NAME__ -> 49:a ;
134 48:__UG_NAME__ -> 49:b ;
135 31:__UG_NAME__ -> 60:a ;
136 47:__UG_NAME__ -> 70:a ;
137 48:__UG_NAME__ -> 70:b ;
138 22:__UG_NAME__ -> 26:a ;
139 25:__UG_NAME__ -> 26:b ;
140 26:__UG_NAME__ -> 30:a ;
141 29:__UG_NAME__ -> 30:b ;
142 38:__UG_NAME__ -> 42:a ;
143 41:__UG_NAME__ -> 42:b ;
144 42:__UG_NAME__ -> 46:a ;
145 45:__UG_NAME__ -> 46:b ;
146 55:__UG_NAME__ -> 59:a ;
147 58:__UG_NAME__ -> 59:b ;
148 59:__UG_NAME__ -> 62:a ;
149 61:__UG_NAME__ -> 62:b ;
150 65:__UG_NAME__ -> 66:a ;
151 54:__UG_NAME__ -> 66:b ;
152 66:__UG_NAME__ -> 67:a ;
153 50:__UG_NAME__ -> 67:b ;
154 74:__UG_NAME__ -> 78:a ;
155 77:__UG_NAME__ -> 78:b ;
156 78:__UG_NAME__ -> 80:a ;
157 79:__UG_NAME__ -> 80:b ;
158 36:__UG_NAME__ -> 37:a ;
159 60:__UG_NAME__ -> 83:a ;
160 24:__UG_NAME__ -> 25:a ;
161 28:__UG_NAME__ -> 29:a ;
162 40:__UG_NAME__ -> 41:a ;
163 44:__UG_NAME__ -> 45:a ;
164 35:__UG_NAME__ -> 50:a ;
165 53:__UG_NAME__ -> 54:a ;
166 57:__UG_NAME__ -> 58:a ;
167 33:__UG_NAME__ -> 61:a ;
168 76:__UG_NAME__ -> 77:a ;
169 72:__UG_NAME__ -> 79:a ;
170 23:__UG_NAME__ -> 24:a ;
171 27:__UG_NAME__ -> 28:a ;
172 32:__UG_NAME__ -> 33:a ;
173 34:__UG_NAME__ -> 35:a ;
174 39:__UG_NAME__ -> 40:a ;
175 43:__UG_NAME__ -> 44:a ;
176 52:__UG_NAME__ -> 53:a ;
177 56:__UG_NAME__ -> 57:a ;
178 71:__UG_NAME__ -> 72:a ;
179 75:__UG_NAME__ -> 76:a ;
180 4:__UG_NAME__ -> 31:envelope___control___0 ;
181 4:__UG_NAME__ -> 31:envelope___control___4 ;
182 5:__UG_NAME__ -> 31:envelope___control___5 ;
183 6:__UG_NAME__ -> 31:envelope___control___6 ;
184 7:__UG_NAME__ -> 31:envelope___control___7 ;
185 30:__UG_NAME__ -> 31:gate ;
186 8:__UG_NAME__ -> 47:envelope___control___0 ;
187 8:__UG_NAME__ -> 47:envelope___control___4 ;
188 9:__UG_NAME__ -> 47:envelope___control___5 ;
189 10:__UG_NAME__ -> 47:envelope___control___6 ;
190 11:__UG_NAME__ -> 47:envelope___control___7 ;
191 46:__UG_NAME__ -> 47:gate ;
192 12:__UG_NAME__ -> 63:envelope___control___0 ;
193 12:__UG_NAME__ -> 63:envelope___control___4 ;
194 13:__UG_NAME__ -> 63:envelope___control___5 ;
195 14:__UG_NAME__ -> 63:envelope___control___6 ;
196 15:__UG_NAME__ -> 63:envelope___control___7 ;
197 62:__UG_NAME__ -> 63:gate ;
198 51:__UG_NAME__ -> 68:envelope___mul____add___0 ;
199 51:__UG_NAME__ -> 68:envelope___mul____add___4 ;
200 17:__UG_NAME__ -> 68:envelope___control___5 ;
201 18:__UG_NAME__ -> 68:envelope___control___6 ;
202 19:__UG_NAME__ -> 68:envelope___control___7 ;
203 67:__UG_NAME__ -> 68:gate ;
204 0:__UG_NAME__ -> 81:envelope___control___0 ;
205 0:__UG_NAME__ -> 81:envelope___control___4 ;
206 1:__UG_NAME__ -> 81:envelope___control___5 ;
207 2:__UG_NAME__ -> 81:envelope___control___6 ;
208 3:__UG_NAME__ -> 81:envelope___control___7 ;
209 80:__UG_NAME__ -> 81:gate ;
210 4:__UG_NAME__ -> 23:in ;
211 5:__UG_NAME__ -> 27:in ;
212 13:__UG_NAME__ -> 32:in ;
213 17:__UG_NAME__ -> 34:in ;
214 8:__UG_NAME__ -> 39:in ;
215 9:__UG_NAME__ -> 43:in ;
216 51:__UG_NAME__ -> 52:in ;
217 12:__UG_NAME__ -> 56:in ;
218 1:__UG_NAME__ -> 71:in ;
219 0:__UG_NAME__ -> 75:in ;
220 20:__UG_NAME__ -> 48:bus ;
221 63:__UG_NAME__ -> 64:a ;
222 16:__UG_NAME__ -> 51:in ;
223 21:__UG_NAME__ -> 85:bus ;
224 84:__UG_NAME__ -> 85:signals___x____fade2___0 ;
225 82:__UG_NAME__ -> 85:signals___x____fade2___1 ;
226 49:__UG_NAME__ -> 69:in ;
227 64:__UG_NAME__ -> 69:freq ;
228 68:__UG_NAME__ -> 69:rq ;
229 70:__UG_NAME__ -> 73:in ;
230 64:__UG_NAME__ -> 73:freq ;
231 68:__UG_NAME__ -> 73:rq ;
232 49:__UG_NAME__ -> 82:ina ;
233 69:__UG_NAME__ -> 82:inb ;
234 37:__UG_NAME__ -> 82:pan ;
235 81:__UG_NAME__ -> 82:level ;
236 70:__UG_NAME__ -> 84:ina ;
237 73:__UG_NAME__ -> 84:inb ;
238 83:__UG_NAME__ -> 84:pan ;
239 81:__UG_NAME__ -> 84:level ;
240
241 }
0 digraph synthdef {
1 105 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 107 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 108 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 111 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 112 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 117 [label = "{{ <b> 6.2831855|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 120 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 152 [label = "{{ <b> -1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 198 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
10 204 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
11 213 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
12 217 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
13 218 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
14 221 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
15 62 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 66 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 73 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 77 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 86 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 90 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 97 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 101 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 109 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 114 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 116 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 123 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 132 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 136 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 144 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 148 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 158 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 162 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 167 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 171 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
35 178 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
36 186 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
37 190 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
38 192 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
39 193 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
40 202 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
41 210 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
42 216 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
43 106 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
44 113 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
45 150 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
46 153 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
47 205 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
48 214 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
49 68 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
50 151 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
51 125 [label = "{{ <b> |<a> } |<__UG_NAME__>\< }" style="bold, rounded" shape=record rankdir=LR];
52 57 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 61 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 65 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 72 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 76 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 85 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
58 89 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
59 96 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
60 100 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
61 103 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
62 104 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
63 131 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
64 135 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
65 143 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
66 147 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
67 157 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
68 161 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
69 166 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
70 170 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
71 177 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
72 181 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
73 185 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
74 189 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
75 201 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
76 209 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
77 215 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
78 56 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
79 60 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
80 64 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
81 71 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
82 75 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
83 82 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
84 84 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
85 88 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
86 95 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
87 99 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
88 130 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
89 134 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
90 142 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
91 146 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
92 160 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
93 165 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
94 169 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
95 176 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
96 180 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
97 184 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
98 188 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
99 200 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
100 208 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
101 212 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
102 124 [label = "{{ <interpolation> interpolation 2.0|<loop> loop 1.0|<phase> phase|<bufnum> bufnum|<num____channels> num-channels 1} |<__UG_NAME__>buf-rd }" style="bold, rounded" shape=record rankdir=LR];
103 93 [label = "{{ <hi> hi 1.0|<lo> lo 0.0|<in> in} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
104 127 [label = "{{ <hi> hi 1.0|<lo> lo 0.0|<in> in} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
105 0 [label = "control
106 :amp
107 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 1 [label = "control
109 :amp_slide
110 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 2 [label = "control
112 :amp_slide_shape
113 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 3 [label = "control
115 :amp_slide_curve
116 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 4 [label = "control
118 :mix
119 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 5 [label = "control
121 :mix_slide
122 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 6 [label = "control
124 :mix_slide_shape
125 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 7 [label = "control
127 :mix_slide_curve
128 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 8 [label = "control
130 :pre_amp
131 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 9 [label = "control
133 :pre_amp_slide
134 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 10 [label = "control
136 :pre_amp_slide_shape
137 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 11 [label = "control
139 :pre_amp_slide_curve
140 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 12 [label = "control
142 :phase
143 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 13 [label = "control
145 :phase_slide
146 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 14 [label = "control
148 :phase_slide_shape
149 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
150 15 [label = "control
151 :phase_slide_curve
152 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
153 16 [label = "control
154 :amp_min
155 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
156 17 [label = "control
157 :amp_min_slide
158 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
159 18 [label = "control
160 :amp_min_slide_shape
161 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
162 19 [label = "control
163 :amp_min_slide_curve
164 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
165 20 [label = "control
166 :amp_max
167 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
168 21 [label = "control
169 :amp_max_slide
170 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
171 22 [label = "control
172 :amp_max_slide_shape
173 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
174 23 [label = "control
175 :amp_max_slide_curve
176 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
177 24 [label = "control
178 :pulse_width
179 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
180 25 [label = "control
181 :pulse_width_slide
182 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
183 26 [label = "control
184 :pulse_width_slide_shape
185 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
186 27 [label = "control
187 :pulse_width_slide_curve
188 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
189 28 [label = "control
190 :smooth
191 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
192 29 [label = "control
193 :smooth_slide
194 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
195 30 [label = "control
196 :smooth_slide_shape
197 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
198 31 [label = "control
199 :smooth_slide_curve
200 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
201 32 [label = "control
202 :smooth_up
203 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
204 33 [label = "control
205 :smooth_up_slide
206 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
207 34 [label = "control
208 :smooth_up_slide_shape
209 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
210 35 [label = "control
211 :smooth_up_slide_curve
212 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
213 36 [label = "control
214 :smooth_down
215 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
216 37 [label = "control
217 :smooth_down_slide
218 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
219 38 [label = "control
220 :smooth_down_slide_shape
221 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
222 39 [label = "control
223 :smooth_down_slide_curve
224 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
225 40 [label = "control
226 :probability
227 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
228 41 [label = "control
229 :probability_slide
230 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
231 42 [label = "control
232 :probability_slide_shape
233 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
234 43 [label = "control
235 :probability_slide_curve
236 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
237 44 [label = "control
238 :prob_pos
239 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
240 45 [label = "control
241 :prob_pos_slide
242 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
243 46 [label = "control
244 :prob_pos_slide_shape
245 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
246 47 [label = "control
247 :prob_pos_slide_curve
248 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
249 48 [label = "control
250 :phase_offset
251 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
252 49 [label = "control
253 :wave
254 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
255 50 [label = "control
256 :invert_wave
257 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
258 51 [label = "control
259 :seed
260 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
261 52 [label = "control
262 :rand_buf
263 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
264 53 [label = "control
265 :in_bus
266 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
267 54 [label = "control
268 :out_bus
269 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
270 67 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
271 78 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
272 91 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
273 102 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___clip___0>|1.0|-99|-99|<envelope___clip___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
274 137 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
275 149 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
276 163 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
277 172 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
278 194 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
279 196 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
280 203 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
281 219 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
282 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
283 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
284 63 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
285 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
286 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
287 81 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
288 83 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
289 87 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
290 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
291 98 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
292 129 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
293 133 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
294 141 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
295 145 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
296 155 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
297 159 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
298 168 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
299 175 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
300 179 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
301 183 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
302 187 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
303 199 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
304 206 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
305 211 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
306 58 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
307 69 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
308 80 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
309 92 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
310 121 [label = "{{ <phase> phase 0.0|<freq> freq} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
311 126 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
312 140 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
313 156 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
314 164 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
315 174 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
316 182 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
317 191 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
318 207 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
319 197 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
320 195 [label = "{{ <lag____time> lag-time|<in> in} |<__UG_NAME__>lag }" style="bold, rounded" shape=record rankdir=LR];
321 173 [label = "{{ <lag____time____down> lag-time-down|<lag____time____up> lag-time-up|<in> in} |<__UG_NAME__>lag-ud }" style="bold, rounded" shape=record rankdir=LR];
322 79 [label = "{{ <width> width|<iphase> iphase|<freq> freq} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
323 110 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
324 115 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
325 128 [label = "{{ <add> add -1.0|<mul> mul 2.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
326 154 [label = "{{ <add> add|<mul> mul|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
327 223 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
328 122 [label = "{{ <reset> reset 0.0|<trig> trig} |<__UG_NAME__>pulse-count }" style="bold, rounded" shape=record rankdir=LR];
329 119 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
330 138 [label = "{{ {{<array___env____gen___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
331 139 [label = "{{ {{<array___binary____op____u____gen___0>|<array___select___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
332 118 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase|<freq> freq} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
333 220 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
334 222 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
335
336 104:__UG_NAME__ -> 105:b ;
337 106:__UG_NAME__ -> 107:b ;
338 48:__UG_NAME__ -> 108:b ;
339 110:__UG_NAME__ -> 111:b ;
340 79:__UG_NAME__ -> 112:b ;
341 116:__UG_NAME__ -> 117:a ;
342 107:__UG_NAME__ -> 120:a ;
343 119:__UG_NAME__ -> 120:b ;
344 151:__UG_NAME__ -> 152:a ;
345 196:__UG_NAME__ -> 198:a ;
346 197:__UG_NAME__ -> 198:b ;
347 203:__UG_NAME__ -> 204:a ;
348 203:__UG_NAME__ -> 213:a ;
349 195:__UG_NAME__ -> 217:a ;
350 198:__UG_NAME__ -> 217:b ;
351 196:__UG_NAME__ -> 218:a ;
352 197:__UG_NAME__ -> 218:b ;
353 195:__UG_NAME__ -> 221:a ;
354 218:__UG_NAME__ -> 221:b ;
355 58:__UG_NAME__ -> 62:a ;
356 61:__UG_NAME__ -> 62:b ;
357 62:__UG_NAME__ -> 66:a ;
358 65:__UG_NAME__ -> 66:b ;
359 69:__UG_NAME__ -> 73:a ;
360 72:__UG_NAME__ -> 73:b ;
361 73:__UG_NAME__ -> 77:a ;
362 76:__UG_NAME__ -> 77:b ;
363 80:__UG_NAME__ -> 86:a ;
364 85:__UG_NAME__ -> 86:b ;
365 86:__UG_NAME__ -> 90:a ;
366 89:__UG_NAME__ -> 90:b ;
367 92:__UG_NAME__ -> 97:a ;
368 96:__UG_NAME__ -> 97:b ;
369 97:__UG_NAME__ -> 101:a ;
370 100:__UG_NAME__ -> 101:b ;
371 108:__UG_NAME__ -> 109:a ;
372 108:__UG_NAME__ -> 114:a ;
373 48:__UG_NAME__ -> 116:a ;
374 51:__UG_NAME__ -> 123:a ;
375 122:__UG_NAME__ -> 123:b ;
376 126:__UG_NAME__ -> 132:a ;
377 131:__UG_NAME__ -> 132:b ;
378 132:__UG_NAME__ -> 136:a ;
379 135:__UG_NAME__ -> 136:b ;
380 140:__UG_NAME__ -> 144:a ;
381 143:__UG_NAME__ -> 144:b ;
382 144:__UG_NAME__ -> 148:a ;
383 147:__UG_NAME__ -> 148:b ;
384 156:__UG_NAME__ -> 158:a ;
385 157:__UG_NAME__ -> 158:b ;
386 158:__UG_NAME__ -> 162:a ;
387 161:__UG_NAME__ -> 162:b ;
388 164:__UG_NAME__ -> 167:a ;
389 166:__UG_NAME__ -> 167:b ;
390 167:__UG_NAME__ -> 171:a ;
391 170:__UG_NAME__ -> 171:b ;
392 174:__UG_NAME__ -> 178:a ;
393 177:__UG_NAME__ -> 178:b ;
394 182:__UG_NAME__ -> 186:a ;
395 185:__UG_NAME__ -> 186:b ;
396 186:__UG_NAME__ -> 190:a ;
397 189:__UG_NAME__ -> 190:b ;
398 191:__UG_NAME__ -> 192:a ;
399 181:__UG_NAME__ -> 192:b ;
400 192:__UG_NAME__ -> 193:a ;
401 57:__UG_NAME__ -> 193:b ;
402 178:__UG_NAME__ -> 202:a ;
403 201:__UG_NAME__ -> 202:b ;
404 207:__UG_NAME__ -> 210:a ;
405 209:__UG_NAME__ -> 210:b ;
406 210:__UG_NAME__ -> 216:a ;
407 215:__UG_NAME__ -> 216:b ;
408 105:__UG_NAME__ -> 106:a ;
409 112:__UG_NAME__ -> 113:a ;
410 91:__UG_NAME__ -> 150:a ;
411 149:__UG_NAME__ -> 150:b ;
412 149:__UG_NAME__ -> 153:a ;
413 152:__UG_NAME__ -> 153:b ;
414 204:__UG_NAME__ -> 205:a ;
415 213:__UG_NAME__ -> 214:a ;
416 67:__UG_NAME__ -> 68:b ;
417 150:__UG_NAME__ -> 151:a ;
418 124:__UG_NAME__ -> 125:a ;
419 102:__UG_NAME__ -> 125:b ;
420 56:__UG_NAME__ -> 57:a ;
421 60:__UG_NAME__ -> 61:a ;
422 64:__UG_NAME__ -> 65:a ;
423 71:__UG_NAME__ -> 72:a ;
424 75:__UG_NAME__ -> 76:a ;
425 84:__UG_NAME__ -> 85:a ;
426 88:__UG_NAME__ -> 89:a ;
427 95:__UG_NAME__ -> 96:a ;
428 99:__UG_NAME__ -> 100:a ;
429 102:__UG_NAME__ -> 103:a ;
430 50:__UG_NAME__ -> 104:a ;
431 130:__UG_NAME__ -> 131:a ;
432 134:__UG_NAME__ -> 135:a ;
433 142:__UG_NAME__ -> 143:a ;
434 146:__UG_NAME__ -> 147:a ;
435 82:__UG_NAME__ -> 157:a ;
436 160:__UG_NAME__ -> 161:a ;
437 165:__UG_NAME__ -> 166:a ;
438 169:__UG_NAME__ -> 170:a ;
439 176:__UG_NAME__ -> 177:a ;
440 180:__UG_NAME__ -> 181:a ;
441 184:__UG_NAME__ -> 185:a ;
442 188:__UG_NAME__ -> 189:a ;
443 200:__UG_NAME__ -> 201:a ;
444 208:__UG_NAME__ -> 209:a ;
445 212:__UG_NAME__ -> 215:a ;
446 55:__UG_NAME__ -> 56:a ;
447 59:__UG_NAME__ -> 60:a ;
448 63:__UG_NAME__ -> 64:a ;
449 70:__UG_NAME__ -> 71:a ;
450 74:__UG_NAME__ -> 75:a ;
451 81:__UG_NAME__ -> 82:a ;
452 83:__UG_NAME__ -> 84:a ;
453 87:__UG_NAME__ -> 88:a ;
454 94:__UG_NAME__ -> 95:a ;
455 98:__UG_NAME__ -> 99:a ;
456 129:__UG_NAME__ -> 130:a ;
457 133:__UG_NAME__ -> 134:a ;
458 141:__UG_NAME__ -> 142:a ;
459 145:__UG_NAME__ -> 146:a ;
460 159:__UG_NAME__ -> 160:a ;
461 155:__UG_NAME__ -> 165:a ;
462 168:__UG_NAME__ -> 169:a ;
463 175:__UG_NAME__ -> 176:a ;
464 179:__UG_NAME__ -> 180:a ;
465 183:__UG_NAME__ -> 184:a ;
466 187:__UG_NAME__ -> 188:a ;
467 199:__UG_NAME__ -> 200:a ;
468 206:__UG_NAME__ -> 208:a ;
469 211:__UG_NAME__ -> 212:a ;
470 52:__UG_NAME__ -> 124:bufnum ;
471 123:__UG_NAME__ -> 124:phase ;
472 40:__UG_NAME__ -> 93:in ;
473 44:__UG_NAME__ -> 127:in ;
474 12:__UG_NAME__ -> 67:envelope___control___0 ;
475 12:__UG_NAME__ -> 67:envelope___control___4 ;
476 13:__UG_NAME__ -> 67:envelope___control___5 ;
477 14:__UG_NAME__ -> 67:envelope___control___6 ;
478 15:__UG_NAME__ -> 67:envelope___control___7 ;
479 66:__UG_NAME__ -> 67:gate ;
480 24:__UG_NAME__ -> 78:envelope___control___0 ;
481 24:__UG_NAME__ -> 78:envelope___control___4 ;
482 25:__UG_NAME__ -> 78:envelope___control___5 ;
483 26:__UG_NAME__ -> 78:envelope___control___6 ;
484 27:__UG_NAME__ -> 78:envelope___control___7 ;
485 77:__UG_NAME__ -> 78:gate ;
486 20:__UG_NAME__ -> 91:envelope___control___0 ;
487 20:__UG_NAME__ -> 91:envelope___control___4 ;
488 21:__UG_NAME__ -> 91:envelope___control___5 ;
489 22:__UG_NAME__ -> 91:envelope___control___6 ;
490 23:__UG_NAME__ -> 91:envelope___control___7 ;
491 90:__UG_NAME__ -> 91:gate ;
492 93:__UG_NAME__ -> 102:envelope___clip___0 ;
493 93:__UG_NAME__ -> 102:envelope___clip___4 ;
494 41:__UG_NAME__ -> 102:envelope___control___5 ;
495 42:__UG_NAME__ -> 102:envelope___control___6 ;
496 43:__UG_NAME__ -> 102:envelope___control___7 ;
497 101:__UG_NAME__ -> 102:gate ;
498 128:__UG_NAME__ -> 137:envelope___mul____add___0 ;
499 128:__UG_NAME__ -> 137:envelope___mul____add___4 ;
500 45:__UG_NAME__ -> 137:envelope___control___5 ;
501 46:__UG_NAME__ -> 137:envelope___control___6 ;
502 47:__UG_NAME__ -> 137:envelope___control___7 ;
503 136:__UG_NAME__ -> 137:gate ;
504 16:__UG_NAME__ -> 149:envelope___control___0 ;
505 16:__UG_NAME__ -> 149:envelope___control___4 ;
506 17:__UG_NAME__ -> 149:envelope___control___5 ;
507 18:__UG_NAME__ -> 149:envelope___control___6 ;
508 19:__UG_NAME__ -> 149:envelope___control___7 ;
509 148:__UG_NAME__ -> 149:gate ;
510 32:__UG_NAME__ -> 163:envelope___control___0 ;
511 32:__UG_NAME__ -> 163:envelope___control___4 ;
512 33:__UG_NAME__ -> 163:envelope___control___5 ;
513 34:__UG_NAME__ -> 163:envelope___control___6 ;
514 35:__UG_NAME__ -> 163:envelope___control___7 ;
515 162:__UG_NAME__ -> 163:gate ;
516 36:__UG_NAME__ -> 172:envelope___control___0 ;
517 36:__UG_NAME__ -> 172:envelope___control___4 ;
518 37:__UG_NAME__ -> 172:envelope___control___5 ;
519 38:__UG_NAME__ -> 172:envelope___control___6 ;
520 39:__UG_NAME__ -> 172:envelope___control___7 ;
521 171:__UG_NAME__ -> 172:gate ;
522 28:__UG_NAME__ -> 194:envelope___control___0 ;
523 28:__UG_NAME__ -> 194:envelope___control___4 ;
524 29:__UG_NAME__ -> 194:envelope___control___5 ;
525 30:__UG_NAME__ -> 194:envelope___control___6 ;
526 31:__UG_NAME__ -> 194:envelope___control___7 ;
527 193:__UG_NAME__ -> 194:gate ;
528 8:__UG_NAME__ -> 196:envelope___control___0 ;
529 8:__UG_NAME__ -> 196:envelope___control___4 ;
530 9:__UG_NAME__ -> 196:envelope___control___5 ;
531 10:__UG_NAME__ -> 196:envelope___control___6 ;
532 11:__UG_NAME__ -> 196:envelope___control___7 ;
533 190:__UG_NAME__ -> 196:gate ;
534 4:__UG_NAME__ -> 203:envelope___control___0 ;
535 4:__UG_NAME__ -> 203:envelope___control___4 ;
536 5:__UG_NAME__ -> 203:envelope___control___5 ;
537 6:__UG_NAME__ -> 203:envelope___control___6 ;
538 7:__UG_NAME__ -> 203:envelope___control___7 ;
539 202:__UG_NAME__ -> 203:gate ;
540 0:__UG_NAME__ -> 219:envelope___control___0 ;
541 0:__UG_NAME__ -> 219:envelope___control___4 ;
542 1:__UG_NAME__ -> 219:envelope___control___5 ;
543 2:__UG_NAME__ -> 219:envelope___control___6 ;
544 3:__UG_NAME__ -> 219:envelope___control___7 ;
545 216:__UG_NAME__ -> 219:gate ;
546 29:__UG_NAME__ -> 55:in ;
547 12:__UG_NAME__ -> 59:in ;
548 13:__UG_NAME__ -> 63:in ;
549 24:__UG_NAME__ -> 70:in ;
550 25:__UG_NAME__ -> 74:in ;
551 32:__UG_NAME__ -> 81:in ;
552 20:__UG_NAME__ -> 83:in ;
553 21:__UG_NAME__ -> 87:in ;
554 93:__UG_NAME__ -> 94:in ;
555 41:__UG_NAME__ -> 98:in ;
556 128:__UG_NAME__ -> 129:in ;
557 45:__UG_NAME__ -> 133:in ;
558 16:__UG_NAME__ -> 141:in ;
559 17:__UG_NAME__ -> 145:in ;
560 36:__UG_NAME__ -> 155:in ;
561 33:__UG_NAME__ -> 159:in ;
562 37:__UG_NAME__ -> 168:in ;
563 4:__UG_NAME__ -> 175:in ;
564 28:__UG_NAME__ -> 179:in ;
565 8:__UG_NAME__ -> 183:in ;
566 9:__UG_NAME__ -> 187:in ;
567 5:__UG_NAME__ -> 199:in ;
568 0:__UG_NAME__ -> 206:in ;
569 1:__UG_NAME__ -> 211:in ;
570 68:__UG_NAME__ -> 121:freq ;
571 53:__UG_NAME__ -> 197:bus ;
572 173:__UG_NAME__ -> 195:in ;
573 194:__UG_NAME__ -> 195:lag____time ;
574 154:__UG_NAME__ -> 173:in ;
575 163:__UG_NAME__ -> 173:lag____time____up ;
576 172:__UG_NAME__ -> 173:lag____time____down ;
577 68:__UG_NAME__ -> 79:freq ;
578 48:__UG_NAME__ -> 79:iphase ;
579 78:__UG_NAME__ -> 79:width ;
580 68:__UG_NAME__ -> 110:freq ;
581 109:__UG_NAME__ -> 110:iphase ;
582 68:__UG_NAME__ -> 115:freq ;
583 114:__UG_NAME__ -> 115:iphase ;
584 127:__UG_NAME__ -> 128:in ;
585 139:__UG_NAME__ -> 154:in ;
586 151:__UG_NAME__ -> 154:mul ;
587 153:__UG_NAME__ -> 154:add ;
588 54:__UG_NAME__ -> 223:bus ;
589 220:__UG_NAME__ -> 223:signals___x____fade2___0 ;
590 222:__UG_NAME__ -> 223:signals___x____fade2___1 ;
591 121:__UG_NAME__ -> 122:trig ;
592 49:__UG_NAME__ -> 119:which ;
593 111:__UG_NAME__ -> 119:array___binary____op____u____gen___0 ;
594 113:__UG_NAME__ -> 119:array___binary____op____u____gen___1 ;
595 115:__UG_NAME__ -> 119:array___lf____tri___2 ;
596 118:__UG_NAME__ -> 119:array___sin____osc___3 ;
597 125:__UG_NAME__ -> 138:which ;
598 137:__UG_NAME__ -> 138:array___env____gen___0 ;
599 120:__UG_NAME__ -> 138:array___binary____op____u____gen___1 ;
600 103:__UG_NAME__ -> 139:which ;
601 120:__UG_NAME__ -> 139:array___binary____op____u____gen___0 ;
602 138:__UG_NAME__ -> 139:array___select___1 ;
603 68:__UG_NAME__ -> 118:freq ;
604 117:__UG_NAME__ -> 118:phase ;
605 198:__UG_NAME__ -> 220:ina ;
606 217:__UG_NAME__ -> 220:inb ;
607 214:__UG_NAME__ -> 220:pan ;
608 219:__UG_NAME__ -> 220:level ;
609 218:__UG_NAME__ -> 222:ina ;
610 221:__UG_NAME__ -> 222:inb ;
611 205:__UG_NAME__ -> 222:pan ;
612 219:__UG_NAME__ -> 222:level ;
613
614 }
0 digraph synthdef {
1 30 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 42 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 43 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 48 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 59 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 72 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 73 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 76 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 78 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
10 22 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 26 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 35 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 39 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 47 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 53 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 57 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 69 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 60 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
20 77 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
21 45 [label = "{{ <b> |<a> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
22 46 [label = "{{ <b> 8.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
23 75 [label = "{{ <b> |<a> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
24 28 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
25 21 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 25 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 34 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 38 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 52 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 56 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 68 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 20 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 33 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 37 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 55 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 67 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 0 [label = "control
42 :amp
43 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 1 [label = "control
45 :amp_slide
46 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 2 [label = "control
48 :amp_slide_shape
49 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 3 [label = "control
51 :amp_slide_curve
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 4 [label = "control
54 :mix
55 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 5 [label = "control
57 :mix_slide
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 6 [label = "control
60 :mix_slide_shape
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 7 [label = "control
63 :mix_slide_curve
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 8 [label = "control
66 :krunch
67 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 9 [label = "control
69 :krunch_slide
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 10 [label = "control
72 :krunch_slide_shape
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 11 [label = "control
75 :krunch_slide_curve
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 12 [label = "control
78 :pre_amp
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 13 [label = "control
81 :pre_amp_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 14 [label = "control
84 :pre_amp_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 15 [label = "control
87 :pre_amp_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 16 [label = "control
90 :in_bus
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 17 [label = "control
93 :out_bus
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 27 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
96 40 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
97 58 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
98 70 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
99 19 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
100 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
101 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
102 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
103 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
104 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
105 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
106 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
107 18 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
108 31 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
109 49 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
110 61 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
111 41 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
112 80 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
113 29 [label = "{{ {{<array___env____gen___0>|1.0E-4}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
114 44 [label = "{{ <b> |<a> } |<__UG_NAME__>tanh }" style="filled, bold, rounded" shape=record rankdir=LR];
115 74 [label = "{{ <b> |<a> } |<__UG_NAME__>tanh }" style="filled, bold, rounded" shape=record rankdir=LR];
116 71 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
117 79 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
118
119 29:__UG_NAME__ -> 30:b ;
120 40:__UG_NAME__ -> 42:a ;
121 41:__UG_NAME__ -> 42:b ;
122 30:__UG_NAME__ -> 43:a ;
123 42:__UG_NAME__ -> 43:b ;
124 45:__UG_NAME__ -> 48:a ;
125 47:__UG_NAME__ -> 48:b ;
126 58:__UG_NAME__ -> 59:a ;
127 40:__UG_NAME__ -> 72:a ;
128 41:__UG_NAME__ -> 72:b ;
129 30:__UG_NAME__ -> 73:a ;
130 72:__UG_NAME__ -> 73:b ;
131 58:__UG_NAME__ -> 76:a ;
132 75:__UG_NAME__ -> 78:a ;
133 47:__UG_NAME__ -> 78:b ;
134 18:__UG_NAME__ -> 22:a ;
135 21:__UG_NAME__ -> 22:b ;
136 22:__UG_NAME__ -> 26:a ;
137 25:__UG_NAME__ -> 26:b ;
138 31:__UG_NAME__ -> 35:a ;
139 34:__UG_NAME__ -> 35:b ;
140 35:__UG_NAME__ -> 39:a ;
141 38:__UG_NAME__ -> 39:b ;
142 46:__UG_NAME__ -> 47:b ;
143 49:__UG_NAME__ -> 53:a ;
144 52:__UG_NAME__ -> 53:b ;
145 53:__UG_NAME__ -> 57:a ;
146 56:__UG_NAME__ -> 57:b ;
147 61:__UG_NAME__ -> 65:a ;
148 64:__UG_NAME__ -> 65:b ;
149 65:__UG_NAME__ -> 69:a ;
150 68:__UG_NAME__ -> 69:b ;
151 59:__UG_NAME__ -> 60:a ;
152 76:__UG_NAME__ -> 77:a ;
153 44:__UG_NAME__ -> 45:a ;
154 30:__UG_NAME__ -> 45:b ;
155 30:__UG_NAME__ -> 46:a ;
156 74:__UG_NAME__ -> 75:a ;
157 30:__UG_NAME__ -> 75:b ;
158 27:__UG_NAME__ -> 28:b ;
159 20:__UG_NAME__ -> 21:a ;
160 24:__UG_NAME__ -> 25:a ;
161 33:__UG_NAME__ -> 34:a ;
162 37:__UG_NAME__ -> 38:a ;
163 51:__UG_NAME__ -> 52:a ;
164 55:__UG_NAME__ -> 56:a ;
165 63:__UG_NAME__ -> 64:a ;
166 67:__UG_NAME__ -> 68:a ;
167 19:__UG_NAME__ -> 20:a ;
168 23:__UG_NAME__ -> 24:a ;
169 32:__UG_NAME__ -> 33:a ;
170 36:__UG_NAME__ -> 37:a ;
171 50:__UG_NAME__ -> 51:a ;
172 54:__UG_NAME__ -> 55:a ;
173 62:__UG_NAME__ -> 63:a ;
174 66:__UG_NAME__ -> 67:a ;
175 8:__UG_NAME__ -> 27:envelope___control___0 ;
176 8:__UG_NAME__ -> 27:envelope___control___4 ;
177 9:__UG_NAME__ -> 27:envelope___control___5 ;
178 10:__UG_NAME__ -> 27:envelope___control___6 ;
179 11:__UG_NAME__ -> 27:envelope___control___7 ;
180 26:__UG_NAME__ -> 27:gate ;
181 12:__UG_NAME__ -> 40:envelope___control___0 ;
182 12:__UG_NAME__ -> 40:envelope___control___4 ;
183 13:__UG_NAME__ -> 40:envelope___control___5 ;
184 14:__UG_NAME__ -> 40:envelope___control___6 ;
185 15:__UG_NAME__ -> 40:envelope___control___7 ;
186 39:__UG_NAME__ -> 40:gate ;
187 4:__UG_NAME__ -> 58:envelope___control___0 ;
188 4:__UG_NAME__ -> 58:envelope___control___4 ;
189 5:__UG_NAME__ -> 58:envelope___control___5 ;
190 6:__UG_NAME__ -> 58:envelope___control___6 ;
191 7:__UG_NAME__ -> 58:envelope___control___7 ;
192 57:__UG_NAME__ -> 58:gate ;
193 0:__UG_NAME__ -> 70:envelope___control___0 ;
194 0:__UG_NAME__ -> 70:envelope___control___4 ;
195 1:__UG_NAME__ -> 70:envelope___control___5 ;
196 2:__UG_NAME__ -> 70:envelope___control___6 ;
197 3:__UG_NAME__ -> 70:envelope___control___7 ;
198 69:__UG_NAME__ -> 70:gate ;
199 8:__UG_NAME__ -> 19:in ;
200 9:__UG_NAME__ -> 23:in ;
201 12:__UG_NAME__ -> 32:in ;
202 13:__UG_NAME__ -> 36:in ;
203 4:__UG_NAME__ -> 50:in ;
204 5:__UG_NAME__ -> 54:in ;
205 0:__UG_NAME__ -> 62:in ;
206 1:__UG_NAME__ -> 66:in ;
207 16:__UG_NAME__ -> 41:bus ;
208 17:__UG_NAME__ -> 80:bus ;
209 79:__UG_NAME__ -> 80:signals___x____fade2___0 ;
210 71:__UG_NAME__ -> 80:signals___x____fade2___1 ;
211 28:__UG_NAME__ -> 29:which ;
212 27:__UG_NAME__ -> 29:array___env____gen___0 ;
213 43:__UG_NAME__ -> 44:a ;
214 73:__UG_NAME__ -> 74:a ;
215 42:__UG_NAME__ -> 71:ina ;
216 48:__UG_NAME__ -> 71:inb ;
217 60:__UG_NAME__ -> 71:pan ;
218 70:__UG_NAME__ -> 71:level ;
219 72:__UG_NAME__ -> 79:ina ;
220 78:__UG_NAME__ -> 79:inb ;
221 77:__UG_NAME__ -> 79:pan ;
222 70:__UG_NAME__ -> 79:level ;
223
224 }
0 digraph synthdef {
1 16 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 18 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 19 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 20 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 21 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 37 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 39 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 40 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 41 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 45 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
11 46 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
12 50 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
13 54 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
14 56 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
15 57 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
16 61 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
17 62 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
18 66 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
19 69 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
20 72 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
21 73 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
22 77 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
23 78 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
24 82 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
25 83 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
26 87 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
27 90 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
28 94 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
29 95 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
30 99 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
31 102 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
32 103 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
33 107 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
34 108 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
35 112 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
36 113 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
37 117 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
38 130 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
39 140 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
40 142 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
41 143 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
42 145 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
43 148 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
44 151 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
45 154 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
46 157 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
47 159 [label = "{{ <b> |<a> 5.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
48 23 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
49 31 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
50 35 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
51 43 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
52 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
53 52 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
54 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
55 64 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
56 67 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
57 71 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
58 75 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
59 80 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
60 85 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
61 89 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
62 92 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
63 97 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
64 101 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
65 105 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
66 110 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
67 115 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
68 119 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
69 124 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
70 128 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
71 136 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
72 138 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
73 147 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
74 150 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
75 153 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
76 156 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
77 17 [label = "{{ <b> 4.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
78 22 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
79 42 [label = "{{ <b> 5.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
80 47 [label = "{{ <b> 5.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
81 51 [label = "{{ <b> 5.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
82 58 [label = "{{ <b> 4.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
83 63 [label = "{{ <b> 4.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
84 74 [label = "{{ <b> 3.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
85 79 [label = "{{ <b> 3.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
86 84 [label = "{{ <b> 3.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
87 91 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
88 96 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
89 104 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
90 109 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
91 114 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
92 131 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
93 158 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
94 30 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
95 34 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
96 123 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
97 127 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
98 135 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
99 137 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
100 26 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
101 29 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
102 33 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
103 122 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
104 126 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
105 134 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
106 55 [label = "{{ <bw> bw|<freq> freq|<in> in} |<__UG_NAME__>b-band-pass }" style="filled, bold, rounded" shape=record rankdir=LR];
107 70 [label = "{{ <bw> bw|<freq> freq|<in> in} |<__UG_NAME__>b-band-pass }" style="filled, bold, rounded" shape=record rankdir=LR];
108 88 [label = "{{ <bw> bw|<freq> freq|<in> in} |<__UG_NAME__>b-band-pass }" style="filled, bold, rounded" shape=record rankdir=LR];
109 100 [label = "{{ <bw> bw|<freq> freq|<in> in} |<__UG_NAME__>b-band-pass }" style="filled, bold, rounded" shape=record rankdir=LR];
110 118 [label = "{{ <bw> bw|<freq> freq|<in> in} |<__UG_NAME__>b-band-pass }" style="filled, bold, rounded" shape=record rankdir=LR];
111 144 [label = "{{ <bw> bw|<freq> freq|<in> in} |<__UG_NAME__>b-band-pass }" style="filled, bold, rounded" shape=record rankdir=LR];
112 146 [label = "{{ <bw> bw|<freq> freq|<in> in} |<__UG_NAME__>b-band-pass }" style="filled, bold, rounded" shape=record rankdir=LR];
113 149 [label = "{{ <bw> bw|<freq> freq|<in> in} |<__UG_NAME__>b-band-pass }" style="filled, bold, rounded" shape=record rankdir=LR];
114 152 [label = "{{ <bw> bw|<freq> freq|<in> in} |<__UG_NAME__>b-band-pass }" style="filled, bold, rounded" shape=record rankdir=LR];
115 155 [label = "{{ <bw> bw|<freq> freq|<in> in} |<__UG_NAME__>b-band-pass }" style="filled, bold, rounded" shape=record rankdir=LR];
116 0 [label = "control
117 :amp
118 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 1 [label = "control
120 :amp_slide
121 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 2 [label = "control
123 :amp_slide_shape
124 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 3 [label = "control
126 :amp_slide_curve
127 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 4 [label = "control
129 :mix
130 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 5 [label = "control
132 :mix_slide
133 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 6 [label = "control
135 :mix_slide_shape
136 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 7 [label = "control
138 :mix_slide_curve
139 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 8 [label = "control
141 :voice
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 9 [label = "control
144 :vowel_sound
145 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 10 [label = "control
147 :pre_amp
148 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 11 [label = "control
150 :pre_amp_slide
151 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 12 [label = "control
153 :pre_amp_slide_shape
154 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 13 [label = "control
156 :pre_amp_slide_curve
157 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 14 [label = "control
159 :in_bus
160 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 15 [label = "control
162 :out_bus
163 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 36 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
165 129 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
166 139 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
167 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
168 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
169 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
170 121 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
171 125 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
172 133 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
173 27 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
174 120 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
175 132 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
176 38 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
177 161 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
178 24 [label = "{{ {{1/80|1/90|1/120|1/130|1/140|1/60|1/100|1/120|1/150|1/200|1/60|1/90|1/100|1/120|1/120|1/70|1/80|1/100|1/130|1/135|1/50|1/60|1/170|1/180|1/200|1/80|1/90|1/120|1/130|1/140|1/60|1/80|1/120|1/150|1/200|1/50|1/100|1/120|1/150|1/200|1/70|1/80|1/100|1/130|1/135|1/50|1/60|1/170|1/180|1/200|1/80|1/90|1/120|1/130|1/140|1/70|1/80|1/100|1/120|1/120|1/40|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/60|1/100|1/120|1/120|1/80|1/90|1/120|1/130|1/140|1/70|1/80|1/100|1/120|1/120|1/40|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/60|1/100|1/120|1/120|1/60|1/70|1/110|1/120|1/130|1/40|1/80|1/100|1/120|1/120|1/60|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
179 44 [label = "{{ {{800|1150|2900|3900|4950|350|2000|2800|3600|4950|270|2140|2950|3900|4950|450|800|2830|3800|4950|325|700|2700|3800|4950|800|1150|2800|3500|4950|400|1600|2700|3300|4950|350|1700|2700|3700|4950|450|800|2830|3500|4950|325|700|2530|3500|4950|660|1120|2750|3000|3350|440|1800|2700|3000|3300|270|1850|2900|3350|3590|430|820|2700|3000|3300|370|630|2750|3000|3400|650|1080|2650|2900|3250|400|1700|2600|3200|3580|290|1870|2800|3250|3540|400|800|2600|2800|3000|350|600|2700|2900|3300|600|1040|2250|2450|2750|400|1620|2400|2800|3100|250|1750|2600|3050|3340|400|750|2400|2600|2900|350|600|2400|2675|2950}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
180 49 [label = "{{ {{1/80|1/90|1/120|1/130|1/140|1/60|1/100|1/120|1/150|1/200|1/60|1/90|1/100|1/120|1/120|1/70|1/80|1/100|1/130|1/135|1/50|1/60|1/170|1/180|1/200|1/80|1/90|1/120|1/130|1/140|1/60|1/80|1/120|1/150|1/200|1/50|1/100|1/120|1/150|1/200|1/70|1/80|1/100|1/130|1/135|1/50|1/60|1/170|1/180|1/200|1/80|1/90|1/120|1/130|1/140|1/70|1/80|1/100|1/120|1/120|1/40|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/60|1/100|1/120|1/120|1/80|1/90|1/120|1/130|1/140|1/70|1/80|1/100|1/120|1/120|1/40|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/60|1/100|1/120|1/120|1/60|1/70|1/110|1/120|1/130|1/40|1/80|1/100|1/120|1/120|1/60|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
181 53 [label = "{{ {{1.0|0.5011872336272722|0.025118864315095784|0.09999999999999998|0.0031622776601683764|1.0|0.09999999999999998|0.17782794100389226|1/100|0.0015848931924611136|1.0|0.251188643150958|0.050118723362727206|0.050118723362727206|0.006309573444801925|1.0|0.2818382931264453|0.0794328234724281|0.0794328234724281|0.0031622776601683764|1.0|0.1584893192461113|0.017782794100389226|1/100|9.999999999999994E-4|1.0|0.6309573444801931|0.09999999999999998|0.015848931924611127|9.999999999999994E-4|1.0|0.06309573444801932|0.031622776601683784|0.017782794100389226|9.999999999999994E-4|1.0|0.09999999999999998|0.031622776601683784|0.015848931924611127|9.999999999999994E-4|1.0|0.3548133892335754|0.1584893192461113|0.03981071705534973|0.001778279410038922|1.0|0.251188643150958|0.031622776601683784|1/100|6.309573444801923E-4|1.0|0.5011872336272722|0.07079457843841379|0.06309573444801932|0.012589254117941666|1.0|0.19952623149688797|0.12589254117941667|0.09999999999999998|0.09999999999999998|1.0|0.06309573444801932|0.06309573444801932|0.015848931924611127|0.015848931924611127|1.0|0.3162277660168379|0.050118723362727206|0.0794328234724281|0.019952623149688792|1.0|0.09999999999999998|0.07079457843841379|0.031622776601683784|0.019952623149688792|1.0|0.5011872336272722|0.44668359215096315|0.3981071705534972|0.0794328234724281|1.0|0.19952623149688797|0.251188643150958|0.19952623149688797|0.09999999999999998|1.0|0.17782794100389226|0.12589254117941667|0.09999999999999998|0.031622776601683784|1.0|0.3162277660168379|0.251188643150958|0.251188643150958|0.050118723362727206|1.0|0.09999999999999998|0.14125375446227542|0.19952623149688797|0.050118723362727206|1.0|0.44668359215096315|0.3548133892335754|0.3548133892335754|0.09999999999999998|1.0|0.251188643150958|0.3548133892335754|0.251188643150958|0.12589254117941667|1.0|0.031622776601683784|0.1584893192461113|0.0794328234724281|0.03981071705534973|1.0|0.2818382931264453|0.08912509381337454|0.09999999999999998|1/100|1.0|0.09999999999999998|0.025118864315095784|0.03981071705534973|0.015848931924611127}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
182 60 [label = "{{ {{800|1150|2900|3900|4950|350|2000|2800|3600|4950|270|2140|2950|3900|4950|450|800|2830|3800|4950|325|700|2700|3800|4950|800|1150|2800|3500|4950|400|1600|2700|3300|4950|350|1700|2700|3700|4950|450|800|2830|3500|4950|325|700|2530|3500|4950|660|1120|2750|3000|3350|440|1800|2700|3000|3300|270|1850|2900|3350|3590|430|820|2700|3000|3300|370|630|2750|3000|3400|650|1080|2650|2900|3250|400|1700|2600|3200|3580|290|1870|2800|3250|3540|400|800|2600|2800|3000|350|600|2700|2900|3300|600|1040|2250|2450|2750|400|1620|2400|2800|3100|250|1750|2600|3050|3340|400|750|2400|2600|2900|350|600|2400|2675|2950}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
183 65 [label = "{{ {{1/80|1/90|1/120|1/130|1/140|1/60|1/100|1/120|1/150|1/200|1/60|1/90|1/100|1/120|1/120|1/70|1/80|1/100|1/130|1/135|1/50|1/60|1/170|1/180|1/200|1/80|1/90|1/120|1/130|1/140|1/60|1/80|1/120|1/150|1/200|1/50|1/100|1/120|1/150|1/200|1/70|1/80|1/100|1/130|1/135|1/50|1/60|1/170|1/180|1/200|1/80|1/90|1/120|1/130|1/140|1/70|1/80|1/100|1/120|1/120|1/40|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/60|1/100|1/120|1/120|1/80|1/90|1/120|1/130|1/140|1/70|1/80|1/100|1/120|1/120|1/40|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/60|1/100|1/120|1/120|1/60|1/70|1/110|1/120|1/130|1/40|1/80|1/100|1/120|1/120|1/60|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
184 68 [label = "{{ {{1.0|0.5011872336272722|0.025118864315095784|0.09999999999999998|0.0031622776601683764|1.0|0.09999999999999998|0.17782794100389226|1/100|0.0015848931924611136|1.0|0.251188643150958|0.050118723362727206|0.050118723362727206|0.006309573444801925|1.0|0.2818382931264453|0.0794328234724281|0.0794328234724281|0.0031622776601683764|1.0|0.1584893192461113|0.017782794100389226|1/100|9.999999999999994E-4|1.0|0.6309573444801931|0.09999999999999998|0.015848931924611127|9.999999999999994E-4|1.0|0.06309573444801932|0.031622776601683784|0.017782794100389226|9.999999999999994E-4|1.0|0.09999999999999998|0.031622776601683784|0.015848931924611127|9.999999999999994E-4|1.0|0.3548133892335754|0.1584893192461113|0.03981071705534973|0.001778279410038922|1.0|0.251188643150958|0.031622776601683784|1/100|6.309573444801923E-4|1.0|0.5011872336272722|0.07079457843841379|0.06309573444801932|0.012589254117941666|1.0|0.19952623149688797|0.12589254117941667|0.09999999999999998|0.09999999999999998|1.0|0.06309573444801932|0.06309573444801932|0.015848931924611127|0.015848931924611127|1.0|0.3162277660168379|0.050118723362727206|0.0794328234724281|0.019952623149688792|1.0|0.09999999999999998|0.07079457843841379|0.031622776601683784|0.019952623149688792|1.0|0.5011872336272722|0.44668359215096315|0.3981071705534972|0.0794328234724281|1.0|0.19952623149688797|0.251188643150958|0.19952623149688797|0.09999999999999998|1.0|0.17782794100389226|0.12589254117941667|0.09999999999999998|0.031622776601683784|1.0|0.3162277660168379|0.251188643150958|0.251188643150958|0.050118723362727206|1.0|0.09999999999999998|0.14125375446227542|0.19952623149688797|0.050118723362727206|1.0|0.44668359215096315|0.3548133892335754|0.3548133892335754|0.09999999999999998|1.0|0.251188643150958|0.3548133892335754|0.251188643150958|0.12589254117941667|1.0|0.031622776601683784|0.1584893192461113|0.0794328234724281|0.03981071705534973|1.0|0.2818382931264453|0.08912509381337454|0.09999999999999998|1/100|1.0|0.09999999999999998|0.025118864315095784|0.03981071705534973|0.015848931924611127}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
185 76 [label = "{{ {{800|1150|2900|3900|4950|350|2000|2800|3600|4950|270|2140|2950|3900|4950|450|800|2830|3800|4950|325|700|2700|3800|4950|800|1150|2800|3500|4950|400|1600|2700|3300|4950|350|1700|2700|3700|4950|450|800|2830|3500|4950|325|700|2530|3500|4950|660|1120|2750|3000|3350|440|1800|2700|3000|3300|270|1850|2900|3350|3590|430|820|2700|3000|3300|370|630|2750|3000|3400|650|1080|2650|2900|3250|400|1700|2600|3200|3580|290|1870|2800|3250|3540|400|800|2600|2800|3000|350|600|2700|2900|3300|600|1040|2250|2450|2750|400|1620|2400|2800|3100|250|1750|2600|3050|3340|400|750|2400|2600|2900|350|600|2400|2675|2950}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
186 81 [label = "{{ {{1/80|1/90|1/120|1/130|1/140|1/60|1/100|1/120|1/150|1/200|1/60|1/90|1/100|1/120|1/120|1/70|1/80|1/100|1/130|1/135|1/50|1/60|1/170|1/180|1/200|1/80|1/90|1/120|1/130|1/140|1/60|1/80|1/120|1/150|1/200|1/50|1/100|1/120|1/150|1/200|1/70|1/80|1/100|1/130|1/135|1/50|1/60|1/170|1/180|1/200|1/80|1/90|1/120|1/130|1/140|1/70|1/80|1/100|1/120|1/120|1/40|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/60|1/100|1/120|1/120|1/80|1/90|1/120|1/130|1/140|1/70|1/80|1/100|1/120|1/120|1/40|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/60|1/100|1/120|1/120|1/60|1/70|1/110|1/120|1/130|1/40|1/80|1/100|1/120|1/120|1/60|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
187 86 [label = "{{ {{1.0|0.5011872336272722|0.025118864315095784|0.09999999999999998|0.0031622776601683764|1.0|0.09999999999999998|0.17782794100389226|1/100|0.0015848931924611136|1.0|0.251188643150958|0.050118723362727206|0.050118723362727206|0.006309573444801925|1.0|0.2818382931264453|0.0794328234724281|0.0794328234724281|0.0031622776601683764|1.0|0.1584893192461113|0.017782794100389226|1/100|9.999999999999994E-4|1.0|0.6309573444801931|0.09999999999999998|0.015848931924611127|9.999999999999994E-4|1.0|0.06309573444801932|0.031622776601683784|0.017782794100389226|9.999999999999994E-4|1.0|0.09999999999999998|0.031622776601683784|0.015848931924611127|9.999999999999994E-4|1.0|0.3548133892335754|0.1584893192461113|0.03981071705534973|0.001778279410038922|1.0|0.251188643150958|0.031622776601683784|1/100|6.309573444801923E-4|1.0|0.5011872336272722|0.07079457843841379|0.06309573444801932|0.012589254117941666|1.0|0.19952623149688797|0.12589254117941667|0.09999999999999998|0.09999999999999998|1.0|0.06309573444801932|0.06309573444801932|0.015848931924611127|0.015848931924611127|1.0|0.3162277660168379|0.050118723362727206|0.0794328234724281|0.019952623149688792|1.0|0.09999999999999998|0.07079457843841379|0.031622776601683784|0.019952623149688792|1.0|0.5011872336272722|0.44668359215096315|0.3981071705534972|0.0794328234724281|1.0|0.19952623149688797|0.251188643150958|0.19952623149688797|0.09999999999999998|1.0|0.17782794100389226|0.12589254117941667|0.09999999999999998|0.031622776601683784|1.0|0.3162277660168379|0.251188643150958|0.251188643150958|0.050118723362727206|1.0|0.09999999999999998|0.14125375446227542|0.19952623149688797|0.050118723362727206|1.0|0.44668359215096315|0.3548133892335754|0.3548133892335754|0.09999999999999998|1.0|0.251188643150958|0.3548133892335754|0.251188643150958|0.12589254117941667|1.0|0.031622776601683784|0.1584893192461113|0.0794328234724281|0.03981071705534973|1.0|0.2818382931264453|0.08912509381337454|0.09999999999999998|1/100|1.0|0.09999999999999998|0.025118864315095784|0.03981071705534973|0.015848931924611127}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
188 93 [label = "{{ {{800|1150|2900|3900|4950|350|2000|2800|3600|4950|270|2140|2950|3900|4950|450|800|2830|3800|4950|325|700|2700|3800|4950|800|1150|2800|3500|4950|400|1600|2700|3300|4950|350|1700|2700|3700|4950|450|800|2830|3500|4950|325|700|2530|3500|4950|660|1120|2750|3000|3350|440|1800|2700|3000|3300|270|1850|2900|3350|3590|430|820|2700|3000|3300|370|630|2750|3000|3400|650|1080|2650|2900|3250|400|1700|2600|3200|3580|290|1870|2800|3250|3540|400|800|2600|2800|3000|350|600|2700|2900|3300|600|1040|2250|2450|2750|400|1620|2400|2800|3100|250|1750|2600|3050|3340|400|750|2400|2600|2900|350|600|2400|2675|2950}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
189 98 [label = "{{ {{1.0|0.5011872336272722|0.025118864315095784|0.09999999999999998|0.0031622776601683764|1.0|0.09999999999999998|0.17782794100389226|1/100|0.0015848931924611136|1.0|0.251188643150958|0.050118723362727206|0.050118723362727206|0.006309573444801925|1.0|0.2818382931264453|0.0794328234724281|0.0794328234724281|0.0031622776601683764|1.0|0.1584893192461113|0.017782794100389226|1/100|9.999999999999994E-4|1.0|0.6309573444801931|0.09999999999999998|0.015848931924611127|9.999999999999994E-4|1.0|0.06309573444801932|0.031622776601683784|0.017782794100389226|9.999999999999994E-4|1.0|0.09999999999999998|0.031622776601683784|0.015848931924611127|9.999999999999994E-4|1.0|0.3548133892335754|0.1584893192461113|0.03981071705534973|0.001778279410038922|1.0|0.251188643150958|0.031622776601683784|1/100|6.309573444801923E-4|1.0|0.5011872336272722|0.07079457843841379|0.06309573444801932|0.012589254117941666|1.0|0.19952623149688797|0.12589254117941667|0.09999999999999998|0.09999999999999998|1.0|0.06309573444801932|0.06309573444801932|0.015848931924611127|0.015848931924611127|1.0|0.3162277660168379|0.050118723362727206|0.0794328234724281|0.019952623149688792|1.0|0.09999999999999998|0.07079457843841379|0.031622776601683784|0.019952623149688792|1.0|0.5011872336272722|0.44668359215096315|0.3981071705534972|0.0794328234724281|1.0|0.19952623149688797|0.251188643150958|0.19952623149688797|0.09999999999999998|1.0|0.17782794100389226|0.12589254117941667|0.09999999999999998|0.031622776601683784|1.0|0.3162277660168379|0.251188643150958|0.251188643150958|0.050118723362727206|1.0|0.09999999999999998|0.14125375446227542|0.19952623149688797|0.050118723362727206|1.0|0.44668359215096315|0.3548133892335754|0.3548133892335754|0.09999999999999998|1.0|0.251188643150958|0.3548133892335754|0.251188643150958|0.12589254117941667|1.0|0.031622776601683784|0.1584893192461113|0.0794328234724281|0.03981071705534973|1.0|0.2818382931264453|0.08912509381337454|0.09999999999999998|1/100|1.0|0.09999999999999998|0.025118864315095784|0.03981071705534973|0.015848931924611127}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
190 106 [label = "{{ {{800|1150|2900|3900|4950|350|2000|2800|3600|4950|270|2140|2950|3900|4950|450|800|2830|3800|4950|325|700|2700|3800|4950|800|1150|2800|3500|4950|400|1600|2700|3300|4950|350|1700|2700|3700|4950|450|800|2830|3500|4950|325|700|2530|3500|4950|660|1120|2750|3000|3350|440|1800|2700|3000|3300|270|1850|2900|3350|3590|430|820|2700|3000|3300|370|630|2750|3000|3400|650|1080|2650|2900|3250|400|1700|2600|3200|3580|290|1870|2800|3250|3540|400|800|2600|2800|3000|350|600|2700|2900|3300|600|1040|2250|2450|2750|400|1620|2400|2800|3100|250|1750|2600|3050|3340|400|750|2400|2600|2900|350|600|2400|2675|2950}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
191 111 [label = "{{ {{1/80|1/90|1/120|1/130|1/140|1/60|1/100|1/120|1/150|1/200|1/60|1/90|1/100|1/120|1/120|1/70|1/80|1/100|1/130|1/135|1/50|1/60|1/170|1/180|1/200|1/80|1/90|1/120|1/130|1/140|1/60|1/80|1/120|1/150|1/200|1/50|1/100|1/120|1/150|1/200|1/70|1/80|1/100|1/130|1/135|1/50|1/60|1/170|1/180|1/200|1/80|1/90|1/120|1/130|1/140|1/70|1/80|1/100|1/120|1/120|1/40|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/60|1/100|1/120|1/120|1/80|1/90|1/120|1/130|1/140|1/70|1/80|1/100|1/120|1/120|1/40|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/60|1/100|1/120|1/120|1/60|1/70|1/110|1/120|1/130|1/40|1/80|1/100|1/120|1/120|1/60|1/90|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120|1/40|1/80|1/100|1/120|1/120}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
192 116 [label = "{{ {{1.0|0.5011872336272722|0.025118864315095784|0.09999999999999998|0.0031622776601683764|1.0|0.09999999999999998|0.17782794100389226|1/100|0.0015848931924611136|1.0|0.251188643150958|0.050118723362727206|0.050118723362727206|0.006309573444801925|1.0|0.2818382931264453|0.0794328234724281|0.0794328234724281|0.0031622776601683764|1.0|0.1584893192461113|0.017782794100389226|1/100|9.999999999999994E-4|1.0|0.6309573444801931|0.09999999999999998|0.015848931924611127|9.999999999999994E-4|1.0|0.06309573444801932|0.031622776601683784|0.017782794100389226|9.999999999999994E-4|1.0|0.09999999999999998|0.031622776601683784|0.015848931924611127|9.999999999999994E-4|1.0|0.3548133892335754|0.1584893192461113|0.03981071705534973|0.001778279410038922|1.0|0.251188643150958|0.031622776601683784|1/100|6.309573444801923E-4|1.0|0.5011872336272722|0.07079457843841379|0.06309573444801932|0.012589254117941666|1.0|0.19952623149688797|0.12589254117941667|0.09999999999999998|0.09999999999999998|1.0|0.06309573444801932|0.06309573444801932|0.015848931924611127|0.015848931924611127|1.0|0.3162277660168379|0.050118723362727206|0.0794328234724281|0.019952623149688792|1.0|0.09999999999999998|0.07079457843841379|0.031622776601683784|0.019952623149688792|1.0|0.5011872336272722|0.44668359215096315|0.3981071705534972|0.0794328234724281|1.0|0.19952623149688797|0.251188643150958|0.19952623149688797|0.09999999999999998|1.0|0.17782794100389226|0.12589254117941667|0.09999999999999998|0.031622776601683784|1.0|0.3162277660168379|0.251188643150958|0.251188643150958|0.050118723362727206|1.0|0.09999999999999998|0.14125375446227542|0.19952623149688797|0.050118723362727206|1.0|0.44668359215096315|0.3548133892335754|0.3548133892335754|0.09999999999999998|1.0|0.251188643150958|0.3548133892335754|0.251188643150958|0.12589254117941667|1.0|0.031622776601683784|0.1584893192461113|0.0794328234724281|0.03981071705534973|1.0|0.2818382931264453|0.08912509381337454|0.09999999999999998|1/100|1.0|0.09999999999999998|0.025118864315095784|0.03981071705534973|0.015848931924611127}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
193 141 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
194 160 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
195
196 9:__UG_NAME__ -> 16:b ;
197 9:__UG_NAME__ -> 18:b ;
198 9:__UG_NAME__ -> 19:b ;
199 8:__UG_NAME__ -> 20:b ;
200 9:__UG_NAME__ -> 21:b ;
201 36:__UG_NAME__ -> 37:b ;
202 37:__UG_NAME__ -> 39:a ;
203 38:__UG_NAME__ -> 39:b ;
204 8:__UG_NAME__ -> 40:b ;
205 9:__UG_NAME__ -> 41:b ;
206 8:__UG_NAME__ -> 45:b ;
207 9:__UG_NAME__ -> 46:b ;
208 8:__UG_NAME__ -> 50:b ;
209 49:__UG_NAME__ -> 54:a ;
210 53:__UG_NAME__ -> 54:b ;
211 8:__UG_NAME__ -> 56:b ;
212 9:__UG_NAME__ -> 57:b ;
213 8:__UG_NAME__ -> 61:b ;
214 9:__UG_NAME__ -> 62:b ;
215 8:__UG_NAME__ -> 66:b ;
216 65:__UG_NAME__ -> 69:a ;
217 68:__UG_NAME__ -> 69:b ;
218 8:__UG_NAME__ -> 72:b ;
219 9:__UG_NAME__ -> 73:b ;
220 8:__UG_NAME__ -> 77:b ;
221 9:__UG_NAME__ -> 78:b ;
222 8:__UG_NAME__ -> 82:b ;
223 9:__UG_NAME__ -> 83:b ;
224 81:__UG_NAME__ -> 87:a ;
225 86:__UG_NAME__ -> 87:b ;
226 8:__UG_NAME__ -> 90:b ;
227 8:__UG_NAME__ -> 94:b ;
228 9:__UG_NAME__ -> 95:b ;
229 24:__UG_NAME__ -> 99:a ;
230 98:__UG_NAME__ -> 99:b ;
231 8:__UG_NAME__ -> 102:b ;
232 9:__UG_NAME__ -> 103:b ;
233 8:__UG_NAME__ -> 107:b ;
234 9:__UG_NAME__ -> 108:b ;
235 8:__UG_NAME__ -> 112:b ;
236 9:__UG_NAME__ -> 113:b ;
237 111:__UG_NAME__ -> 117:a ;
238 116:__UG_NAME__ -> 117:b ;
239 129:__UG_NAME__ -> 130:a ;
240 139:__UG_NAME__ -> 140:b ;
241 37:__UG_NAME__ -> 142:a ;
242 38:__UG_NAME__ -> 142:b ;
243 49:__UG_NAME__ -> 143:a ;
244 53:__UG_NAME__ -> 143:b ;
245 65:__UG_NAME__ -> 145:a ;
246 68:__UG_NAME__ -> 145:b ;
247 81:__UG_NAME__ -> 148:a ;
248 86:__UG_NAME__ -> 148:b ;
249 24:__UG_NAME__ -> 151:a ;
250 98:__UG_NAME__ -> 151:b ;
251 111:__UG_NAME__ -> 154:a ;
252 116:__UG_NAME__ -> 154:b ;
253 129:__UG_NAME__ -> 157:a ;
254 139:__UG_NAME__ -> 159:b ;
255 20:__UG_NAME__ -> 23:a ;
256 22:__UG_NAME__ -> 23:b ;
257 27:__UG_NAME__ -> 31:a ;
258 30:__UG_NAME__ -> 31:b ;
259 31:__UG_NAME__ -> 35:a ;
260 34:__UG_NAME__ -> 35:b ;
261 40:__UG_NAME__ -> 43:a ;
262 42:__UG_NAME__ -> 43:b ;
263 45:__UG_NAME__ -> 48:a ;
264 47:__UG_NAME__ -> 48:b ;
265 50:__UG_NAME__ -> 52:a ;
266 51:__UG_NAME__ -> 52:b ;
267 56:__UG_NAME__ -> 59:a ;
268 58:__UG_NAME__ -> 59:b ;
269 61:__UG_NAME__ -> 64:a ;
270 63:__UG_NAME__ -> 64:b ;
271 66:__UG_NAME__ -> 67:a ;
272 17:__UG_NAME__ -> 67:b ;
273 55:__UG_NAME__ -> 71:a ;
274 70:__UG_NAME__ -> 71:b ;
275 72:__UG_NAME__ -> 75:a ;
276 74:__UG_NAME__ -> 75:b ;
277 77:__UG_NAME__ -> 80:a ;
278 79:__UG_NAME__ -> 80:b ;
279 82:__UG_NAME__ -> 85:a ;
280 84:__UG_NAME__ -> 85:b ;
281 71:__UG_NAME__ -> 89:a ;
282 88:__UG_NAME__ -> 89:b ;
283 90:__UG_NAME__ -> 92:a ;
284 91:__UG_NAME__ -> 92:b ;
285 94:__UG_NAME__ -> 97:a ;
286 96:__UG_NAME__ -> 97:b ;
287 89:__UG_NAME__ -> 101:a ;
288 100:__UG_NAME__ -> 101:b ;
289 102:__UG_NAME__ -> 105:a ;
290 104:__UG_NAME__ -> 105:b ;
291 107:__UG_NAME__ -> 110:a ;
292 109:__UG_NAME__ -> 110:b ;
293 112:__UG_NAME__ -> 115:a ;
294 114:__UG_NAME__ -> 115:b ;
295 101:__UG_NAME__ -> 119:a ;
296 118:__UG_NAME__ -> 119:b ;
297 120:__UG_NAME__ -> 124:a ;
298 123:__UG_NAME__ -> 124:b ;
299 124:__UG_NAME__ -> 128:a ;
300 127:__UG_NAME__ -> 128:b ;
301 132:__UG_NAME__ -> 136:a ;
302 135:__UG_NAME__ -> 136:b ;
303 136:__UG_NAME__ -> 138:a ;
304 137:__UG_NAME__ -> 138:b ;
305 144:__UG_NAME__ -> 147:a ;
306 146:__UG_NAME__ -> 147:b ;
307 147:__UG_NAME__ -> 150:a ;
308 149:__UG_NAME__ -> 150:b ;
309 150:__UG_NAME__ -> 153:a ;
310 152:__UG_NAME__ -> 153:b ;
311 153:__UG_NAME__ -> 156:a ;
312 155:__UG_NAME__ -> 156:b ;
313 16:__UG_NAME__ -> 17:a ;
314 21:__UG_NAME__ -> 22:a ;
315 41:__UG_NAME__ -> 42:a ;
316 46:__UG_NAME__ -> 47:a ;
317 19:__UG_NAME__ -> 51:a ;
318 57:__UG_NAME__ -> 58:a ;
319 62:__UG_NAME__ -> 63:a ;
320 73:__UG_NAME__ -> 74:a ;
321 78:__UG_NAME__ -> 79:a ;
322 83:__UG_NAME__ -> 84:a ;
323 18:__UG_NAME__ -> 91:a ;
324 95:__UG_NAME__ -> 96:a ;
325 103:__UG_NAME__ -> 104:a ;
326 108:__UG_NAME__ -> 109:a ;
327 113:__UG_NAME__ -> 114:a ;
328 130:__UG_NAME__ -> 131:a ;
329 157:__UG_NAME__ -> 158:a ;
330 29:__UG_NAME__ -> 30:a ;
331 33:__UG_NAME__ -> 34:a ;
332 122:__UG_NAME__ -> 123:a ;
333 126:__UG_NAME__ -> 127:a ;
334 134:__UG_NAME__ -> 135:a ;
335 26:__UG_NAME__ -> 137:a ;
336 25:__UG_NAME__ -> 26:a ;
337 28:__UG_NAME__ -> 29:a ;
338 32:__UG_NAME__ -> 33:a ;
339 121:__UG_NAME__ -> 122:a ;
340 125:__UG_NAME__ -> 126:a ;
341 133:__UG_NAME__ -> 134:a ;
342 39:__UG_NAME__ -> 55:in ;
343 44:__UG_NAME__ -> 55:freq ;
344 54:__UG_NAME__ -> 55:bw ;
345 39:__UG_NAME__ -> 70:in ;
346 60:__UG_NAME__ -> 70:freq ;
347 69:__UG_NAME__ -> 70:bw ;
348 39:__UG_NAME__ -> 88:in ;
349 76:__UG_NAME__ -> 88:freq ;
350 87:__UG_NAME__ -> 88:bw ;
351 39:__UG_NAME__ -> 100:in ;
352 93:__UG_NAME__ -> 100:freq ;
353 99:__UG_NAME__ -> 100:bw ;
354 39:__UG_NAME__ -> 118:in ;
355 106:__UG_NAME__ -> 118:freq ;
356 117:__UG_NAME__ -> 118:bw ;
357 142:__UG_NAME__ -> 144:in ;
358 44:__UG_NAME__ -> 144:freq ;
359 143:__UG_NAME__ -> 144:bw ;
360 142:__UG_NAME__ -> 146:in ;
361 60:__UG_NAME__ -> 146:freq ;
362 145:__UG_NAME__ -> 146:bw ;
363 142:__UG_NAME__ -> 149:in ;
364 76:__UG_NAME__ -> 149:freq ;
365 148:__UG_NAME__ -> 149:bw ;
366 142:__UG_NAME__ -> 152:in ;
367 93:__UG_NAME__ -> 152:freq ;
368 151:__UG_NAME__ -> 152:bw ;
369 142:__UG_NAME__ -> 155:in ;
370 106:__UG_NAME__ -> 155:freq ;
371 154:__UG_NAME__ -> 155:bw ;
372 10:__UG_NAME__ -> 36:envelope___control___0 ;
373 10:__UG_NAME__ -> 36:envelope___control___4 ;
374 11:__UG_NAME__ -> 36:envelope___control___5 ;
375 12:__UG_NAME__ -> 36:envelope___control___6 ;
376 13:__UG_NAME__ -> 36:envelope___control___7 ;
377 35:__UG_NAME__ -> 36:gate ;
378 4:__UG_NAME__ -> 129:envelope___control___0 ;
379 4:__UG_NAME__ -> 129:envelope___control___4 ;
380 5:__UG_NAME__ -> 129:envelope___control___5 ;
381 6:__UG_NAME__ -> 129:envelope___control___6 ;
382 7:__UG_NAME__ -> 129:envelope___control___7 ;
383 128:__UG_NAME__ -> 129:gate ;
384 0:__UG_NAME__ -> 139:envelope___control___0 ;
385 0:__UG_NAME__ -> 139:envelope___control___4 ;
386 1:__UG_NAME__ -> 139:envelope___control___5 ;
387 2:__UG_NAME__ -> 139:envelope___control___6 ;
388 3:__UG_NAME__ -> 139:envelope___control___7 ;
389 138:__UG_NAME__ -> 139:gate ;
390 1:__UG_NAME__ -> 25:in ;
391 10:__UG_NAME__ -> 28:in ;
392 11:__UG_NAME__ -> 32:in ;
393 4:__UG_NAME__ -> 121:in ;
394 5:__UG_NAME__ -> 125:in ;
395 0:__UG_NAME__ -> 133:in ;
396 14:__UG_NAME__ -> 38:bus ;
397 15:__UG_NAME__ -> 161:bus ;
398 141:__UG_NAME__ -> 161:signals___x____fade2___0 ;
399 160:__UG_NAME__ -> 161:signals___x____fade2___1 ;
400 23:__UG_NAME__ -> 24:which ;
401 43:__UG_NAME__ -> 44:which ;
402 48:__UG_NAME__ -> 49:which ;
403 52:__UG_NAME__ -> 53:which ;
404 59:__UG_NAME__ -> 60:which ;
405 64:__UG_NAME__ -> 65:which ;
406 67:__UG_NAME__ -> 68:which ;
407 75:__UG_NAME__ -> 76:which ;
408 80:__UG_NAME__ -> 81:which ;
409 85:__UG_NAME__ -> 86:which ;
410 92:__UG_NAME__ -> 93:which ;
411 97:__UG_NAME__ -> 98:which ;
412 105:__UG_NAME__ -> 106:which ;
413 110:__UG_NAME__ -> 111:which ;
414 115:__UG_NAME__ -> 116:which ;
415 39:__UG_NAME__ -> 141:ina ;
416 119:__UG_NAME__ -> 141:inb ;
417 131:__UG_NAME__ -> 141:pan ;
418 140:__UG_NAME__ -> 141:level ;
419 142:__UG_NAME__ -> 160:ina ;
420 156:__UG_NAME__ -> 160:inb ;
421 158:__UG_NAME__ -> 160:pan ;
422 159:__UG_NAME__ -> 160:level ;
423
424 }
0 digraph synthdef {
1 35 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 47 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 52 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 64 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 67 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 69 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 72 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 76 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 26 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 30 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 40 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 44 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
14 58 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 62 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 73 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
17 82 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 86 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 65 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
20 68 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
21 32 [label = "{{ <b> |<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
22 34 [label = "{{ <b> -2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
23 71 [label = "{{ <b> -2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
24 25 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 29 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 39 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 57 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 61 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 81 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 85 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 28 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 38 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 42 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 56 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 60 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 80 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 84 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 0 [label = "control
41 :amp
42 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 1 [label = "control
44 :amp_slide
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 2 [label = "control
47 :amp_slide_shape
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 3 [label = "control
50 :amp_slide_curve
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 4 [label = "control
53 :mix
54 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 5 [label = "control
56 :mix_slide
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 6 [label = "control
59 :mix_slide_shape
60 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 7 [label = "control
62 :mix_slide_curve
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 8 [label = "control
65 :transpose
66 default: 12.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 9 [label = "control
68 :transpose_slide
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 10 [label = "control
71 :transpose_slide_shape
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 11 [label = "control
74 :transpose_slide_curve
75 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 12 [label = "control
77 :deltime
78 default: 0.05" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 13 [label = "control
80 :max_delay_time
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 14 [label = "control
83 :grainsize
84 default: 0.075" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 15 [label = "control
86 :pre_amp
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 16 [label = "control
89 :pre_amp_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 17 [label = "control
92 :pre_amp_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 18 [label = "control
95 :pre_amp_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 19 [label = "control
98 :in_bus
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 20 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 49 [label = "{{ <delay____time> delay-time|<max____delay____time> max-delay-time|<in> in} |<__UG_NAME__>delay-c }" style="filled, bold, rounded" shape=record rankdir=LR];
104 74 [label = "{{ <delay____time> delay-time|<max____delay____time> max-delay-time|<in> in} |<__UG_NAME__>delay-c }" style="filled, bold, rounded" shape=record rankdir=LR];
105 31 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___unary____op____u____gen___0>|1.0|-99|-99|<envelope___unary____op____u____gen___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 45 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 63 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 87 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
109 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 79 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 83 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 21 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 36 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 54 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 78 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 46 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
122 53 [label = "{{ <coef> coef 0.995|<in> in} |<__UG_NAME__>leak-dc }" style="filled, bold, rounded" shape=record rankdir=LR];
123 77 [label = "{{ <coef> coef 0.995|<in> in} |<__UG_NAME__>leak-dc }" style="filled, bold, rounded" shape=record rankdir=LR];
124 33 [label = "{{ <iphase> iphase 0.0|<freq> freq} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
125 70 [label = "{{ <iphase> iphase 1.0|<freq> freq} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
126 22 [label = "{{ <b> |<a> } |<__UG_NAME__>midiratio }" style="bold, rounded" shape=record rankdir=LR];
127 51 [label = "{{ <add> add 0.5|<mul> mul 0.5|<in> in} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
128 75 [label = "{{ <add> add 0.5|<mul> mul 0.5|<in> in} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
129 90 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
130 50 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 1.5707964|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
131 66 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase -1.5707964|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
132 88 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
133 89 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
134
135 33:__UG_NAME__ -> 35:a ;
136 34:__UG_NAME__ -> 35:b ;
137 45:__UG_NAME__ -> 47:a ;
138 46:__UG_NAME__ -> 47:b ;
139 49:__UG_NAME__ -> 52:a ;
140 51:__UG_NAME__ -> 52:b ;
141 63:__UG_NAME__ -> 64:a ;
142 63:__UG_NAME__ -> 67:a ;
143 45:__UG_NAME__ -> 69:a ;
144 46:__UG_NAME__ -> 69:b ;
145 70:__UG_NAME__ -> 72:a ;
146 71:__UG_NAME__ -> 72:b ;
147 74:__UG_NAME__ -> 76:a ;
148 75:__UG_NAME__ -> 76:b ;
149 21:__UG_NAME__ -> 26:a ;
150 25:__UG_NAME__ -> 26:b ;
151 26:__UG_NAME__ -> 30:a ;
152 29:__UG_NAME__ -> 30:b ;
153 36:__UG_NAME__ -> 40:a ;
154 39:__UG_NAME__ -> 40:b ;
155 40:__UG_NAME__ -> 44:a ;
156 43:__UG_NAME__ -> 44:b ;
157 35:__UG_NAME__ -> 48:a ;
158 12:__UG_NAME__ -> 48:b ;
159 54:__UG_NAME__ -> 58:a ;
160 57:__UG_NAME__ -> 58:b ;
161 58:__UG_NAME__ -> 62:a ;
162 61:__UG_NAME__ -> 62:b ;
163 72:__UG_NAME__ -> 73:a ;
164 12:__UG_NAME__ -> 73:b ;
165 78:__UG_NAME__ -> 82:a ;
166 81:__UG_NAME__ -> 82:b ;
167 82:__UG_NAME__ -> 86:a ;
168 85:__UG_NAME__ -> 86:b ;
169 64:__UG_NAME__ -> 65:a ;
170 67:__UG_NAME__ -> 68:a ;
171 31:__UG_NAME__ -> 32:a ;
172 14:__UG_NAME__ -> 32:b ;
173 14:__UG_NAME__ -> 34:a ;
174 14:__UG_NAME__ -> 71:a ;
175 24:__UG_NAME__ -> 25:a ;
176 28:__UG_NAME__ -> 29:a ;
177 38:__UG_NAME__ -> 39:a ;
178 42:__UG_NAME__ -> 43:a ;
179 56:__UG_NAME__ -> 57:a ;
180 60:__UG_NAME__ -> 61:a ;
181 80:__UG_NAME__ -> 81:a ;
182 84:__UG_NAME__ -> 85:a ;
183 23:__UG_NAME__ -> 24:a ;
184 27:__UG_NAME__ -> 28:a ;
185 37:__UG_NAME__ -> 38:a ;
186 41:__UG_NAME__ -> 42:a ;
187 55:__UG_NAME__ -> 56:a ;
188 59:__UG_NAME__ -> 60:a ;
189 79:__UG_NAME__ -> 80:a ;
190 83:__UG_NAME__ -> 84:a ;
191 47:__UG_NAME__ -> 49:in ;
192 13:__UG_NAME__ -> 49:max____delay____time ;
193 48:__UG_NAME__ -> 49:delay____time ;
194 69:__UG_NAME__ -> 74:in ;
195 13:__UG_NAME__ -> 74:max____delay____time ;
196 73:__UG_NAME__ -> 74:delay____time ;
197 22:__UG_NAME__ -> 31:envelope___unary____op____u____gen___0 ;
198 22:__UG_NAME__ -> 31:envelope___unary____op____u____gen___4 ;
199 9:__UG_NAME__ -> 31:envelope___control___5 ;
200 10:__UG_NAME__ -> 31:envelope___control___6 ;
201 11:__UG_NAME__ -> 31:envelope___control___7 ;
202 30:__UG_NAME__ -> 31:gate ;
203 15:__UG_NAME__ -> 45:envelope___control___0 ;
204 15:__UG_NAME__ -> 45:envelope___control___4 ;
205 16:__UG_NAME__ -> 45:envelope___control___5 ;
206 17:__UG_NAME__ -> 45:envelope___control___6 ;
207 18:__UG_NAME__ -> 45:envelope___control___7 ;
208 44:__UG_NAME__ -> 45:gate ;
209 4:__UG_NAME__ -> 63:envelope___control___0 ;
210 4:__UG_NAME__ -> 63:envelope___control___4 ;
211 5:__UG_NAME__ -> 63:envelope___control___5 ;
212 6:__UG_NAME__ -> 63:envelope___control___6 ;
213 7:__UG_NAME__ -> 63:envelope___control___7 ;
214 62:__UG_NAME__ -> 63:gate ;
215 0:__UG_NAME__ -> 87:envelope___control___0 ;
216 0:__UG_NAME__ -> 87:envelope___control___4 ;
217 1:__UG_NAME__ -> 87:envelope___control___5 ;
218 2:__UG_NAME__ -> 87:envelope___control___6 ;
219 3:__UG_NAME__ -> 87:envelope___control___7 ;
220 86:__UG_NAME__ -> 87:gate ;
221 22:__UG_NAME__ -> 23:in ;
222 9:__UG_NAME__ -> 27:in ;
223 15:__UG_NAME__ -> 37:in ;
224 16:__UG_NAME__ -> 41:in ;
225 4:__UG_NAME__ -> 55:in ;
226 5:__UG_NAME__ -> 59:in ;
227 0:__UG_NAME__ -> 79:in ;
228 1:__UG_NAME__ -> 83:in ;
229 19:__UG_NAME__ -> 46:bus ;
230 52:__UG_NAME__ -> 53:in ;
231 76:__UG_NAME__ -> 77:in ;
232 32:__UG_NAME__ -> 33:freq ;
233 32:__UG_NAME__ -> 70:freq ;
234 8:__UG_NAME__ -> 22:a ;
235 50:__UG_NAME__ -> 51:in ;
236 66:__UG_NAME__ -> 75:in ;
237 20:__UG_NAME__ -> 90:bus ;
238 88:__UG_NAME__ -> 90:signals___x____fade2___0 ;
239 89:__UG_NAME__ -> 90:signals___x____fade2___1 ;
240 32:__UG_NAME__ -> 50:freq ;
241 32:__UG_NAME__ -> 66:freq ;
242 46:__UG_NAME__ -> 88:ina ;
243 77:__UG_NAME__ -> 88:inb ;
244 68:__UG_NAME__ -> 88:pan ;
245 87:__UG_NAME__ -> 88:level ;
246 46:__UG_NAME__ -> 89:ina ;
247 53:__UG_NAME__ -> 89:inb ;
248 65:__UG_NAME__ -> 89:pan ;
249 87:__UG_NAME__ -> 89:level ;
250
251 }
0 digraph synthdef {
1 68 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 70 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 82 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 85 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 96 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 101 [label = "{{ <b> 6.2831855|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 104 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 133 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 231 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 234 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 238 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
12 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 75 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 79 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 83 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 90 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 93 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 98 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 100 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 110 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 114 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 122 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 126 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 130 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 139 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 141 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 146 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 155 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 159 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 166 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 173 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 177 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 185 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 189 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
35 194 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
36 198 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
37 204 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
38 212 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
39 216 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
40 225 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
41 229 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
42 69 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
43 97 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
44 232 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
45 239 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
46 81 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
47 148 [label = "{{ <b> |<a> } |<__UG_NAME__>\< }" style="bold, rounded" shape=record rankdir=LR];
48 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 67 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 74 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 78 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 89 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 92 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 109 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 113 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 121 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 125 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
58 129 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
59 138 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
60 140 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
61 143 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
62 154 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
63 158 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
64 165 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
65 172 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
66 176 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
67 184 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
68 188 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
69 193 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
70 197 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
71 203 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
72 211 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
73 215 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
74 224 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
75 228 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
76 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
77 73 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
78 77 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
79 88 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
80 91 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
81 108 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
82 112 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
83 117 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
84 120 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
85 124 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
86 128 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
87 137 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
88 153 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
89 157 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
90 164 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
91 171 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
92 175 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
93 183 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
94 187 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
95 192 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
96 196 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
97 202 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
98 210 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
99 214 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
100 223 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
101 227 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
102 147 [label = "{{ <interpolation> interpolation 2.0|<loop> loop 1.0|<phase> phase|<bufnum> bufnum|<num____channels> num-channels 1} |<__UG_NAME__>buf-rd }" style="bold, rounded" shape=record rankdir=LR];
103 135 [label = "{{ <hi> hi 1.0|<lo> lo 0.0|<in> in} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
104 150 [label = "{{ <hi> hi 1.0|<lo> lo 0.0|<in> in} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
105 0 [label = "control
106 :amp
107 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 1 [label = "control
109 :amp_slide
110 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 2 [label = "control
112 :amp_slide_shape
113 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 3 [label = "control
115 :amp_slide_curve
116 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 4 [label = "control
118 :mix
119 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 5 [label = "control
121 :mix_slide
122 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 6 [label = "control
124 :mix_slide_shape
125 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 7 [label = "control
127 :mix_slide_curve
128 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 8 [label = "control
130 :pre_amp
131 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 9 [label = "control
133 :pre_amp_slide
134 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 10 [label = "control
136 :pre_amp_slide_shape
137 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 11 [label = "control
139 :pre_amp_slide_curve
140 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 12 [label = "control
142 :phase
143 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 13 [label = "control
145 :phase_slide
146 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 14 [label = "control
148 :phase_slide_shape
149 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
150 15 [label = "control
151 :phase_slide_curve
152 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
153 16 [label = "control
154 :cutoff_min
155 default: 60.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
156 17 [label = "control
157 :cutoff_min_slide
158 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
159 18 [label = "control
160 :cutoff_min_slide_shape
161 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
162 19 [label = "control
163 :cutoff_min_slide_curve
164 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
165 20 [label = "control
166 :cutoff_max
167 default: 120.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
168 21 [label = "control
169 :cutoff_max_slide
170 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
171 22 [label = "control
172 :cutoff_max_slide_shape
173 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
174 23 [label = "control
175 :cutoff_max_slide_curve
176 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
177 24 [label = "control
178 :res
179 default: 0.8" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
180 25 [label = "control
181 :res_slide
182 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
183 26 [label = "control
184 :res_slide_shape
185 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
186 27 [label = "control
187 :res_slide_curve
188 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
189 28 [label = "control
190 :pulse_width
191 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
192 29 [label = "control
193 :pulse_width_slide
194 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
195 30 [label = "control
196 :pulse_width_slide_shape
197 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
198 31 [label = "control
199 :pulse_width_slide_curve
200 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
201 32 [label = "control
202 :filter
203 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
204 33 [label = "control
205 :smooth
206 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
207 34 [label = "control
208 :smooth_slide
209 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
210 35 [label = "control
211 :smooth_slide_shape
212 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
213 36 [label = "control
214 :smooth_slide_curve
215 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
216 37 [label = "control
217 :smooth_up
218 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
219 38 [label = "control
220 :smooth_up_slide
221 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
222 39 [label = "control
223 :smooth_up_slide_shape
224 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
225 40 [label = "control
226 :smooth_up_slide_curve
227 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
228 41 [label = "control
229 :smooth_down
230 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
231 42 [label = "control
232 :smooth_down_slide
233 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
234 43 [label = "control
235 :smooth_down_slide_shape
236 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
237 44 [label = "control
238 :smooth_down_slide_curve
239 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
240 45 [label = "control
241 :phase_offset
242 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
243 46 [label = "control
244 :wave
245 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
246 47 [label = "control
247 :invert_wave
248 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
249 48 [label = "control
250 :probability
251 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
252 49 [label = "control
253 :probability_slide
254 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
255 50 [label = "control
256 :probability_slide_shape
257 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
258 51 [label = "control
259 :probability_slide_curve
260 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
261 52 [label = "control
262 :prob_pos
263 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
264 53 [label = "control
265 :prob_pos_slide
266 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
267 54 [label = "control
268 :prob_pos_slide_shape
269 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
270 55 [label = "control
271 :prob_pos_slide_curve
272 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
273 56 [label = "control
274 :seed
275 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
276 57 [label = "control
277 :rand_buf
278 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
279 58 [label = "control
280 :in_bus
281 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
282 59 [label = "control
283 :out_bus
284 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
285 80 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
286 94 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
287 115 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
288 131 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
289 142 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___clip___0>|1.0|-99|-99|<envelope___clip___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
290 160 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
291 167 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
292 178 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
293 190 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
294 199 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
295 205 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
296 217 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
297 230 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
298 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
299 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
300 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
301 72 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
302 76 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
303 87 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
304 107 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
305 111 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
306 116 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
307 119 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
308 123 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
309 127 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
310 136 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
311 152 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
312 156 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
313 163 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
314 170 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
315 174 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
316 182 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
317 186 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
318 195 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
319 201 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
320 209 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
321 213 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
322 222 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
323 226 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
324 61 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
325 71 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
326 86 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
327 105 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
328 106 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
329 118 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
330 134 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
331 144 [label = "{{ <phase> phase 0.0|<freq> freq} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
332 149 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
333 169 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
334 181 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
335 191 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
336 207 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
337 221 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
338 132 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
339 206 [label = "{{ <lag____time> lag-time|<in> in} |<__UG_NAME__>lag }" style="bold, rounded" shape=record rankdir=LR];
340 200 [label = "{{ <lag____time____down> lag-time-down|<lag____time____up> lag-time-up|<in> in} |<__UG_NAME__>lag-ud }" style="bold, rounded" shape=record rankdir=LR];
341 95 [label = "{{ <width> width|<iphase> iphase|<freq> freq} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
342 84 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
343 99 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
344 180 [label = "{{ <dsthi> dsthi|<dstlo> dstlo|<srchi> srchi 1.0|<srclo> srclo -1.0|<in> in} |<__UG_NAME__>lin-exp }" style="bold, rounded" shape=record rankdir=LR];
345 168 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
346 179 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
347 151 [label = "{{ <add> add -1.0|<mul> mul 2.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
348 208 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
349 241 [label = "{{ {{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
350 145 [label = "{{ <reset> reset 0.0|<trig> trig} |<__UG_NAME__>pulse-count }" style="bold, rounded" shape=record rankdir=LR];
351 219 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rhpf }" style="filled, bold, rounded" shape=record rankdir=LR];
352 236 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rhpf }" style="filled, bold, rounded" shape=record rankdir=LR];
353 218 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
354 235 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
355 103 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
356 161 [label = "{{ {{<array___env____gen___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
357 162 [label = "{{ {{<array___binary____op____u____gen___0>|<array___select___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
358 220 [label = "{{ {{<array___rlpf___0>|<array___rhpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
359 237 [label = "{{ {{<array___rlpf___0>|<array___rhpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
360 102 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase|<freq> freq} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
361 233 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
362 240 [label = "{{ <level> level|<pan> pan|<inb> inB|<ina> inA} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
363
364 67:__UG_NAME__ -> 68:b ;
365 69:__UG_NAME__ -> 70:b ;
366 45:__UG_NAME__ -> 82:b ;
367 84:__UG_NAME__ -> 85:b ;
368 95:__UG_NAME__ -> 96:b ;
369 100:__UG_NAME__ -> 101:a ;
370 70:__UG_NAME__ -> 104:a ;
371 103:__UG_NAME__ -> 104:b ;
372 131:__UG_NAME__ -> 133:a ;
373 132:__UG_NAME__ -> 133:b ;
374 230:__UG_NAME__ -> 231:a ;
375 131:__UG_NAME__ -> 234:a ;
376 132:__UG_NAME__ -> 234:b ;
377 230:__UG_NAME__ -> 238:a ;
378 61:__UG_NAME__ -> 65:a ;
379 64:__UG_NAME__ -> 65:b ;
380 71:__UG_NAME__ -> 75:a ;
381 74:__UG_NAME__ -> 75:b ;
382 75:__UG_NAME__ -> 79:a ;
383 78:__UG_NAME__ -> 79:b ;
384 82:__UG_NAME__ -> 83:a ;
385 86:__UG_NAME__ -> 90:a ;
386 89:__UG_NAME__ -> 90:b ;
387 90:__UG_NAME__ -> 93:a ;
388 92:__UG_NAME__ -> 93:b ;
389 82:__UG_NAME__ -> 98:a ;
390 45:__UG_NAME__ -> 100:a ;
391 106:__UG_NAME__ -> 110:a ;
392 109:__UG_NAME__ -> 110:b ;
393 110:__UG_NAME__ -> 114:a ;
394 113:__UG_NAME__ -> 114:b ;
395 118:__UG_NAME__ -> 122:a ;
396 121:__UG_NAME__ -> 122:b ;
397 105:__UG_NAME__ -> 126:a ;
398 125:__UG_NAME__ -> 126:b ;
399 126:__UG_NAME__ -> 130:a ;
400 129:__UG_NAME__ -> 130:b ;
401 134:__UG_NAME__ -> 139:a ;
402 138:__UG_NAME__ -> 139:b ;
403 139:__UG_NAME__ -> 141:a ;
404 140:__UG_NAME__ -> 141:b ;
405 56:__UG_NAME__ -> 146:a ;
406 145:__UG_NAME__ -> 146:b ;
407 149:__UG_NAME__ -> 155:a ;
408 154:__UG_NAME__ -> 155:b ;
409 155:__UG_NAME__ -> 159:a ;
410 158:__UG_NAME__ -> 159:b ;
411 65:__UG_NAME__ -> 166:a ;
412 165:__UG_NAME__ -> 166:b ;
413 169:__UG_NAME__ -> 173:a ;
414 172:__UG_NAME__ -> 173:b ;
415 173:__UG_NAME__ -> 177:a ;
416 176:__UG_NAME__ -> 177:b ;
417 181:__UG_NAME__ -> 185:a ;
418 184:__UG_NAME__ -> 185:b ;
419 185:__UG_NAME__ -> 189:a ;
420 188:__UG_NAME__ -> 189:b ;
421 191:__UG_NAME__ -> 194:a ;
422 193:__UG_NAME__ -> 194:b ;
423 194:__UG_NAME__ -> 198:a ;
424 197:__UG_NAME__ -> 198:b ;
425 122:__UG_NAME__ -> 204:a ;
426 203:__UG_NAME__ -> 204:b ;
427 207:__UG_NAME__ -> 212:a ;
428 211:__UG_NAME__ -> 212:b ;
429 212:__UG_NAME__ -> 216:a ;
430 215:__UG_NAME__ -> 216:b ;
431 221:__UG_NAME__ -> 225:a ;
432 224:__UG_NAME__ -> 225:b ;
433 225:__UG_NAME__ -> 229:a ;
434 228:__UG_NAME__ -> 229:b ;
435 68:__UG_NAME__ -> 69:a ;
436 96:__UG_NAME__ -> 97:a ;
437 231:__UG_NAME__ -> 232:a ;
438 238:__UG_NAME__ -> 239:a ;
439 80:__UG_NAME__ -> 81:b ;
440 147:__UG_NAME__ -> 148:a ;
441 142:__UG_NAME__ -> 148:b ;
442 63:__UG_NAME__ -> 64:a ;
443 47:__UG_NAME__ -> 67:a ;
444 73:__UG_NAME__ -> 74:a ;
445 77:__UG_NAME__ -> 78:a ;
446 88:__UG_NAME__ -> 89:a ;
447 91:__UG_NAME__ -> 92:a ;
448 108:__UG_NAME__ -> 109:a ;
449 112:__UG_NAME__ -> 113:a ;
450 120:__UG_NAME__ -> 121:a ;
451 124:__UG_NAME__ -> 125:a ;
452 128:__UG_NAME__ -> 129:a ;
453 137:__UG_NAME__ -> 138:a ;
454 117:__UG_NAME__ -> 140:a ;
455 142:__UG_NAME__ -> 143:a ;
456 153:__UG_NAME__ -> 154:a ;
457 157:__UG_NAME__ -> 158:a ;
458 164:__UG_NAME__ -> 165:a ;
459 171:__UG_NAME__ -> 172:a ;
460 175:__UG_NAME__ -> 176:a ;
461 183:__UG_NAME__ -> 184:a ;
462 187:__UG_NAME__ -> 188:a ;
463 192:__UG_NAME__ -> 193:a ;
464 196:__UG_NAME__ -> 197:a ;
465 202:__UG_NAME__ -> 203:a ;
466 210:__UG_NAME__ -> 211:a ;
467 214:__UG_NAME__ -> 215:a ;
468 223:__UG_NAME__ -> 224:a ;
469 227:__UG_NAME__ -> 228:a ;
470 62:__UG_NAME__ -> 63:a ;
471 72:__UG_NAME__ -> 73:a ;
472 76:__UG_NAME__ -> 77:a ;
473 87:__UG_NAME__ -> 88:a ;
474 60:__UG_NAME__ -> 91:a ;
475 107:__UG_NAME__ -> 108:a ;
476 111:__UG_NAME__ -> 112:a ;
477 116:__UG_NAME__ -> 117:a ;
478 119:__UG_NAME__ -> 120:a ;
479 123:__UG_NAME__ -> 124:a ;
480 127:__UG_NAME__ -> 128:a ;
481 136:__UG_NAME__ -> 137:a ;
482 152:__UG_NAME__ -> 153:a ;
483 156:__UG_NAME__ -> 157:a ;
484 163:__UG_NAME__ -> 164:a ;
485 170:__UG_NAME__ -> 171:a ;
486 174:__UG_NAME__ -> 175:a ;
487 182:__UG_NAME__ -> 183:a ;
488 186:__UG_NAME__ -> 187:a ;
489 66:__UG_NAME__ -> 192:a ;
490 195:__UG_NAME__ -> 196:a ;
491 201:__UG_NAME__ -> 202:a ;
492 209:__UG_NAME__ -> 210:a ;
493 213:__UG_NAME__ -> 214:a ;
494 222:__UG_NAME__ -> 223:a ;
495 226:__UG_NAME__ -> 227:a ;
496 57:__UG_NAME__ -> 147:bufnum ;
497 146:__UG_NAME__ -> 147:phase ;
498 48:__UG_NAME__ -> 135:in ;
499 52:__UG_NAME__ -> 150:in ;
500 12:__UG_NAME__ -> 80:envelope___control___0 ;
501 12:__UG_NAME__ -> 80:envelope___control___4 ;
502 13:__UG_NAME__ -> 80:envelope___control___5 ;
503 14:__UG_NAME__ -> 80:envelope___control___6 ;
504 15:__UG_NAME__ -> 80:envelope___control___7 ;
505 79:__UG_NAME__ -> 80:gate ;
506 28:__UG_NAME__ -> 94:envelope___control___0 ;
507 28:__UG_NAME__ -> 94:envelope___control___4 ;
508 29:__UG_NAME__ -> 94:envelope___control___5 ;
509 30:__UG_NAME__ -> 94:envelope___control___6 ;
510 31:__UG_NAME__ -> 94:envelope___control___7 ;
511 93:__UG_NAME__ -> 94:gate ;
512 0:__UG_NAME__ -> 115:envelope___control___0 ;
513 0:__UG_NAME__ -> 115:envelope___control___4 ;
514 1:__UG_NAME__ -> 115:envelope___control___5 ;
515 2:__UG_NAME__ -> 115:envelope___control___6 ;
516 3:__UG_NAME__ -> 115:envelope___control___7 ;
517 114:__UG_NAME__ -> 115:gate ;
518 8:__UG_NAME__ -> 131:envelope___control___0 ;
519 8:__UG_NAME__ -> 131:envelope___control___4 ;
520 9:__UG_NAME__ -> 131:envelope___control___5 ;
521 10:__UG_NAME__ -> 131:envelope___control___6 ;
522 11:__UG_NAME__ -> 131:envelope___control___7 ;
523 130:__UG_NAME__ -> 131:gate ;
524 135:__UG_NAME__ -> 142:envelope___clip___0 ;
525 135:__UG_NAME__ -> 142:envelope___clip___4 ;
526 49:__UG_NAME__ -> 142:envelope___control___5 ;
527 50:__UG_NAME__ -> 142:envelope___control___6 ;
528 51:__UG_NAME__ -> 142:envelope___control___7 ;
529 141:__UG_NAME__ -> 142:gate ;
530 151:__UG_NAME__ -> 160:envelope___mul____add___0 ;
531 151:__UG_NAME__ -> 160:envelope___mul____add___4 ;
532 53:__UG_NAME__ -> 160:envelope___control___5 ;
533 54:__UG_NAME__ -> 160:envelope___control___6 ;
534 55:__UG_NAME__ -> 160:envelope___control___7 ;
535 159:__UG_NAME__ -> 160:gate ;
536 16:__UG_NAME__ -> 167:envelope___control___0 ;
537 16:__UG_NAME__ -> 167:envelope___control___4 ;
538 17:__UG_NAME__ -> 167:envelope___control___5 ;
539 18:__UG_NAME__ -> 167:envelope___control___6 ;
540 19:__UG_NAME__ -> 167:envelope___control___7 ;
541 166:__UG_NAME__ -> 167:gate ;
542 20:__UG_NAME__ -> 178:envelope___control___0 ;
543 20:__UG_NAME__ -> 178:envelope___control___4 ;
544 21:__UG_NAME__ -> 178:envelope___control___5 ;
545 22:__UG_NAME__ -> 178:envelope___control___6 ;
546 23:__UG_NAME__ -> 178:envelope___control___7 ;
547 177:__UG_NAME__ -> 178:gate ;
548 37:__UG_NAME__ -> 190:envelope___control___0 ;
549 37:__UG_NAME__ -> 190:envelope___control___4 ;
550 38:__UG_NAME__ -> 190:envelope___control___5 ;
551 39:__UG_NAME__ -> 190:envelope___control___6 ;
552 40:__UG_NAME__ -> 190:envelope___control___7 ;
553 189:__UG_NAME__ -> 190:gate ;
554 41:__UG_NAME__ -> 199:envelope___control___0 ;
555 41:__UG_NAME__ -> 199:envelope___control___4 ;
556 42:__UG_NAME__ -> 199:envelope___control___5 ;
557 43:__UG_NAME__ -> 199:envelope___control___6 ;
558 44:__UG_NAME__ -> 199:envelope___control___7 ;
559 198:__UG_NAME__ -> 199:gate ;
560 33:__UG_NAME__ -> 205:envelope___control___0 ;
561 33:__UG_NAME__ -> 205:envelope___control___4 ;
562 34:__UG_NAME__ -> 205:envelope___control___5 ;
563 35:__UG_NAME__ -> 205:envelope___control___6 ;
564 36:__UG_NAME__ -> 205:envelope___control___7 ;
565 204:__UG_NAME__ -> 205:gate ;
566 208:__UG_NAME__ -> 217:envelope___mul____add___0 ;
567 208:__UG_NAME__ -> 217:envelope___mul____add___4 ;
568 25:__UG_NAME__ -> 217:envelope___control___5 ;
569 26:__UG_NAME__ -> 217:envelope___control___6 ;
570 27:__UG_NAME__ -> 217:envelope___control___7 ;
571 216:__UG_NAME__ -> 217:gate ;
572 4:__UG_NAME__ -> 230:envelope___control___0 ;
573 4:__UG_NAME__ -> 230:envelope___control___4 ;
574 5:__UG_NAME__ -> 230:envelope___control___5 ;
575 6:__UG_NAME__ -> 230:envelope___control___6 ;
576 7:__UG_NAME__ -> 230:envelope___control___7 ;
577 229:__UG_NAME__ -> 230:gate ;
578 29:__UG_NAME__ -> 60:in ;
579 16:__UG_NAME__ -> 62:in ;
580 41:__UG_NAME__ -> 66:in ;
581 12:__UG_NAME__ -> 72:in ;
582 13:__UG_NAME__ -> 76:in ;
583 28:__UG_NAME__ -> 87:in ;
584 0:__UG_NAME__ -> 107:in ;
585 1:__UG_NAME__ -> 111:in ;
586 49:__UG_NAME__ -> 116:in ;
587 33:__UG_NAME__ -> 119:in ;
588 8:__UG_NAME__ -> 123:in ;
589 9:__UG_NAME__ -> 127:in ;
590 135:__UG_NAME__ -> 136:in ;
591 151:__UG_NAME__ -> 152:in ;
592 53:__UG_NAME__ -> 156:in ;
593 17:__UG_NAME__ -> 163:in ;
594 20:__UG_NAME__ -> 170:in ;
595 21:__UG_NAME__ -> 174:in ;
596 37:__UG_NAME__ -> 182:in ;
597 38:__UG_NAME__ -> 186:in ;
598 42:__UG_NAME__ -> 195:in ;
599 34:__UG_NAME__ -> 201:in ;
600 208:__UG_NAME__ -> 209:in ;
601 25:__UG_NAME__ -> 213:in ;
602 4:__UG_NAME__ -> 222:in ;
603 5:__UG_NAME__ -> 226:in ;
604 81:__UG_NAME__ -> 144:freq ;
605 58:__UG_NAME__ -> 132:bus ;
606 200:__UG_NAME__ -> 206:in ;
607 205:__UG_NAME__ -> 206:lag____time ;
608 180:__UG_NAME__ -> 200:in ;
609 190:__UG_NAME__ -> 200:lag____time____up ;
610 199:__UG_NAME__ -> 200:lag____time____down ;
611 81:__UG_NAME__ -> 95:freq ;
612 45:__UG_NAME__ -> 95:iphase ;
613 94:__UG_NAME__ -> 95:width ;
614 81:__UG_NAME__ -> 84:freq ;
615 83:__UG_NAME__ -> 84:iphase ;
616 81:__UG_NAME__ -> 99:freq ;
617 98:__UG_NAME__ -> 99:iphase ;
618 162:__UG_NAME__ -> 180:in ;
619 168:__UG_NAME__ -> 180:dstlo ;
620 179:__UG_NAME__ -> 180:dsthi ;
621 167:__UG_NAME__ -> 168:a ;
622 178:__UG_NAME__ -> 179:a ;
623 150:__UG_NAME__ -> 151:in ;
624 24:__UG_NAME__ -> 208:in ;
625 59:__UG_NAME__ -> 241:bus ;
626 240:__UG_NAME__ -> 241:signals___x____fade2___0 ;
627 233:__UG_NAME__ -> 241:signals___x____fade2___1 ;
628 144:__UG_NAME__ -> 145:trig ;
629 133:__UG_NAME__ -> 219:in ;
630 206:__UG_NAME__ -> 219:freq ;
631 217:__UG_NAME__ -> 219:rq ;
632 234:__UG_NAME__ -> 236:in ;
633 206:__UG_NAME__ -> 236:freq ;
634 217:__UG_NAME__ -> 236:rq ;
635 133:__UG_NAME__ -> 218:in ;
636 206:__UG_NAME__ -> 218:freq ;
637 217:__UG_NAME__ -> 218:rq ;
638 234:__UG_NAME__ -> 235:in ;
639 206:__UG_NAME__ -> 235:freq ;
640 217:__UG_NAME__ -> 235:rq ;
641 46:__UG_NAME__ -> 103:which ;
642 85:__UG_NAME__ -> 103:array___binary____op____u____gen___0 ;
643 97:__UG_NAME__ -> 103:array___binary____op____u____gen___1 ;
644 99:__UG_NAME__ -> 103:array___lf____tri___2 ;
645 102:__UG_NAME__ -> 103:array___sin____osc___3 ;
646 148:__UG_NAME__ -> 161:which ;
647 160:__UG_NAME__ -> 161:array___env____gen___0 ;
648 104:__UG_NAME__ -> 161:array___binary____op____u____gen___1 ;
649 143:__UG_NAME__ -> 162:which ;
650 104:__UG_NAME__ -> 162:array___binary____op____u____gen___0 ;
651 161:__UG_NAME__ -> 162:array___select___1 ;
652 32:__UG_NAME__ -> 220:which ;
653 218:__UG_NAME__ -> 220:array___rlpf___0 ;
654 219:__UG_NAME__ -> 220:array___rhpf___1 ;
655 32:__UG_NAME__ -> 237:which ;
656 235:__UG_NAME__ -> 237:array___rlpf___0 ;
657 236:__UG_NAME__ -> 237:array___rhpf___1 ;
658 81:__UG_NAME__ -> 102:freq ;
659 101:__UG_NAME__ -> 102:phase ;
660 133:__UG_NAME__ -> 233:ina ;
661 220:__UG_NAME__ -> 233:inb ;
662 232:__UG_NAME__ -> 233:pan ;
663 115:__UG_NAME__ -> 233:level ;
664 234:__UG_NAME__ -> 240:ina ;
665 237:__UG_NAME__ -> 240:inb ;
666 239:__UG_NAME__ -> 240:pan ;
667 115:__UG_NAME__ -> 240:level ;
668
669 }
0 digraph synthdef {
1 70 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 72 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 33 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 37 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 41 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 45 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 51 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 55 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 47 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 32 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 36 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 40 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 44 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 50 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 54 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 60 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 26 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 31 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 35 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 43 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 49 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 53 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 59 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 0 [label = "control
29 :amp
30 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 1 [label = "control
32 :amp_slide
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 2 [label = "control
35 :amp_slide_shape
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 3 [label = "control
38 :amp_slide_curve
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 4 [label = "control
41 :pan
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 5 [label = "control
44 :pan_slide
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 6 [label = "control
47 :pan_slide_shape
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 7 [label = "control
50 :pan_slide_curve
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 8 [label = "control
53 :attack
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 9 [label = "control
56 :sustain
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 10 [label = "control
59 :decay
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 11 [label = "control
62 :release
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 12 [label = "control
65 :attack_level
66 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 13 [label = "control
68 :decay_level
69 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 14 [label = "control
71 :sustain_level
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 15 [label = "control
74 :env_curve
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 16 [label = "control
77 :cutoff
78 default: 110.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 17 [label = "control
80 :cutoff_slide
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 18 [label = "control
83 :cutoff_slide_shape
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 19 [label = "control
86 :cutoff_slide_curve
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 20 [label = "control
89 :res
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 21 [label = "control
92 :res_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 22 [label = "control
95 :res_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 23 [label = "control
98 :res_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 24 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 38 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 46 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 56 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 71 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 73 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 67 [label = "{<__UG_NAME__>gray-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
109 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 27 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 28 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 39 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 57 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 68 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
122 29 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
123 75 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
124 74 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
125 69 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
126 66 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
127
128 69:__UG_NAME__ -> 70:b ;
129 70:__UG_NAME__ -> 72:a ;
130 71:__UG_NAME__ -> 72:b ;
131 28:__UG_NAME__ -> 33:a ;
132 32:__UG_NAME__ -> 33:b ;
133 33:__UG_NAME__ -> 37:a ;
134 36:__UG_NAME__ -> 37:b ;
135 39:__UG_NAME__ -> 41:a ;
136 40:__UG_NAME__ -> 41:b ;
137 41:__UG_NAME__ -> 45:a ;
138 44:__UG_NAME__ -> 45:b ;
139 27:__UG_NAME__ -> 51:a ;
140 50:__UG_NAME__ -> 51:b ;
141 51:__UG_NAME__ -> 55:a ;
142 54:__UG_NAME__ -> 55:b ;
143 57:__UG_NAME__ -> 61:a ;
144 60:__UG_NAME__ -> 61:b ;
145 61:__UG_NAME__ -> 65:a ;
146 64:__UG_NAME__ -> 65:b ;
147 13:__UG_NAME__ -> 47:b ;
148 31:__UG_NAME__ -> 32:a ;
149 35:__UG_NAME__ -> 36:a ;
150 26:__UG_NAME__ -> 40:a ;
151 43:__UG_NAME__ -> 44:a ;
152 49:__UG_NAME__ -> 50:a ;
153 53:__UG_NAME__ -> 54:a ;
154 59:__UG_NAME__ -> 60:a ;
155 63:__UG_NAME__ -> 64:a ;
156 25:__UG_NAME__ -> 26:a ;
157 30:__UG_NAME__ -> 31:a ;
158 34:__UG_NAME__ -> 35:a ;
159 42:__UG_NAME__ -> 43:a ;
160 48:__UG_NAME__ -> 49:a ;
161 52:__UG_NAME__ -> 53:a ;
162 58:__UG_NAME__ -> 59:a ;
163 62:__UG_NAME__ -> 63:a ;
164 29:__UG_NAME__ -> 38:envelope___mul____add___0 ;
165 29:__UG_NAME__ -> 38:envelope___mul____add___4 ;
166 21:__UG_NAME__ -> 38:envelope___control___5 ;
167 22:__UG_NAME__ -> 38:envelope___control___6 ;
168 23:__UG_NAME__ -> 38:envelope___control___7 ;
169 37:__UG_NAME__ -> 38:gate ;
170 16:__UG_NAME__ -> 46:envelope___control___0 ;
171 16:__UG_NAME__ -> 46:envelope___control___4 ;
172 17:__UG_NAME__ -> 46:envelope___control___5 ;
173 18:__UG_NAME__ -> 46:envelope___control___6 ;
174 19:__UG_NAME__ -> 46:envelope___control___7 ;
175 45:__UG_NAME__ -> 46:gate ;
176 4:__UG_NAME__ -> 56:envelope___control___0 ;
177 4:__UG_NAME__ -> 56:envelope___control___4 ;
178 5:__UG_NAME__ -> 56:envelope___control___5 ;
179 6:__UG_NAME__ -> 56:envelope___control___6 ;
180 7:__UG_NAME__ -> 56:envelope___control___7 ;
181 55:__UG_NAME__ -> 56:gate ;
182 12:__UG_NAME__ -> 71:envelope___control___4 ;
183 8:__UG_NAME__ -> 71:envelope___control___5 ;
184 15:__UG_NAME__ -> 71:envelope___control___6 ;
185 66:__UG_NAME__ -> 71:envelope___select___8 ;
186 10:__UG_NAME__ -> 71:envelope___control___9 ;
187 15:__UG_NAME__ -> 71:envelope___control___10 ;
188 14:__UG_NAME__ -> 71:envelope___control___12 ;
189 9:__UG_NAME__ -> 71:envelope___control___13 ;
190 15:__UG_NAME__ -> 71:envelope___control___14 ;
191 11:__UG_NAME__ -> 71:envelope___control___17 ;
192 15:__UG_NAME__ -> 71:envelope___control___18 ;
193 0:__UG_NAME__ -> 73:envelope___control___0 ;
194 0:__UG_NAME__ -> 73:envelope___control___4 ;
195 1:__UG_NAME__ -> 73:envelope___control___5 ;
196 2:__UG_NAME__ -> 73:envelope___control___6 ;
197 3:__UG_NAME__ -> 73:envelope___control___7 ;
198 65:__UG_NAME__ -> 73:gate ;
199 16:__UG_NAME__ -> 25:in ;
200 29:__UG_NAME__ -> 30:in ;
201 21:__UG_NAME__ -> 34:in ;
202 17:__UG_NAME__ -> 42:in ;
203 4:__UG_NAME__ -> 48:in ;
204 5:__UG_NAME__ -> 52:in ;
205 0:__UG_NAME__ -> 58:in ;
206 1:__UG_NAME__ -> 62:in ;
207 46:__UG_NAME__ -> 68:a ;
208 20:__UG_NAME__ -> 29:in ;
209 24:__UG_NAME__ -> 75:bus ;
210 74:__UG_NAME__ -> 75:signals___pan2___0 ;
211 74:__UG_NAME__ -> 75:signals___pan2___1 ;
212 72:__UG_NAME__ -> 74:in ;
213 56:__UG_NAME__ -> 74:pos ;
214 73:__UG_NAME__ -> 74:level ;
215 67:__UG_NAME__ -> 69:in ;
216 68:__UG_NAME__ -> 69:freq ;
217 38:__UG_NAME__ -> 69:rq ;
218 47:__UG_NAME__ -> 66:which ;
219 13:__UG_NAME__ -> 66:array___control___0 ;
220 14:__UG_NAME__ -> 66:array___control___1 ;
221
222 }
0 digraph synthdef {
1 68 [label = "{{ <b> |<a> 0.25} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 70 [label = "{{ <b> |<a> 1.01} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 73 [label = "{{ <b> 0.5|<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 92 [label = "{{ <b> |<a> 3.0} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 96 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 97 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 33 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 38 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 42 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 66 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 72 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
14 79 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 80 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 82 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 85 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 53 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
19 32 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 41 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 52 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 60 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 78 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 81 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 84 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 31 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 40 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 49 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 59 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 77 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 83 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 0 [label = "control
40 :out_bus
41 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
42 1 [label = "control
43 :note
44 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
45 2 [label = "control
46 :note_slide
47 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
48 3 [label = "control
49 :note_slide_shape
50 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
51 4 [label = "control
52 :note_slide_curve
53 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
54 5 [label = "control
55 :pan
56 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
57 6 [label = "control
58 :pan_slide
59 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
60 7 [label = "control
61 :pan_slide_shape
62 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 8 [label = "control
64 :pan_slide_curve
65 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 9 [label = "control
67 :amp
68 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 10 [label = "control
70 :amp_slide
71 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 11 [label = "control
73 :amp_slide_shape
74 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 12 [label = "control
76 :amp_slide_curve
77 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 13 [label = "control
79 :attack
80 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 14 [label = "control
82 :decay
83 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 15 [label = "control
85 :sustain
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 16 [label = "control
88 :release
89 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 17 [label = "control
91 :attack_level
92 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 18 [label = "control
94 :decay_level
95 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 19 [label = "control
97 :sustain_level
98 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 20 [label = "control
100 :env_curve
101 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 21 [label = "control
103 :cutoff
104 default: 130.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 22 [label = "control
106 :cutoff_slide
107 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 23 [label = "control
109 :cutoff_slide_shape
110 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 24 [label = "control
112 :cutoff_slide_curve
113 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 25 [label = "control
115 :res
116 default: 0.7" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 26 [label = "control
118 :res_slide
119 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 27 [label = "control
121 :res_slide_shape
122 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 28 [label = "control
124 :res_slide_curve
125 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 43 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
127 67 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
128 86 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
129 87 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
130 88 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
131 94 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
132 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
133 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
134 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
135 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
136 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
137 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
138 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
139 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
140 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
141 76 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
142 29 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
143 34 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
144 55 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
145 56 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
146 75 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
147 74 [label = "{{ <freq> freq 440.0|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
148 44 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
149 89 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
150 57 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
151 98 [label = "{{ {{<signals___binary____op____u____gen___0>|<signals___binary____op____u____gen___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
152 95 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
153 90 [label = "{{ <time____dispersion> time-dispersion 0.001|<pitch____dispersion> pitch-dispersion 0.0|<pitch____ratio> pitch-ratio 1.0|<window____size> window-size 0.5|<in> in} |<__UG_NAME__>pitch-shift }" style="filled, bold, rounded" shape=record rankdir=LR];
154 91 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
155 69 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
156 93 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
157 71 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
158
159 44:__UG_NAME__ -> 68:b ;
160 44:__UG_NAME__ -> 70:b ;
161 72:__UG_NAME__ -> 73:a ;
162 91:__UG_NAME__ -> 92:b ;
163 94:__UG_NAME__ -> 96:a ;
164 95:__UG_NAME__ -> 96:b ;
165 94:__UG_NAME__ -> 97:a ;
166 95:__UG_NAME__ -> 97:b ;
167 29:__UG_NAME__ -> 33:a ;
168 32:__UG_NAME__ -> 33:b ;
169 34:__UG_NAME__ -> 38:a ;
170 37:__UG_NAME__ -> 38:b ;
171 38:__UG_NAME__ -> 42:a ;
172 41:__UG_NAME__ -> 42:b ;
173 55:__UG_NAME__ -> 61:a ;
174 60:__UG_NAME__ -> 61:b ;
175 61:__UG_NAME__ -> 65:a ;
176 64:__UG_NAME__ -> 65:b ;
177 33:__UG_NAME__ -> 66:a ;
178 52:__UG_NAME__ -> 66:b ;
179 69:__UG_NAME__ -> 72:a ;
180 71:__UG_NAME__ -> 72:b ;
181 75:__UG_NAME__ -> 79:a ;
182 78:__UG_NAME__ -> 79:b ;
183 79:__UG_NAME__ -> 80:a ;
184 47:__UG_NAME__ -> 80:b ;
185 56:__UG_NAME__ -> 82:a ;
186 81:__UG_NAME__ -> 82:b ;
187 82:__UG_NAME__ -> 85:a ;
188 84:__UG_NAME__ -> 85:b ;
189 18:__UG_NAME__ -> 53:b ;
190 31:__UG_NAME__ -> 32:a ;
191 36:__UG_NAME__ -> 37:a ;
192 40:__UG_NAME__ -> 41:a ;
193 46:__UG_NAME__ -> 47:a ;
194 51:__UG_NAME__ -> 52:a ;
195 59:__UG_NAME__ -> 60:a ;
196 63:__UG_NAME__ -> 64:a ;
197 77:__UG_NAME__ -> 78:a ;
198 49:__UG_NAME__ -> 81:a ;
199 83:__UG_NAME__ -> 84:a ;
200 30:__UG_NAME__ -> 31:a ;
201 35:__UG_NAME__ -> 36:a ;
202 39:__UG_NAME__ -> 40:a ;
203 45:__UG_NAME__ -> 46:a ;
204 48:__UG_NAME__ -> 49:a ;
205 50:__UG_NAME__ -> 51:a ;
206 58:__UG_NAME__ -> 59:a ;
207 62:__UG_NAME__ -> 63:a ;
208 76:__UG_NAME__ -> 77:a ;
209 54:__UG_NAME__ -> 83:a ;
210 1:__UG_NAME__ -> 43:envelope___control___0 ;
211 1:__UG_NAME__ -> 43:envelope___control___4 ;
212 2:__UG_NAME__ -> 43:envelope___control___5 ;
213 3:__UG_NAME__ -> 43:envelope___control___6 ;
214 4:__UG_NAME__ -> 43:envelope___control___7 ;
215 42:__UG_NAME__ -> 43:gate ;
216 9:__UG_NAME__ -> 67:envelope___control___0 ;
217 9:__UG_NAME__ -> 67:envelope___control___4 ;
218 10:__UG_NAME__ -> 67:envelope___control___5 ;
219 11:__UG_NAME__ -> 67:envelope___control___6 ;
220 12:__UG_NAME__ -> 67:envelope___control___7 ;
221 66:__UG_NAME__ -> 67:gate ;
222 57:__UG_NAME__ -> 86:envelope___mul____add___0 ;
223 57:__UG_NAME__ -> 86:envelope___mul____add___4 ;
224 26:__UG_NAME__ -> 86:envelope___control___5 ;
225 27:__UG_NAME__ -> 86:envelope___control___6 ;
226 28:__UG_NAME__ -> 86:envelope___control___7 ;
227 65:__UG_NAME__ -> 86:gate ;
228 5:__UG_NAME__ -> 87:envelope___control___0 ;
229 5:__UG_NAME__ -> 87:envelope___control___4 ;
230 6:__UG_NAME__ -> 87:envelope___control___5 ;
231 7:__UG_NAME__ -> 87:envelope___control___6 ;
232 8:__UG_NAME__ -> 87:envelope___control___7 ;
233 85:__UG_NAME__ -> 87:gate ;
234 21:__UG_NAME__ -> 88:envelope___control___0 ;
235 21:__UG_NAME__ -> 88:envelope___control___4 ;
236 22:__UG_NAME__ -> 88:envelope___control___5 ;
237 23:__UG_NAME__ -> 88:envelope___control___6 ;
238 24:__UG_NAME__ -> 88:envelope___control___7 ;
239 80:__UG_NAME__ -> 88:gate ;
240 17:__UG_NAME__ -> 94:envelope___control___4 ;
241 13:__UG_NAME__ -> 94:envelope___control___5 ;
242 20:__UG_NAME__ -> 94:envelope___control___6 ;
243 93:__UG_NAME__ -> 94:envelope___select___8 ;
244 14:__UG_NAME__ -> 94:envelope___control___9 ;
245 20:__UG_NAME__ -> 94:envelope___control___10 ;
246 19:__UG_NAME__ -> 94:envelope___control___12 ;
247 15:__UG_NAME__ -> 94:envelope___control___13 ;
248 20:__UG_NAME__ -> 94:envelope___control___14 ;
249 16:__UG_NAME__ -> 94:envelope___control___17 ;
250 20:__UG_NAME__ -> 94:envelope___control___18 ;
251 9:__UG_NAME__ -> 30:in ;
252 1:__UG_NAME__ -> 35:in ;
253 2:__UG_NAME__ -> 39:in ;
254 22:__UG_NAME__ -> 45:in ;
255 5:__UG_NAME__ -> 48:in ;
256 10:__UG_NAME__ -> 50:in ;
257 6:__UG_NAME__ -> 54:in ;
258 57:__UG_NAME__ -> 58:in ;
259 26:__UG_NAME__ -> 62:in ;
260 21:__UG_NAME__ -> 76:in ;
261 73:__UG_NAME__ -> 74:in ;
262 43:__UG_NAME__ -> 44:a ;
263 88:__UG_NAME__ -> 89:a ;
264 25:__UG_NAME__ -> 57:in ;
265 0:__UG_NAME__ -> 98:bus ;
266 97:__UG_NAME__ -> 98:signals___binary____op____u____gen___0 ;
267 96:__UG_NAME__ -> 98:signals___binary____op____u____gen___1 ;
268 92:__UG_NAME__ -> 95:in ;
269 87:__UG_NAME__ -> 95:pos ;
270 67:__UG_NAME__ -> 95:level ;
271 74:__UG_NAME__ -> 90:in ;
272 90:__UG_NAME__ -> 91:in ;
273 89:__UG_NAME__ -> 91:freq ;
274 86:__UG_NAME__ -> 91:rq ;
275 68:__UG_NAME__ -> 69:freq ;
276 53:__UG_NAME__ -> 93:which ;
277 18:__UG_NAME__ -> 93:array___control___0 ;
278 19:__UG_NAME__ -> 93:array___control___1 ;
279 70:__UG_NAME__ -> 71:freq ;
280
281 }
0 digraph synthdef {
1 33 [label = "{{ <b> |<a> 0.2} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 40 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 42 [label = "{{ <b> |<a> 0.4} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 44 [label = "{{ <b> |<a> 0.5} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 46 [label = "{{ <b> |<a> 0.2} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 51 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 63 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 72 [label = "{{ <b> |<a> 0.5} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 83 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
10 86 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 87 [label = "{{ <b> 4.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
12 89 [label = "{{ <b> |<a> 0.125} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
13 109 [label = "{{ <b> |<a> 15.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
14 114 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
15 56 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 69 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 77 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 81 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 85 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
22 90 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
23 94 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 98 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 106 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 107 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 48 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
28 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 55 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 59 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 68 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 76 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 80 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 93 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 97 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 101 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 105 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 54 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 58 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 67 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 75 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 79 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 92 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 96 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 100 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 104 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 71 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
49 84 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
50 88 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
51 41 [label = "{<__UG_NAME__>brown-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
52 45 [label = "{<__UG_NAME__>clip-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
53 0 [label = "control
54 :note
55 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 1 [label = "control
57 :note_slide
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 2 [label = "control
60 :note_slide_shape
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 3 [label = "control
63 :note_slide_curve
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 4 [label = "control
66 :pan
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 5 [label = "control
69 :pan_slide
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 6 [label = "control
72 :pan_slide_shape
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 7 [label = "control
75 :pan_slide_curve
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 8 [label = "control
78 :amp
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 9 [label = "control
81 :amp_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 10 [label = "control
84 :amp_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 11 [label = "control
87 :amp_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 12 [label = "control
90 :attack
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 13 [label = "control
93 :decay
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 14 [label = "control
96 :sustain
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 15 [label = "control
99 :release
100 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 16 [label = "control
102 :attack_level
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 17 [label = "control
105 :decay_level
106 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 18 [label = "control
108 :sustain_level
109 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 19 [label = "control
111 :env_curve
112 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 20 [label = "control
114 :cutoff
115 default: 90.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 21 [label = "control
117 :cutoff_slide
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 22 [label = "control
120 :cutoff_slide_shape
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 23 [label = "control
123 :cutoff_slide_curve
124 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 24 [label = "control
126 :res
127 default: 0.99" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 25 [label = "control
129 :res_slide
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 26 [label = "control
132 :res_slide_shape
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 27 [label = "control
135 :res_slide_curve
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 28 [label = "control
138 :noise
139 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 29 [label = "control
141 :norm
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 30 [label = "control
144 :out_bus
145 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 50 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
147 61 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
148 70 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
149 82 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
150 99 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
151 108 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
152 32 [label = "{<__UG_NAME__>gray-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
153 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
154 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
155 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
156 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
157 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
158 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
159 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
160 78 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
161 95 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
162 103 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
163 52 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
164 64 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
165 73 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
166 91 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
167 102 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
168 111 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
169 62 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
170 110 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
171 34 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
172 112 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
173 116 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
174 115 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
175 31 [label = "{<__UG_NAME__>pink-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
176 47 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___binary____op____u____gen___2>|<array___binary____op____u____gen___3>|<array___binary____op____u____gen___4>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
177 49 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
178 113 [label = "{{ {{<array___lpf___0>|<array___normalizer___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
179 43 [label = "{<__UG_NAME__>white-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
180
181 32:__UG_NAME__ -> 33:b ;
182 31:__UG_NAME__ -> 40:b ;
183 41:__UG_NAME__ -> 42:b ;
184 43:__UG_NAME__ -> 44:b ;
185 45:__UG_NAME__ -> 46:b ;
186 47:__UG_NAME__ -> 51:a ;
187 50:__UG_NAME__ -> 51:b ;
188 62:__UG_NAME__ -> 63:a ;
189 71:__UG_NAME__ -> 72:b ;
190 47:__UG_NAME__ -> 83:a ;
191 50:__UG_NAME__ -> 83:b ;
192 47:__UG_NAME__ -> 86:a ;
193 50:__UG_NAME__ -> 86:b ;
194 62:__UG_NAME__ -> 87:a ;
195 88:__UG_NAME__ -> 89:b ;
196 50:__UG_NAME__ -> 109:b ;
197 109:__UG_NAME__ -> 114:a ;
198 113:__UG_NAME__ -> 114:b ;
199 52:__UG_NAME__ -> 56:a ;
200 55:__UG_NAME__ -> 56:b ;
201 56:__UG_NAME__ -> 60:a ;
202 59:__UG_NAME__ -> 60:b ;
203 64:__UG_NAME__ -> 65:a ;
204 37:__UG_NAME__ -> 65:b ;
205 65:__UG_NAME__ -> 69:a ;
206 68:__UG_NAME__ -> 69:b ;
207 73:__UG_NAME__ -> 77:a ;
208 76:__UG_NAME__ -> 77:b ;
209 77:__UG_NAME__ -> 81:a ;
210 80:__UG_NAME__ -> 81:b ;
211 84:__UG_NAME__ -> 85:a ;
212 72:__UG_NAME__ -> 85:b ;
213 85:__UG_NAME__ -> 90:a ;
214 89:__UG_NAME__ -> 90:b ;
215 91:__UG_NAME__ -> 94:a ;
216 93:__UG_NAME__ -> 94:b ;
217 94:__UG_NAME__ -> 98:a ;
218 97:__UG_NAME__ -> 98:b ;
219 102:__UG_NAME__ -> 106:a ;
220 105:__UG_NAME__ -> 106:b ;
221 106:__UG_NAME__ -> 107:a ;
222 101:__UG_NAME__ -> 107:b ;
223 17:__UG_NAME__ -> 48:b ;
224 36:__UG_NAME__ -> 37:a ;
225 54:__UG_NAME__ -> 55:a ;
226 58:__UG_NAME__ -> 59:a ;
227 67:__UG_NAME__ -> 68:a ;
228 75:__UG_NAME__ -> 76:a ;
229 79:__UG_NAME__ -> 80:a ;
230 92:__UG_NAME__ -> 93:a ;
231 96:__UG_NAME__ -> 97:a ;
232 100:__UG_NAME__ -> 101:a ;
233 104:__UG_NAME__ -> 105:a ;
234 35:__UG_NAME__ -> 36:a ;
235 53:__UG_NAME__ -> 54:a ;
236 57:__UG_NAME__ -> 58:a ;
237 66:__UG_NAME__ -> 67:a ;
238 74:__UG_NAME__ -> 75:a ;
239 78:__UG_NAME__ -> 79:a ;
240 38:__UG_NAME__ -> 92:a ;
241 95:__UG_NAME__ -> 96:a ;
242 39:__UG_NAME__ -> 100:a ;
243 103:__UG_NAME__ -> 104:a ;
244 51:__UG_NAME__ -> 71:in ;
245 63:__UG_NAME__ -> 71:freq ;
246 70:__UG_NAME__ -> 71:rq ;
247 83:__UG_NAME__ -> 84:in ;
248 62:__UG_NAME__ -> 84:freq ;
249 70:__UG_NAME__ -> 84:rq ;
250 86:__UG_NAME__ -> 88:in ;
251 87:__UG_NAME__ -> 88:freq ;
252 70:__UG_NAME__ -> 88:rq ;
253 16:__UG_NAME__ -> 50:envelope___control___4 ;
254 12:__UG_NAME__ -> 50:envelope___control___5 ;
255 19:__UG_NAME__ -> 50:envelope___control___6 ;
256 49:__UG_NAME__ -> 50:envelope___select___8 ;
257 13:__UG_NAME__ -> 50:envelope___control___9 ;
258 19:__UG_NAME__ -> 50:envelope___control___10 ;
259 18:__UG_NAME__ -> 50:envelope___control___12 ;
260 14:__UG_NAME__ -> 50:envelope___control___13 ;
261 19:__UG_NAME__ -> 50:envelope___control___14 ;
262 15:__UG_NAME__ -> 50:envelope___control___17 ;
263 19:__UG_NAME__ -> 50:envelope___control___18 ;
264 0:__UG_NAME__ -> 61:envelope___control___0 ;
265 0:__UG_NAME__ -> 61:envelope___control___4 ;
266 1:__UG_NAME__ -> 61:envelope___control___5 ;
267 2:__UG_NAME__ -> 61:envelope___control___6 ;
268 3:__UG_NAME__ -> 61:envelope___control___7 ;
269 60:__UG_NAME__ -> 61:gate ;
270 34:__UG_NAME__ -> 70:envelope___mul____add___0 ;
271 34:__UG_NAME__ -> 70:envelope___mul____add___4 ;
272 25:__UG_NAME__ -> 70:envelope___control___5 ;
273 26:__UG_NAME__ -> 70:envelope___control___6 ;
274 27:__UG_NAME__ -> 70:envelope___control___7 ;
275 69:__UG_NAME__ -> 70:gate ;
276 4:__UG_NAME__ -> 82:envelope___control___0 ;
277 4:__UG_NAME__ -> 82:envelope___control___4 ;
278 5:__UG_NAME__ -> 82:envelope___control___5 ;
279 6:__UG_NAME__ -> 82:envelope___control___6 ;
280 7:__UG_NAME__ -> 82:envelope___control___7 ;
281 81:__UG_NAME__ -> 82:gate ;
282 8:__UG_NAME__ -> 99:envelope___control___0 ;
283 8:__UG_NAME__ -> 99:envelope___control___4 ;
284 9:__UG_NAME__ -> 99:envelope___control___5 ;
285 10:__UG_NAME__ -> 99:envelope___control___6 ;
286 11:__UG_NAME__ -> 99:envelope___control___7 ;
287 98:__UG_NAME__ -> 99:gate ;
288 20:__UG_NAME__ -> 108:envelope___control___0 ;
289 20:__UG_NAME__ -> 108:envelope___control___4 ;
290 21:__UG_NAME__ -> 108:envelope___control___5 ;
291 22:__UG_NAME__ -> 108:envelope___control___6 ;
292 23:__UG_NAME__ -> 108:envelope___control___7 ;
293 107:__UG_NAME__ -> 108:gate ;
294 34:__UG_NAME__ -> 35:in ;
295 8:__UG_NAME__ -> 38:in ;
296 21:__UG_NAME__ -> 39:in ;
297 0:__UG_NAME__ -> 53:in ;
298 1:__UG_NAME__ -> 57:in ;
299 25:__UG_NAME__ -> 66:in ;
300 4:__UG_NAME__ -> 74:in ;
301 5:__UG_NAME__ -> 78:in ;
302 9:__UG_NAME__ -> 95:in ;
303 20:__UG_NAME__ -> 103:in ;
304 90:__UG_NAME__ -> 111:in ;
305 110:__UG_NAME__ -> 111:freq ;
306 61:__UG_NAME__ -> 62:a ;
307 108:__UG_NAME__ -> 110:a ;
308 24:__UG_NAME__ -> 34:in ;
309 111:__UG_NAME__ -> 112:in ;
310 30:__UG_NAME__ -> 116:bus ;
311 115:__UG_NAME__ -> 116:signals___pan2___0 ;
312 115:__UG_NAME__ -> 116:signals___pan2___1 ;
313 114:__UG_NAME__ -> 115:in ;
314 82:__UG_NAME__ -> 115:pos ;
315 99:__UG_NAME__ -> 115:level ;
316 28:__UG_NAME__ -> 47:which ;
317 40:__UG_NAME__ -> 47:array___binary____op____u____gen___0 ;
318 42:__UG_NAME__ -> 47:array___binary____op____u____gen___1 ;
319 44:__UG_NAME__ -> 47:array___binary____op____u____gen___2 ;
320 46:__UG_NAME__ -> 47:array___binary____op____u____gen___3 ;
321 33:__UG_NAME__ -> 47:array___binary____op____u____gen___4 ;
322 48:__UG_NAME__ -> 49:which ;
323 17:__UG_NAME__ -> 49:array___control___0 ;
324 18:__UG_NAME__ -> 49:array___control___1 ;
325 29:__UG_NAME__ -> 113:which ;
326 111:__UG_NAME__ -> 113:array___lpf___0 ;
327 112:__UG_NAME__ -> 113:array___normalizer___1 ;
328
329 }
0 digraph synthdef {
1 44 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 45 [label = "{{ <b> |<a> 0.25} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 48 [label = "{{ <b> 0.5|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 53 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 56 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 57 [label = "{{ <b> |<a> 0.5} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 60 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 65 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 69 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 70 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
11 73 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
12 78 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
13 80 [label = "{{ <b> |<a> 0.1} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
14 81 [label = "{{ <b> |<a> 0.25} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
15 96 [label = "{{ <b> |<a> 0.25} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
16 105 [label = "{{ <b> |<a> 0.5} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
17 107 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
18 111 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
19 146 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
20 151 [label = "{{ <b> |<a> 0.25} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
21 158 [label = "{{ <b> |<a> 0.5} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
22 160 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
23 161 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
24 163 [label = "{{ <b> |<a> 0.5} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
25 165 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
26 166 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
27 35 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 39 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 66 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
30 79 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
31 83 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
32 91 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 95 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 98 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
35 106 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
36 116 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
37 120 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
38 128 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
39 132 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
40 140 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
41 144 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
42 153 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
43 159 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
44 164 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
45 52 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
46 64 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
47 77 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
48 108 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
49 34 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 38 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 90 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 94 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 115 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 119 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 127 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 131 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 139 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
58 143 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
59 33 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 37 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 89 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 93 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 114 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 118 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 126 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
66 130 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
67 138 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
68 142 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
69 85 [label = "{{ <db> db 3.0|<rq> rq 1.0|<freq> freq 6000.0|<in> in} |<__UG_NAME__>b-peak-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
70 86 [label = "{{ <db> db 6.0|<rq> rq 1.0|<freq> freq 3500.0|<in> in} |<__UG_NAME__>b-peak-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
71 100 [label = "{{ <db> db 3.0|<rq> rq 1.0|<freq> freq 6000.0|<in> in} |<__UG_NAME__>b-peak-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
72 101 [label = "{{ <db> db 6.0|<rq> rq 1.0|<freq> freq 3500.0|<in> in} |<__UG_NAME__>b-peak-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
73 155 [label = "{{ <db> db 3.0|<rq> rq 1.0|<freq> freq 6000.0|<in> in} |<__UG_NAME__>b-peak-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
74 156 [label = "{{ <db> db 6.0|<rq> rq 1.0|<freq> freq 3500.0|<in> in} |<__UG_NAME__>b-peak-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
75 104 [label = "{{ <decay____time> decay-time 0.0|<delay____time> delay-time|<max____delay____time> max-delay-time 0.005|<in> in} |<__UG_NAME__>comb-c }" style="filled, bold, rounded" shape=record rankdir=LR];
76 150 [label = "{{ <decay____time> decay-time 0.0|<delay____time> delay-time|<max____delay____time> max-delay-time 0.005|<in> in} |<__UG_NAME__>comb-c }" style="filled, bold, rounded" shape=record rankdir=LR];
77 157 [label = "{{ <decay____time> decay-time 0.0|<delay____time> delay-time|<max____delay____time> max-delay-time 0.005|<in> in} |<__UG_NAME__>comb-c }" style="filled, bold, rounded" shape=record rankdir=LR];
78 0 [label = "control
79 :note
80 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 1 [label = "control
82 :note_slide
83 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 2 [label = "control
85 :note_slide_shape
86 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 3 [label = "control
88 :note_slide_curve
89 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 4 [label = "control
91 :amp
92 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 5 [label = "control
94 :amp_slide
95 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 6 [label = "control
97 :amp_slide_shape
98 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 7 [label = "control
100 :amp_slide_curve
101 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 8 [label = "control
103 :pan
104 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 9 [label = "control
106 :pan_slide
107 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 10 [label = "control
109 :pan_slide_shape
110 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 11 [label = "control
112 :pan_slide_curve
113 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 12 [label = "control
115 :attack
116 default: 0.05" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 13 [label = "control
118 :decay
119 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 14 [label = "control
121 :sustain
122 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 15 [label = "control
124 :release
125 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 16 [label = "control
127 :attack_level
128 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 17 [label = "control
130 :decay_level
131 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 18 [label = "control
133 :sustain_level
134 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 19 [label = "control
136 :env_curve
137 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 20 [label = "control
139 :cutoff
140 default: 130.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 21 [label = "control
142 :cutoff_slide
143 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 22 [label = "control
145 :cutoff_slide_shape
146 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 23 [label = "control
148 :cutoff_slide_curve
149 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
150 24 [label = "control
151 :res
152 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
153 25 [label = "control
154 :res_slide
155 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
156 26 [label = "control
157 :res_slide_shape
158 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
159 27 [label = "control
160 :res_slide_curve
161 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
162 28 [label = "control
163 :pre_amp
164 default: 10.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
165 29 [label = "control
166 :amp-fudge
167 default: 2.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
168 30 [label = "control
169 :out_bus
170 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
171 40 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
172 110 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
173 121 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
174 133 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
175 135 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
176 145 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
177 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
178 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
179 88 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
180 92 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
181 113 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
182 117 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
183 125 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
184 129 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
185 137 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
186 141 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
187 31 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
188 87 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
189 112 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
190 123 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
191 136 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
192 82 [label = "{{ <iphase> iphase 0.0|<freq> freq} |<__UG_NAME__>lf-par }" style="filled, bold, rounded" shape=record rankdir=LR];
193 97 [label = "{{ <iphase> iphase 0.0|<freq> freq} |<__UG_NAME__>lf-par }" style="filled, bold, rounded" shape=record rankdir=LR];
194 152 [label = "{{ <iphase> iphase 0.0|<freq> freq} |<__UG_NAME__>lf-par }" style="filled, bold, rounded" shape=record rankdir=LR];
195 51 [label = "{{ <width> width|<iphase> iphase 0.0|<freq> freq} |<__UG_NAME__>lf-pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
196 63 [label = "{{ <width> width|<iphase> iphase 0.0|<freq> freq} |<__UG_NAME__>lf-pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
197 76 [label = "{{ <width> width|<iphase> iphase 0.0|<freq> freq} |<__UG_NAME__>lf-pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
198 46 [label = "{{ <iphase> iphase 1.0|<freq> freq} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
199 58 [label = "{{ <iphase> iphase 1.0|<freq> freq} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
200 71 [label = "{{ <iphase> iphase 1.0|<freq> freq} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
201 43 [label = "{{ <dsthi> dsthi 1.005|<dstlo> dstlo 0.995|<srchi> srchi 1.0|<srclo> srclo -1.0|<in> in} |<__UG_NAME__>lin-exp }" style="bold, rounded" shape=record rankdir=LR];
202 55 [label = "{{ <dsthi> dsthi 1.005|<dstlo> dstlo 0.995|<srchi> srchi 1.0|<srclo> srclo -1.0|<in> in} |<__UG_NAME__>lin-exp }" style="bold, rounded" shape=record rankdir=LR];
203 68 [label = "{{ <dsthi> dsthi 1.005|<dstlo> dstlo 0.995|<srchi> srchi 1.0|<srclo> srclo -1.0|<in> in} |<__UG_NAME__>lin-exp }" style="bold, rounded" shape=record rankdir=LR];
204 41 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
205 122 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
206 47 [label = "{{ <add> add 0.5|<mul> mul 0.5|<in> in} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
207 50 [label = "{{ <add> add 0.5|<mul> mul 0.375|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
208 59 [label = "{{ <add> add 0.5|<mul> mul 0.5|<in> in} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
209 62 [label = "{{ <add> add 0.5|<mul> mul 0.375|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
210 72 [label = "{{ <add> add 0.5|<mul> mul 0.5|<in> in} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
211 75 [label = "{{ <add> add 0.5|<mul> mul 0.375|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
212 84 [label = "{{ <add> add 0.0|<mul> mul 0.1|<in> in} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
213 99 [label = "{{ <add> add 0.0|<mul> mul 0.1|<in> in} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
214 103 [label = "{{ <add> add 0.004166667|<mul> mul 8.3333335E-4|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
215 124 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
216 149 [label = "{{ <add> add 0.004166667|<mul> mul 8.3333335E-4|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
217 154 [label = "{{ <add> add 0.0|<mul> mul 0.1|<in> in} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
218 170 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>|<signals___pan2___2>|<signals___pan2___3>|<signals___pan2___4>|<signals___pan2___5>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
219 147 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
220 167 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
221 169 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
222 134 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
223 162 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
224 168 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
225 109 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
226 42 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 4.6028047|<freq> freq 2.915749} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
227 49 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq 3.9668026} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
228 54 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 3.7951565|<freq> freq 3.032818} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
229 61 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq 2.9856791} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
230 67 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.26021367|<freq> freq 2.9540849} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
231 74 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq 3.9303746} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
232 102 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 4.712389|<freq> freq 3.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
233 148 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 1.5707964|<freq> freq 3.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
234
235 41:__UG_NAME__ -> 44:a ;
236 43:__UG_NAME__ -> 44:b ;
237 44:__UG_NAME__ -> 45:b ;
238 44:__UG_NAME__ -> 48:a ;
239 47:__UG_NAME__ -> 53:a ;
240 52:__UG_NAME__ -> 53:b ;
241 41:__UG_NAME__ -> 56:a ;
242 55:__UG_NAME__ -> 56:b ;
243 56:__UG_NAME__ -> 57:b ;
244 56:__UG_NAME__ -> 60:a ;
245 59:__UG_NAME__ -> 65:a ;
246 64:__UG_NAME__ -> 65:b ;
247 41:__UG_NAME__ -> 69:a ;
248 68:__UG_NAME__ -> 69:b ;
249 69:__UG_NAME__ -> 70:b ;
250 69:__UG_NAME__ -> 73:a ;
251 72:__UG_NAME__ -> 78:a ;
252 77:__UG_NAME__ -> 78:b ;
253 79:__UG_NAME__ -> 80:b ;
254 69:__UG_NAME__ -> 81:b ;
255 56:__UG_NAME__ -> 96:b ;
256 104:__UG_NAME__ -> 105:b ;
257 28:__UG_NAME__ -> 107:a ;
258 106:__UG_NAME__ -> 107:b ;
259 107:__UG_NAME__ -> 111:a ;
260 110:__UG_NAME__ -> 111:b ;
261 29:__UG_NAME__ -> 146:a ;
262 145:__UG_NAME__ -> 146:b ;
263 44:__UG_NAME__ -> 151:b ;
264 157:__UG_NAME__ -> 158:b ;
265 28:__UG_NAME__ -> 160:a ;
266 159:__UG_NAME__ -> 160:b ;
267 160:__UG_NAME__ -> 161:a ;
268 110:__UG_NAME__ -> 161:b ;
269 150:__UG_NAME__ -> 163:b ;
270 28:__UG_NAME__ -> 165:a ;
271 164:__UG_NAME__ -> 165:b ;
272 165:__UG_NAME__ -> 166:a ;
273 110:__UG_NAME__ -> 166:b ;
274 31:__UG_NAME__ -> 35:a ;
275 34:__UG_NAME__ -> 35:b ;
276 35:__UG_NAME__ -> 39:a ;
277 38:__UG_NAME__ -> 39:b ;
278 53:__UG_NAME__ -> 66:a ;
279 65:__UG_NAME__ -> 66:b ;
280 66:__UG_NAME__ -> 79:a ;
281 78:__UG_NAME__ -> 79:b ;
282 80:__UG_NAME__ -> 83:a ;
283 82:__UG_NAME__ -> 83:b ;
284 87:__UG_NAME__ -> 91:a ;
285 90:__UG_NAME__ -> 91:b ;
286 91:__UG_NAME__ -> 95:a ;
287 94:__UG_NAME__ -> 95:b ;
288 80:__UG_NAME__ -> 98:a ;
289 97:__UG_NAME__ -> 98:b ;
290 101:__UG_NAME__ -> 106:a ;
291 105:__UG_NAME__ -> 106:b ;
292 112:__UG_NAME__ -> 116:a ;
293 115:__UG_NAME__ -> 116:b ;
294 116:__UG_NAME__ -> 120:a ;
295 119:__UG_NAME__ -> 120:b ;
296 123:__UG_NAME__ -> 128:a ;
297 127:__UG_NAME__ -> 128:b ;
298 128:__UG_NAME__ -> 132:a ;
299 131:__UG_NAME__ -> 132:b ;
300 136:__UG_NAME__ -> 140:a ;
301 139:__UG_NAME__ -> 140:b ;
302 140:__UG_NAME__ -> 144:a ;
303 143:__UG_NAME__ -> 144:b ;
304 80:__UG_NAME__ -> 153:a ;
305 152:__UG_NAME__ -> 153:b ;
306 156:__UG_NAME__ -> 159:a ;
307 158:__UG_NAME__ -> 159:b ;
308 86:__UG_NAME__ -> 164:a ;
309 163:__UG_NAME__ -> 164:b ;
310 51:__UG_NAME__ -> 52:b ;
311 63:__UG_NAME__ -> 64:b ;
312 76:__UG_NAME__ -> 77:b ;
313 17:__UG_NAME__ -> 108:b ;
314 33:__UG_NAME__ -> 34:a ;
315 37:__UG_NAME__ -> 38:a ;
316 89:__UG_NAME__ -> 90:a ;
317 93:__UG_NAME__ -> 94:a ;
318 114:__UG_NAME__ -> 115:a ;
319 118:__UG_NAME__ -> 119:a ;
320 126:__UG_NAME__ -> 127:a ;
321 130:__UG_NAME__ -> 131:a ;
322 138:__UG_NAME__ -> 139:a ;
323 142:__UG_NAME__ -> 143:a ;
324 32:__UG_NAME__ -> 33:a ;
325 36:__UG_NAME__ -> 37:a ;
326 88:__UG_NAME__ -> 89:a ;
327 92:__UG_NAME__ -> 93:a ;
328 113:__UG_NAME__ -> 114:a ;
329 117:__UG_NAME__ -> 118:a ;
330 125:__UG_NAME__ -> 126:a ;
331 129:__UG_NAME__ -> 130:a ;
332 137:__UG_NAME__ -> 138:a ;
333 141:__UG_NAME__ -> 142:a ;
334 84:__UG_NAME__ -> 85:in ;
335 85:__UG_NAME__ -> 86:in ;
336 99:__UG_NAME__ -> 100:in ;
337 100:__UG_NAME__ -> 101:in ;
338 154:__UG_NAME__ -> 155:in ;
339 155:__UG_NAME__ -> 156:in ;
340 101:__UG_NAME__ -> 104:in ;
341 103:__UG_NAME__ -> 104:delay____time ;
342 86:__UG_NAME__ -> 150:in ;
343 149:__UG_NAME__ -> 150:delay____time ;
344 156:__UG_NAME__ -> 157:in ;
345 149:__UG_NAME__ -> 157:delay____time ;
346 0:__UG_NAME__ -> 40:envelope___control___0 ;
347 0:__UG_NAME__ -> 40:envelope___control___4 ;
348 1:__UG_NAME__ -> 40:envelope___control___5 ;
349 2:__UG_NAME__ -> 40:envelope___control___6 ;
350 3:__UG_NAME__ -> 40:envelope___control___7 ;
351 39:__UG_NAME__ -> 40:gate ;
352 16:__UG_NAME__ -> 110:envelope___control___4 ;
353 12:__UG_NAME__ -> 110:envelope___control___5 ;
354 19:__UG_NAME__ -> 110:envelope___control___6 ;
355 109:__UG_NAME__ -> 110:envelope___select___8 ;
356 13:__UG_NAME__ -> 110:envelope___control___9 ;
357 19:__UG_NAME__ -> 110:envelope___control___10 ;
358 18:__UG_NAME__ -> 110:envelope___control___12 ;
359 14:__UG_NAME__ -> 110:envelope___control___13 ;
360 19:__UG_NAME__ -> 110:envelope___control___14 ;
361 15:__UG_NAME__ -> 110:envelope___control___17 ;
362 19:__UG_NAME__ -> 110:envelope___control___18 ;
363 20:__UG_NAME__ -> 121:envelope___control___0 ;
364 20:__UG_NAME__ -> 121:envelope___control___4 ;
365 21:__UG_NAME__ -> 121:envelope___control___5 ;
366 22:__UG_NAME__ -> 121:envelope___control___6 ;
367 23:__UG_NAME__ -> 121:envelope___control___7 ;
368 120:__UG_NAME__ -> 121:gate ;
369 124:__UG_NAME__ -> 133:envelope___mul____add___0 ;
370 124:__UG_NAME__ -> 133:envelope___mul____add___4 ;
371 25:__UG_NAME__ -> 133:envelope___control___5 ;
372 26:__UG_NAME__ -> 133:envelope___control___6 ;
373 27:__UG_NAME__ -> 133:envelope___control___7 ;
374 132:__UG_NAME__ -> 133:gate ;
375 8:__UG_NAME__ -> 135:envelope___control___0 ;
376 8:__UG_NAME__ -> 135:envelope___control___4 ;
377 9:__UG_NAME__ -> 135:envelope___control___5 ;
378 10:__UG_NAME__ -> 135:envelope___control___6 ;
379 11:__UG_NAME__ -> 135:envelope___control___7 ;
380 95:__UG_NAME__ -> 135:gate ;
381 4:__UG_NAME__ -> 145:envelope___control___0 ;
382 4:__UG_NAME__ -> 145:envelope___control___4 ;
383 5:__UG_NAME__ -> 145:envelope___control___5 ;
384 6:__UG_NAME__ -> 145:envelope___control___6 ;
385 7:__UG_NAME__ -> 145:envelope___control___7 ;
386 144:__UG_NAME__ -> 145:gate ;
387 0:__UG_NAME__ -> 32:in ;
388 1:__UG_NAME__ -> 36:in ;
389 8:__UG_NAME__ -> 88:in ;
390 9:__UG_NAME__ -> 92:in ;
391 20:__UG_NAME__ -> 113:in ;
392 21:__UG_NAME__ -> 117:in ;
393 124:__UG_NAME__ -> 125:in ;
394 25:__UG_NAME__ -> 129:in ;
395 4:__UG_NAME__ -> 137:in ;
396 5:__UG_NAME__ -> 141:in ;
397 81:__UG_NAME__ -> 82:freq ;
398 96:__UG_NAME__ -> 97:freq ;
399 151:__UG_NAME__ -> 152:freq ;
400 48:__UG_NAME__ -> 51:freq ;
401 50:__UG_NAME__ -> 51:width ;
402 60:__UG_NAME__ -> 63:freq ;
403 62:__UG_NAME__ -> 63:width ;
404 73:__UG_NAME__ -> 76:freq ;
405 75:__UG_NAME__ -> 76:width ;
406 45:__UG_NAME__ -> 46:freq ;
407 57:__UG_NAME__ -> 58:freq ;
408 70:__UG_NAME__ -> 71:freq ;
409 42:__UG_NAME__ -> 43:in ;
410 54:__UG_NAME__ -> 55:in ;
411 67:__UG_NAME__ -> 68:in ;
412 40:__UG_NAME__ -> 41:a ;
413 121:__UG_NAME__ -> 122:a ;
414 46:__UG_NAME__ -> 47:in ;
415 49:__UG_NAME__ -> 50:in ;
416 58:__UG_NAME__ -> 59:in ;
417 61:__UG_NAME__ -> 62:in ;
418 71:__UG_NAME__ -> 72:in ;
419 74:__UG_NAME__ -> 75:in ;
420 83:__UG_NAME__ -> 84:in ;
421 98:__UG_NAME__ -> 99:in ;
422 102:__UG_NAME__ -> 103:in ;
423 24:__UG_NAME__ -> 124:in ;
424 148:__UG_NAME__ -> 149:in ;
425 153:__UG_NAME__ -> 154:in ;
426 30:__UG_NAME__ -> 170:bus ;
427 167:__UG_NAME__ -> 170:signals___pan2___0 ;
428 167:__UG_NAME__ -> 170:signals___pan2___1 ;
429 147:__UG_NAME__ -> 170:signals___pan2___2 ;
430 147:__UG_NAME__ -> 170:signals___pan2___3 ;
431 169:__UG_NAME__ -> 170:signals___pan2___4 ;
432 169:__UG_NAME__ -> 170:signals___pan2___5 ;
433 134:__UG_NAME__ -> 147:in ;
434 135:__UG_NAME__ -> 147:pos ;
435 146:__UG_NAME__ -> 147:level ;
436 162:__UG_NAME__ -> 167:in ;
437 135:__UG_NAME__ -> 167:pos ;
438 146:__UG_NAME__ -> 167:level ;
439 168:__UG_NAME__ -> 169:in ;
440 135:__UG_NAME__ -> 169:pos ;
441 146:__UG_NAME__ -> 169:level ;
442 111:__UG_NAME__ -> 134:in ;
443 122:__UG_NAME__ -> 134:freq ;
444 133:__UG_NAME__ -> 134:rq ;
445 161:__UG_NAME__ -> 162:in ;
446 122:__UG_NAME__ -> 162:freq ;
447 133:__UG_NAME__ -> 162:rq ;
448 166:__UG_NAME__ -> 168:in ;
449 122:__UG_NAME__ -> 168:freq ;
450 133:__UG_NAME__ -> 168:rq ;
451 108:__UG_NAME__ -> 109:which ;
452 17:__UG_NAME__ -> 109:array___control___0 ;
453 18:__UG_NAME__ -> 109:array___control___1 ;
454
455 }
0 digraph synthdef {
1 54 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 73 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 93 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 97 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 27 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 31 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 36 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 40 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 49 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 51 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 63 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 71 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 78 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
15 79 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
16 26 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 30 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 35 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 39 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 48 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 50 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 58 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 62 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 25 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 29 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 34 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 38 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 44 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 47 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 61 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 42 [label = "{{ <hi> hi 135.5|<lo> lo 0.0|<in> in} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
33 94 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>clip2 }" style="filled, bold, rounded" shape=record rankdir=LR];
34 98 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>clip2 }" style="filled, bold, rounded" shape=record rankdir=LR];
35 0 [label = "control
36 :in_bus
37 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 1 [label = "control
39 :pre_amp
40 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 2 [label = "control
42 :pre_amp_slide
43 default: 0.02" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 3 [label = "control
45 :pre_amp_slide_shape
46 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 4 [label = "control
48 :pre_amp_slide_curve
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 5 [label = "control
51 :amp
52 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 6 [label = "control
54 :amp_slide
55 default: 0.02" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 7 [label = "control
57 :amp_slide_shape
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 8 [label = "control
60 :amp_slide_curve
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 9 [label = "control
63 :hpf
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 10 [label = "control
66 :hpf_bypass
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 11 [label = "control
69 :hpf_slide
70 default: 0.02" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 12 [label = "control
72 :hpf_slide_shape
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 13 [label = "control
75 :hpf_slide_curve
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 14 [label = "control
78 :lpf
79 default: 135.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 15 [label = "control
81 :lpf_bypass
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 16 [label = "control
84 :lpf_slide
85 default: 0.02" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 17 [label = "control
87 :lpf_slide_shape
88 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 18 [label = "control
90 :lpf_slide_curve
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 19 [label = "control
93 :force_mono
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 20 [label = "control
96 :invert_stereo
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 21 [label = "control
99 :limiter_bypass
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 22 [label = "control
102 :leak_dc_bypass
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 41 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 52 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 64 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 87 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 66 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
109 74 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
110 95 [label = "{{ <freq> freq 10.0|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
111 99 [label = "{{ <freq> freq 10.0|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
112 24 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
119 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
120 23 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 32 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 45 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 55 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
124 53 [label = "{{ <num____channels> num-channels 1|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
125 72 [label = "{{ <num____channels> num-channels 1|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
126 85 [label = "{{ <coef> coef 0.995|<in> in} |<__UG_NAME__>leak-dc }" style="filled, bold, rounded" shape=record rankdir=LR];
127 91 [label = "{{ <coef> coef 0.995|<in> in} |<__UG_NAME__>leak-dc }" style="filled, bold, rounded" shape=record rankdir=LR];
128 83 [label = "{{ <dur> dur 0.01|<level> level 0.99|<in> in} |<__UG_NAME__>limiter }" style="filled, bold, rounded" shape=record rankdir=LR];
129 89 [label = "{{ <dur> dur 0.01|<level> level 0.99|<in> in} |<__UG_NAME__>limiter }" style="filled, bold, rounded" shape=record rankdir=LR];
130 69 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
131 76 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
132 96 [label = "{{ <freq> freq 20500.0|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
133 100 [label = "{{ <freq> freq 20500.0|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
134 65 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
135 68 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
136 101 [label = "{{ {{<signals___lpf___0>|<signals___lpf___1>}|signals}|<bus> bus 0.0} |<__UG_NAME__>replace-out }" style="filled, bold, rounded" shape=record rankdir=LR];
137 67 [label = "{{ {{<array___hpf___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
138 70 [label = "{{ {{<array___lpf___0>|<array___select___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
139 75 [label = "{{ {{<array___hpf___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
140 77 [label = "{{ {{<array___lpf___0>|<array___select___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
141 80 [label = "{{ {{<array___select___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
142 81 [label = "{{ {{<array___select___0>|<array___select___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
143 82 [label = "{{ {{<array___select___0>|<array___select___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
144 84 [label = "{{ {{<array___limiter___0>|<array___select___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
145 86 [label = "{{ {{<array___leak____dc___0>|<array___select___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
146 88 [label = "{{ {{<array___select___0>|<array___select___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
147 90 [label = "{{ {{<array___limiter___0>|<array___select___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
148 92 [label = "{{ {{<array___leak____dc___0>|<array___select___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
149
150 52:__UG_NAME__ -> 54:a ;
151 53:__UG_NAME__ -> 54:b ;
152 52:__UG_NAME__ -> 73:a ;
153 72:__UG_NAME__ -> 73:b ;
154 87:__UG_NAME__ -> 93:a ;
155 92:__UG_NAME__ -> 93:b ;
156 87:__UG_NAME__ -> 97:a ;
157 86:__UG_NAME__ -> 97:b ;
158 23:__UG_NAME__ -> 27:a ;
159 26:__UG_NAME__ -> 27:b ;
160 27:__UG_NAME__ -> 31:a ;
161 30:__UG_NAME__ -> 31:b ;
162 32:__UG_NAME__ -> 36:a ;
163 35:__UG_NAME__ -> 36:b ;
164 36:__UG_NAME__ -> 40:a ;
165 39:__UG_NAME__ -> 40:b ;
166 45:__UG_NAME__ -> 49:a ;
167 48:__UG_NAME__ -> 49:b ;
168 49:__UG_NAME__ -> 51:a ;
169 50:__UG_NAME__ -> 51:b ;
170 55:__UG_NAME__ -> 59:a ;
171 58:__UG_NAME__ -> 59:b ;
172 59:__UG_NAME__ -> 63:a ;
173 62:__UG_NAME__ -> 63:b ;
174 0:__UG_NAME__ -> 71:a ;
175 70:__UG_NAME__ -> 78:a ;
176 77:__UG_NAME__ -> 78:b ;
177 78:__UG_NAME__ -> 79:a ;
178 25:__UG_NAME__ -> 26:a ;
179 29:__UG_NAME__ -> 30:a ;
180 34:__UG_NAME__ -> 35:a ;
181 38:__UG_NAME__ -> 39:a ;
182 47:__UG_NAME__ -> 48:a ;
183 44:__UG_NAME__ -> 50:a ;
184 57:__UG_NAME__ -> 58:a ;
185 61:__UG_NAME__ -> 62:a ;
186 24:__UG_NAME__ -> 25:a ;
187 28:__UG_NAME__ -> 29:a ;
188 33:__UG_NAME__ -> 34:a ;
189 37:__UG_NAME__ -> 38:a ;
190 43:__UG_NAME__ -> 44:a ;
191 46:__UG_NAME__ -> 47:a ;
192 56:__UG_NAME__ -> 57:a ;
193 60:__UG_NAME__ -> 61:a ;
194 41:__UG_NAME__ -> 42:in ;
195 93:__UG_NAME__ -> 94:a ;
196 97:__UG_NAME__ -> 98:a ;
197 14:__UG_NAME__ -> 41:envelope___control___0 ;
198 14:__UG_NAME__ -> 41:envelope___control___4 ;
199 16:__UG_NAME__ -> 41:envelope___control___5 ;
200 17:__UG_NAME__ -> 41:envelope___control___6 ;
201 18:__UG_NAME__ -> 41:envelope___control___7 ;
202 40:__UG_NAME__ -> 41:gate ;
203 1:__UG_NAME__ -> 52:envelope___control___0 ;
204 1:__UG_NAME__ -> 52:envelope___control___4 ;
205 2:__UG_NAME__ -> 52:envelope___control___5 ;
206 3:__UG_NAME__ -> 52:envelope___control___6 ;
207 4:__UG_NAME__ -> 52:envelope___control___7 ;
208 51:__UG_NAME__ -> 52:gate ;
209 9:__UG_NAME__ -> 64:envelope___control___0 ;
210 9:__UG_NAME__ -> 64:envelope___control___4 ;
211 11:__UG_NAME__ -> 64:envelope___control___5 ;
212 12:__UG_NAME__ -> 64:envelope___control___6 ;
213 13:__UG_NAME__ -> 64:envelope___control___7 ;
214 63:__UG_NAME__ -> 64:gate ;
215 5:__UG_NAME__ -> 87:envelope___control___0 ;
216 5:__UG_NAME__ -> 87:envelope___control___4 ;
217 6:__UG_NAME__ -> 87:envelope___control___5 ;
218 7:__UG_NAME__ -> 87:envelope___control___6 ;
219 8:__UG_NAME__ -> 87:envelope___control___7 ;
220 31:__UG_NAME__ -> 87:gate ;
221 54:__UG_NAME__ -> 66:in ;
222 65:__UG_NAME__ -> 66:freq ;
223 73:__UG_NAME__ -> 74:in ;
224 65:__UG_NAME__ -> 74:freq ;
225 94:__UG_NAME__ -> 95:in ;
226 98:__UG_NAME__ -> 99:in ;
227 5:__UG_NAME__ -> 24:in ;
228 6:__UG_NAME__ -> 28:in ;
229 14:__UG_NAME__ -> 33:in ;
230 16:__UG_NAME__ -> 37:in ;
231 2:__UG_NAME__ -> 43:in ;
232 1:__UG_NAME__ -> 46:in ;
233 9:__UG_NAME__ -> 56:in ;
234 11:__UG_NAME__ -> 60:in ;
235 0:__UG_NAME__ -> 53:bus ;
236 71:__UG_NAME__ -> 72:bus ;
237 84:__UG_NAME__ -> 85:in ;
238 90:__UG_NAME__ -> 91:in ;
239 82:__UG_NAME__ -> 83:in ;
240 88:__UG_NAME__ -> 89:in ;
241 67:__UG_NAME__ -> 69:in ;
242 68:__UG_NAME__ -> 69:freq ;
243 75:__UG_NAME__ -> 76:in ;
244 68:__UG_NAME__ -> 76:freq ;
245 95:__UG_NAME__ -> 96:in ;
246 99:__UG_NAME__ -> 100:in ;
247 64:__UG_NAME__ -> 65:a ;
248 42:__UG_NAME__ -> 68:a ;
249 100:__UG_NAME__ -> 101:signals___lpf___0 ;
250 96:__UG_NAME__ -> 101:signals___lpf___1 ;
251 10:__UG_NAME__ -> 67:which ;
252 66:__UG_NAME__ -> 67:array___hpf___0 ;
253 54:__UG_NAME__ -> 67:array___binary____op____u____gen___1 ;
254 15:__UG_NAME__ -> 70:which ;
255 69:__UG_NAME__ -> 70:array___lpf___0 ;
256 67:__UG_NAME__ -> 70:array___select___1 ;
257 10:__UG_NAME__ -> 75:which ;
258 74:__UG_NAME__ -> 75:array___hpf___0 ;
259 73:__UG_NAME__ -> 75:array___binary____op____u____gen___1 ;
260 15:__UG_NAME__ -> 77:which ;
261 76:__UG_NAME__ -> 77:array___lpf___0 ;
262 75:__UG_NAME__ -> 77:array___select___1 ;
263 19:__UG_NAME__ -> 80:which ;
264 70:__UG_NAME__ -> 80:array___select___0 ;
265 79:__UG_NAME__ -> 80:array___binary____op____u____gen___1 ;
266 19:__UG_NAME__ -> 81:which ;
267 77:__UG_NAME__ -> 81:array___select___0 ;
268 80:__UG_NAME__ -> 81:array___select___1 ;
269 20:__UG_NAME__ -> 82:which ;
270 80:__UG_NAME__ -> 82:array___select___0 ;
271 81:__UG_NAME__ -> 82:array___select___1 ;
272 21:__UG_NAME__ -> 84:which ;
273 83:__UG_NAME__ -> 84:array___limiter___0 ;
274 82:__UG_NAME__ -> 84:array___select___1 ;
275 22:__UG_NAME__ -> 86:which ;
276 85:__UG_NAME__ -> 86:array___leak____dc___0 ;
277 84:__UG_NAME__ -> 86:array___select___1 ;
278 20:__UG_NAME__ -> 88:which ;
279 81:__UG_NAME__ -> 88:array___select___0 ;
280 80:__UG_NAME__ -> 88:array___select___1 ;
281 21:__UG_NAME__ -> 90:which ;
282 89:__UG_NAME__ -> 90:array___limiter___0 ;
283 88:__UG_NAME__ -> 90:array___select___1 ;
284 22:__UG_NAME__ -> 92:which ;
285 91:__UG_NAME__ -> 92:array___leak____dc___0 ;
286 90:__UG_NAME__ -> 92:array___select___1 ;
287
288 }
0 digraph synthdef {
1 65 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 68 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 80 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 85 [label = "{{ <b> 6.2831855|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 88 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 90 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 92 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 116 [label = "{{ <b> -1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 136 [label = "{{ <b> 0.5|<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
10 140 [label = "{{ <b> |<a> 1.3} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
11 144 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
12 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 52 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 58 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 62 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 66 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 73 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 77 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 82 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 84 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 97 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 101 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 107 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 111 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 113 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 125 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 129 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 132 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 135 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
30 149 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 153 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 158 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 162 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 81 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
35 91 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
36 114 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
37 117 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
38 64 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
39 115 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
40 137 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
41 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 51 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 57 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 61 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 72 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 76 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 89 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 96 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 100 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 106 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 110 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 124 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 128 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 148 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 152 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 157 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 161 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
58 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 50 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 56 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 60 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 71 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 75 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 95 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 99 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
66 105 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
67 109 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
68 123 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
69 127 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
70 147 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
71 151 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
72 156 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
73 160 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
74 0 [label = "control
75 :note
76 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 1 [label = "control
78 :note_slide
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 2 [label = "control
81 :note_slide_shape
82 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 3 [label = "control
84 :note_slide_curve
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 4 [label = "control
87 :amp
88 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 5 [label = "control
90 :amp_slide
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 6 [label = "control
93 :amp_slide_shape
94 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 7 [label = "control
96 :amp_slide_curve
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 8 [label = "control
99 :pan
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 9 [label = "control
102 :pan_slide
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 10 [label = "control
105 :pan_slide_shape
106 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 11 [label = "control
108 :pan_slide_curve
109 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 12 [label = "control
111 :attack
112 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 13 [label = "control
114 :decay
115 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 14 [label = "control
117 :sustain
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 15 [label = "control
120 :release
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 16 [label = "control
123 :attack_level
124 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 17 [label = "control
126 :decay_level
127 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 18 [label = "control
129 :sustain_level
130 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 19 [label = "control
132 :env_curve
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 20 [label = "control
135 :cutoff
136 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 21 [label = "control
138 :cutoff_slide
139 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 22 [label = "control
141 :cutoff_slide_shape
142 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 23 [label = "control
144 :cutoff_slide_curve
145 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 24 [label = "control
147 :mod_phase
148 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 25 [label = "control
150 :mod_phase_slide
151 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 26 [label = "control
153 :mod_phase_slide_shape
154 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 27 [label = "control
156 :mod_phase_slide_curve
157 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 28 [label = "control
159 :mod_range
160 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 29 [label = "control
162 :mod_range_slide
163 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 30 [label = "control
165 :mod_range_slide_shape
166 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
167 31 [label = "control
168 :mod_range_slide_curve
169 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
170 32 [label = "control
171 :mod_pulse_width
172 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
173 33 [label = "control
174 :mod_pulse_width_slide
175 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
176 34 [label = "control
177 :mod_pulse_width_slide_shape
178 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
179 35 [label = "control
180 :mod_pulse_width_slide_curve
181 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
182 36 [label = "control
183 :mod_phase_offset
184 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
185 37 [label = "control
186 :mod_wave
187 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
188 38 [label = "control
189 :mod_invert_wave
190 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
191 39 [label = "control
192 :detune
193 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
194 40 [label = "control
195 :detune_slide
196 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
197 41 [label = "control
198 :detune_slide_shape
199 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
200 42 [label = "control
201 :detune_slide_curve
202 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
203 43 [label = "control
204 :out_bus
205 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
206 53 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
207 63 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
208 78 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
209 102 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|5|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
210 112 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
211 131 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
212 139 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
213 154 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
214 163 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
215 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
216 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
217 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
218 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
219 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
220 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
221 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
222 98 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
223 104 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
224 108 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
225 122 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
226 126 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
227 130 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
228 146 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
229 150 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
230 159 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
231 44 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
232 54 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
233 69 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
234 93 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
235 103 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
236 121 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
237 145 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
238 155 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
239 79 [label = "{{ <width> width|<iphase> iphase|<freq> freq} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
240 67 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
241 83 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
242 142 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
243 119 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
244 133 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
245 141 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
246 118 [label = "{{ <add> add|<mul> mul|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
247 143 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
248 165 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
249 164 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
250 120 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
251 134 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
252 87 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
253 138 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
254 86 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase|<freq> freq} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
255
256 36:__UG_NAME__ -> 65:b ;
257 67:__UG_NAME__ -> 68:b ;
258 79:__UG_NAME__ -> 80:b ;
259 84:__UG_NAME__ -> 85:a ;
260 87:__UG_NAME__ -> 88:b ;
261 89:__UG_NAME__ -> 90:b ;
262 88:__UG_NAME__ -> 92:a ;
263 91:__UG_NAME__ -> 92:b ;
264 115:__UG_NAME__ -> 116:a ;
265 135:__UG_NAME__ -> 136:a ;
266 139:__UG_NAME__ -> 140:b ;
267 140:__UG_NAME__ -> 144:a ;
268 143:__UG_NAME__ -> 144:b ;
269 44:__UG_NAME__ -> 48:a ;
270 47:__UG_NAME__ -> 48:b ;
271 48:__UG_NAME__ -> 52:a ;
272 51:__UG_NAME__ -> 52:b ;
273 54:__UG_NAME__ -> 58:a ;
274 57:__UG_NAME__ -> 58:b ;
275 58:__UG_NAME__ -> 62:a ;
276 61:__UG_NAME__ -> 62:b ;
277 65:__UG_NAME__ -> 66:a ;
278 69:__UG_NAME__ -> 73:a ;
279 72:__UG_NAME__ -> 73:b ;
280 73:__UG_NAME__ -> 77:a ;
281 76:__UG_NAME__ -> 77:b ;
282 65:__UG_NAME__ -> 82:a ;
283 36:__UG_NAME__ -> 84:a ;
284 93:__UG_NAME__ -> 97:a ;
285 96:__UG_NAME__ -> 97:b ;
286 97:__UG_NAME__ -> 101:a ;
287 100:__UG_NAME__ -> 101:b ;
288 103:__UG_NAME__ -> 107:a ;
289 106:__UG_NAME__ -> 107:b ;
290 107:__UG_NAME__ -> 111:a ;
291 110:__UG_NAME__ -> 111:b ;
292 102:__UG_NAME__ -> 113:a ;
293 112:__UG_NAME__ -> 113:b ;
294 121:__UG_NAME__ -> 125:a ;
295 124:__UG_NAME__ -> 125:b ;
296 125:__UG_NAME__ -> 129:a ;
297 128:__UG_NAME__ -> 129:b ;
298 118:__UG_NAME__ -> 132:a ;
299 131:__UG_NAME__ -> 132:b ;
300 120:__UG_NAME__ -> 135:a ;
301 134:__UG_NAME__ -> 135:b ;
302 145:__UG_NAME__ -> 149:a ;
303 148:__UG_NAME__ -> 149:b ;
304 149:__UG_NAME__ -> 153:a ;
305 152:__UG_NAME__ -> 153:b ;
306 155:__UG_NAME__ -> 158:a ;
307 157:__UG_NAME__ -> 158:b ;
308 158:__UG_NAME__ -> 162:a ;
309 161:__UG_NAME__ -> 162:b ;
310 80:__UG_NAME__ -> 81:a ;
311 90:__UG_NAME__ -> 91:a ;
312 113:__UG_NAME__ -> 114:a ;
313 112:__UG_NAME__ -> 114:b ;
314 112:__UG_NAME__ -> 117:a ;
315 116:__UG_NAME__ -> 117:b ;
316 63:__UG_NAME__ -> 64:b ;
317 114:__UG_NAME__ -> 115:a ;
318 17:__UG_NAME__ -> 137:b ;
319 46:__UG_NAME__ -> 47:a ;
320 50:__UG_NAME__ -> 51:a ;
321 56:__UG_NAME__ -> 57:a ;
322 60:__UG_NAME__ -> 61:a ;
323 71:__UG_NAME__ -> 72:a ;
324 75:__UG_NAME__ -> 76:a ;
325 38:__UG_NAME__ -> 89:a ;
326 95:__UG_NAME__ -> 96:a ;
327 99:__UG_NAME__ -> 100:a ;
328 105:__UG_NAME__ -> 106:a ;
329 109:__UG_NAME__ -> 110:a ;
330 123:__UG_NAME__ -> 124:a ;
331 127:__UG_NAME__ -> 128:a ;
332 147:__UG_NAME__ -> 148:a ;
333 151:__UG_NAME__ -> 152:a ;
334 156:__UG_NAME__ -> 157:a ;
335 160:__UG_NAME__ -> 161:a ;
336 45:__UG_NAME__ -> 46:a ;
337 49:__UG_NAME__ -> 50:a ;
338 55:__UG_NAME__ -> 56:a ;
339 59:__UG_NAME__ -> 60:a ;
340 70:__UG_NAME__ -> 71:a ;
341 74:__UG_NAME__ -> 75:a ;
342 94:__UG_NAME__ -> 95:a ;
343 98:__UG_NAME__ -> 99:a ;
344 104:__UG_NAME__ -> 105:a ;
345 108:__UG_NAME__ -> 109:a ;
346 122:__UG_NAME__ -> 123:a ;
347 126:__UG_NAME__ -> 127:a ;
348 146:__UG_NAME__ -> 147:a ;
349 150:__UG_NAME__ -> 151:a ;
350 130:__UG_NAME__ -> 156:a ;
351 159:__UG_NAME__ -> 160:a ;
352 20:__UG_NAME__ -> 53:envelope___control___0 ;
353 20:__UG_NAME__ -> 53:envelope___control___4 ;
354 21:__UG_NAME__ -> 53:envelope___control___5 ;
355 22:__UG_NAME__ -> 53:envelope___control___6 ;
356 23:__UG_NAME__ -> 53:envelope___control___7 ;
357 52:__UG_NAME__ -> 53:gate ;
358 24:__UG_NAME__ -> 63:envelope___control___0 ;
359 24:__UG_NAME__ -> 63:envelope___control___4 ;
360 25:__UG_NAME__ -> 63:envelope___control___5 ;
361 26:__UG_NAME__ -> 63:envelope___control___6 ;
362 27:__UG_NAME__ -> 63:envelope___control___7 ;
363 62:__UG_NAME__ -> 63:gate ;
364 32:__UG_NAME__ -> 78:envelope___control___0 ;
365 32:__UG_NAME__ -> 78:envelope___control___4 ;
366 33:__UG_NAME__ -> 78:envelope___control___5 ;
367 34:__UG_NAME__ -> 78:envelope___control___6 ;
368 35:__UG_NAME__ -> 78:envelope___control___7 ;
369 77:__UG_NAME__ -> 78:gate ;
370 28:__UG_NAME__ -> 102:envelope___control___0 ;
371 28:__UG_NAME__ -> 102:envelope___control___4 ;
372 29:__UG_NAME__ -> 102:envelope___control___5 ;
373 101:__UG_NAME__ -> 102:gate ;
374 0:__UG_NAME__ -> 112:envelope___control___0 ;
375 0:__UG_NAME__ -> 112:envelope___control___4 ;
376 1:__UG_NAME__ -> 112:envelope___control___5 ;
377 2:__UG_NAME__ -> 112:envelope___control___6 ;
378 3:__UG_NAME__ -> 112:envelope___control___7 ;
379 111:__UG_NAME__ -> 112:gate ;
380 39:__UG_NAME__ -> 131:envelope___control___0 ;
381 39:__UG_NAME__ -> 131:envelope___control___4 ;
382 40:__UG_NAME__ -> 131:envelope___control___5 ;
383 41:__UG_NAME__ -> 131:envelope___control___6 ;
384 42:__UG_NAME__ -> 131:envelope___control___7 ;
385 129:__UG_NAME__ -> 131:gate ;
386 16:__UG_NAME__ -> 139:envelope___control___4 ;
387 12:__UG_NAME__ -> 139:envelope___control___5 ;
388 19:__UG_NAME__ -> 139:envelope___control___6 ;
389 138:__UG_NAME__ -> 139:envelope___select___8 ;
390 13:__UG_NAME__ -> 139:envelope___control___9 ;
391 19:__UG_NAME__ -> 139:envelope___control___10 ;
392 18:__UG_NAME__ -> 139:envelope___control___12 ;
393 14:__UG_NAME__ -> 139:envelope___control___13 ;
394 19:__UG_NAME__ -> 139:envelope___control___14 ;
395 15:__UG_NAME__ -> 139:envelope___control___17 ;
396 19:__UG_NAME__ -> 139:envelope___control___18 ;
397 8:__UG_NAME__ -> 154:envelope___control___0 ;
398 8:__UG_NAME__ -> 154:envelope___control___4 ;
399 9:__UG_NAME__ -> 154:envelope___control___5 ;
400 10:__UG_NAME__ -> 154:envelope___control___6 ;
401 11:__UG_NAME__ -> 154:envelope___control___7 ;
402 153:__UG_NAME__ -> 154:gate ;
403 4:__UG_NAME__ -> 163:envelope___control___0 ;
404 4:__UG_NAME__ -> 163:envelope___control___4 ;
405 5:__UG_NAME__ -> 163:envelope___control___5 ;
406 6:__UG_NAME__ -> 163:envelope___control___6 ;
407 7:__UG_NAME__ -> 163:envelope___control___7 ;
408 162:__UG_NAME__ -> 163:gate ;
409 20:__UG_NAME__ -> 45:in ;
410 21:__UG_NAME__ -> 49:in ;
411 24:__UG_NAME__ -> 55:in ;
412 25:__UG_NAME__ -> 59:in ;
413 32:__UG_NAME__ -> 70:in ;
414 33:__UG_NAME__ -> 74:in ;
415 28:__UG_NAME__ -> 94:in ;
416 29:__UG_NAME__ -> 98:in ;
417 0:__UG_NAME__ -> 104:in ;
418 1:__UG_NAME__ -> 108:in ;
419 39:__UG_NAME__ -> 122:in ;
420 40:__UG_NAME__ -> 126:in ;
421 4:__UG_NAME__ -> 130:in ;
422 8:__UG_NAME__ -> 146:in ;
423 9:__UG_NAME__ -> 150:in ;
424 5:__UG_NAME__ -> 159:in ;
425 64:__UG_NAME__ -> 79:freq ;
426 36:__UG_NAME__ -> 79:iphase ;
427 78:__UG_NAME__ -> 79:width ;
428 64:__UG_NAME__ -> 67:freq ;
429 66:__UG_NAME__ -> 67:iphase ;
430 64:__UG_NAME__ -> 83:freq ;
431 82:__UG_NAME__ -> 83:iphase ;
432 136:__UG_NAME__ -> 142:in ;
433 141:__UG_NAME__ -> 142:freq ;
434 118:__UG_NAME__ -> 119:a ;
435 132:__UG_NAME__ -> 133:a ;
436 53:__UG_NAME__ -> 141:a ;
437 92:__UG_NAME__ -> 118:in ;
438 115:__UG_NAME__ -> 118:mul ;
439 117:__UG_NAME__ -> 118:add ;
440 142:__UG_NAME__ -> 143:in ;
441 43:__UG_NAME__ -> 165:bus ;
442 164:__UG_NAME__ -> 165:signals___pan2___0 ;
443 164:__UG_NAME__ -> 165:signals___pan2___1 ;
444 144:__UG_NAME__ -> 164:in ;
445 154:__UG_NAME__ -> 164:pos ;
446 163:__UG_NAME__ -> 164:level ;
447 119:__UG_NAME__ -> 120:freq ;
448 133:__UG_NAME__ -> 134:freq ;
449 37:__UG_NAME__ -> 87:which ;
450 68:__UG_NAME__ -> 87:array___binary____op____u____gen___0 ;
451 81:__UG_NAME__ -> 87:array___binary____op____u____gen___1 ;
452 83:__UG_NAME__ -> 87:array___lf____tri___2 ;
453 86:__UG_NAME__ -> 87:array___sin____osc___3 ;
454 137:__UG_NAME__ -> 138:which ;
455 17:__UG_NAME__ -> 138:array___control___0 ;
456 18:__UG_NAME__ -> 138:array___control___1 ;
457 64:__UG_NAME__ -> 86:freq ;
458 85:__UG_NAME__ -> 86:phase ;
459
460 }
0 digraph synthdef {
1 99 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 102 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 114 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 119 [label = "{{ <b> 6.2831855|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 122 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 124 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 126 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 128 [label = "{{ <b> -1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 142 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 143 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
11 146 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
12 161 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
13 165 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
14 53 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 57 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 63 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 68 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 72 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 78 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 82 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 84 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 96 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 100 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 107 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 111 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 116 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 118 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 136 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 140 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 147 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
31 153 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 157 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 168 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 169 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
35 175 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
36 176 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
37 85 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
38 115 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
39 125 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
40 129 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
41 98 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
42 127 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
43 144 [label = "{{ <b> |<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
44 48 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
45 52 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 56 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 62 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 67 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 71 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 77 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 81 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 88 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 95 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 106 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 110 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 123 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 135 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
58 139 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
59 152 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
60 156 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
61 164 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
62 167 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
63 174 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
64 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 55 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
66 61 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
67 66 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
68 70 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
69 76 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
70 80 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
71 87 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
72 90 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
73 94 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
74 105 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
75 109 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
76 134 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
77 138 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
78 151 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
79 155 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
80 163 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
81 173 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
82 0 [label = "control
83 :note
84 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 1 [label = "control
86 :note_slide
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 2 [label = "control
89 :note_slide_shape
90 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 3 [label = "control
92 :note_slide_curve
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 4 [label = "control
95 :amp
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 5 [label = "control
98 :amp_slide
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 6 [label = "control
101 :amp_slide_shape
102 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 7 [label = "control
104 :amp_slide_curve
105 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 8 [label = "control
107 :pan
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 9 [label = "control
110 :pan_slide
111 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 10 [label = "control
113 :pan_slide_shape
114 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 11 [label = "control
116 :pan_slide_curve
117 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 12 [label = "control
119 :attack
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 13 [label = "control
122 :decay
123 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 14 [label = "control
125 :sustain
126 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 15 [label = "control
128 :release
129 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 16 [label = "control
131 :attack_level
132 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 17 [label = "control
134 :decay_level
135 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 18 [label = "control
137 :sustain_level
138 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 19 [label = "control
140 :env_curve
141 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
142 20 [label = "control
143 :cutoff
144 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
145 21 [label = "control
146 :cutoff_slide
147 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
148 22 [label = "control
149 :cutoff_slide_shape
150 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
151 23 [label = "control
152 :cutoff_slide_curve
153 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
154 24 [label = "control
155 :mod_phase
156 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
157 25 [label = "control
158 :mod_phase_slide
159 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
160 26 [label = "control
161 :mod_phase_slide_shape
162 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
163 27 [label = "control
164 :mod_phase_slide_curve
165 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
166 28 [label = "control
167 :mod_range
168 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
169 29 [label = "control
170 :mod_range_slide
171 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
172 30 [label = "control
173 :mod_range_slide_shape
174 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
175 31 [label = "control
176 :mod_range_slide_curve
177 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
178 32 [label = "control
179 :mod_pulse_width
180 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
181 33 [label = "control
182 :mod_pulse_width_slide
183 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
184 34 [label = "control
185 :mod_pulse_width_slide_shape
186 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
187 35 [label = "control
188 :mod_pulse_width_slide_curve
189 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
190 36 [label = "control
191 :mod_phase_offset
192 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
193 37 [label = "control
194 :mod_wave
195 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
196 38 [label = "control
197 :mod_invert_wave
198 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
199 39 [label = "control
200 :divisor
201 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
202 40 [label = "control
203 :divisor_slide
204 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
205 41 [label = "control
206 :divisor_slide_shape
207 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
208 42 [label = "control
209 :divisor_slide_curve
210 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
211 43 [label = "control
212 :depth
213 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
214 44 [label = "control
215 :depth_slide
216 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
217 45 [label = "control
218 :depth_slide_shape
219 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
220 46 [label = "control
221 :depth_slide_curve
222 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
223 47 [label = "control
224 :out_bus
225 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
226 58 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
227 73 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
228 83 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
229 92 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
230 97 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
231 112 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
232 141 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
233 158 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
234 170 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
235 177 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
236 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
237 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
238 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
239 65 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
240 69 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
241 75 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
242 79 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
243 86 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
244 89 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
245 93 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
246 104 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
247 108 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
248 133 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
249 137 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
250 150 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
251 154 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
252 162 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
253 172 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
254 49 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
255 59 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
256 64 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
257 74 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
258 103 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
259 132 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
260 149 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
261 166 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
262 171 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
263 113 [label = "{{ <width> width|<iphase> iphase|<freq> freq} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
264 101 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
265 117 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
266 160 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
267 131 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
268 159 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
269 130 [label = "{{ <add> add|<mul> mul|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
270 179 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
271 178 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
272 91 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
273 121 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
274 120 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase|<freq> freq} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
275 145 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
276 148 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
277
278 36:__UG_NAME__ -> 99:b ;
279 101:__UG_NAME__ -> 102:b ;
280 113:__UG_NAME__ -> 114:b ;
281 118:__UG_NAME__ -> 119:a ;
282 121:__UG_NAME__ -> 122:b ;
283 123:__UG_NAME__ -> 124:b ;
284 122:__UG_NAME__ -> 126:a ;
285 125:__UG_NAME__ -> 126:b ;
286 127:__UG_NAME__ -> 128:a ;
287 131:__UG_NAME__ -> 142:a ;
288 141:__UG_NAME__ -> 142:b ;
289 92:__UG_NAME__ -> 143:a ;
290 142:__UG_NAME__ -> 143:b ;
291 143:__UG_NAME__ -> 146:a ;
292 145:__UG_NAME__ -> 146:b ;
293 92:__UG_NAME__ -> 161:a ;
294 160:__UG_NAME__ -> 161:b ;
295 161:__UG_NAME__ -> 165:b ;
296 49:__UG_NAME__ -> 53:a ;
297 52:__UG_NAME__ -> 53:b ;
298 53:__UG_NAME__ -> 57:a ;
299 56:__UG_NAME__ -> 57:b ;
300 59:__UG_NAME__ -> 63:a ;
301 62:__UG_NAME__ -> 63:b ;
302 64:__UG_NAME__ -> 68:a ;
303 67:__UG_NAME__ -> 68:b ;
304 68:__UG_NAME__ -> 72:a ;
305 71:__UG_NAME__ -> 72:b ;
306 74:__UG_NAME__ -> 78:a ;
307 77:__UG_NAME__ -> 78:b ;
308 78:__UG_NAME__ -> 82:a ;
309 81:__UG_NAME__ -> 82:b ;
310 73:__UG_NAME__ -> 84:a ;
311 83:__UG_NAME__ -> 84:b ;
312 63:__UG_NAME__ -> 96:a ;
313 95:__UG_NAME__ -> 96:b ;
314 99:__UG_NAME__ -> 100:a ;
315 103:__UG_NAME__ -> 107:a ;
316 106:__UG_NAME__ -> 107:b ;
317 107:__UG_NAME__ -> 111:a ;
318 110:__UG_NAME__ -> 111:b ;
319 99:__UG_NAME__ -> 116:a ;
320 36:__UG_NAME__ -> 118:a ;
321 132:__UG_NAME__ -> 136:a ;
322 135:__UG_NAME__ -> 136:b ;
323 136:__UG_NAME__ -> 140:a ;
324 139:__UG_NAME__ -> 140:b ;
325 131:__UG_NAME__ -> 147:a ;
326 146:__UG_NAME__ -> 147:b ;
327 149:__UG_NAME__ -> 153:a ;
328 152:__UG_NAME__ -> 153:b ;
329 153:__UG_NAME__ -> 157:a ;
330 156:__UG_NAME__ -> 157:b ;
331 166:__UG_NAME__ -> 168:a ;
332 167:__UG_NAME__ -> 168:b ;
333 168:__UG_NAME__ -> 169:a ;
334 88:__UG_NAME__ -> 169:b ;
335 171:__UG_NAME__ -> 175:a ;
336 174:__UG_NAME__ -> 175:b ;
337 175:__UG_NAME__ -> 176:a ;
338 164:__UG_NAME__ -> 176:b ;
339 84:__UG_NAME__ -> 85:a ;
340 83:__UG_NAME__ -> 85:b ;
341 114:__UG_NAME__ -> 115:a ;
342 124:__UG_NAME__ -> 125:a ;
343 83:__UG_NAME__ -> 129:a ;
344 128:__UG_NAME__ -> 129:b ;
345 97:__UG_NAME__ -> 98:b ;
346 85:__UG_NAME__ -> 127:a ;
347 131:__UG_NAME__ -> 144:a ;
348 58:__UG_NAME__ -> 144:b ;
349 17:__UG_NAME__ -> 48:b ;
350 51:__UG_NAME__ -> 52:a ;
351 55:__UG_NAME__ -> 56:a ;
352 61:__UG_NAME__ -> 62:a ;
353 66:__UG_NAME__ -> 67:a ;
354 70:__UG_NAME__ -> 71:a ;
355 76:__UG_NAME__ -> 77:a ;
356 80:__UG_NAME__ -> 81:a ;
357 87:__UG_NAME__ -> 88:a ;
358 94:__UG_NAME__ -> 95:a ;
359 105:__UG_NAME__ -> 106:a ;
360 109:__UG_NAME__ -> 110:a ;
361 38:__UG_NAME__ -> 123:a ;
362 134:__UG_NAME__ -> 135:a ;
363 138:__UG_NAME__ -> 139:a ;
364 151:__UG_NAME__ -> 152:a ;
365 155:__UG_NAME__ -> 156:a ;
366 163:__UG_NAME__ -> 164:a ;
367 90:__UG_NAME__ -> 167:a ;
368 173:__UG_NAME__ -> 174:a ;
369 50:__UG_NAME__ -> 51:a ;
370 54:__UG_NAME__ -> 55:a ;
371 60:__UG_NAME__ -> 61:a ;
372 65:__UG_NAME__ -> 66:a ;
373 69:__UG_NAME__ -> 70:a ;
374 75:__UG_NAME__ -> 76:a ;
375 79:__UG_NAME__ -> 80:a ;
376 86:__UG_NAME__ -> 87:a ;
377 89:__UG_NAME__ -> 90:a ;
378 93:__UG_NAME__ -> 94:a ;
379 104:__UG_NAME__ -> 105:a ;
380 108:__UG_NAME__ -> 109:a ;
381 133:__UG_NAME__ -> 134:a ;
382 137:__UG_NAME__ -> 138:a ;
383 150:__UG_NAME__ -> 151:a ;
384 154:__UG_NAME__ -> 155:a ;
385 162:__UG_NAME__ -> 163:a ;
386 172:__UG_NAME__ -> 173:a ;
387 39:__UG_NAME__ -> 58:envelope___control___0 ;
388 39:__UG_NAME__ -> 58:envelope___control___4 ;
389 40:__UG_NAME__ -> 58:envelope___control___5 ;
390 41:__UG_NAME__ -> 58:envelope___control___6 ;
391 42:__UG_NAME__ -> 58:envelope___control___7 ;
392 57:__UG_NAME__ -> 58:gate ;
393 28:__UG_NAME__ -> 73:envelope___control___0 ;
394 28:__UG_NAME__ -> 73:envelope___control___4 ;
395 29:__UG_NAME__ -> 73:envelope___control___5 ;
396 30:__UG_NAME__ -> 73:envelope___control___6 ;
397 31:__UG_NAME__ -> 73:envelope___control___7 ;
398 72:__UG_NAME__ -> 73:gate ;
399 0:__UG_NAME__ -> 83:envelope___control___0 ;
400 0:__UG_NAME__ -> 83:envelope___control___4 ;
401 1:__UG_NAME__ -> 83:envelope___control___5 ;
402 2:__UG_NAME__ -> 83:envelope___control___6 ;
403 3:__UG_NAME__ -> 83:envelope___control___7 ;
404 82:__UG_NAME__ -> 83:gate ;
405 16:__UG_NAME__ -> 92:envelope___control___4 ;
406 12:__UG_NAME__ -> 92:envelope___control___5 ;
407 19:__UG_NAME__ -> 92:envelope___control___6 ;
408 91:__UG_NAME__ -> 92:envelope___select___8 ;
409 13:__UG_NAME__ -> 92:envelope___control___9 ;
410 19:__UG_NAME__ -> 92:envelope___control___10 ;
411 18:__UG_NAME__ -> 92:envelope___control___12 ;
412 14:__UG_NAME__ -> 92:envelope___control___13 ;
413 19:__UG_NAME__ -> 92:envelope___control___14 ;
414 15:__UG_NAME__ -> 92:envelope___control___17 ;
415 19:__UG_NAME__ -> 92:envelope___control___18 ;
416 24:__UG_NAME__ -> 97:envelope___control___0 ;
417 24:__UG_NAME__ -> 97:envelope___control___4 ;
418 25:__UG_NAME__ -> 97:envelope___control___5 ;
419 26:__UG_NAME__ -> 97:envelope___control___6 ;
420 27:__UG_NAME__ -> 97:envelope___control___7 ;
421 96:__UG_NAME__ -> 97:gate ;
422 32:__UG_NAME__ -> 112:envelope___control___0 ;
423 32:__UG_NAME__ -> 112:envelope___control___4 ;
424 33:__UG_NAME__ -> 112:envelope___control___5 ;
425 34:__UG_NAME__ -> 112:envelope___control___6 ;
426 35:__UG_NAME__ -> 112:envelope___control___7 ;
427 111:__UG_NAME__ -> 112:gate ;
428 43:__UG_NAME__ -> 141:envelope___control___0 ;
429 43:__UG_NAME__ -> 141:envelope___control___4 ;
430 44:__UG_NAME__ -> 141:envelope___control___5 ;
431 45:__UG_NAME__ -> 141:envelope___control___6 ;
432 46:__UG_NAME__ -> 141:envelope___control___7 ;
433 140:__UG_NAME__ -> 141:gate ;
434 20:__UG_NAME__ -> 158:envelope___control___0 ;
435 20:__UG_NAME__ -> 158:envelope___control___4 ;
436 21:__UG_NAME__ -> 158:envelope___control___5 ;
437 22:__UG_NAME__ -> 158:envelope___control___6 ;
438 23:__UG_NAME__ -> 158:envelope___control___7 ;
439 157:__UG_NAME__ -> 158:gate ;
440 8:__UG_NAME__ -> 170:envelope___control___0 ;
441 8:__UG_NAME__ -> 170:envelope___control___4 ;
442 9:__UG_NAME__ -> 170:envelope___control___5 ;
443 10:__UG_NAME__ -> 170:envelope___control___6 ;
444 11:__UG_NAME__ -> 170:envelope___control___7 ;
445 169:__UG_NAME__ -> 170:gate ;
446 4:__UG_NAME__ -> 177:envelope___control___0 ;
447 4:__UG_NAME__ -> 177:envelope___control___4 ;
448 5:__UG_NAME__ -> 177:envelope___control___5 ;
449 6:__UG_NAME__ -> 177:envelope___control___6 ;
450 7:__UG_NAME__ -> 177:envelope___control___7 ;
451 176:__UG_NAME__ -> 177:gate ;
452 39:__UG_NAME__ -> 50:in ;
453 40:__UG_NAME__ -> 54:in ;
454 24:__UG_NAME__ -> 60:in ;
455 28:__UG_NAME__ -> 65:in ;
456 29:__UG_NAME__ -> 69:in ;
457 0:__UG_NAME__ -> 75:in ;
458 1:__UG_NAME__ -> 79:in ;
459 9:__UG_NAME__ -> 86:in ;
460 8:__UG_NAME__ -> 89:in ;
461 25:__UG_NAME__ -> 93:in ;
462 32:__UG_NAME__ -> 104:in ;
463 33:__UG_NAME__ -> 108:in ;
464 43:__UG_NAME__ -> 133:in ;
465 44:__UG_NAME__ -> 137:in ;
466 20:__UG_NAME__ -> 150:in ;
467 21:__UG_NAME__ -> 154:in ;
468 5:__UG_NAME__ -> 162:in ;
469 4:__UG_NAME__ -> 172:in ;
470 98:__UG_NAME__ -> 113:freq ;
471 36:__UG_NAME__ -> 113:iphase ;
472 112:__UG_NAME__ -> 113:width ;
473 98:__UG_NAME__ -> 101:freq ;
474 100:__UG_NAME__ -> 101:iphase ;
475 98:__UG_NAME__ -> 117:freq ;
476 116:__UG_NAME__ -> 117:iphase ;
477 148:__UG_NAME__ -> 160:in ;
478 159:__UG_NAME__ -> 160:freq ;
479 130:__UG_NAME__ -> 131:a ;
480 158:__UG_NAME__ -> 159:a ;
481 126:__UG_NAME__ -> 130:in ;
482 127:__UG_NAME__ -> 130:mul ;
483 129:__UG_NAME__ -> 130:add ;
484 47:__UG_NAME__ -> 179:bus ;
485 178:__UG_NAME__ -> 179:signals___pan2___0 ;
486 178:__UG_NAME__ -> 179:signals___pan2___1 ;
487 165:__UG_NAME__ -> 178:in ;
488 170:__UG_NAME__ -> 178:pos ;
489 177:__UG_NAME__ -> 178:level ;
490 48:__UG_NAME__ -> 91:which ;
491 17:__UG_NAME__ -> 91:array___control___0 ;
492 18:__UG_NAME__ -> 91:array___control___1 ;
493 37:__UG_NAME__ -> 121:which ;
494 102:__UG_NAME__ -> 121:array___binary____op____u____gen___0 ;
495 115:__UG_NAME__ -> 121:array___binary____op____u____gen___1 ;
496 117:__UG_NAME__ -> 121:array___lf____tri___2 ;
497 120:__UG_NAME__ -> 121:array___sin____osc___3 ;
498 98:__UG_NAME__ -> 120:freq ;
499 119:__UG_NAME__ -> 120:phase ;
500 144:__UG_NAME__ -> 145:freq ;
501 147:__UG_NAME__ -> 148:freq ;
502
503 }
0 digraph synthdef {
1 70 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 73 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 82 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 86 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 88 [label = "{{ <b> 6.2831855|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 91 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 92 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 113 [label = "{{ <b> -1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 141 [label = "{{ <b> |<a> 0.8} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 143 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 56 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 63 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 67 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 74 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 80 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 84 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 87 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 97 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 100 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 106 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 108 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 110 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 121 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 123 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 130 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 134 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 154 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 155 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 157 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 71 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
32 83 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
33 111 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
34 114 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
35 58 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
36 112 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
37 138 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
38 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 55 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 62 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 66 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 79 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 81 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 96 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 99 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 105 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 107 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 120 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 122 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 129 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 133 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 146 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 151 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 153 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 50 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 52 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 54 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 61 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 65 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 78 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 95 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 98 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 104 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 119 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
66 128 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
67 132 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
68 145 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
69 148 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
70 150 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
71 0 [label = "control
72 :note
73 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 1 [label = "control
75 :note_slide
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 2 [label = "control
78 :note_slide_shape
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 3 [label = "control
81 :note_slide_curve
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 4 [label = "control
84 :amp
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 5 [label = "control
87 :amp_slide
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 6 [label = "control
90 :amp_slide_shape
91 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 7 [label = "control
93 :amp_slide_curve
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 8 [label = "control
96 :pan
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 9 [label = "control
99 :pan_slide
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 10 [label = "control
102 :pan_slide_shape
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 11 [label = "control
105 :pan_slide_curve
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 12 [label = "control
108 :attack
109 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 13 [label = "control
111 :decay
112 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 14 [label = "control
114 :sustain
115 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 15 [label = "control
117 :release
118 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 16 [label = "control
120 :attack_level
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 17 [label = "control
123 :decay_level
124 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 18 [label = "control
126 :sustain_level
127 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 19 [label = "control
129 :env_curve
130 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 20 [label = "control
132 :cutoff
133 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 21 [label = "control
135 :cutoff_slide
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 22 [label = "control
138 :cutoff_slide_shape
139 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 23 [label = "control
141 :cutoff_slide_curve
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 24 [label = "control
144 :mod_phase
145 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 25 [label = "control
147 :mod_phase_slide
148 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 26 [label = "control
150 :mod_phase_slide_shape
151 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 27 [label = "control
153 :mod_phase_slide_curve
154 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 28 [label = "control
156 :mod_range
157 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 29 [label = "control
159 :mod_range_slide
160 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 30 [label = "control
162 :mod_range_slide_shape
163 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 31 [label = "control
165 :mod_range_slide_curve
166 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
167 32 [label = "control
168 :mod_pulse_width
169 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
170 33 [label = "control
171 :mod_pulse_width_slide
172 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
173 34 [label = "control
174 :mod_pulse_width_slide_shape
175 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
176 35 [label = "control
177 :mod_pulse_width_slide_curve
178 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
179 36 [label = "control
180 :mod_phase_offset
181 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
182 37 [label = "control
183 :mod_wave
184 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
185 38 [label = "control
186 :mod_invert_wave
187 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
188 39 [label = "control
189 :pulse_width
190 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
191 40 [label = "control
192 :pulse_width_slide
193 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
194 41 [label = "control
195 :pulse_width_slide_shape
196 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
197 42 [label = "control
198 :pulse_width_slide_curve
199 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
200 43 [label = "control
201 :out_bus
202 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
203 57 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
204 68 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
205 101 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
206 109 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
207 124 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
208 135 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
209 140 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
210 156 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
211 158 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
212 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
213 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
214 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
215 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
216 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
217 64 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
218 72 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
219 77 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
220 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
221 103 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
222 118 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
223 127 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
224 131 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
225 144 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
226 147 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
227 149 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
228 44 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
229 59 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
230 76 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
231 93 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
232 102 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
233 117 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
234 126 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
235 152 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
236 69 [label = "{{ <width> width|<iphase> iphase|<freq> freq} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
237 85 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
238 75 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
239 137 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
240 116 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
241 136 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
242 115 [label = "{{ <add> add|<mul> mul|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
243 142 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
244 160 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
245 159 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
246 125 [label = "{{ <width> width|<freq> freq} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
247 90 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
248 139 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
249 89 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase|<freq> freq} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
250
251 69:__UG_NAME__ -> 70:b ;
252 36:__UG_NAME__ -> 73:b ;
253 81:__UG_NAME__ -> 82:b ;
254 85:__UG_NAME__ -> 86:b ;
255 87:__UG_NAME__ -> 88:a ;
256 90:__UG_NAME__ -> 91:b ;
257 91:__UG_NAME__ -> 92:a ;
258 83:__UG_NAME__ -> 92:b ;
259 112:__UG_NAME__ -> 113:a ;
260 140:__UG_NAME__ -> 141:b ;
261 141:__UG_NAME__ -> 143:a ;
262 142:__UG_NAME__ -> 143:b ;
263 44:__UG_NAME__ -> 48:a ;
264 47:__UG_NAME__ -> 48:b ;
265 48:__UG_NAME__ -> 56:a ;
266 55:__UG_NAME__ -> 56:b ;
267 59:__UG_NAME__ -> 63:a ;
268 62:__UG_NAME__ -> 63:b ;
269 63:__UG_NAME__ -> 67:a ;
270 66:__UG_NAME__ -> 67:b ;
271 73:__UG_NAME__ -> 74:a ;
272 76:__UG_NAME__ -> 80:a ;
273 79:__UG_NAME__ -> 80:b ;
274 73:__UG_NAME__ -> 84:a ;
275 36:__UG_NAME__ -> 87:a ;
276 93:__UG_NAME__ -> 97:a ;
277 96:__UG_NAME__ -> 97:b ;
278 97:__UG_NAME__ -> 100:a ;
279 99:__UG_NAME__ -> 100:b ;
280 102:__UG_NAME__ -> 106:a ;
281 105:__UG_NAME__ -> 106:b ;
282 106:__UG_NAME__ -> 108:a ;
283 107:__UG_NAME__ -> 108:b ;
284 101:__UG_NAME__ -> 110:a ;
285 109:__UG_NAME__ -> 110:b ;
286 117:__UG_NAME__ -> 121:a ;
287 120:__UG_NAME__ -> 121:b ;
288 121:__UG_NAME__ -> 123:a ;
289 122:__UG_NAME__ -> 123:b ;
290 126:__UG_NAME__ -> 130:a ;
291 129:__UG_NAME__ -> 130:b ;
292 130:__UG_NAME__ -> 134:a ;
293 133:__UG_NAME__ -> 134:b ;
294 152:__UG_NAME__ -> 154:a ;
295 153:__UG_NAME__ -> 154:b ;
296 80:__UG_NAME__ -> 155:a ;
297 146:__UG_NAME__ -> 155:b ;
298 154:__UG_NAME__ -> 157:a ;
299 151:__UG_NAME__ -> 157:b ;
300 70:__UG_NAME__ -> 71:a ;
301 82:__UG_NAME__ -> 83:a ;
302 110:__UG_NAME__ -> 111:a ;
303 109:__UG_NAME__ -> 111:b ;
304 109:__UG_NAME__ -> 114:a ;
305 113:__UG_NAME__ -> 114:b ;
306 57:__UG_NAME__ -> 58:b ;
307 111:__UG_NAME__ -> 112:a ;
308 17:__UG_NAME__ -> 138:b ;
309 46:__UG_NAME__ -> 47:a ;
310 54:__UG_NAME__ -> 55:a ;
311 61:__UG_NAME__ -> 62:a ;
312 65:__UG_NAME__ -> 66:a ;
313 78:__UG_NAME__ -> 79:a ;
314 38:__UG_NAME__ -> 81:a ;
315 95:__UG_NAME__ -> 96:a ;
316 98:__UG_NAME__ -> 99:a ;
317 104:__UG_NAME__ -> 105:a ;
318 50:__UG_NAME__ -> 107:a ;
319 119:__UG_NAME__ -> 120:a ;
320 52:__UG_NAME__ -> 122:a ;
321 128:__UG_NAME__ -> 129:a ;
322 132:__UG_NAME__ -> 133:a ;
323 145:__UG_NAME__ -> 146:a ;
324 150:__UG_NAME__ -> 151:a ;
325 148:__UG_NAME__ -> 153:a ;
326 45:__UG_NAME__ -> 46:a ;
327 49:__UG_NAME__ -> 50:a ;
328 51:__UG_NAME__ -> 52:a ;
329 53:__UG_NAME__ -> 54:a ;
330 60:__UG_NAME__ -> 61:a ;
331 64:__UG_NAME__ -> 65:a ;
332 77:__UG_NAME__ -> 78:a ;
333 94:__UG_NAME__ -> 95:a ;
334 72:__UG_NAME__ -> 98:a ;
335 103:__UG_NAME__ -> 104:a ;
336 118:__UG_NAME__ -> 119:a ;
337 127:__UG_NAME__ -> 128:a ;
338 131:__UG_NAME__ -> 132:a ;
339 144:__UG_NAME__ -> 145:a ;
340 147:__UG_NAME__ -> 148:a ;
341 149:__UG_NAME__ -> 150:a ;
342 24:__UG_NAME__ -> 57:envelope___control___0 ;
343 24:__UG_NAME__ -> 57:envelope___control___4 ;
344 25:__UG_NAME__ -> 57:envelope___control___5 ;
345 26:__UG_NAME__ -> 57:envelope___control___6 ;
346 27:__UG_NAME__ -> 57:envelope___control___7 ;
347 56:__UG_NAME__ -> 57:gate ;
348 32:__UG_NAME__ -> 68:envelope___control___0 ;
349 32:__UG_NAME__ -> 68:envelope___control___4 ;
350 33:__UG_NAME__ -> 68:envelope___control___5 ;
351 34:__UG_NAME__ -> 68:envelope___control___6 ;
352 35:__UG_NAME__ -> 68:envelope___control___7 ;
353 67:__UG_NAME__ -> 68:gate ;
354 28:__UG_NAME__ -> 101:envelope___control___0 ;
355 28:__UG_NAME__ -> 101:envelope___control___4 ;
356 29:__UG_NAME__ -> 101:envelope___control___5 ;
357 30:__UG_NAME__ -> 101:envelope___control___6 ;
358 31:__UG_NAME__ -> 101:envelope___control___7 ;
359 100:__UG_NAME__ -> 101:gate ;
360 0:__UG_NAME__ -> 109:envelope___control___0 ;
361 0:__UG_NAME__ -> 109:envelope___control___4 ;
362 1:__UG_NAME__ -> 109:envelope___control___5 ;
363 2:__UG_NAME__ -> 109:envelope___control___6 ;
364 3:__UG_NAME__ -> 109:envelope___control___7 ;
365 108:__UG_NAME__ -> 109:gate ;
366 39:__UG_NAME__ -> 124:envelope___control___0 ;
367 39:__UG_NAME__ -> 124:envelope___control___4 ;
368 40:__UG_NAME__ -> 124:envelope___control___5 ;
369 41:__UG_NAME__ -> 124:envelope___control___6 ;
370 42:__UG_NAME__ -> 124:envelope___control___7 ;
371 123:__UG_NAME__ -> 124:gate ;
372 20:__UG_NAME__ -> 135:envelope___control___0 ;
373 20:__UG_NAME__ -> 135:envelope___control___4 ;
374 21:__UG_NAME__ -> 135:envelope___control___5 ;
375 22:__UG_NAME__ -> 135:envelope___control___6 ;
376 23:__UG_NAME__ -> 135:envelope___control___7 ;
377 134:__UG_NAME__ -> 135:gate ;
378 16:__UG_NAME__ -> 140:envelope___control___4 ;
379 12:__UG_NAME__ -> 140:envelope___control___5 ;
380 19:__UG_NAME__ -> 140:envelope___control___6 ;
381 139:__UG_NAME__ -> 140:envelope___select___8 ;
382 13:__UG_NAME__ -> 140:envelope___control___9 ;
383 19:__UG_NAME__ -> 140:envelope___control___10 ;
384 18:__UG_NAME__ -> 140:envelope___control___12 ;
385 14:__UG_NAME__ -> 140:envelope___control___13 ;
386 19:__UG_NAME__ -> 140:envelope___control___14 ;
387 15:__UG_NAME__ -> 140:envelope___control___17 ;
388 19:__UG_NAME__ -> 140:envelope___control___18 ;
389 8:__UG_NAME__ -> 156:envelope___control___0 ;
390 8:__UG_NAME__ -> 156:envelope___control___4 ;
391 9:__UG_NAME__ -> 156:envelope___control___5 ;
392 10:__UG_NAME__ -> 156:envelope___control___6 ;
393 11:__UG_NAME__ -> 156:envelope___control___7 ;
394 155:__UG_NAME__ -> 156:gate ;
395 4:__UG_NAME__ -> 158:envelope___control___0 ;
396 4:__UG_NAME__ -> 158:envelope___control___4 ;
397 5:__UG_NAME__ -> 158:envelope___control___5 ;
398 6:__UG_NAME__ -> 158:envelope___control___6 ;
399 7:__UG_NAME__ -> 158:envelope___control___7 ;
400 157:__UG_NAME__ -> 158:gate ;
401 24:__UG_NAME__ -> 45:in ;
402 1:__UG_NAME__ -> 49:in ;
403 40:__UG_NAME__ -> 51:in ;
404 25:__UG_NAME__ -> 53:in ;
405 32:__UG_NAME__ -> 60:in ;
406 33:__UG_NAME__ -> 64:in ;
407 29:__UG_NAME__ -> 72:in ;
408 8:__UG_NAME__ -> 77:in ;
409 28:__UG_NAME__ -> 94:in ;
410 0:__UG_NAME__ -> 103:in ;
411 39:__UG_NAME__ -> 118:in ;
412 20:__UG_NAME__ -> 127:in ;
413 21:__UG_NAME__ -> 131:in ;
414 9:__UG_NAME__ -> 144:in ;
415 4:__UG_NAME__ -> 147:in ;
416 5:__UG_NAME__ -> 149:in ;
417 58:__UG_NAME__ -> 69:freq ;
418 36:__UG_NAME__ -> 69:iphase ;
419 68:__UG_NAME__ -> 69:width ;
420 58:__UG_NAME__ -> 85:freq ;
421 84:__UG_NAME__ -> 85:iphase ;
422 58:__UG_NAME__ -> 75:freq ;
423 74:__UG_NAME__ -> 75:iphase ;
424 125:__UG_NAME__ -> 137:in ;
425 136:__UG_NAME__ -> 137:freq ;
426 115:__UG_NAME__ -> 116:a ;
427 135:__UG_NAME__ -> 136:a ;
428 92:__UG_NAME__ -> 115:in ;
429 112:__UG_NAME__ -> 115:mul ;
430 114:__UG_NAME__ -> 115:add ;
431 137:__UG_NAME__ -> 142:in ;
432 43:__UG_NAME__ -> 160:bus ;
433 159:__UG_NAME__ -> 160:signals___pan2___0 ;
434 159:__UG_NAME__ -> 160:signals___pan2___1 ;
435 143:__UG_NAME__ -> 159:in ;
436 156:__UG_NAME__ -> 159:pos ;
437 158:__UG_NAME__ -> 159:level ;
438 116:__UG_NAME__ -> 125:freq ;
439 124:__UG_NAME__ -> 125:width ;
440 37:__UG_NAME__ -> 90:which ;
441 86:__UG_NAME__ -> 90:array___binary____op____u____gen___0 ;
442 71:__UG_NAME__ -> 90:array___binary____op____u____gen___1 ;
443 75:__UG_NAME__ -> 90:array___lf____tri___2 ;
444 89:__UG_NAME__ -> 90:array___sin____osc___3 ;
445 138:__UG_NAME__ -> 139:which ;
446 17:__UG_NAME__ -> 139:array___control___0 ;
447 18:__UG_NAME__ -> 139:array___control___1 ;
448 58:__UG_NAME__ -> 89:freq ;
449 88:__UG_NAME__ -> 89:phase ;
450
451 }
0 digraph synthdef {
1 67 [label = "{{ <b> -1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 80 [label = "{{ <b> |<a> 0.8} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 92 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 95 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 102 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 107 [label = "{{ <b> 6.2831855|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 110 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 112 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 114 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 127 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 52 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 57 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 64 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 76 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 85 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 89 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 93 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 97 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 99 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 104 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 106 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 122 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 131 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 135 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 139 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 143 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 65 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
30 103 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
31 113 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
32 115 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
33 66 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
34 91 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
35 77 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
36 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 51 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 56 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 60 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 73 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 75 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 84 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 88 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 98 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 111 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 121 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 130 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 134 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 138 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 142 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 43 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 50 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 55 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 59 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 69 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 72 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 83 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 87 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 120 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 129 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 133 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 141 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 0 [label = "control
66 :note
67 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 1 [label = "control
69 :note_slide
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 2 [label = "control
72 :note_slide_shape
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 3 [label = "control
75 :note_slide_curve
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 4 [label = "control
78 :amp
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 5 [label = "control
81 :amp_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 6 [label = "control
84 :amp_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 7 [label = "control
87 :amp_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 8 [label = "control
90 :pan
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 9 [label = "control
93 :pan_slide
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 10 [label = "control
96 :pan_slide_shape
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 11 [label = "control
99 :pan_slide_curve
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 12 [label = "control
102 :attack
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 13 [label = "control
105 :decay
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 14 [label = "control
108 :sustain
109 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 15 [label = "control
111 :release
112 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 16 [label = "control
114 :attack_level
115 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 17 [label = "control
117 :decay_level
118 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 18 [label = "control
120 :sustain_level
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 19 [label = "control
123 :env_curve
124 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 20 [label = "control
126 :cutoff
127 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 21 [label = "control
129 :cutoff_slide
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 22 [label = "control
132 :cutoff_slide_shape
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 23 [label = "control
135 :cutoff_slide_curve
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 24 [label = "control
138 :mod_phase
139 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 25 [label = "control
141 :mod_phase_slide
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 26 [label = "control
144 :mod_phase_slide_shape
145 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 27 [label = "control
147 :mod_phase_slide_curve
148 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 28 [label = "control
150 :mod_range
151 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 29 [label = "control
153 :mod_range_slide
154 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 30 [label = "control
156 :mod_range_slide_shape
157 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 31 [label = "control
159 :mod_range_slide_curve
160 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 32 [label = "control
162 :mod_pulse_width
163 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 33 [label = "control
165 :mod_pulse_width_slide
166 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
167 34 [label = "control
168 :mod_pulse_width_slide_shape
169 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
170 35 [label = "control
171 :mod_pulse_width_slide_curve
172 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
173 36 [label = "control
174 :mod_phase_offset
175 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
176 37 [label = "control
177 :mod_wave
178 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
179 38 [label = "control
180 :mod_invert_wave
181 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
182 39 [label = "control
183 :out_bus
184 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
185 62 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
186 63 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
187 79 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
188 90 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
189 100 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
190 123 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
191 136 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
192 144 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
193 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
194 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
195 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
196 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
197 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
198 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
199 68 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
200 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
201 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
202 82 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
203 86 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
204 119 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
205 132 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
206 140 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
207 44 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
208 53 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
209 74 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
210 81 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
211 96 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
212 128 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
213 137 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
214 101 [label = "{{ <width> width|<iphase> iphase|<freq> freq} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
215 94 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
216 105 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
217 125 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
218 117 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
219 124 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
220 116 [label = "{{ <add> add|<mul> mul|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
221 126 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
222 146 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
223 145 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
224 118 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
225 78 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
226 109 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
227 108 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase|<freq> freq} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
228
229 66:__UG_NAME__ -> 67:a ;
230 79:__UG_NAME__ -> 80:b ;
231 36:__UG_NAME__ -> 92:b ;
232 94:__UG_NAME__ -> 95:b ;
233 101:__UG_NAME__ -> 102:b ;
234 106:__UG_NAME__ -> 107:a ;
235 109:__UG_NAME__ -> 110:b ;
236 111:__UG_NAME__ -> 112:b ;
237 110:__UG_NAME__ -> 114:a ;
238 113:__UG_NAME__ -> 114:b ;
239 80:__UG_NAME__ -> 127:a ;
240 126:__UG_NAME__ -> 127:b ;
241 44:__UG_NAME__ -> 48:a ;
242 47:__UG_NAME__ -> 48:b ;
243 48:__UG_NAME__ -> 52:a ;
244 51:__UG_NAME__ -> 52:b ;
245 53:__UG_NAME__ -> 57:a ;
246 56:__UG_NAME__ -> 57:b ;
247 57:__UG_NAME__ -> 61:a ;
248 60:__UG_NAME__ -> 61:b ;
249 62:__UG_NAME__ -> 64:a ;
250 63:__UG_NAME__ -> 64:b ;
251 74:__UG_NAME__ -> 76:a ;
252 75:__UG_NAME__ -> 76:b ;
253 81:__UG_NAME__ -> 85:a ;
254 84:__UG_NAME__ -> 85:b ;
255 85:__UG_NAME__ -> 89:a ;
256 88:__UG_NAME__ -> 89:b ;
257 92:__UG_NAME__ -> 93:a ;
258 96:__UG_NAME__ -> 97:a ;
259 73:__UG_NAME__ -> 97:b ;
260 97:__UG_NAME__ -> 99:a ;
261 98:__UG_NAME__ -> 99:b ;
262 92:__UG_NAME__ -> 104:a ;
263 36:__UG_NAME__ -> 106:a ;
264 76:__UG_NAME__ -> 122:a ;
265 121:__UG_NAME__ -> 122:b ;
266 128:__UG_NAME__ -> 131:a ;
267 130:__UG_NAME__ -> 131:b ;
268 131:__UG_NAME__ -> 135:a ;
269 134:__UG_NAME__ -> 135:b ;
270 137:__UG_NAME__ -> 139:a ;
271 138:__UG_NAME__ -> 139:b ;
272 139:__UG_NAME__ -> 143:a ;
273 142:__UG_NAME__ -> 143:b ;
274 64:__UG_NAME__ -> 65:a ;
275 63:__UG_NAME__ -> 65:b ;
276 102:__UG_NAME__ -> 103:a ;
277 112:__UG_NAME__ -> 113:a ;
278 63:__UG_NAME__ -> 115:a ;
279 67:__UG_NAME__ -> 115:b ;
280 65:__UG_NAME__ -> 66:a ;
281 90:__UG_NAME__ -> 91:b ;
282 17:__UG_NAME__ -> 77:b ;
283 46:__UG_NAME__ -> 47:a ;
284 50:__UG_NAME__ -> 51:a ;
285 55:__UG_NAME__ -> 56:a ;
286 59:__UG_NAME__ -> 60:a ;
287 72:__UG_NAME__ -> 73:a ;
288 69:__UG_NAME__ -> 75:a ;
289 83:__UG_NAME__ -> 84:a ;
290 87:__UG_NAME__ -> 88:a ;
291 41:__UG_NAME__ -> 98:a ;
292 38:__UG_NAME__ -> 111:a ;
293 120:__UG_NAME__ -> 121:a ;
294 129:__UG_NAME__ -> 130:a ;
295 133:__UG_NAME__ -> 134:a ;
296 43:__UG_NAME__ -> 138:a ;
297 141:__UG_NAME__ -> 142:a ;
298 40:__UG_NAME__ -> 41:a ;
299 42:__UG_NAME__ -> 43:a ;
300 45:__UG_NAME__ -> 46:a ;
301 49:__UG_NAME__ -> 50:a ;
302 54:__UG_NAME__ -> 55:a ;
303 58:__UG_NAME__ -> 59:a ;
304 68:__UG_NAME__ -> 69:a ;
305 71:__UG_NAME__ -> 72:a ;
306 82:__UG_NAME__ -> 83:a ;
307 86:__UG_NAME__ -> 87:a ;
308 119:__UG_NAME__ -> 120:a ;
309 70:__UG_NAME__ -> 129:a ;
310 132:__UG_NAME__ -> 133:a ;
311 140:__UG_NAME__ -> 141:a ;
312 28:__UG_NAME__ -> 62:envelope___control___0 ;
313 28:__UG_NAME__ -> 62:envelope___control___4 ;
314 29:__UG_NAME__ -> 62:envelope___control___5 ;
315 30:__UG_NAME__ -> 62:envelope___control___6 ;
316 31:__UG_NAME__ -> 62:envelope___control___7 ;
317 61:__UG_NAME__ -> 62:gate ;
318 0:__UG_NAME__ -> 63:envelope___control___0 ;
319 0:__UG_NAME__ -> 63:envelope___control___4 ;
320 1:__UG_NAME__ -> 63:envelope___control___5 ;
321 2:__UG_NAME__ -> 63:envelope___control___6 ;
322 3:__UG_NAME__ -> 63:envelope___control___7 ;
323 52:__UG_NAME__ -> 63:gate ;
324 16:__UG_NAME__ -> 79:envelope___control___4 ;
325 12:__UG_NAME__ -> 79:envelope___control___5 ;
326 19:__UG_NAME__ -> 79:envelope___control___6 ;
327 78:__UG_NAME__ -> 79:envelope___select___8 ;
328 13:__UG_NAME__ -> 79:envelope___control___9 ;
329 19:__UG_NAME__ -> 79:envelope___control___10 ;
330 18:__UG_NAME__ -> 79:envelope___control___12 ;
331 14:__UG_NAME__ -> 79:envelope___control___13 ;
332 19:__UG_NAME__ -> 79:envelope___control___14 ;
333 15:__UG_NAME__ -> 79:envelope___control___17 ;
334 19:__UG_NAME__ -> 79:envelope___control___18 ;
335 24:__UG_NAME__ -> 90:envelope___control___0 ;
336 24:__UG_NAME__ -> 90:envelope___control___4 ;
337 25:__UG_NAME__ -> 90:envelope___control___5 ;
338 26:__UG_NAME__ -> 90:envelope___control___6 ;
339 27:__UG_NAME__ -> 90:envelope___control___7 ;
340 89:__UG_NAME__ -> 90:gate ;
341 32:__UG_NAME__ -> 100:envelope___control___0 ;
342 32:__UG_NAME__ -> 100:envelope___control___4 ;
343 33:__UG_NAME__ -> 100:envelope___control___5 ;
344 34:__UG_NAME__ -> 100:envelope___control___6 ;
345 35:__UG_NAME__ -> 100:envelope___control___7 ;
346 99:__UG_NAME__ -> 100:gate ;
347 20:__UG_NAME__ -> 123:envelope___control___0 ;
348 20:__UG_NAME__ -> 123:envelope___control___4 ;
349 21:__UG_NAME__ -> 123:envelope___control___5 ;
350 22:__UG_NAME__ -> 123:envelope___control___6 ;
351 23:__UG_NAME__ -> 123:envelope___control___7 ;
352 122:__UG_NAME__ -> 123:gate ;
353 8:__UG_NAME__ -> 136:envelope___control___0 ;
354 8:__UG_NAME__ -> 136:envelope___control___4 ;
355 9:__UG_NAME__ -> 136:envelope___control___5 ;
356 10:__UG_NAME__ -> 136:envelope___control___6 ;
357 11:__UG_NAME__ -> 136:envelope___control___7 ;
358 135:__UG_NAME__ -> 136:gate ;
359 4:__UG_NAME__ -> 144:envelope___control___0 ;
360 4:__UG_NAME__ -> 144:envelope___control___4 ;
361 5:__UG_NAME__ -> 144:envelope___control___5 ;
362 6:__UG_NAME__ -> 144:envelope___control___6 ;
363 7:__UG_NAME__ -> 144:envelope___control___7 ;
364 143:__UG_NAME__ -> 144:gate ;
365 33:__UG_NAME__ -> 40:in ;
366 4:__UG_NAME__ -> 42:in ;
367 0:__UG_NAME__ -> 45:in ;
368 1:__UG_NAME__ -> 49:in ;
369 28:__UG_NAME__ -> 54:in ;
370 29:__UG_NAME__ -> 58:in ;
371 20:__UG_NAME__ -> 68:in ;
372 8:__UG_NAME__ -> 70:in ;
373 32:__UG_NAME__ -> 71:in ;
374 24:__UG_NAME__ -> 82:in ;
375 25:__UG_NAME__ -> 86:in ;
376 21:__UG_NAME__ -> 119:in ;
377 9:__UG_NAME__ -> 132:in ;
378 5:__UG_NAME__ -> 140:in ;
379 91:__UG_NAME__ -> 101:freq ;
380 36:__UG_NAME__ -> 101:iphase ;
381 100:__UG_NAME__ -> 101:width ;
382 91:__UG_NAME__ -> 94:freq ;
383 93:__UG_NAME__ -> 94:iphase ;
384 91:__UG_NAME__ -> 105:freq ;
385 104:__UG_NAME__ -> 105:iphase ;
386 118:__UG_NAME__ -> 125:in ;
387 124:__UG_NAME__ -> 125:freq ;
388 116:__UG_NAME__ -> 117:a ;
389 123:__UG_NAME__ -> 124:a ;
390 114:__UG_NAME__ -> 116:in ;
391 66:__UG_NAME__ -> 116:mul ;
392 115:__UG_NAME__ -> 116:add ;
393 125:__UG_NAME__ -> 126:in ;
394 39:__UG_NAME__ -> 146:bus ;
395 145:__UG_NAME__ -> 146:signals___pan2___0 ;
396 145:__UG_NAME__ -> 146:signals___pan2___1 ;
397 127:__UG_NAME__ -> 145:in ;
398 136:__UG_NAME__ -> 145:pos ;
399 144:__UG_NAME__ -> 145:level ;
400 117:__UG_NAME__ -> 118:freq ;
401 77:__UG_NAME__ -> 78:which ;
402 17:__UG_NAME__ -> 78:array___control___0 ;
403 18:__UG_NAME__ -> 78:array___control___1 ;
404 37:__UG_NAME__ -> 109:which ;
405 95:__UG_NAME__ -> 109:array___binary____op____u____gen___0 ;
406 103:__UG_NAME__ -> 109:array___binary____op____u____gen___1 ;
407 105:__UG_NAME__ -> 109:array___lf____tri___2 ;
408 108:__UG_NAME__ -> 109:array___sin____osc___3 ;
409 91:__UG_NAME__ -> 108:freq ;
410 107:__UG_NAME__ -> 108:phase ;
411
412 }
0 digraph synthdef {
1 51 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 54 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 66 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 71 [label = "{{ <b> 6.2831855|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 74 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 76 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 78 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 102 [label = "{{ <b> -1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 128 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 142 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 44 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 52 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 63 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 68 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 70 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 83 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 87 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 93 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 97 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 99 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 111 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 115 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 132 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 139 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 140 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 143 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 67 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
30 77 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
31 100 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
32 103 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
33 50 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
34 101 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
35 125 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
36 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 58 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 62 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 75 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 82 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 86 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 92 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 96 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 110 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 114 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 123 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 131 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 134 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 138 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 42 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 61 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 81 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 85 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 91 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 95 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 109 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 113 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 122 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 130 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 133 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 137 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 0 [label = "control
66 :note
67 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 1 [label = "control
69 :note_slide
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 2 [label = "control
72 :note_slide_shape
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 3 [label = "control
75 :note_slide_curve
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 4 [label = "control
78 :amp
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 5 [label = "control
81 :amp_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 6 [label = "control
84 :amp_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 7 [label = "control
87 :amp_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 8 [label = "control
90 :pan
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 9 [label = "control
93 :pan_slide
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 10 [label = "control
96 :pan_slide_shape
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 11 [label = "control
99 :pan_slide_curve
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 12 [label = "control
102 :attack
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 13 [label = "control
105 :decay
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 14 [label = "control
108 :sustain
109 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 15 [label = "control
111 :release
112 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 16 [label = "control
114 :attack_level
115 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 17 [label = "control
117 :decay_level
118 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 18 [label = "control
120 :sustain_level
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 19 [label = "control
123 :env_curve
124 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 20 [label = "control
126 :cutoff
127 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 21 [label = "control
129 :cutoff_slide
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 22 [label = "control
132 :cutoff_slide_shape
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 23 [label = "control
135 :cutoff_slide_curve
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 24 [label = "control
138 :mod_phase
139 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 25 [label = "control
141 :mod_phase_slide
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 26 [label = "control
144 :mod_phase_slide_shape
145 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 27 [label = "control
147 :mod_phase_slide_curve
148 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 28 [label = "control
150 :mod_range
151 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 29 [label = "control
153 :mod_range_slide
154 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 30 [label = "control
156 :mod_range_slide_shape
157 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 31 [label = "control
159 :mod_range_slide_curve
160 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 32 [label = "control
162 :mod_pulse_width
163 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 33 [label = "control
165 :mod_pulse_width_slide
166 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
167 34 [label = "control
168 :mod_pulse_width_slide_shape
169 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
170 35 [label = "control
171 :mod_pulse_width_slide_curve
172 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
173 36 [label = "control
174 :mod_phase_offset
175 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
176 37 [label = "control
177 :mod_wave
178 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
179 38 [label = "control
180 :mod_invert_wave
181 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
182 39 [label = "control
183 :out_bus
184 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
185 49 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
186 64 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
187 88 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
188 98 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
189 116 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
190 127 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
191 141 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
192 144 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
193 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
194 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
195 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
196 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
197 80 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
198 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
199 90 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
200 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
201 108 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
202 112 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
203 120 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
204 121 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
205 129 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
206 136 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
207 40 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
208 55 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
209 79 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
210 89 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
211 107 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
212 124 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
213 135 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
214 65 [label = "{{ <width> width|<iphase> iphase|<freq> freq} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
215 53 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
216 69 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
217 118 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
218 105 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
219 117 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
220 104 [label = "{{ <add> add|<mul> mul|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
221 119 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
222 146 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
223 145 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
224 73 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
225 126 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
226 72 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase|<freq> freq} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
227 106 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
228
229 36:__UG_NAME__ -> 51:b ;
230 53:__UG_NAME__ -> 54:b ;
231 65:__UG_NAME__ -> 66:b ;
232 70:__UG_NAME__ -> 71:a ;
233 73:__UG_NAME__ -> 74:b ;
234 75:__UG_NAME__ -> 76:b ;
235 74:__UG_NAME__ -> 78:a ;
236 77:__UG_NAME__ -> 78:b ;
237 101:__UG_NAME__ -> 102:a ;
238 127:__UG_NAME__ -> 128:b ;
239 128:__UG_NAME__ -> 142:a ;
240 119:__UG_NAME__ -> 142:b ;
241 40:__UG_NAME__ -> 44:a ;
242 43:__UG_NAME__ -> 44:b ;
243 44:__UG_NAME__ -> 48:a ;
244 47:__UG_NAME__ -> 48:b ;
245 51:__UG_NAME__ -> 52:a ;
246 55:__UG_NAME__ -> 59:a ;
247 58:__UG_NAME__ -> 59:b ;
248 59:__UG_NAME__ -> 63:a ;
249 62:__UG_NAME__ -> 63:b ;
250 51:__UG_NAME__ -> 68:a ;
251 36:__UG_NAME__ -> 70:a ;
252 79:__UG_NAME__ -> 83:a ;
253 82:__UG_NAME__ -> 83:b ;
254 83:__UG_NAME__ -> 87:a ;
255 86:__UG_NAME__ -> 87:b ;
256 89:__UG_NAME__ -> 93:a ;
257 92:__UG_NAME__ -> 93:b ;
258 93:__UG_NAME__ -> 97:a ;
259 96:__UG_NAME__ -> 97:b ;
260 88:__UG_NAME__ -> 99:a ;
261 98:__UG_NAME__ -> 99:b ;
262 107:__UG_NAME__ -> 111:a ;
263 110:__UG_NAME__ -> 111:b ;
264 111:__UG_NAME__ -> 115:a ;
265 114:__UG_NAME__ -> 115:b ;
266 124:__UG_NAME__ -> 132:a ;
267 131:__UG_NAME__ -> 132:b ;
268 135:__UG_NAME__ -> 139:a ;
269 138:__UG_NAME__ -> 139:b ;
270 139:__UG_NAME__ -> 140:a ;
271 123:__UG_NAME__ -> 140:b ;
272 132:__UG_NAME__ -> 143:a ;
273 134:__UG_NAME__ -> 143:b ;
274 66:__UG_NAME__ -> 67:a ;
275 76:__UG_NAME__ -> 77:a ;
276 99:__UG_NAME__ -> 100:a ;
277 98:__UG_NAME__ -> 100:b ;
278 98:__UG_NAME__ -> 103:a ;
279 102:__UG_NAME__ -> 103:b ;
280 49:__UG_NAME__ -> 50:b ;
281 100:__UG_NAME__ -> 101:a ;
282 17:__UG_NAME__ -> 125:b ;
283 42:__UG_NAME__ -> 43:a ;
284 46:__UG_NAME__ -> 47:a ;
285 57:__UG_NAME__ -> 58:a ;
286 61:__UG_NAME__ -> 62:a ;
287 38:__UG_NAME__ -> 75:a ;
288 81:__UG_NAME__ -> 82:a ;
289 85:__UG_NAME__ -> 86:a ;
290 91:__UG_NAME__ -> 92:a ;
291 95:__UG_NAME__ -> 96:a ;
292 109:__UG_NAME__ -> 110:a ;
293 113:__UG_NAME__ -> 114:a ;
294 122:__UG_NAME__ -> 123:a ;
295 130:__UG_NAME__ -> 131:a ;
296 133:__UG_NAME__ -> 134:a ;
297 137:__UG_NAME__ -> 138:a ;
298 41:__UG_NAME__ -> 42:a ;
299 45:__UG_NAME__ -> 46:a ;
300 56:__UG_NAME__ -> 57:a ;
301 60:__UG_NAME__ -> 61:a ;
302 80:__UG_NAME__ -> 81:a ;
303 84:__UG_NAME__ -> 85:a ;
304 90:__UG_NAME__ -> 91:a ;
305 94:__UG_NAME__ -> 95:a ;
306 108:__UG_NAME__ -> 109:a ;
307 112:__UG_NAME__ -> 113:a ;
308 121:__UG_NAME__ -> 122:a ;
309 129:__UG_NAME__ -> 130:a ;
310 120:__UG_NAME__ -> 133:a ;
311 136:__UG_NAME__ -> 137:a ;
312 24:__UG_NAME__ -> 49:envelope___control___0 ;
313 24:__UG_NAME__ -> 49:envelope___control___4 ;
314 25:__UG_NAME__ -> 49:envelope___control___5 ;
315 26:__UG_NAME__ -> 49:envelope___control___6 ;
316 27:__UG_NAME__ -> 49:envelope___control___7 ;
317 48:__UG_NAME__ -> 49:gate ;
318 32:__UG_NAME__ -> 64:envelope___control___0 ;
319 32:__UG_NAME__ -> 64:envelope___control___4 ;
320 33:__UG_NAME__ -> 64:envelope___control___5 ;
321 34:__UG_NAME__ -> 64:envelope___control___6 ;
322 35:__UG_NAME__ -> 64:envelope___control___7 ;
323 63:__UG_NAME__ -> 64:gate ;
324 28:__UG_NAME__ -> 88:envelope___control___0 ;
325 28:__UG_NAME__ -> 88:envelope___control___4 ;
326 29:__UG_NAME__ -> 88:envelope___control___5 ;
327 30:__UG_NAME__ -> 88:envelope___control___6 ;
328 31:__UG_NAME__ -> 88:envelope___control___7 ;
329 87:__UG_NAME__ -> 88:gate ;
330 0:__UG_NAME__ -> 98:envelope___control___0 ;
331 0:__UG_NAME__ -> 98:envelope___control___4 ;
332 1:__UG_NAME__ -> 98:envelope___control___5 ;
333 2:__UG_NAME__ -> 98:envelope___control___6 ;
334 3:__UG_NAME__ -> 98:envelope___control___7 ;
335 97:__UG_NAME__ -> 98:gate ;
336 20:__UG_NAME__ -> 116:envelope___control___0 ;
337 20:__UG_NAME__ -> 116:envelope___control___4 ;
338 21:__UG_NAME__ -> 116:envelope___control___5 ;
339 22:__UG_NAME__ -> 116:envelope___control___6 ;
340 23:__UG_NAME__ -> 116:envelope___control___7 ;
341 115:__UG_NAME__ -> 116:gate ;
342 16:__UG_NAME__ -> 127:envelope___control___4 ;
343 12:__UG_NAME__ -> 127:envelope___control___5 ;
344 19:__UG_NAME__ -> 127:envelope___control___6 ;
345 126:__UG_NAME__ -> 127:envelope___select___8 ;
346 13:__UG_NAME__ -> 127:envelope___control___9 ;
347 19:__UG_NAME__ -> 127:envelope___control___10 ;
348 18:__UG_NAME__ -> 127:envelope___control___12 ;
349 14:__UG_NAME__ -> 127:envelope___control___13 ;
350 19:__UG_NAME__ -> 127:envelope___control___14 ;
351 15:__UG_NAME__ -> 127:envelope___control___17 ;
352 19:__UG_NAME__ -> 127:envelope___control___18 ;
353 8:__UG_NAME__ -> 141:envelope___control___0 ;
354 8:__UG_NAME__ -> 141:envelope___control___4 ;
355 9:__UG_NAME__ -> 141:envelope___control___5 ;
356 10:__UG_NAME__ -> 141:envelope___control___6 ;
357 11:__UG_NAME__ -> 141:envelope___control___7 ;
358 140:__UG_NAME__ -> 141:gate ;
359 4:__UG_NAME__ -> 144:envelope___control___0 ;
360 4:__UG_NAME__ -> 144:envelope___control___4 ;
361 5:__UG_NAME__ -> 144:envelope___control___5 ;
362 6:__UG_NAME__ -> 144:envelope___control___6 ;
363 7:__UG_NAME__ -> 144:envelope___control___7 ;
364 143:__UG_NAME__ -> 144:gate ;
365 24:__UG_NAME__ -> 41:in ;
366 25:__UG_NAME__ -> 45:in ;
367 32:__UG_NAME__ -> 56:in ;
368 33:__UG_NAME__ -> 60:in ;
369 28:__UG_NAME__ -> 80:in ;
370 29:__UG_NAME__ -> 84:in ;
371 0:__UG_NAME__ -> 90:in ;
372 1:__UG_NAME__ -> 94:in ;
373 20:__UG_NAME__ -> 108:in ;
374 21:__UG_NAME__ -> 112:in ;
375 5:__UG_NAME__ -> 120:in ;
376 9:__UG_NAME__ -> 121:in ;
377 4:__UG_NAME__ -> 129:in ;
378 8:__UG_NAME__ -> 136:in ;
379 50:__UG_NAME__ -> 65:freq ;
380 36:__UG_NAME__ -> 65:iphase ;
381 64:__UG_NAME__ -> 65:width ;
382 50:__UG_NAME__ -> 53:freq ;
383 52:__UG_NAME__ -> 53:iphase ;
384 50:__UG_NAME__ -> 69:freq ;
385 68:__UG_NAME__ -> 69:iphase ;
386 106:__UG_NAME__ -> 118:in ;
387 117:__UG_NAME__ -> 118:freq ;
388 104:__UG_NAME__ -> 105:a ;
389 116:__UG_NAME__ -> 117:a ;
390 78:__UG_NAME__ -> 104:in ;
391 101:__UG_NAME__ -> 104:mul ;
392 103:__UG_NAME__ -> 104:add ;
393 118:__UG_NAME__ -> 119:in ;
394 39:__UG_NAME__ -> 146:bus ;
395 145:__UG_NAME__ -> 146:signals___pan2___0 ;
396 145:__UG_NAME__ -> 146:signals___pan2___1 ;
397 142:__UG_NAME__ -> 145:in ;
398 141:__UG_NAME__ -> 145:pos ;
399 144:__UG_NAME__ -> 145:level ;
400 37:__UG_NAME__ -> 73:which ;
401 54:__UG_NAME__ -> 73:array___binary____op____u____gen___0 ;
402 67:__UG_NAME__ -> 73:array___binary____op____u____gen___1 ;
403 69:__UG_NAME__ -> 73:array___lf____tri___2 ;
404 72:__UG_NAME__ -> 73:array___sin____osc___3 ;
405 125:__UG_NAME__ -> 126:which ;
406 17:__UG_NAME__ -> 126:array___control___0 ;
407 18:__UG_NAME__ -> 126:array___control___1 ;
408 50:__UG_NAME__ -> 72:freq ;
409 71:__UG_NAME__ -> 72:phase ;
410 105:__UG_NAME__ -> 106:freq ;
411
412 }
0 digraph synthdef {
1 75 [label = "{{ <b> -1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 79 [label = "{{ <b> |<a> 1.5} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 93 [label = "{{ <b> 6.2831855|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 96 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 99 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 102 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 108 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 110 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 112 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 130 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 44 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 56 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 66 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 70 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 72 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 87 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 91 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 92 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 97 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 104 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 121 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 125 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 132 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 133 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 139 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 143 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 73 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
30 103 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
31 111 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
32 113 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
33 74 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
34 95 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
35 76 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
36 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 51 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 55 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 59 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 65 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 69 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 82 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 86 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 90 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 109 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 120 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 124 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 138 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 142 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 42 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 50 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 54 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 58 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 64 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 68 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 81 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 85 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 89 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 119 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 123 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 137 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 141 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 0 [label = "control
66 :note
67 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 1 [label = "control
69 :note_slide
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 2 [label = "control
72 :note_slide_shape
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 3 [label = "control
75 :note_slide_curve
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 4 [label = "control
78 :amp
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 5 [label = "control
81 :amp_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 6 [label = "control
84 :amp_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 7 [label = "control
87 :amp_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 8 [label = "control
90 :pan
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 9 [label = "control
93 :pan_slide
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 10 [label = "control
96 :pan_slide_shape
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 11 [label = "control
99 :pan_slide_curve
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 12 [label = "control
102 :attack
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 13 [label = "control
105 :decay
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 14 [label = "control
108 :sustain
109 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 15 [label = "control
111 :release
112 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 16 [label = "control
114 :attack_level
115 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 17 [label = "control
117 :decay_level
118 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 18 [label = "control
120 :sustain_level
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 19 [label = "control
123 :env_curve
124 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 20 [label = "control
126 :cutoff
127 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 21 [label = "control
129 :cutoff_slide
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 22 [label = "control
132 :cutoff_slide_shape
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 23 [label = "control
135 :cutoff_slide_curve
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 24 [label = "control
138 :mod_phase
139 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 25 [label = "control
141 :mod_phase_slide
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 26 [label = "control
144 :mod_phase_slide_shape
145 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 27 [label = "control
147 :mod_phase_slide_curve
148 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 28 [label = "control
150 :mod_range
151 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 29 [label = "control
153 :mod_range_slide
154 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 30 [label = "control
156 :mod_range_slide_shape
157 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 31 [label = "control
159 :mod_range_slide_curve
160 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 32 [label = "control
162 :mod_pulse_width
163 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 33 [label = "control
165 :mod_pulse_width_slide
166 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
167 34 [label = "control
168 :mod_pulse_width_slide_shape
169 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
170 35 [label = "control
171 :mod_pulse_width_slide_curve
172 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
173 36 [label = "control
174 :mod_phase_offset
175 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
176 37 [label = "control
177 :mod_wave
178 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
179 38 [label = "control
180 :mod_invert_wave
181 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
182 39 [label = "control
183 :out_bus
184 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
185 61 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
186 71 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
187 78 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
188 94 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
189 100 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
190 126 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
191 134 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
192 144 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
193 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
194 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
195 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
196 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
197 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
198 63 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
199 67 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
200 80 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
201 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
202 88 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
203 118 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
204 122 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
205 136 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
206 140 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
207 40 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
208 52 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
209 62 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
210 83 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
211 117 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
212 131 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
213 135 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
214 101 [label = "{{ <width> width|<iphase> iphase|<freq> freq} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
215 98 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
216 105 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
217 116 [label = "{{ <iphase> iphase 0.0|<freq> freq} |<__UG_NAME__>lf-tri }" style="filled, bold, rounded" shape=record rankdir=LR];
218 128 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
219 115 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
220 127 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
221 114 [label = "{{ <add> add|<mul> mul|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
222 129 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
223 146 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
224 145 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
225 77 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
226 107 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
227 106 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase|<freq> freq} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
228
229 74:__UG_NAME__ -> 75:a ;
230 78:__UG_NAME__ -> 79:b ;
231 92:__UG_NAME__ -> 93:a ;
232 36:__UG_NAME__ -> 96:b ;
233 98:__UG_NAME__ -> 99:b ;
234 101:__UG_NAME__ -> 102:b ;
235 107:__UG_NAME__ -> 108:b ;
236 109:__UG_NAME__ -> 110:b ;
237 108:__UG_NAME__ -> 112:a ;
238 111:__UG_NAME__ -> 112:b ;
239 79:__UG_NAME__ -> 130:a ;
240 129:__UG_NAME__ -> 130:b ;
241 40:__UG_NAME__ -> 44:a ;
242 43:__UG_NAME__ -> 44:b ;
243 44:__UG_NAME__ -> 48:a ;
244 47:__UG_NAME__ -> 48:b ;
245 52:__UG_NAME__ -> 56:a ;
246 55:__UG_NAME__ -> 56:b ;
247 56:__UG_NAME__ -> 60:a ;
248 59:__UG_NAME__ -> 60:b ;
249 62:__UG_NAME__ -> 66:a ;
250 65:__UG_NAME__ -> 66:b ;
251 66:__UG_NAME__ -> 70:a ;
252 69:__UG_NAME__ -> 70:b ;
253 61:__UG_NAME__ -> 72:a ;
254 71:__UG_NAME__ -> 72:b ;
255 83:__UG_NAME__ -> 87:a ;
256 86:__UG_NAME__ -> 87:b ;
257 87:__UG_NAME__ -> 91:a ;
258 90:__UG_NAME__ -> 91:b ;
259 36:__UG_NAME__ -> 92:a ;
260 96:__UG_NAME__ -> 97:a ;
261 96:__UG_NAME__ -> 104:a ;
262 117:__UG_NAME__ -> 121:a ;
263 120:__UG_NAME__ -> 121:b ;
264 121:__UG_NAME__ -> 125:a ;
265 124:__UG_NAME__ -> 125:b ;
266 131:__UG_NAME__ -> 132:a ;
267 82:__UG_NAME__ -> 132:b ;
268 132:__UG_NAME__ -> 133:a ;
269 51:__UG_NAME__ -> 133:b ;
270 135:__UG_NAME__ -> 139:a ;
271 138:__UG_NAME__ -> 139:b ;
272 139:__UG_NAME__ -> 143:a ;
273 142:__UG_NAME__ -> 143:b ;
274 72:__UG_NAME__ -> 73:a ;
275 71:__UG_NAME__ -> 73:b ;
276 102:__UG_NAME__ -> 103:a ;
277 110:__UG_NAME__ -> 111:a ;
278 71:__UG_NAME__ -> 113:a ;
279 75:__UG_NAME__ -> 113:b ;
280 73:__UG_NAME__ -> 74:a ;
281 94:__UG_NAME__ -> 95:b ;
282 17:__UG_NAME__ -> 76:b ;
283 42:__UG_NAME__ -> 43:a ;
284 46:__UG_NAME__ -> 47:a ;
285 50:__UG_NAME__ -> 51:a ;
286 54:__UG_NAME__ -> 55:a ;
287 58:__UG_NAME__ -> 59:a ;
288 64:__UG_NAME__ -> 65:a ;
289 68:__UG_NAME__ -> 69:a ;
290 81:__UG_NAME__ -> 82:a ;
291 85:__UG_NAME__ -> 86:a ;
292 89:__UG_NAME__ -> 90:a ;
293 38:__UG_NAME__ -> 109:a ;
294 119:__UG_NAME__ -> 120:a ;
295 123:__UG_NAME__ -> 124:a ;
296 137:__UG_NAME__ -> 138:a ;
297 141:__UG_NAME__ -> 142:a ;
298 41:__UG_NAME__ -> 42:a ;
299 45:__UG_NAME__ -> 46:a ;
300 49:__UG_NAME__ -> 50:a ;
301 53:__UG_NAME__ -> 54:a ;
302 57:__UG_NAME__ -> 58:a ;
303 63:__UG_NAME__ -> 64:a ;
304 67:__UG_NAME__ -> 68:a ;
305 80:__UG_NAME__ -> 81:a ;
306 84:__UG_NAME__ -> 85:a ;
307 88:__UG_NAME__ -> 89:a ;
308 118:__UG_NAME__ -> 119:a ;
309 122:__UG_NAME__ -> 123:a ;
310 136:__UG_NAME__ -> 137:a ;
311 140:__UG_NAME__ -> 141:a ;
312 28:__UG_NAME__ -> 61:envelope___control___0 ;
313 28:__UG_NAME__ -> 61:envelope___control___4 ;
314 29:__UG_NAME__ -> 61:envelope___control___5 ;
315 30:__UG_NAME__ -> 61:envelope___control___6 ;
316 31:__UG_NAME__ -> 61:envelope___control___7 ;
317 60:__UG_NAME__ -> 61:gate ;
318 0:__UG_NAME__ -> 71:envelope___control___0 ;
319 0:__UG_NAME__ -> 71:envelope___control___4 ;
320 1:__UG_NAME__ -> 71:envelope___control___5 ;
321 2:__UG_NAME__ -> 71:envelope___control___6 ;
322 3:__UG_NAME__ -> 71:envelope___control___7 ;
323 70:__UG_NAME__ -> 71:gate ;
324 16:__UG_NAME__ -> 78:envelope___control___4 ;
325 12:__UG_NAME__ -> 78:envelope___control___5 ;
326 19:__UG_NAME__ -> 78:envelope___control___6 ;
327 77:__UG_NAME__ -> 78:envelope___select___8 ;
328 13:__UG_NAME__ -> 78:envelope___control___9 ;
329 19:__UG_NAME__ -> 78:envelope___control___10 ;
330 18:__UG_NAME__ -> 78:envelope___control___12 ;
331 14:__UG_NAME__ -> 78:envelope___control___13 ;
332 19:__UG_NAME__ -> 78:envelope___control___14 ;
333 15:__UG_NAME__ -> 78:envelope___control___17 ;
334 19:__UG_NAME__ -> 78:envelope___control___18 ;
335 24:__UG_NAME__ -> 94:envelope___control___0 ;
336 24:__UG_NAME__ -> 94:envelope___control___4 ;
337 25:__UG_NAME__ -> 94:envelope___control___5 ;
338 26:__UG_NAME__ -> 94:envelope___control___6 ;
339 27:__UG_NAME__ -> 94:envelope___control___7 ;
340 91:__UG_NAME__ -> 94:gate ;
341 32:__UG_NAME__ -> 100:envelope___control___0 ;
342 32:__UG_NAME__ -> 100:envelope___control___4 ;
343 33:__UG_NAME__ -> 100:envelope___control___5 ;
344 34:__UG_NAME__ -> 100:envelope___control___6 ;
345 35:__UG_NAME__ -> 100:envelope___control___7 ;
346 48:__UG_NAME__ -> 100:gate ;
347 20:__UG_NAME__ -> 126:envelope___control___0 ;
348 20:__UG_NAME__ -> 126:envelope___control___4 ;
349 21:__UG_NAME__ -> 126:envelope___control___5 ;
350 22:__UG_NAME__ -> 126:envelope___control___6 ;
351 23:__UG_NAME__ -> 126:envelope___control___7 ;
352 125:__UG_NAME__ -> 126:gate ;
353 8:__UG_NAME__ -> 134:envelope___control___0 ;
354 8:__UG_NAME__ -> 134:envelope___control___4 ;
355 9:__UG_NAME__ -> 134:envelope___control___5 ;
356 10:__UG_NAME__ -> 134:envelope___control___6 ;
357 11:__UG_NAME__ -> 134:envelope___control___7 ;
358 133:__UG_NAME__ -> 134:gate ;
359 4:__UG_NAME__ -> 144:envelope___control___0 ;
360 4:__UG_NAME__ -> 144:envelope___control___4 ;
361 5:__UG_NAME__ -> 144:envelope___control___5 ;
362 6:__UG_NAME__ -> 144:envelope___control___6 ;
363 7:__UG_NAME__ -> 144:envelope___control___7 ;
364 143:__UG_NAME__ -> 144:gate ;
365 32:__UG_NAME__ -> 41:in ;
366 33:__UG_NAME__ -> 45:in ;
367 9:__UG_NAME__ -> 49:in ;
368 28:__UG_NAME__ -> 53:in ;
369 29:__UG_NAME__ -> 57:in ;
370 0:__UG_NAME__ -> 63:in ;
371 1:__UG_NAME__ -> 67:in ;
372 8:__UG_NAME__ -> 80:in ;
373 24:__UG_NAME__ -> 84:in ;
374 25:__UG_NAME__ -> 88:in ;
375 20:__UG_NAME__ -> 118:in ;
376 21:__UG_NAME__ -> 122:in ;
377 4:__UG_NAME__ -> 136:in ;
378 5:__UG_NAME__ -> 140:in ;
379 95:__UG_NAME__ -> 101:freq ;
380 36:__UG_NAME__ -> 101:iphase ;
381 100:__UG_NAME__ -> 101:width ;
382 95:__UG_NAME__ -> 98:freq ;
383 97:__UG_NAME__ -> 98:iphase ;
384 95:__UG_NAME__ -> 105:freq ;
385 104:__UG_NAME__ -> 105:iphase ;
386 115:__UG_NAME__ -> 116:freq ;
387 116:__UG_NAME__ -> 128:in ;
388 127:__UG_NAME__ -> 128:freq ;
389 114:__UG_NAME__ -> 115:a ;
390 126:__UG_NAME__ -> 127:a ;
391 112:__UG_NAME__ -> 114:in ;
392 74:__UG_NAME__ -> 114:mul ;
393 113:__UG_NAME__ -> 114:add ;
394 128:__UG_NAME__ -> 129:in ;
395 39:__UG_NAME__ -> 146:bus ;
396 145:__UG_NAME__ -> 146:signals___pan2___0 ;
397 145:__UG_NAME__ -> 146:signals___pan2___1 ;
398 130:__UG_NAME__ -> 145:in ;
399 134:__UG_NAME__ -> 145:pos ;
400 144:__UG_NAME__ -> 145:level ;
401 76:__UG_NAME__ -> 77:which ;
402 17:__UG_NAME__ -> 77:array___control___0 ;
403 18:__UG_NAME__ -> 77:array___control___1 ;
404 37:__UG_NAME__ -> 107:which ;
405 99:__UG_NAME__ -> 107:array___binary____op____u____gen___0 ;
406 103:__UG_NAME__ -> 107:array___binary____op____u____gen___1 ;
407 105:__UG_NAME__ -> 107:array___lf____tri___2 ;
408 106:__UG_NAME__ -> 107:array___sin____osc___3 ;
409 95:__UG_NAME__ -> 106:freq ;
410 93:__UG_NAME__ -> 106:phase ;
411
412 }
0 digraph synthdef {
1 115 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 116 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 122 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 127 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 337 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 106 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 110 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 132 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 136 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 142 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 146 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 153 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 157 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 163 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 166 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 190 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 194 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 202 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 206 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 225 [label = "{{ <b> |<a> 0.1} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 237 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 241 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 262 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 266 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 283 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 287 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 321 [label = "{{ <b> |<a> 0.1} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 342 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 346 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 350 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 351 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 357 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 361 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 366 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
35 367 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
36 377 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
37 381 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
38 383 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
39 387 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
40 391 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
41 392 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
42 393 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
43 395 [label = "{{ <b> |<a> 0.03} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
44 114 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="dashed, rounded" shape=record rankdir=LR];
45 220 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
46 222 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
47 223 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
48 248 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
49 251 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
50 254 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
51 306 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
52 307 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
53 308 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
54 124 [label = "{{ <b> |<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
55 219 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
56 303 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
57 305 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
58 319 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
59 105 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
60 109 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
61 131 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
62 135 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
63 141 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
64 145 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
65 152 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
66 156 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
67 162 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
68 165 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
69 189 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
70 193 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
71 201 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
72 205 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
73 236 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
74 240 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
75 245 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
76 256 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
77 261 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
78 265 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
79 282 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
80 286 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
81 341 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
82 345 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
83 349 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
84 356 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
85 360 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
86 365 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
87 373 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
88 376 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
89 380 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
90 386 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
91 100 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
92 104 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
93 108 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
94 123 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
95 130 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
96 134 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
97 140 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
98 144 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
99 151 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
100 155 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
101 161 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
102 164 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
103 188 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
104 192 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
105 200 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
106 204 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
107 235 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
108 239 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
109 244 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
110 255 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
111 260 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
112 264 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
113 281 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
114 285 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
115 296 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
116 300 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
117 340 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
118 344 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
119 355 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
120 359 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
121 372 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
122 379 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
123 385 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
124 121 [label = "{{ <b> |<a> } |<__UG_NAME__>absdif }" style="bold, rounded" shape=record rankdir=LR];
125 120 [label = "{{ <buf> buf} |<__UG_NAME__>buf-dur }" style="dashed, rounded" shape=record rankdir=LR];
126 113 [label = "{{ <buf> buf} |<__UG_NAME__>buf-frames }" style="dashed, rounded" shape=record rankdir=LR];
127 126 [label = "{{ <interpolation> interpolation 2.0|<loop> loop 1.0|<phase> phase|<bufnum> bufnum|<num____channels> num-channels 1} |<__UG_NAME__>buf-rd }" style="filled, bold, rounded" shape=record rankdir=LR];
128 369 [label = "{{ <relax____time> relax-time|<clamp____time> clamp-time|<slope____above> slope-above|<slope____below> slope-below|<thresh> thresh|<control> control|<in> in} |<__UG_NAME__>compander }" style="filled, bold, rounded" shape=record rankdir=LR];
129 0 [label = "control
130 :buf
131 default: 0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
132 1 [label = "control
133 :attack
134 default: 0.0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
135 2 [label = "control
136 :decay
137 default: 0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
138 3 [label = "control
139 :sustain
140 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
141 4 [label = "control
142 :release
143 default: 0.0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
144 5 [label = "control
145 :attack_level
146 default: 1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
147 6 [label = "control
148 :decay_level
149 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
150 7 [label = "control
151 :sustain_level
152 default: 1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
153 8 [label = "control
154 :lpf_init_level
155 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
156 9 [label = "control
157 :lpf_attack_level
158 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
159 10 [label = "control
160 :lpf_decay_level
161 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
162 11 [label = "control
163 :lpf_sustain_level
164 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
165 12 [label = "control
166 :lpf_release_level
167 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
168 13 [label = "control
169 :hpf_init_level
170 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
171 14 [label = "control
172 :hpf_attack_level
173 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
174 15 [label = "control
175 :hpf_decay_level
176 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
177 16 [label = "control
178 :hpf_sustain_level
179 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
180 17 [label = "control
181 :hpf_release_level
182 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
183 18 [label = "control
184 :amp
185 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
186 19 [label = "control
187 :amp_slide
188 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
189 20 [label = "control
190 :amp_slide_shape
191 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
192 21 [label = "control
193 :amp_slide_curve
194 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
195 22 [label = "control
196 :pan
197 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
198 23 [label = "control
199 :pan_slide
200 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
201 24 [label = "control
202 :pan_slide_shape
203 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
204 25 [label = "control
205 :pan_slide_curve
206 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
207 26 [label = "control
208 :env_curve
209 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
210 27 [label = "control
211 :rate
212 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
213 28 [label = "control
214 :start
215 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
216 29 [label = "control
217 :finish
218 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
219 30 [label = "control
220 :lpf
221 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
222 31 [label = "control
223 :lpf_slide
224 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
225 32 [label = "control
226 :lpf_slide_shape
227 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
228 33 [label = "control
229 :lpf_slide_curve
230 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
231 34 [label = "control
232 :lpf_attack
233 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
234 35 [label = "control
235 :lpf_sustain
236 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
237 36 [label = "control
238 :lpf_decay
239 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
240 37 [label = "control
241 :lpf_release
242 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
243 38 [label = "control
244 :lpf_min
245 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
246 39 [label = "control
247 :lpf_min_slide
248 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
249 40 [label = "control
250 :lpf_min_slide_shape
251 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
252 41 [label = "control
253 :lpf_min_slide_curve
254 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
255 42 [label = "control
256 :lpf_env_curve
257 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
258 43 [label = "control
259 :hpf
260 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
261 44 [label = "control
262 :hpf_slide
263 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
264 45 [label = "control
265 :hpf_slide_shape
266 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
267 46 [label = "control
268 :hpf_slide_curve
269 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
270 47 [label = "control
271 :hpf_max
272 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
273 48 [label = "control
274 :hpf_max_slide
275 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
276 49 [label = "control
277 :hpf_max_slide_shape
278 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
279 50 [label = "control
280 :hpf_max_slide_curve
281 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
282 51 [label = "control
283 :hpf_attack
284 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
285 52 [label = "control
286 :hpf_sustain
287 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
288 53 [label = "control
289 :hpf_decay
290 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
291 54 [label = "control
292 :hpf_release
293 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
294 55 [label = "control
295 :hpf_env_curve
296 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
297 56 [label = "control
298 :norm
299 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
300 57 [label = "control
301 :pitch
302 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
303 58 [label = "control
304 :pitch_slide
305 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
306 59 [label = "control
307 :pitch_slide_shape
308 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
309 60 [label = "control
310 :pitch_slide_curve
311 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
312 61 [label = "control
313 :window_size
314 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
315 62 [label = "control
316 :window_size_slide
317 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
318 63 [label = "control
319 :window_size_slide_shape
320 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
321 64 [label = "control
322 :window_size_slide_curve
323 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
324 65 [label = "control
325 :pitch_dis
326 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
327 66 [label = "control
328 :pitch_dis_slide
329 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
330 67 [label = "control
331 :pitch_dis_slide_shape
332 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
333 68 [label = "control
334 :pitch_dis_slide_curve
335 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
336 69 [label = "control
337 :time_dis
338 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
339 70 [label = "control
340 :time_dis_slide
341 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
342 71 [label = "control
343 :time_dis_slide_shape
344 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
345 72 [label = "control
346 :time_dis_slide_curve
347 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
348 73 [label = "control
349 :compress
350 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
351 74 [label = "control
352 :pre_amp
353 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
354 75 [label = "control
355 :pre_amp_slide
356 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
357 76 [label = "control
358 :pre_amp_slide_shape
359 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
360 77 [label = "control
361 :pre_amp_slide_curve
362 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
363 78 [label = "control
364 :threshold
365 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
366 79 [label = "control
367 :threshold_slide
368 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
369 80 [label = "control
370 :threshold_slide_shape
371 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
372 81 [label = "control
373 :threshold_slide_curve
374 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
375 82 [label = "control
376 :clamp_time
377 default: 0.01" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
378 83 [label = "control
379 :clamp_time_slide
380 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
381 84 [label = "control
382 :clamp_time_slide_shape
383 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
384 85 [label = "control
385 :clamp_time_slide_curve
386 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
387 86 [label = "control
388 :slope_above
389 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
390 87 [label = "control
391 :slope_above_slide
392 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
393 88 [label = "control
394 :slope_above_slide_shape
395 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
396 89 [label = "control
397 :slope_above_slide_curve
398 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
399 90 [label = "control
400 :slope_below
401 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
402 91 [label = "control
403 :slope_below_slide
404 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
405 92 [label = "control
406 :slope_below_slide_shape
407 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
408 93 [label = "control
409 :slope_below_slide_curve
410 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
411 94 [label = "control
412 :relax_time
413 default: 0.01" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
414 95 [label = "control
415 :relax_time_slide
416 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
417 96 [label = "control
418 :relax_time_slide_shape
419 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
420 97 [label = "control
421 :relax_time_slide_curve
422 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
423 98 [label = "control
424 :out_bus
425 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
426 111 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
427 137 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
428 147 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
429 158 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
430 167 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
431 195 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
432 207 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
433 226 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{<envelope___select___0>|4|-99|-99|<envelope___select___4>|<envelope___select___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___select___9>|<envelope___control___10>|0.0|<envelope___select___12>|<envelope___select___13>|<envelope___control___14>|0.0|<envelope___select___16>|<envelope___binary____op____u____gen___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
434 267 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
435 288 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
436 310 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___select___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
437 322 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{<envelope___select___0>|4|-99|-99|<envelope___select___4>|<envelope___select___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___select___9>|<envelope___control___10>|0.0|<envelope___select___12>|<envelope___select___13>|<envelope___control___14>|0.0|<envelope___select___16>|<envelope___binary____op____u____gen___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
438 347 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
439 352 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
440 362 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
441 363 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
442 368 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
443 382 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
444 388 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
445 333 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
446 99 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
447 101 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
448 103 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
449 107 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
450 129 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
451 133 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
452 139 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
453 143 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
454 150 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
455 154 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
456 160 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
457 187 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
458 191 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
459 199 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
460 203 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
461 234 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
462 238 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
463 242 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
464 243 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
465 259 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
466 263 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
467 280 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
468 284 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
469 295 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
470 299 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
471 339 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
472 343 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
473 354 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
474 358 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
475 371 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
476 378 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
477 384 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
478 102 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
479 128 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
480 138 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
481 149 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
482 159 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
483 186 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
484 198 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
485 233 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
486 258 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
487 279 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
488 338 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
489 348 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
490 353 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
491 364 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
492 374 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
493 375 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
494 125 [label = "{{ <action> action 0.0|<dur> dur|<end> end|<start> start} |<__UG_NAME__>line }" style="filled, bold, rounded" shape=record rankdir=LR];
495 396 [label = "{{ <action> action 2.0|<dur> dur|<end> end 1.0|<start> start 1.0} |<__UG_NAME__>line }" style="bold, rounded" shape=record rankdir=LR];
496 330 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
497 231 [label = "{{ <b> |<a> } |<__UG_NAME__>max }" style="bold, rounded" shape=record rankdir=LR];
498 302 [label = "{{ <b> |<a> } |<__UG_NAME__>max }" style="filled, bold, rounded" shape=record rankdir=LR];
499 325 [label = "{{ <b> |<a> } |<__UG_NAME__>max }" style="bold, rounded" shape=record rankdir=LR];
500 210 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
501 227 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
502 229 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
503 298 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
504 323 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
505 324 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
506 148 [label = "{{ <b> |<a> } |<__UG_NAME__>midiratio }" style="bold, rounded" shape=record rankdir=LR];
507 230 [label = "{{ <b> |<a> } |<__UG_NAME__>min }" style="bold, rounded" shape=record rankdir=LR];
508 301 [label = "{{ <b> |<a> } |<__UG_NAME__>min }" style="filled, bold, rounded" shape=record rankdir=LR];
509 326 [label = "{{ <b> |<a> } |<__UG_NAME__>min }" style="bold, rounded" shape=record rankdir=LR];
510 328 [label = "{{ <b> |<a> } |<__UG_NAME__>min }" style="filled, bold, rounded" shape=record rankdir=LR];
511 394 [label = "{{ <b> |<a> } |<__UG_NAME__>min }" style="bold, rounded" shape=record rankdir=LR];
512 335 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
513 112 [label = "{{ <b> |<a> } |<__UG_NAME__>not-pos? }" style="bold, rounded" shape=record rankdir=LR];
514 118 [label = "{{ <b> |<a> } |<__UG_NAME__>not-pos? }" style="bold, rounded" shape=record rankdir=LR];
515 169 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
516 170 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
517 171 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
518 173 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
519 175 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
520 177 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
521 179 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
522 181 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
523 184 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
524 196 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
525 208 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
526 246 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
527 249 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
528 252 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
529 268 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
530 269 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
531 270 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
532 272 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
533 277 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
534 289 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
535 292 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
536 311 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
537 313 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
538 172 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
539 174 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
540 176 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
541 178 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
542 180 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
543 182 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
544 183 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
545 185 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
546 197 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
547 257 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
548 271 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
549 273 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
550 274 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
551 275 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
552 276 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
553 278 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
554 290 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
555 291 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
556 390 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
557 389 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
558 168 [label = "{{ <time____dispersion> time-dispersion|<pitch____dispersion> pitch-dispersion|<pitch____ratio> pitch-ratio|<window____size> window-size|<in> in} |<__UG_NAME__>pitch-shift }" style="filled, bold, rounded" shape=record rankdir=LR];
559 117 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
560 119 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
561 209 [label = "{{ {{50|<array___env____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
562 211 [label = "{{ {{130|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
563 212 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
564 213 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
565 214 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
566 215 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
567 216 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
568 217 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
569 218 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
570 221 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
571 224 [label = "{{ {{<array___select___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
572 228 [label = "{{ {{200|<array___env____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
573 232 [label = "{{ {{<array___unary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
574 247 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
575 250 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
576 253 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
577 293 [label = "{{ {{30|<array___env____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
578 294 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
579 297 [label = "{{ {{130|<array___env____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
580 304 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
581 309 [label = "{{ {{<array___control___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
582 312 [label = "{{ {{<array___binary____op____u____gen___0>|<array___pitch____shift___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
583 314 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
584 315 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
585 316 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
586 317 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
587 318 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
588 320 [label = "{{ {{<array___select___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
589 327 [label = "{{ {{<array___unary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
590 329 [label = "{{ {{<array___unary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
591 331 [label = "{{ {{<array___select___0>|<array___lpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
592 332 [label = "{{ {{<array___unary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
593 334 [label = "{{ {{<array___select___0>|<array___hpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
594 336 [label = "{{ {{<array___select___0>|<array___normalizer___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
595 370 [label = "{{ {{<array___binary____op____u____gen___0>|<array___compander___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
596
597 28:__UG_NAME__ -> 115:a ;
598 114:__UG_NAME__ -> 115:b ;
599 29:__UG_NAME__ -> 116:a ;
600 114:__UG_NAME__ -> 116:b ;
601 120:__UG_NAME__ -> 122:a ;
602 121:__UG_NAME__ -> 122:b ;
603 111:__UG_NAME__ -> 127:a ;
604 126:__UG_NAME__ -> 127:b ;
605 310:__UG_NAME__ -> 337:a ;
606 336:__UG_NAME__ -> 337:b ;
607 102:__UG_NAME__ -> 106:a ;
608 105:__UG_NAME__ -> 106:b ;
609 106:__UG_NAME__ -> 110:a ;
610 109:__UG_NAME__ -> 110:b ;
611 128:__UG_NAME__ -> 132:a ;
612 131:__UG_NAME__ -> 132:b ;
613 132:__UG_NAME__ -> 136:a ;
614 135:__UG_NAME__ -> 136:b ;
615 138:__UG_NAME__ -> 142:a ;
616 141:__UG_NAME__ -> 142:b ;
617 142:__UG_NAME__ -> 146:a ;
618 145:__UG_NAME__ -> 146:b ;
619 149:__UG_NAME__ -> 153:a ;
620 152:__UG_NAME__ -> 153:b ;
621 153:__UG_NAME__ -> 157:a ;
622 156:__UG_NAME__ -> 157:b ;
623 159:__UG_NAME__ -> 163:a ;
624 162:__UG_NAME__ -> 163:b ;
625 163:__UG_NAME__ -> 166:a ;
626 165:__UG_NAME__ -> 166:b ;
627 186:__UG_NAME__ -> 190:a ;
628 189:__UG_NAME__ -> 190:b ;
629 190:__UG_NAME__ -> 194:a ;
630 193:__UG_NAME__ -> 194:b ;
631 198:__UG_NAME__ -> 202:a ;
632 201:__UG_NAME__ -> 202:b ;
633 202:__UG_NAME__ -> 206:a ;
634 205:__UG_NAME__ -> 206:b ;
635 221:__UG_NAME__ -> 225:b ;
636 233:__UG_NAME__ -> 237:a ;
637 236:__UG_NAME__ -> 237:b ;
638 237:__UG_NAME__ -> 241:a ;
639 240:__UG_NAME__ -> 241:b ;
640 258:__UG_NAME__ -> 262:a ;
641 261:__UG_NAME__ -> 262:b ;
642 262:__UG_NAME__ -> 266:a ;
643 265:__UG_NAME__ -> 266:b ;
644 279:__UG_NAME__ -> 283:a ;
645 282:__UG_NAME__ -> 283:b ;
646 283:__UG_NAME__ -> 287:a ;
647 286:__UG_NAME__ -> 287:b ;
648 250:__UG_NAME__ -> 321:b ;
649 338:__UG_NAME__ -> 342:a ;
650 341:__UG_NAME__ -> 342:b ;
651 342:__UG_NAME__ -> 346:a ;
652 345:__UG_NAME__ -> 346:b ;
653 348:__UG_NAME__ -> 350:a ;
654 349:__UG_NAME__ -> 350:b ;
655 350:__UG_NAME__ -> 351:a ;
656 256:__UG_NAME__ -> 351:b ;
657 353:__UG_NAME__ -> 357:a ;
658 356:__UG_NAME__ -> 357:b ;
659 357:__UG_NAME__ -> 361:a ;
660 360:__UG_NAME__ -> 361:b ;
661 364:__UG_NAME__ -> 366:a ;
662 365:__UG_NAME__ -> 366:b ;
663 366:__UG_NAME__ -> 367:a ;
664 245:__UG_NAME__ -> 367:b ;
665 375:__UG_NAME__ -> 377:a ;
666 376:__UG_NAME__ -> 377:b ;
667 377:__UG_NAME__ -> 381:a ;
668 380:__UG_NAME__ -> 381:b ;
669 374:__UG_NAME__ -> 383:a ;
670 373:__UG_NAME__ -> 383:b ;
671 383:__UG_NAME__ -> 387:a ;
672 386:__UG_NAME__ -> 387:b ;
673 1:__UG_NAME__ -> 391:a ;
674 309:__UG_NAME__ -> 391:b ;
675 391:__UG_NAME__ -> 392:a ;
676 2:__UG_NAME__ -> 392:b ;
677 392:__UG_NAME__ -> 393:a ;
678 4:__UG_NAME__ -> 393:b ;
679 394:__UG_NAME__ -> 395:b ;
680 113:__UG_NAME__ -> 114:a ;
681 124:__UG_NAME__ -> 220:a ;
682 216:__UG_NAME__ -> 220:b ;
683 220:__UG_NAME__ -> 222:a ;
684 221:__UG_NAME__ -> 222:b ;
685 222:__UG_NAME__ -> 223:a ;
686 217:__UG_NAME__ -> 223:b ;
687 124:__UG_NAME__ -> 248:a ;
688 247:__UG_NAME__ -> 248:b ;
689 248:__UG_NAME__ -> 251:a ;
690 250:__UG_NAME__ -> 251:b ;
691 251:__UG_NAME__ -> 254:a ;
692 253:__UG_NAME__ -> 254:b ;
693 124:__UG_NAME__ -> 306:a ;
694 1:__UG_NAME__ -> 306:b ;
695 306:__UG_NAME__ -> 307:a ;
696 4:__UG_NAME__ -> 307:b ;
697 307:__UG_NAME__ -> 308:a ;
698 2:__UG_NAME__ -> 308:b ;
699 122:__UG_NAME__ -> 124:a ;
700 123:__UG_NAME__ -> 124:b ;
701 218:__UG_NAME__ -> 219:b ;
702 6:__UG_NAME__ -> 303:b ;
703 3:__UG_NAME__ -> 305:b ;
704 318:__UG_NAME__ -> 319:b ;
705 104:__UG_NAME__ -> 105:a ;
706 108:__UG_NAME__ -> 109:a ;
707 130:__UG_NAME__ -> 131:a ;
708 134:__UG_NAME__ -> 135:a ;
709 140:__UG_NAME__ -> 141:a ;
710 144:__UG_NAME__ -> 145:a ;
711 151:__UG_NAME__ -> 152:a ;
712 155:__UG_NAME__ -> 156:a ;
713 161:__UG_NAME__ -> 162:a ;
714 164:__UG_NAME__ -> 165:a ;
715 188:__UG_NAME__ -> 189:a ;
716 192:__UG_NAME__ -> 193:a ;
717 200:__UG_NAME__ -> 201:a ;
718 204:__UG_NAME__ -> 205:a ;
719 235:__UG_NAME__ -> 236:a ;
720 239:__UG_NAME__ -> 240:a ;
721 244:__UG_NAME__ -> 245:a ;
722 255:__UG_NAME__ -> 256:a ;
723 260:__UG_NAME__ -> 261:a ;
724 264:__UG_NAME__ -> 265:a ;
725 281:__UG_NAME__ -> 282:a ;
726 285:__UG_NAME__ -> 286:a ;
727 340:__UG_NAME__ -> 341:a ;
728 344:__UG_NAME__ -> 345:a ;
729 300:__UG_NAME__ -> 349:a ;
730 355:__UG_NAME__ -> 356:a ;
731 359:__UG_NAME__ -> 360:a ;
732 296:__UG_NAME__ -> 365:a ;
733 372:__UG_NAME__ -> 373:a ;
734 100:__UG_NAME__ -> 376:a ;
735 379:__UG_NAME__ -> 380:a ;
736 385:__UG_NAME__ -> 386:a ;
737 99:__UG_NAME__ -> 100:a ;
738 103:__UG_NAME__ -> 104:a ;
739 107:__UG_NAME__ -> 108:a ;
740 27:__UG_NAME__ -> 123:a ;
741 129:__UG_NAME__ -> 130:a ;
742 133:__UG_NAME__ -> 134:a ;
743 139:__UG_NAME__ -> 140:a ;
744 143:__UG_NAME__ -> 144:a ;
745 150:__UG_NAME__ -> 151:a ;
746 154:__UG_NAME__ -> 155:a ;
747 160:__UG_NAME__ -> 161:a ;
748 101:__UG_NAME__ -> 164:a ;
749 187:__UG_NAME__ -> 188:a ;
750 191:__UG_NAME__ -> 192:a ;
751 199:__UG_NAME__ -> 200:a ;
752 203:__UG_NAME__ -> 204:a ;
753 234:__UG_NAME__ -> 235:a ;
754 238:__UG_NAME__ -> 239:a ;
755 243:__UG_NAME__ -> 244:a ;
756 242:__UG_NAME__ -> 255:a ;
757 259:__UG_NAME__ -> 260:a ;
758 263:__UG_NAME__ -> 264:a ;
759 280:__UG_NAME__ -> 281:a ;
760 284:__UG_NAME__ -> 285:a ;
761 295:__UG_NAME__ -> 296:a ;
762 299:__UG_NAME__ -> 300:a ;
763 339:__UG_NAME__ -> 340:a ;
764 343:__UG_NAME__ -> 344:a ;
765 354:__UG_NAME__ -> 355:a ;
766 358:__UG_NAME__ -> 359:a ;
767 371:__UG_NAME__ -> 372:a ;
768 378:__UG_NAME__ -> 379:a ;
769 384:__UG_NAME__ -> 385:a ;
770 29:__UG_NAME__ -> 121:a ;
771 28:__UG_NAME__ -> 121:b ;
772 0:__UG_NAME__ -> 120:buf ;
773 0:__UG_NAME__ -> 113:buf ;
774 0:__UG_NAME__ -> 126:bufnum ;
775 125:__UG_NAME__ -> 126:phase ;
776 337:__UG_NAME__ -> 369:in ;
777 337:__UG_NAME__ -> 369:control ;
778 347:__UG_NAME__ -> 369:thresh ;
779 352:__UG_NAME__ -> 369:slope____below ;
780 362:__UG_NAME__ -> 369:slope____above ;
781 363:__UG_NAME__ -> 369:clamp____time ;
782 368:__UG_NAME__ -> 369:relax____time ;
783 74:__UG_NAME__ -> 111:envelope___control___0 ;
784 74:__UG_NAME__ -> 111:envelope___control___4 ;
785 75:__UG_NAME__ -> 111:envelope___control___5 ;
786 76:__UG_NAME__ -> 111:envelope___control___6 ;
787 77:__UG_NAME__ -> 111:envelope___control___7 ;
788 110:__UG_NAME__ -> 111:gate ;
789 61:__UG_NAME__ -> 137:envelope___control___0 ;
790 61:__UG_NAME__ -> 137:envelope___control___4 ;
791 62:__UG_NAME__ -> 137:envelope___control___5 ;
792 63:__UG_NAME__ -> 137:envelope___control___6 ;
793 64:__UG_NAME__ -> 137:envelope___control___7 ;
794 136:__UG_NAME__ -> 137:gate ;
795 57:__UG_NAME__ -> 147:envelope___control___0 ;
796 57:__UG_NAME__ -> 147:envelope___control___4 ;
797 58:__UG_NAME__ -> 147:envelope___control___5 ;
798 59:__UG_NAME__ -> 147:envelope___control___6 ;
799 60:__UG_NAME__ -> 147:envelope___control___7 ;
800 146:__UG_NAME__ -> 147:gate ;
801 65:__UG_NAME__ -> 158:envelope___control___0 ;
802 65:__UG_NAME__ -> 158:envelope___control___4 ;
803 66:__UG_NAME__ -> 158:envelope___control___5 ;
804 67:__UG_NAME__ -> 158:envelope___control___6 ;
805 68:__UG_NAME__ -> 158:envelope___control___7 ;
806 157:__UG_NAME__ -> 158:gate ;
807 69:__UG_NAME__ -> 167:envelope___control___0 ;
808 69:__UG_NAME__ -> 167:envelope___control___4 ;
809 70:__UG_NAME__ -> 167:envelope___control___5 ;
810 71:__UG_NAME__ -> 167:envelope___control___6 ;
811 72:__UG_NAME__ -> 167:envelope___control___7 ;
812 166:__UG_NAME__ -> 167:gate ;
813 47:__UG_NAME__ -> 195:envelope___control___0 ;
814 47:__UG_NAME__ -> 195:envelope___control___4 ;
815 48:__UG_NAME__ -> 195:envelope___control___5 ;
816 49:__UG_NAME__ -> 195:envelope___control___6 ;
817 50:__UG_NAME__ -> 195:envelope___control___7 ;
818 194:__UG_NAME__ -> 195:gate ;
819 43:__UG_NAME__ -> 207:envelope___control___0 ;
820 43:__UG_NAME__ -> 207:envelope___control___4 ;
821 44:__UG_NAME__ -> 207:envelope___control___5 ;
822 45:__UG_NAME__ -> 207:envelope___control___6 ;
823 46:__UG_NAME__ -> 207:envelope___control___7 ;
824 206:__UG_NAME__ -> 207:gate ;
825 211:__UG_NAME__ -> 226:envelope___select___0 ;
826 215:__UG_NAME__ -> 226:envelope___select___4 ;
827 216:__UG_NAME__ -> 226:envelope___select___5 ;
828 55:__UG_NAME__ -> 226:envelope___control___6 ;
829 214:__UG_NAME__ -> 226:envelope___select___8 ;
830 217:__UG_NAME__ -> 226:envelope___select___9 ;
831 55:__UG_NAME__ -> 226:envelope___control___10 ;
832 213:__UG_NAME__ -> 226:envelope___select___12 ;
833 224:__UG_NAME__ -> 226:envelope___select___13 ;
834 55:__UG_NAME__ -> 226:envelope___control___14 ;
835 212:__UG_NAME__ -> 226:envelope___select___16 ;
836 225:__UG_NAME__ -> 226:envelope___binary____op____u____gen___17 ;
837 55:__UG_NAME__ -> 226:envelope___control___18 ;
838 30:__UG_NAME__ -> 267:envelope___control___0 ;
839 30:__UG_NAME__ -> 267:envelope___control___4 ;
840 31:__UG_NAME__ -> 267:envelope___control___5 ;
841 32:__UG_NAME__ -> 267:envelope___control___6 ;
842 33:__UG_NAME__ -> 267:envelope___control___7 ;
843 266:__UG_NAME__ -> 267:gate ;
844 38:__UG_NAME__ -> 288:envelope___control___0 ;
845 38:__UG_NAME__ -> 288:envelope___control___4 ;
846 39:__UG_NAME__ -> 288:envelope___control___5 ;
847 40:__UG_NAME__ -> 288:envelope___control___6 ;
848 41:__UG_NAME__ -> 288:envelope___control___7 ;
849 287:__UG_NAME__ -> 288:gate ;
850 5:__UG_NAME__ -> 310:envelope___control___4 ;
851 1:__UG_NAME__ -> 310:envelope___control___5 ;
852 26:__UG_NAME__ -> 310:envelope___control___6 ;
853 304:__UG_NAME__ -> 310:envelope___select___8 ;
854 2:__UG_NAME__ -> 310:envelope___control___9 ;
855 26:__UG_NAME__ -> 310:envelope___control___10 ;
856 7:__UG_NAME__ -> 310:envelope___control___12 ;
857 309:__UG_NAME__ -> 310:envelope___select___13 ;
858 26:__UG_NAME__ -> 310:envelope___control___14 ;
859 4:__UG_NAME__ -> 310:envelope___control___17 ;
860 26:__UG_NAME__ -> 310:envelope___control___18 ;
861 294:__UG_NAME__ -> 322:envelope___select___0 ;
862 317:__UG_NAME__ -> 322:envelope___select___4 ;
863 247:__UG_NAME__ -> 322:envelope___select___5 ;
864 42:__UG_NAME__ -> 322:envelope___control___6 ;
865 316:__UG_NAME__ -> 322:envelope___select___8 ;
866 253:__UG_NAME__ -> 322:envelope___select___9 ;
867 42:__UG_NAME__ -> 322:envelope___control___10 ;
868 315:__UG_NAME__ -> 322:envelope___select___12 ;
869 320:__UG_NAME__ -> 322:envelope___select___13 ;
870 42:__UG_NAME__ -> 322:envelope___control___14 ;
871 314:__UG_NAME__ -> 322:envelope___select___16 ;
872 321:__UG_NAME__ -> 322:envelope___binary____op____u____gen___17 ;
873 42:__UG_NAME__ -> 322:envelope___control___18 ;
874 78:__UG_NAME__ -> 347:envelope___control___0 ;
875 78:__UG_NAME__ -> 347:envelope___control___4 ;
876 79:__UG_NAME__ -> 347:envelope___control___5 ;
877 80:__UG_NAME__ -> 347:envelope___control___6 ;
878 81:__UG_NAME__ -> 347:envelope___control___7 ;
879 346:__UG_NAME__ -> 347:gate ;
880 90:__UG_NAME__ -> 352:envelope___control___0 ;
881 90:__UG_NAME__ -> 352:envelope___control___4 ;
882 91:__UG_NAME__ -> 352:envelope___control___5 ;
883 92:__UG_NAME__ -> 352:envelope___control___6 ;
884 93:__UG_NAME__ -> 352:envelope___control___7 ;
885 351:__UG_NAME__ -> 352:gate ;
886 86:__UG_NAME__ -> 362:envelope___control___0 ;
887 86:__UG_NAME__ -> 362:envelope___control___4 ;
888 87:__UG_NAME__ -> 362:envelope___control___5 ;
889 88:__UG_NAME__ -> 362:envelope___control___6 ;
890 89:__UG_NAME__ -> 362:envelope___control___7 ;
891 361:__UG_NAME__ -> 362:gate ;
892 82:__UG_NAME__ -> 363:envelope___control___0 ;
893 82:__UG_NAME__ -> 363:envelope___control___4 ;
894 83:__UG_NAME__ -> 363:envelope___control___5 ;
895 84:__UG_NAME__ -> 363:envelope___control___6 ;
896 85:__UG_NAME__ -> 363:envelope___control___7 ;
897 241:__UG_NAME__ -> 363:gate ;
898 94:__UG_NAME__ -> 368:envelope___control___0 ;
899 94:__UG_NAME__ -> 368:envelope___control___4 ;
900 95:__UG_NAME__ -> 368:envelope___control___5 ;
901 96:__UG_NAME__ -> 368:envelope___control___6 ;
902 97:__UG_NAME__ -> 368:envelope___control___7 ;
903 367:__UG_NAME__ -> 368:gate ;
904 22:__UG_NAME__ -> 382:envelope___control___0 ;
905 22:__UG_NAME__ -> 382:envelope___control___4 ;
906 23:__UG_NAME__ -> 382:envelope___control___5 ;
907 24:__UG_NAME__ -> 382:envelope___control___6 ;
908 25:__UG_NAME__ -> 382:envelope___control___7 ;
909 381:__UG_NAME__ -> 382:gate ;
910 18:__UG_NAME__ -> 388:envelope___control___0 ;
911 18:__UG_NAME__ -> 388:envelope___control___4 ;
912 19:__UG_NAME__ -> 388:envelope___control___5 ;
913 20:__UG_NAME__ -> 388:envelope___control___6 ;
914 21:__UG_NAME__ -> 388:envelope___control___7 ;
915 387:__UG_NAME__ -> 388:gate ;
916 331:__UG_NAME__ -> 333:in ;
917 332:__UG_NAME__ -> 333:freq ;
918 22:__UG_NAME__ -> 99:in ;
919 70:__UG_NAME__ -> 101:in ;
920 74:__UG_NAME__ -> 103:in ;
921 75:__UG_NAME__ -> 107:in ;
922 61:__UG_NAME__ -> 129:in ;
923 62:__UG_NAME__ -> 133:in ;
924 57:__UG_NAME__ -> 139:in ;
925 58:__UG_NAME__ -> 143:in ;
926 65:__UG_NAME__ -> 150:in ;
927 66:__UG_NAME__ -> 154:in ;
928 69:__UG_NAME__ -> 160:in ;
929 47:__UG_NAME__ -> 187:in ;
930 48:__UG_NAME__ -> 191:in ;
931 43:__UG_NAME__ -> 199:in ;
932 44:__UG_NAME__ -> 203:in ;
933 82:__UG_NAME__ -> 234:in ;
934 83:__UG_NAME__ -> 238:in ;
935 91:__UG_NAME__ -> 242:in ;
936 95:__UG_NAME__ -> 243:in ;
937 30:__UG_NAME__ -> 259:in ;
938 31:__UG_NAME__ -> 263:in ;
939 38:__UG_NAME__ -> 280:in ;
940 39:__UG_NAME__ -> 284:in ;
941 94:__UG_NAME__ -> 295:in ;
942 90:__UG_NAME__ -> 299:in ;
943 78:__UG_NAME__ -> 339:in ;
944 79:__UG_NAME__ -> 343:in ;
945 86:__UG_NAME__ -> 354:in ;
946 87:__UG_NAME__ -> 358:in ;
947 18:__UG_NAME__ -> 371:in ;
948 23:__UG_NAME__ -> 378:in ;
949 19:__UG_NAME__ -> 384:in ;
950 117:__UG_NAME__ -> 125:start ;
951 119:__UG_NAME__ -> 125:end ;
952 124:__UG_NAME__ -> 125:dur ;
953 395:__UG_NAME__ -> 396:dur ;
954 312:__UG_NAME__ -> 330:in ;
955 329:__UG_NAME__ -> 330:freq ;
956 210:__UG_NAME__ -> 231:a ;
957 230:__UG_NAME__ -> 231:b ;
958 210:__UG_NAME__ -> 302:a ;
959 301:__UG_NAME__ -> 302:b ;
960 323:__UG_NAME__ -> 325:a ;
961 324:__UG_NAME__ -> 325:b ;
962 209:__UG_NAME__ -> 210:a ;
963 226:__UG_NAME__ -> 227:a ;
964 228:__UG_NAME__ -> 229:a ;
965 297:__UG_NAME__ -> 298:a ;
966 322:__UG_NAME__ -> 323:a ;
967 293:__UG_NAME__ -> 324:a ;
968 147:__UG_NAME__ -> 148:a ;
969 227:__UG_NAME__ -> 230:a ;
970 229:__UG_NAME__ -> 230:b ;
971 232:__UG_NAME__ -> 301:a ;
972 229:__UG_NAME__ -> 301:b ;
973 298:__UG_NAME__ -> 326:a ;
974 325:__UG_NAME__ -> 326:b ;
975 327:__UG_NAME__ -> 328:a ;
976 298:__UG_NAME__ -> 328:b ;
977 124:__UG_NAME__ -> 394:a ;
978 393:__UG_NAME__ -> 394:b ;
979 334:__UG_NAME__ -> 335:in ;
980 27:__UG_NAME__ -> 112:a ;
981 27:__UG_NAME__ -> 118:a ;
982 54:__UG_NAME__ -> 169:b ;
983 13:__UG_NAME__ -> 170:b ;
984 14:__UG_NAME__ -> 171:b ;
985 15:__UG_NAME__ -> 173:b ;
986 16:__UG_NAME__ -> 175:b ;
987 17:__UG_NAME__ -> 177:b ;
988 51:__UG_NAME__ -> 179:b ;
989 53:__UG_NAME__ -> 181:b ;
990 52:__UG_NAME__ -> 184:b ;
991 195:__UG_NAME__ -> 196:b ;
992 207:__UG_NAME__ -> 208:b ;
993 34:__UG_NAME__ -> 246:b ;
994 37:__UG_NAME__ -> 249:b ;
995 36:__UG_NAME__ -> 252:b ;
996 267:__UG_NAME__ -> 268:b ;
997 9:__UG_NAME__ -> 269:b ;
998 10:__UG_NAME__ -> 270:b ;
999 11:__UG_NAME__ -> 272:b ;
1000 35:__UG_NAME__ -> 277:b ;
1001 288:__UG_NAME__ -> 289:b ;
1002 8:__UG_NAME__ -> 292:b ;
1003 147:__UG_NAME__ -> 311:b ;
1004 12:__UG_NAME__ -> 313:b ;
1005 170:__UG_NAME__ -> 172:a ;
1006 171:__UG_NAME__ -> 172:b ;
1007 172:__UG_NAME__ -> 174:a ;
1008 173:__UG_NAME__ -> 174:b ;
1009 174:__UG_NAME__ -> 176:a ;
1010 175:__UG_NAME__ -> 176:b ;
1011 176:__UG_NAME__ -> 178:a ;
1012 177:__UG_NAME__ -> 178:b ;
1013 178:__UG_NAME__ -> 180:a ;
1014 179:__UG_NAME__ -> 180:b ;
1015 180:__UG_NAME__ -> 182:a ;
1016 181:__UG_NAME__ -> 182:b ;
1017 182:__UG_NAME__ -> 183:a ;
1018 169:__UG_NAME__ -> 183:b ;
1019 183:__UG_NAME__ -> 185:a ;
1020 184:__UG_NAME__ -> 185:b ;
1021 185:__UG_NAME__ -> 197:a ;
1022 196:__UG_NAME__ -> 197:b ;
1023 208:__UG_NAME__ -> 257:a ;
1024 197:__UG_NAME__ -> 257:b ;
1025 269:__UG_NAME__ -> 271:a ;
1026 270:__UG_NAME__ -> 271:b ;
1027 271:__UG_NAME__ -> 273:a ;
1028 272:__UG_NAME__ -> 273:b ;
1029 273:__UG_NAME__ -> 274:a ;
1030 246:__UG_NAME__ -> 274:b ;
1031 274:__UG_NAME__ -> 275:a ;
1032 252:__UG_NAME__ -> 275:b ;
1033 275:__UG_NAME__ -> 276:a ;
1034 249:__UG_NAME__ -> 276:b ;
1035 276:__UG_NAME__ -> 278:a ;
1036 277:__UG_NAME__ -> 278:b ;
1037 278:__UG_NAME__ -> 290:a ;
1038 289:__UG_NAME__ -> 290:b ;
1039 268:__UG_NAME__ -> 291:a ;
1040 290:__UG_NAME__ -> 291:b ;
1041 98:__UG_NAME__ -> 390:bus ;
1042 389:__UG_NAME__ -> 390:signals___pan2___0 ;
1043 389:__UG_NAME__ -> 390:signals___pan2___1 ;
1044 370:__UG_NAME__ -> 389:in ;
1045 382:__UG_NAME__ -> 389:pos ;
1046 388:__UG_NAME__ -> 389:level ;
1047 127:__UG_NAME__ -> 168:in ;
1048 137:__UG_NAME__ -> 168:window____size ;
1049 148:__UG_NAME__ -> 168:pitch____ratio ;
1050 158:__UG_NAME__ -> 168:pitch____dispersion ;
1051 167:__UG_NAME__ -> 168:time____dispersion ;
1052 112:__UG_NAME__ -> 117:which ;
1053 115:__UG_NAME__ -> 117:array___binary____op____u____gen___0 ;
1054 116:__UG_NAME__ -> 117:array___binary____op____u____gen___1 ;
1055 118:__UG_NAME__ -> 119:which ;
1056 116:__UG_NAME__ -> 119:array___binary____op____u____gen___0 ;
1057 115:__UG_NAME__ -> 119:array___binary____op____u____gen___1 ;
1058 208:__UG_NAME__ -> 209:which ;
1059 207:__UG_NAME__ -> 209:array___env____gen___1 ;
1060 170:__UG_NAME__ -> 211:which ;
1061 13:__UG_NAME__ -> 211:array___control___1 ;
1062 177:__UG_NAME__ -> 212:which ;
1063 209:__UG_NAME__ -> 212:array___select___0 ;
1064 17:__UG_NAME__ -> 212:array___control___1 ;
1065 175:__UG_NAME__ -> 213:which ;
1066 212:__UG_NAME__ -> 213:array___select___0 ;
1067 16:__UG_NAME__ -> 213:array___control___1 ;
1068 173:__UG_NAME__ -> 214:which ;
1069 213:__UG_NAME__ -> 214:array___select___0 ;
1070 15:__UG_NAME__ -> 214:array___control___1 ;
1071 171:__UG_NAME__ -> 215:which ;
1072 214:__UG_NAME__ -> 215:array___select___0 ;
1073 14:__UG_NAME__ -> 215:array___control___1 ;
1074 179:__UG_NAME__ -> 216:which ;
1075 1:__UG_NAME__ -> 216:array___control___0 ;
1076 51:__UG_NAME__ -> 216:array___control___1 ;
1077 181:__UG_NAME__ -> 217:which ;
1078 2:__UG_NAME__ -> 217:array___control___0 ;
1079 53:__UG_NAME__ -> 217:array___control___1 ;
1080 184:__UG_NAME__ -> 218:which ;
1081 3:__UG_NAME__ -> 218:array___control___0 ;
1082 52:__UG_NAME__ -> 218:array___control___1 ;
1083 169:__UG_NAME__ -> 221:which ;
1084 4:__UG_NAME__ -> 221:array___control___0 ;
1085 54:__UG_NAME__ -> 221:array___control___1 ;
1086 219:__UG_NAME__ -> 224:which ;
1087 218:__UG_NAME__ -> 224:array___select___0 ;
1088 223:__UG_NAME__ -> 224:array___binary____op____u____gen___1 ;
1089 196:__UG_NAME__ -> 228:which ;
1090 195:__UG_NAME__ -> 228:array___env____gen___1 ;
1091 197:__UG_NAME__ -> 232:which ;
1092 210:__UG_NAME__ -> 232:array___unary____op____u____gen___0 ;
1093 231:__UG_NAME__ -> 232:array___binary____op____u____gen___1 ;
1094 246:__UG_NAME__ -> 247:which ;
1095 1:__UG_NAME__ -> 247:array___control___0 ;
1096 34:__UG_NAME__ -> 247:array___control___1 ;
1097 249:__UG_NAME__ -> 250:which ;
1098 4:__UG_NAME__ -> 250:array___control___0 ;
1099 37:__UG_NAME__ -> 250:array___control___1 ;
1100 252:__UG_NAME__ -> 253:which ;
1101 2:__UG_NAME__ -> 253:array___control___0 ;
1102 36:__UG_NAME__ -> 253:array___control___1 ;
1103 289:__UG_NAME__ -> 293:which ;
1104 288:__UG_NAME__ -> 293:array___env____gen___1 ;
1105 292:__UG_NAME__ -> 294:which ;
1106 293:__UG_NAME__ -> 294:array___select___0 ;
1107 8:__UG_NAME__ -> 294:array___control___1 ;
1108 268:__UG_NAME__ -> 297:which ;
1109 267:__UG_NAME__ -> 297:array___env____gen___1 ;
1110 303:__UG_NAME__ -> 304:which ;
1111 6:__UG_NAME__ -> 304:array___control___0 ;
1112 7:__UG_NAME__ -> 304:array___control___1 ;
1113 305:__UG_NAME__ -> 309:which ;
1114 3:__UG_NAME__ -> 309:array___control___0 ;
1115 308:__UG_NAME__ -> 309:array___binary____op____u____gen___1 ;
1116 311:__UG_NAME__ -> 312:which ;
1117 127:__UG_NAME__ -> 312:array___binary____op____u____gen___0 ;
1118 168:__UG_NAME__ -> 312:array___pitch____shift___1 ;
1119 313:__UG_NAME__ -> 314:which ;
1120 297:__UG_NAME__ -> 314:array___select___0 ;
1121 12:__UG_NAME__ -> 314:array___control___1 ;
1122 272:__UG_NAME__ -> 315:which ;
1123 314:__UG_NAME__ -> 315:array___select___0 ;
1124 11:__UG_NAME__ -> 315:array___control___1 ;
1125 270:__UG_NAME__ -> 316:which ;
1126 315:__UG_NAME__ -> 316:array___select___0 ;
1127 10:__UG_NAME__ -> 316:array___control___1 ;
1128 269:__UG_NAME__ -> 317:which ;
1129 316:__UG_NAME__ -> 317:array___select___0 ;
1130 9:__UG_NAME__ -> 317:array___control___1 ;
1131 277:__UG_NAME__ -> 318:which ;
1132 3:__UG_NAME__ -> 318:array___control___0 ;
1133 35:__UG_NAME__ -> 318:array___control___1 ;
1134 319:__UG_NAME__ -> 320:which ;
1135 318:__UG_NAME__ -> 320:array___select___0 ;
1136 254:__UG_NAME__ -> 320:array___binary____op____u____gen___1 ;
1137 290:__UG_NAME__ -> 327:which ;
1138 298:__UG_NAME__ -> 327:array___unary____op____u____gen___0 ;
1139 326:__UG_NAME__ -> 327:array___binary____op____u____gen___1 ;
1140 290:__UG_NAME__ -> 329:which ;
1141 298:__UG_NAME__ -> 329:array___unary____op____u____gen___0 ;
1142 328:__UG_NAME__ -> 329:array___binary____op____u____gen___1 ;
1143 291:__UG_NAME__ -> 331:which ;
1144 312:__UG_NAME__ -> 331:array___select___0 ;
1145 330:__UG_NAME__ -> 331:array___lpf___1 ;
1146 197:__UG_NAME__ -> 332:which ;
1147 210:__UG_NAME__ -> 332:array___unary____op____u____gen___0 ;
1148 302:__UG_NAME__ -> 332:array___binary____op____u____gen___1 ;
1149 257:__UG_NAME__ -> 334:which ;
1150 331:__UG_NAME__ -> 334:array___select___0 ;
1151 333:__UG_NAME__ -> 334:array___hpf___1 ;
1152 56:__UG_NAME__ -> 336:which ;
1153 334:__UG_NAME__ -> 336:array___select___0 ;
1154 335:__UG_NAME__ -> 336:array___normalizer___1 ;
1155 73:__UG_NAME__ -> 370:which ;
1156 337:__UG_NAME__ -> 370:array___binary____op____u____gen___0 ;
1157 369:__UG_NAME__ -> 370:array___compander___1 ;
1158
1159 }
0 digraph synthdef {
1 69 [label = "{{ <b> |<a> 0.9} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 73 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 29 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 33 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 43 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 47 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 53 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 57 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 70 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 28 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 32 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 38 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 42 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 46 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 52 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 56 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 27 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 31 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 37 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 45 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 55 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 0 [label = "control
29 :amp
30 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 1 [label = "control
32 :amp_slide
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 2 [label = "control
35 :amp_slide_shape
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 3 [label = "control
38 :amp_slide_curve
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 4 [label = "control
41 :pan
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 5 [label = "control
44 :pan_slide
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 6 [label = "control
47 :pan_slide_shape
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 7 [label = "control
50 :pan_slide_curve
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 8 [label = "control
53 :attack
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 9 [label = "control
56 :sustain
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 10 [label = "control
59 :decay
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 11 [label = "control
62 :release
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 12 [label = "control
65 :attack_level
66 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 13 [label = "control
68 :decay_level
69 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 14 [label = "control
71 :sustain_level
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 15 [label = "control
74 :env_curve
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 16 [label = "control
77 :cutoff
78 default: 110.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 17 [label = "control
80 :cutoff_slide
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 18 [label = "control
83 :cutoff_slide_shape
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 19 [label = "control
86 :cutoff_slide_curve
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 20 [label = "control
89 :res
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 21 [label = "control
92 :res_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 22 [label = "control
95 :res_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 23 [label = "control
98 :res_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 24 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 34 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 48 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 58 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 66 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 72 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 25 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
117 39 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 49 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 60 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 67 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
121 35 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
122 75 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
123 74 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
124 68 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
125 71 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
126 59 [label = "{<__UG_NAME__>white-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
127
128 68:__UG_NAME__ -> 69:b ;
129 69:__UG_NAME__ -> 73:a ;
130 72:__UG_NAME__ -> 73:b ;
131 25:__UG_NAME__ -> 29:a ;
132 28:__UG_NAME__ -> 29:b ;
133 29:__UG_NAME__ -> 33:a ;
134 32:__UG_NAME__ -> 33:b ;
135 39:__UG_NAME__ -> 43:a ;
136 42:__UG_NAME__ -> 43:b ;
137 43:__UG_NAME__ -> 47:a ;
138 46:__UG_NAME__ -> 47:b ;
139 49:__UG_NAME__ -> 53:a ;
140 52:__UG_NAME__ -> 53:b ;
141 53:__UG_NAME__ -> 57:a ;
142 56:__UG_NAME__ -> 57:b ;
143 60:__UG_NAME__ -> 61:a ;
144 38:__UG_NAME__ -> 61:b ;
145 61:__UG_NAME__ -> 65:a ;
146 64:__UG_NAME__ -> 65:b ;
147 13:__UG_NAME__ -> 70:b ;
148 27:__UG_NAME__ -> 28:a ;
149 31:__UG_NAME__ -> 32:a ;
150 37:__UG_NAME__ -> 38:a ;
151 41:__UG_NAME__ -> 42:a ;
152 45:__UG_NAME__ -> 46:a ;
153 51:__UG_NAME__ -> 52:a ;
154 55:__UG_NAME__ -> 56:a ;
155 63:__UG_NAME__ -> 64:a ;
156 26:__UG_NAME__ -> 27:a ;
157 30:__UG_NAME__ -> 31:a ;
158 36:__UG_NAME__ -> 37:a ;
159 40:__UG_NAME__ -> 41:a ;
160 44:__UG_NAME__ -> 45:a ;
161 50:__UG_NAME__ -> 51:a ;
162 54:__UG_NAME__ -> 55:a ;
163 62:__UG_NAME__ -> 63:a ;
164 4:__UG_NAME__ -> 34:envelope___control___0 ;
165 4:__UG_NAME__ -> 34:envelope___control___4 ;
166 5:__UG_NAME__ -> 34:envelope___control___5 ;
167 6:__UG_NAME__ -> 34:envelope___control___6 ;
168 7:__UG_NAME__ -> 34:envelope___control___7 ;
169 33:__UG_NAME__ -> 34:gate ;
170 0:__UG_NAME__ -> 48:envelope___control___0 ;
171 0:__UG_NAME__ -> 48:envelope___control___4 ;
172 1:__UG_NAME__ -> 48:envelope___control___5 ;
173 2:__UG_NAME__ -> 48:envelope___control___6 ;
174 3:__UG_NAME__ -> 48:envelope___control___7 ;
175 47:__UG_NAME__ -> 48:gate ;
176 16:__UG_NAME__ -> 58:envelope___control___0 ;
177 16:__UG_NAME__ -> 58:envelope___control___4 ;
178 17:__UG_NAME__ -> 58:envelope___control___5 ;
179 18:__UG_NAME__ -> 58:envelope___control___6 ;
180 19:__UG_NAME__ -> 58:envelope___control___7 ;
181 57:__UG_NAME__ -> 58:gate ;
182 35:__UG_NAME__ -> 66:envelope___mul____add___0 ;
183 35:__UG_NAME__ -> 66:envelope___mul____add___4 ;
184 21:__UG_NAME__ -> 66:envelope___control___5 ;
185 22:__UG_NAME__ -> 66:envelope___control___6 ;
186 23:__UG_NAME__ -> 66:envelope___control___7 ;
187 65:__UG_NAME__ -> 66:gate ;
188 12:__UG_NAME__ -> 72:envelope___control___4 ;
189 8:__UG_NAME__ -> 72:envelope___control___5 ;
190 15:__UG_NAME__ -> 72:envelope___control___6 ;
191 71:__UG_NAME__ -> 72:envelope___select___8 ;
192 10:__UG_NAME__ -> 72:envelope___control___9 ;
193 15:__UG_NAME__ -> 72:envelope___control___10 ;
194 14:__UG_NAME__ -> 72:envelope___control___12 ;
195 9:__UG_NAME__ -> 72:envelope___control___13 ;
196 15:__UG_NAME__ -> 72:envelope___control___14 ;
197 11:__UG_NAME__ -> 72:envelope___control___17 ;
198 15:__UG_NAME__ -> 72:envelope___control___18 ;
199 4:__UG_NAME__ -> 26:in ;
200 5:__UG_NAME__ -> 30:in ;
201 35:__UG_NAME__ -> 36:in ;
202 0:__UG_NAME__ -> 40:in ;
203 1:__UG_NAME__ -> 44:in ;
204 16:__UG_NAME__ -> 50:in ;
205 17:__UG_NAME__ -> 54:in ;
206 21:__UG_NAME__ -> 62:in ;
207 58:__UG_NAME__ -> 67:a ;
208 20:__UG_NAME__ -> 35:in ;
209 24:__UG_NAME__ -> 75:bus ;
210 74:__UG_NAME__ -> 75:signals___pan2___0 ;
211 74:__UG_NAME__ -> 75:signals___pan2___1 ;
212 73:__UG_NAME__ -> 74:in ;
213 34:__UG_NAME__ -> 74:pos ;
214 48:__UG_NAME__ -> 74:level ;
215 59:__UG_NAME__ -> 68:in ;
216 67:__UG_NAME__ -> 68:freq ;
217 66:__UG_NAME__ -> 68:rq ;
218 70:__UG_NAME__ -> 71:which ;
219 13:__UG_NAME__ -> 71:array___control___0 ;
220 14:__UG_NAME__ -> 71:array___control___1 ;
221
222 }
0 digraph synthdef {
1 32 [label = "{{ <b> 127.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 54 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 55 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 27 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 39 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 50 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 51 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 43 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
9 26 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
10 38 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
11 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
12 49 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 25 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
14 34 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
15 37 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
16 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
17 53 [label = "{{ <level> level|<pos> pos|<right> right|<left> left} |<__UG_NAME__>balance2 }" style="filled, bold, rounded" shape=record rankdir=LR];
18 30 [label = "{{ <hi> hi 1.0|<lo> lo 0.0|<in> in} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
19 35 [label = "{{ <hi> hi 1.0|<lo> lo 0.0|<in> in} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
20 0 [label = "control
21 :note
22 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
23 1 [label = "control
24 :amp
25 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
26 2 [label = "control
27 :amp_slide
28 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
29 3 [label = "control
30 :amp_slide_shape
31 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
32 4 [label = "control
33 :amp_slide_curve
34 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
35 5 [label = "control
36 :pan
37 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 6 [label = "control
39 :pan_slide
40 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 7 [label = "control
42 :pan_slide_shape
43 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 8 [label = "control
45 :pan_slide_curve
46 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 9 [label = "control
48 :attack
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 10 [label = "control
51 :decay
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 11 [label = "control
54 :sustain
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 12 [label = "control
57 :release
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 13 [label = "control
60 :attack_level
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 14 [label = "control
63 :decay_level
64 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 15 [label = "control
66 :sustain_level
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 16 [label = "control
69 :env_curve
70 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 17 [label = "control
72 :vel
73 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 18 [label = "control
75 :decay
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 19 [label = "control
78 :hard
79 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 20 [label = "control
81 :velcurve
82 default: 0.8" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 21 [label = "control
84 :stereo_width
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 22 [label = "control
87 :out_bus
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 40 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
90 45 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
91 52 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
92 24 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 23 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
97 48 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
98 42 [label = "{{ <hard> hard|<stretch> stretch 0.0|<velmuff> velmuff 0.8|<vel> vel|<decay> decay|<random> random 0.0|<gate> gate 1.0|<sustain> sustain 0.1|<velhard> velhard 0.8|<stereo> stereo|<release> release|<muffle> muffle 0.8|<velcurve> velcurve|<tune> tune 0.5|<freq> freq} |<__UG_NAME__>mda-piano }" style="filled, bold, rounded" shape=record rankdir=LR];
99 29 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
100 31 [label = "{{ <add> add 0.0|<mul> mul 4.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
101 41 [label = "{{ <add> add -3.0|<mul> mul 6.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
102 56 [label = "{{ {{<signals___binary____op____u____gen___0>|<signals___binary____op____u____gen___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
103 44 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
104
105 31:__UG_NAME__ -> 32:a ;
106 45:__UG_NAME__ -> 54:a ;
107 53:__UG_NAME__ -> 54:b ;
108 45:__UG_NAME__ -> 55:a ;
109 53:__UG_NAME__ -> 55:b ;
110 23:__UG_NAME__ -> 27:a ;
111 26:__UG_NAME__ -> 27:b ;
112 27:__UG_NAME__ -> 39:a ;
113 38:__UG_NAME__ -> 39:b ;
114 48:__UG_NAME__ -> 50:a ;
115 49:__UG_NAME__ -> 50:b ;
116 50:__UG_NAME__ -> 51:a ;
117 47:__UG_NAME__ -> 51:b ;
118 14:__UG_NAME__ -> 43:b ;
119 25:__UG_NAME__ -> 26:a ;
120 37:__UG_NAME__ -> 38:a ;
121 46:__UG_NAME__ -> 47:a ;
122 34:__UG_NAME__ -> 49:a ;
123 24:__UG_NAME__ -> 25:a ;
124 33:__UG_NAME__ -> 34:a ;
125 36:__UG_NAME__ -> 37:a ;
126 28:__UG_NAME__ -> 46:a ;
127 42:__UG_NAME__ -> 53:left ;
128 42:__UG_NAME__ -> 53:right ;
129 40:__UG_NAME__ -> 53:pos ;
130 52:__UG_NAME__ -> 53:level ;
131 17:__UG_NAME__ -> 30:in ;
132 19:__UG_NAME__ -> 35:in ;
133 5:__UG_NAME__ -> 40:envelope___control___0 ;
134 5:__UG_NAME__ -> 40:envelope___control___4 ;
135 6:__UG_NAME__ -> 40:envelope___control___5 ;
136 7:__UG_NAME__ -> 40:envelope___control___6 ;
137 8:__UG_NAME__ -> 40:envelope___control___7 ;
138 39:__UG_NAME__ -> 40:gate ;
139 13:__UG_NAME__ -> 45:envelope___control___4 ;
140 9:__UG_NAME__ -> 45:envelope___control___5 ;
141 16:__UG_NAME__ -> 45:envelope___control___6 ;
142 44:__UG_NAME__ -> 45:envelope___select___8 ;
143 10:__UG_NAME__ -> 45:envelope___control___9 ;
144 16:__UG_NAME__ -> 45:envelope___control___10 ;
145 15:__UG_NAME__ -> 45:envelope___control___12 ;
146 11:__UG_NAME__ -> 45:envelope___control___13 ;
147 16:__UG_NAME__ -> 45:envelope___control___14 ;
148 12:__UG_NAME__ -> 45:envelope___control___17 ;
149 16:__UG_NAME__ -> 45:envelope___control___18 ;
150 1:__UG_NAME__ -> 52:envelope___control___0 ;
151 1:__UG_NAME__ -> 52:envelope___control___4 ;
152 2:__UG_NAME__ -> 52:envelope___control___5 ;
153 3:__UG_NAME__ -> 52:envelope___control___6 ;
154 4:__UG_NAME__ -> 52:envelope___control___7 ;
155 51:__UG_NAME__ -> 52:gate ;
156 5:__UG_NAME__ -> 24:in ;
157 2:__UG_NAME__ -> 28:in ;
158 1:__UG_NAME__ -> 33:in ;
159 6:__UG_NAME__ -> 36:in ;
160 29:__UG_NAME__ -> 42:freq ;
161 20:__UG_NAME__ -> 42:velcurve ;
162 12:__UG_NAME__ -> 42:release ;
163 21:__UG_NAME__ -> 42:stereo ;
164 10:__UG_NAME__ -> 42:decay ;
165 32:__UG_NAME__ -> 42:vel ;
166 41:__UG_NAME__ -> 42:hard ;
167 0:__UG_NAME__ -> 29:a ;
168 30:__UG_NAME__ -> 31:in ;
169 35:__UG_NAME__ -> 41:in ;
170 22:__UG_NAME__ -> 56:bus ;
171 54:__UG_NAME__ -> 56:signals___binary____op____u____gen___0 ;
172 55:__UG_NAME__ -> 56:signals___binary____op____u____gen___1 ;
173 43:__UG_NAME__ -> 44:which ;
174 14:__UG_NAME__ -> 44:array___control___0 ;
175 15:__UG_NAME__ -> 44:array___control___1 ;
176
177 }
0 digraph synthdef {
1 31 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 35 [label = "{{ <b> |<a> 2.5} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 48 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 38 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 39 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 41 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 45 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 33 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
9 27 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
10 30 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
11 40 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
12 44 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 24 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
14 26 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
15 29 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
16 43 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
17 0 [label = "control
18 :note
19 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
20 1 [label = "control
21 :amp
22 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
23 2 [label = "control
24 :amp_slide
25 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
26 3 [label = "control
27 :amp_slide_shape
28 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
29 4 [label = "control
30 :amp_slide_curve
31 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
32 5 [label = "control
33 :pan
34 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
35 6 [label = "control
36 :pan_slide
37 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 7 [label = "control
39 :pan_slide_shape
40 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 8 [label = "control
42 :pan_slide_curve
43 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 9 [label = "control
45 :attack
46 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 10 [label = "control
48 :decay
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 11 [label = "control
51 :sustain
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 12 [label = "control
54 :release
55 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 13 [label = "control
57 :attack_level
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 14 [label = "control
60 :decay_level
61 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 15 [label = "control
63 :sustain_level
64 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 16 [label = "control
66 :env_curve
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 17 [label = "control
69 :noise_amp
70 default: 0.8" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 18 [label = "control
72 :max_delay_time
73 default: 0.125" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 19 [label = "control
75 :pluck_decay
76 default: 30.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 20 [label = "control
78 :coef
79 default: 0.3" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 21 [label = "control
81 :out_bus
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 46 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
84 47 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___control___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
85 49 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
86 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
87 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
88 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
89 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
90 36 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
91 37 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
92 32 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
93 51 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
94 50 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
95 22 [label = "{<__UG_NAME__>pink-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
96 34 [label = "{{ <coef> coef|<decaytime> decaytime|<delaytime> delaytime|<maxdelaytime> maxdelaytime|<trig> trig 1.0|<in> in} |<__UG_NAME__>pluck }" style="filled, bold, rounded" shape=record rankdir=LR];
97
98 17:__UG_NAME__ -> 31:a ;
99 22:__UG_NAME__ -> 31:b ;
100 34:__UG_NAME__ -> 35:b ;
101 35:__UG_NAME__ -> 48:a ;
102 47:__UG_NAME__ -> 48:b ;
103 37:__UG_NAME__ -> 38:a ;
104 27:__UG_NAME__ -> 38:b ;
105 38:__UG_NAME__ -> 39:a ;
106 30:__UG_NAME__ -> 39:b ;
107 36:__UG_NAME__ -> 41:a ;
108 40:__UG_NAME__ -> 41:b ;
109 41:__UG_NAME__ -> 45:a ;
110 44:__UG_NAME__ -> 45:b ;
111 32:__UG_NAME__ -> 33:b ;
112 26:__UG_NAME__ -> 27:a ;
113 29:__UG_NAME__ -> 30:a ;
114 24:__UG_NAME__ -> 40:a ;
115 43:__UG_NAME__ -> 44:a ;
116 23:__UG_NAME__ -> 24:a ;
117 25:__UG_NAME__ -> 26:a ;
118 28:__UG_NAME__ -> 29:a ;
119 42:__UG_NAME__ -> 43:a ;
120 5:__UG_NAME__ -> 46:envelope___control___0 ;
121 5:__UG_NAME__ -> 46:envelope___control___4 ;
122 6:__UG_NAME__ -> 46:envelope___control___5 ;
123 7:__UG_NAME__ -> 46:envelope___control___6 ;
124 8:__UG_NAME__ -> 46:envelope___control___7 ;
125 45:__UG_NAME__ -> 46:gate ;
126 13:__UG_NAME__ -> 47:envelope___control___4 ;
127 9:__UG_NAME__ -> 47:envelope___control___5 ;
128 16:__UG_NAME__ -> 47:envelope___control___6 ;
129 14:__UG_NAME__ -> 47:envelope___control___8 ;
130 10:__UG_NAME__ -> 47:envelope___control___9 ;
131 16:__UG_NAME__ -> 47:envelope___control___10 ;
132 15:__UG_NAME__ -> 47:envelope___control___12 ;
133 11:__UG_NAME__ -> 47:envelope___control___13 ;
134 16:__UG_NAME__ -> 47:envelope___control___14 ;
135 12:__UG_NAME__ -> 47:envelope___control___17 ;
136 16:__UG_NAME__ -> 47:envelope___control___18 ;
137 1:__UG_NAME__ -> 49:envelope___control___0 ;
138 1:__UG_NAME__ -> 49:envelope___control___4 ;
139 2:__UG_NAME__ -> 49:envelope___control___5 ;
140 3:__UG_NAME__ -> 49:envelope___control___6 ;
141 4:__UG_NAME__ -> 49:envelope___control___7 ;
142 39:__UG_NAME__ -> 49:gate ;
143 5:__UG_NAME__ -> 23:in ;
144 1:__UG_NAME__ -> 25:in ;
145 2:__UG_NAME__ -> 28:in ;
146 6:__UG_NAME__ -> 42:in ;
147 0:__UG_NAME__ -> 32:a ;
148 21:__UG_NAME__ -> 51:bus ;
149 50:__UG_NAME__ -> 51:signals___pan2___0 ;
150 50:__UG_NAME__ -> 51:signals___pan2___1 ;
151 48:__UG_NAME__ -> 50:in ;
152 46:__UG_NAME__ -> 50:pos ;
153 49:__UG_NAME__ -> 50:level ;
154 31:__UG_NAME__ -> 34:in ;
155 18:__UG_NAME__ -> 34:maxdelaytime ;
156 33:__UG_NAME__ -> 34:delaytime ;
157 19:__UG_NAME__ -> 34:decaytime ;
158 20:__UG_NAME__ -> 34:coef ;
159
160 }
0 digraph synthdef {
1 60 [label = "{{ <b> |<a> 3.0} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 64 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 31 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 37 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 41 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 47 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 54 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 58 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 68 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 71 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 61 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 30 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 36 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 40 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 46 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 53 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 57 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 67 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 70 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 29 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 35 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 39 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 45 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 52 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 56 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 66 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 69 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 0 [label = "control
29 :amp
30 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 1 [label = "control
32 :amp_slide
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 2 [label = "control
35 :amp_slide_shape
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 3 [label = "control
38 :amp_slide_curve
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 4 [label = "control
41 :pan
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 5 [label = "control
44 :pan_slide
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 6 [label = "control
47 :pan_slide_shape
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 7 [label = "control
50 :pan_slide_curve
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 8 [label = "control
53 :attack
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 9 [label = "control
56 :sustain
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 10 [label = "control
59 :decay
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 11 [label = "control
62 :release
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 12 [label = "control
65 :attack_level
66 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 13 [label = "control
68 :decay_level
69 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 14 [label = "control
71 :sustain_level
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 15 [label = "control
74 :env_curve
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 16 [label = "control
77 :cutoff
78 default: 110.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 17 [label = "control
80 :cutoff_slide
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 18 [label = "control
83 :cutoff_slide_shape
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 19 [label = "control
86 :cutoff_slide_curve
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 20 [label = "control
89 :res
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 21 [label = "control
92 :res_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 22 [label = "control
95 :res_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 23 [label = "control
98 :res_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 24 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 42 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 48 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 63 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 72 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 73 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 26 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
117 33 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 50 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 65 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 43 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
121 27 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
122 75 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
123 74 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
124 32 [label = "{<__UG_NAME__>pink-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
125 49 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
126 62 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
127
128 49:__UG_NAME__ -> 60:b ;
129 60:__UG_NAME__ -> 64:a ;
130 63:__UG_NAME__ -> 64:b ;
131 26:__UG_NAME__ -> 31:a ;
132 30:__UG_NAME__ -> 31:b ;
133 33:__UG_NAME__ -> 37:a ;
134 36:__UG_NAME__ -> 37:b ;
135 37:__UG_NAME__ -> 41:a ;
136 40:__UG_NAME__ -> 41:b ;
137 31:__UG_NAME__ -> 47:a ;
138 46:__UG_NAME__ -> 47:b ;
139 50:__UG_NAME__ -> 54:a ;
140 53:__UG_NAME__ -> 54:b ;
141 54:__UG_NAME__ -> 58:a ;
142 57:__UG_NAME__ -> 58:b ;
143 65:__UG_NAME__ -> 68:a ;
144 67:__UG_NAME__ -> 68:b ;
145 68:__UG_NAME__ -> 71:a ;
146 70:__UG_NAME__ -> 71:b ;
147 13:__UG_NAME__ -> 61:b ;
148 29:__UG_NAME__ -> 30:a ;
149 35:__UG_NAME__ -> 36:a ;
150 39:__UG_NAME__ -> 40:a ;
151 45:__UG_NAME__ -> 46:a ;
152 52:__UG_NAME__ -> 53:a ;
153 56:__UG_NAME__ -> 57:a ;
154 66:__UG_NAME__ -> 67:a ;
155 69:__UG_NAME__ -> 70:a ;
156 28:__UG_NAME__ -> 29:a ;
157 34:__UG_NAME__ -> 35:a ;
158 38:__UG_NAME__ -> 39:a ;
159 44:__UG_NAME__ -> 45:a ;
160 51:__UG_NAME__ -> 52:a ;
161 55:__UG_NAME__ -> 56:a ;
162 59:__UG_NAME__ -> 66:a ;
163 25:__UG_NAME__ -> 69:a ;
164 16:__UG_NAME__ -> 42:envelope___control___0 ;
165 16:__UG_NAME__ -> 42:envelope___control___4 ;
166 17:__UG_NAME__ -> 42:envelope___control___5 ;
167 18:__UG_NAME__ -> 42:envelope___control___6 ;
168 19:__UG_NAME__ -> 42:envelope___control___7 ;
169 41:__UG_NAME__ -> 42:gate ;
170 27:__UG_NAME__ -> 48:envelope___mul____add___0 ;
171 27:__UG_NAME__ -> 48:envelope___mul____add___4 ;
172 21:__UG_NAME__ -> 48:envelope___control___5 ;
173 22:__UG_NAME__ -> 48:envelope___control___6 ;
174 23:__UG_NAME__ -> 48:envelope___control___7 ;
175 47:__UG_NAME__ -> 48:gate ;
176 12:__UG_NAME__ -> 63:envelope___control___4 ;
177 8:__UG_NAME__ -> 63:envelope___control___5 ;
178 15:__UG_NAME__ -> 63:envelope___control___6 ;
179 62:__UG_NAME__ -> 63:envelope___select___8 ;
180 10:__UG_NAME__ -> 63:envelope___control___9 ;
181 15:__UG_NAME__ -> 63:envelope___control___10 ;
182 14:__UG_NAME__ -> 63:envelope___control___12 ;
183 9:__UG_NAME__ -> 63:envelope___control___13 ;
184 15:__UG_NAME__ -> 63:envelope___control___14 ;
185 11:__UG_NAME__ -> 63:envelope___control___17 ;
186 15:__UG_NAME__ -> 63:envelope___control___18 ;
187 4:__UG_NAME__ -> 72:envelope___control___0 ;
188 4:__UG_NAME__ -> 72:envelope___control___4 ;
189 5:__UG_NAME__ -> 72:envelope___control___5 ;
190 6:__UG_NAME__ -> 72:envelope___control___6 ;
191 7:__UG_NAME__ -> 72:envelope___control___7 ;
192 71:__UG_NAME__ -> 72:gate ;
193 0:__UG_NAME__ -> 73:envelope___control___0 ;
194 0:__UG_NAME__ -> 73:envelope___control___4 ;
195 1:__UG_NAME__ -> 73:envelope___control___5 ;
196 2:__UG_NAME__ -> 73:envelope___control___6 ;
197 3:__UG_NAME__ -> 73:envelope___control___7 ;
198 58:__UG_NAME__ -> 73:gate ;
199 5:__UG_NAME__ -> 25:in ;
200 27:__UG_NAME__ -> 28:in ;
201 16:__UG_NAME__ -> 34:in ;
202 17:__UG_NAME__ -> 38:in ;
203 21:__UG_NAME__ -> 44:in ;
204 0:__UG_NAME__ -> 51:in ;
205 1:__UG_NAME__ -> 55:in ;
206 4:__UG_NAME__ -> 59:in ;
207 42:__UG_NAME__ -> 43:a ;
208 20:__UG_NAME__ -> 27:in ;
209 24:__UG_NAME__ -> 75:bus ;
210 74:__UG_NAME__ -> 75:signals___pan2___0 ;
211 74:__UG_NAME__ -> 75:signals___pan2___1 ;
212 64:__UG_NAME__ -> 74:in ;
213 72:__UG_NAME__ -> 74:pos ;
214 73:__UG_NAME__ -> 74:level ;
215 32:__UG_NAME__ -> 49:in ;
216 43:__UG_NAME__ -> 49:freq ;
217 48:__UG_NAME__ -> 49:rq ;
218 61:__UG_NAME__ -> 62:which ;
219 13:__UG_NAME__ -> 62:array___control___0 ;
220 14:__UG_NAME__ -> 62:array___control___1 ;
221
222 }
0 digraph synthdef {
1 32 [label = "{{ <b> |<a> 6.8} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 33 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 34 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 35 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 37 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 39 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 50 [label = "{{ <b> 0.5|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 51 [label = "{{ <b> 0.5|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 52 [label = "{{ <b> 0.5|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 54 [label = "{{ <b> |<a> 4.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
11 56 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
12 58 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
13 59 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
14 60 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
15 63 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
16 65 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
17 25 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 29 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 44 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 57 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
22 64 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
23 70 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 74 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 78 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
26 24 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 28 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 69 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 73 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 23 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 27 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 42 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 68 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 72 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 0 [label = "control
39 :note
40 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 1 [label = "control
42 :note_slide
43 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 2 [label = "control
45 :note_slide_shape
46 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 3 [label = "control
48 :note_slide_curve
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 4 [label = "control
51 :amp
52 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 5 [label = "control
54 :amp_slide
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 6 [label = "control
57 :amp_slide_shape
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 7 [label = "control
60 :amp_slide_curve
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 8 [label = "control
63 :pan
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 9 [label = "control
66 :pan_slide
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 10 [label = "control
69 :pan_slide_shape
70 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 11 [label = "control
72 :pan_slide_curve
73 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 12 [label = "control
75 :attack
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 13 [label = "control
78 :decay
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 14 [label = "control
81 :sustain
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 15 [label = "control
84 :release
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 16 [label = "control
87 :attack_level
88 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 17 [label = "control
90 :decay_level
91 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 18 [label = "control
93 :sustain_level
94 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 19 [label = "control
96 :env_curve
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 20 [label = "control
99 :out_bus
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 80 [label = "{{ <action> action 2.0|<time> time 0.1|<amp> amp 1.0E-4|<in> in} |<__UG_NAME__>detect-silence }" style="filled, bold, rounded" shape=record rankdir=LR];
102 30 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
103 36 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 0.5|<gate> gate 1.0|{{0.0|4.0|-99|-99|<envelope___control___4>|<envelope___control___5>|1.0|0.0|<envelope___control___8>|<envelope___binary____op____u____gen___9>|1.0|0.0|<envelope___control___12>|<envelope___binary____op____u____gen___13>|1.0|0.0|0.0|<envelope___binary____op____u____gen___17>|1.0|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 49 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 53 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 0.25|<gate> gate 1.0|{{0.0|4.0|-99|-99|<envelope___control___4>|<envelope___control___5>|1.0|0.0|<envelope___control___8>|<envelope___binary____op____u____gen___9>|1.0|0.0|<envelope___control___12>|<envelope___binary____op____u____gen___13>|1.0|0.0|0.0|<envelope___binary____op____u____gen___17>|1.0|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 61 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 0.125|<gate> gate 1.0|{{0.0|4.0|-99|-99|<envelope___control___4>|<envelope___control___5>|1.0|0.0|<envelope___control___8>|<envelope___binary____op____u____gen___9>|1.0|0.0|<envelope___control___12>|<envelope___binary____op____u____gen___13>|1.0|0.0|0.0|<envelope___binary____op____u____gen___17>|1.0|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 75 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 67 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 21 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
115 40 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
116 66 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
117 31 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
118 77 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
119 76 [label = "{{ <level> level 1.0|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
120 79 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
121 38 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
122 55 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
123 62 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
124
125 31:__UG_NAME__ -> 32:b ;
126 13:__UG_NAME__ -> 33:a ;
127 14:__UG_NAME__ -> 34:a ;
128 15:__UG_NAME__ -> 35:a ;
129 31:__UG_NAME__ -> 37:b ;
130 36:__UG_NAME__ -> 39:a ;
131 38:__UG_NAME__ -> 39:b ;
132 13:__UG_NAME__ -> 50:a ;
133 14:__UG_NAME__ -> 51:a ;
134 15:__UG_NAME__ -> 52:a ;
135 31:__UG_NAME__ -> 54:b ;
136 53:__UG_NAME__ -> 56:a ;
137 55:__UG_NAME__ -> 56:b ;
138 13:__UG_NAME__ -> 58:a ;
139 14:__UG_NAME__ -> 59:a ;
140 15:__UG_NAME__ -> 60:a ;
141 61:__UG_NAME__ -> 63:a ;
142 62:__UG_NAME__ -> 63:b ;
143 49:__UG_NAME__ -> 65:a ;
144 64:__UG_NAME__ -> 65:b ;
145 21:__UG_NAME__ -> 25:a ;
146 24:__UG_NAME__ -> 25:b ;
147 25:__UG_NAME__ -> 29:a ;
148 28:__UG_NAME__ -> 29:b ;
149 40:__UG_NAME__ -> 44:a ;
150 43:__UG_NAME__ -> 44:b ;
151 44:__UG_NAME__ -> 48:a ;
152 47:__UG_NAME__ -> 48:b ;
153 39:__UG_NAME__ -> 57:a ;
154 56:__UG_NAME__ -> 57:b ;
155 57:__UG_NAME__ -> 64:a ;
156 63:__UG_NAME__ -> 64:b ;
157 66:__UG_NAME__ -> 70:a ;
158 69:__UG_NAME__ -> 70:b ;
159 70:__UG_NAME__ -> 74:a ;
160 73:__UG_NAME__ -> 74:b ;
161 17:__UG_NAME__ -> 78:b ;
162 23:__UG_NAME__ -> 24:a ;
163 27:__UG_NAME__ -> 28:a ;
164 42:__UG_NAME__ -> 43:a ;
165 46:__UG_NAME__ -> 47:a ;
166 68:__UG_NAME__ -> 69:a ;
167 72:__UG_NAME__ -> 73:a ;
168 22:__UG_NAME__ -> 23:a ;
169 26:__UG_NAME__ -> 27:a ;
170 41:__UG_NAME__ -> 42:a ;
171 45:__UG_NAME__ -> 46:a ;
172 67:__UG_NAME__ -> 68:a ;
173 71:__UG_NAME__ -> 72:a ;
174 65:__UG_NAME__ -> 80:in ;
175 0:__UG_NAME__ -> 30:envelope___control___0 ;
176 0:__UG_NAME__ -> 30:envelope___control___4 ;
177 1:__UG_NAME__ -> 30:envelope___control___5 ;
178 2:__UG_NAME__ -> 30:envelope___control___6 ;
179 3:__UG_NAME__ -> 30:envelope___control___7 ;
180 29:__UG_NAME__ -> 30:gate ;
181 16:__UG_NAME__ -> 36:envelope___control___4 ;
182 12:__UG_NAME__ -> 36:envelope___control___5 ;
183 18:__UG_NAME__ -> 36:envelope___control___8 ;
184 33:__UG_NAME__ -> 36:envelope___binary____op____u____gen___9 ;
185 18:__UG_NAME__ -> 36:envelope___control___12 ;
186 34:__UG_NAME__ -> 36:envelope___binary____op____u____gen___13 ;
187 35:__UG_NAME__ -> 36:envelope___binary____op____u____gen___17 ;
188 4:__UG_NAME__ -> 49:envelope___control___0 ;
189 4:__UG_NAME__ -> 49:envelope___control___4 ;
190 5:__UG_NAME__ -> 49:envelope___control___5 ;
191 6:__UG_NAME__ -> 49:envelope___control___6 ;
192 7:__UG_NAME__ -> 49:envelope___control___7 ;
193 48:__UG_NAME__ -> 49:gate ;
194 16:__UG_NAME__ -> 53:envelope___control___4 ;
195 12:__UG_NAME__ -> 53:envelope___control___5 ;
196 18:__UG_NAME__ -> 53:envelope___control___8 ;
197 50:__UG_NAME__ -> 53:envelope___binary____op____u____gen___9 ;
198 18:__UG_NAME__ -> 53:envelope___control___12 ;
199 51:__UG_NAME__ -> 53:envelope___binary____op____u____gen___13 ;
200 52:__UG_NAME__ -> 53:envelope___binary____op____u____gen___17 ;
201 16:__UG_NAME__ -> 61:envelope___control___4 ;
202 12:__UG_NAME__ -> 61:envelope___control___5 ;
203 18:__UG_NAME__ -> 61:envelope___control___8 ;
204 58:__UG_NAME__ -> 61:envelope___binary____op____u____gen___9 ;
205 18:__UG_NAME__ -> 61:envelope___control___12 ;
206 59:__UG_NAME__ -> 61:envelope___binary____op____u____gen___13 ;
207 60:__UG_NAME__ -> 61:envelope___binary____op____u____gen___17 ;
208 8:__UG_NAME__ -> 75:envelope___control___0 ;
209 8:__UG_NAME__ -> 75:envelope___control___4 ;
210 9:__UG_NAME__ -> 75:envelope___control___5 ;
211 10:__UG_NAME__ -> 75:envelope___control___6 ;
212 11:__UG_NAME__ -> 75:envelope___control___7 ;
213 74:__UG_NAME__ -> 75:gate ;
214 0:__UG_NAME__ -> 22:in ;
215 1:__UG_NAME__ -> 26:in ;
216 4:__UG_NAME__ -> 41:in ;
217 5:__UG_NAME__ -> 45:in ;
218 8:__UG_NAME__ -> 67:in ;
219 9:__UG_NAME__ -> 71:in ;
220 30:__UG_NAME__ -> 31:a ;
221 20:__UG_NAME__ -> 77:bus ;
222 76:__UG_NAME__ -> 77:signals___pan2___0 ;
223 76:__UG_NAME__ -> 77:signals___pan2___1 ;
224 65:__UG_NAME__ -> 76:in ;
225 75:__UG_NAME__ -> 76:pos ;
226 78:__UG_NAME__ -> 79:which ;
227 17:__UG_NAME__ -> 79:array___control___0 ;
228 18:__UG_NAME__ -> 79:array___control___1 ;
229 37:__UG_NAME__ -> 38:freq ;
230 54:__UG_NAME__ -> 55:freq ;
231 32:__UG_NAME__ -> 62:freq ;
232
233 }
0 digraph synthdef {
1 46 [label = "{{ <b> |<a> 0.1} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 52 [label = "{{ <b> |<a> 0.8} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 58 [label = "{{ <b> |<a> 0.8} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 64 [label = "{{ <b> |<a> 0.8} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 73 [label = "{{ <b> |<a> 0.8} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 75 [label = "{{ <b> |<a> 0.5} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 77 [label = "{{ <b> 0.2|<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 79 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 81 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
10 111 [label = "{{ <b> |<a> 1.5} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
11 112 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
12 36 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 40 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 44 [label = "{{ <b> |<a> 1.2} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 49 [label = "{{ <b> |<a> 1.2} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 50 [label = "{{ <b> 0.7|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 54 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
18 56 [label = "{{ <b> |<a> 1.2} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
20 62 [label = "{{ <b> |<a> 1.2} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 66 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
22 69 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 71 [label = "{{ <b> |<a> 1.2} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 76 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
25 86 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 89 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 97 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 101 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 117 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 120 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 124 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 125 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 45 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
34 51 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
35 57 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
36 63 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
37 67 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
38 72 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
39 29 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
40 35 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 39 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 85 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 88 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 96 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 100 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 108 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 116 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 119 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 123 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 34 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 38 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 84 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 87 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 95 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 99 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 105 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 107 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 115 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 118 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 0 [label = "control
61 :note
62 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 1 [label = "control
64 :note_slide
65 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 2 [label = "control
67 :note_slide_shape
68 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 3 [label = "control
70 :note_slide_curve
71 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 4 [label = "control
73 :amp
74 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 5 [label = "control
76 :amp_slide
77 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 6 [label = "control
79 :amp_slide_shape
80 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 7 [label = "control
82 :amp_slide_curve
83 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 8 [label = "control
85 :pan
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 9 [label = "control
88 :pan_slide
89 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 10 [label = "control
91 :pan_slide_shape
92 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 11 [label = "control
94 :pan_slide_curve
95 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 12 [label = "control
97 :attack
98 default: 0.01" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 13 [label = "control
100 :decay
101 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 14 [label = "control
103 :sustain
104 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 15 [label = "control
106 :release
107 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 16 [label = "control
109 :attack_level
110 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 17 [label = "control
112 :decay_level
113 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 18 [label = "control
115 :sustain_level
116 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 19 [label = "control
118 :env_curve
119 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 20 [label = "control
121 :cutoff
122 default: 110.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 21 [label = "control
124 :cutoff_slide
125 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 22 [label = "control
127 :cutoff_slide_shape
128 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 23 [label = "control
130 :cutoff_slide_curve
131 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 24 [label = "control
133 :res
134 default: 0.7" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 25 [label = "control
136 :res_slide
137 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 26 [label = "control
139 :res_slide_shape
140 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 27 [label = "control
142 :res_slide_curve
143 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 28 [label = "control
145 :out_bus
146 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 31 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
148 41 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
149 90 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
150 102 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
151 121 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
152 126 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
153 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
154 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
155 80 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
156 83 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
157 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
158 98 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
159 104 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
160 106 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
161 110 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
162 114 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
163 32 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
164 82 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
165 92 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
166 109 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
167 122 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
168 113 [label = "{{ <coef> coef 0.995|<in> in} |<__UG_NAME__>leak-dc }" style="filled, bold, rounded" shape=record rankdir=LR];
169 68 [label = "{{ <freq> freq 0.2} |<__UG_NAME__>lf-noise2 }" style="bold, rounded" shape=record rankdir=LR];
170 55 [label = "{{ <iphase> iphase 0.0|<freq> freq 0.4} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
171 61 [label = "{{ <iphase> iphase 0.19|<freq> freq 0.4} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
172 70 [label = "{{ <iphase> iphase 0.0|<freq> freq} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
173 42 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
174 91 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
175 93 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
176 78 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
177 128 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
178 127 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
179 47 [label = "{{ <width> width|<freq> freq} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
180 53 [label = "{{ <width> width|<freq> freq} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
181 59 [label = "{{ <width> width|<freq> freq} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
182 65 [label = "{{ <width> width|<freq> freq} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
183 74 [label = "{{ <width> width|<freq> freq} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
184 103 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
185 30 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
186 43 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq 1.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
187 48 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq 0.3} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
188
189 45:__UG_NAME__ -> 46:b ;
190 51:__UG_NAME__ -> 52:b ;
191 57:__UG_NAME__ -> 58:b ;
192 63:__UG_NAME__ -> 64:b ;
193 72:__UG_NAME__ -> 73:b ;
194 74:__UG_NAME__ -> 75:b ;
195 76:__UG_NAME__ -> 77:a ;
196 31:__UG_NAME__ -> 79:a ;
197 78:__UG_NAME__ -> 79:b ;
198 79:__UG_NAME__ -> 81:a ;
199 78:__UG_NAME__ -> 81:b ;
200 31:__UG_NAME__ -> 111:b ;
201 111:__UG_NAME__ -> 112:a ;
202 103:__UG_NAME__ -> 112:b ;
203 32:__UG_NAME__ -> 36:a ;
204 35:__UG_NAME__ -> 36:b ;
205 36:__UG_NAME__ -> 40:a ;
206 39:__UG_NAME__ -> 40:b ;
207 43:__UG_NAME__ -> 44:b ;
208 48:__UG_NAME__ -> 49:b ;
209 49:__UG_NAME__ -> 50:a ;
210 47:__UG_NAME__ -> 54:a ;
211 53:__UG_NAME__ -> 54:b ;
212 55:__UG_NAME__ -> 56:b ;
213 54:__UG_NAME__ -> 60:a ;
214 59:__UG_NAME__ -> 60:b ;
215 61:__UG_NAME__ -> 62:b ;
216 60:__UG_NAME__ -> 66:a ;
217 65:__UG_NAME__ -> 66:b ;
218 68:__UG_NAME__ -> 69:b ;
219 70:__UG_NAME__ -> 71:b ;
220 66:__UG_NAME__ -> 76:a ;
221 75:__UG_NAME__ -> 76:b ;
222 82:__UG_NAME__ -> 86:a ;
223 85:__UG_NAME__ -> 86:b ;
224 86:__UG_NAME__ -> 89:a ;
225 88:__UG_NAME__ -> 89:b ;
226 92:__UG_NAME__ -> 97:a ;
227 96:__UG_NAME__ -> 97:b ;
228 97:__UG_NAME__ -> 101:a ;
229 100:__UG_NAME__ -> 101:b ;
230 109:__UG_NAME__ -> 117:a ;
231 116:__UG_NAME__ -> 117:b ;
232 117:__UG_NAME__ -> 120:a ;
233 119:__UG_NAME__ -> 120:b ;
234 122:__UG_NAME__ -> 124:a ;
235 123:__UG_NAME__ -> 124:b ;
236 124:__UG_NAME__ -> 125:a ;
237 108:__UG_NAME__ -> 125:b ;
238 44:__UG_NAME__ -> 45:b ;
239 50:__UG_NAME__ -> 51:a ;
240 56:__UG_NAME__ -> 57:a ;
241 62:__UG_NAME__ -> 63:a ;
242 42:__UG_NAME__ -> 67:a ;
243 71:__UG_NAME__ -> 72:a ;
244 17:__UG_NAME__ -> 29:b ;
245 34:__UG_NAME__ -> 35:a ;
246 38:__UG_NAME__ -> 39:a ;
247 84:__UG_NAME__ -> 85:a ;
248 87:__UG_NAME__ -> 88:a ;
249 95:__UG_NAME__ -> 96:a ;
250 99:__UG_NAME__ -> 100:a ;
251 107:__UG_NAME__ -> 108:a ;
252 115:__UG_NAME__ -> 116:a ;
253 118:__UG_NAME__ -> 119:a ;
254 105:__UG_NAME__ -> 123:a ;
255 33:__UG_NAME__ -> 34:a ;
256 37:__UG_NAME__ -> 38:a ;
257 83:__UG_NAME__ -> 84:a ;
258 80:__UG_NAME__ -> 87:a ;
259 94:__UG_NAME__ -> 95:a ;
260 98:__UG_NAME__ -> 99:a ;
261 104:__UG_NAME__ -> 105:a ;
262 106:__UG_NAME__ -> 107:a ;
263 114:__UG_NAME__ -> 115:a ;
264 110:__UG_NAME__ -> 118:a ;
265 16:__UG_NAME__ -> 31:envelope___control___4 ;
266 12:__UG_NAME__ -> 31:envelope___control___5 ;
267 19:__UG_NAME__ -> 31:envelope___control___6 ;
268 30:__UG_NAME__ -> 31:envelope___select___8 ;
269 13:__UG_NAME__ -> 31:envelope___control___9 ;
270 19:__UG_NAME__ -> 31:envelope___control___10 ;
271 18:__UG_NAME__ -> 31:envelope___control___12 ;
272 14:__UG_NAME__ -> 31:envelope___control___13 ;
273 19:__UG_NAME__ -> 31:envelope___control___14 ;
274 15:__UG_NAME__ -> 31:envelope___control___17 ;
275 19:__UG_NAME__ -> 31:envelope___control___18 ;
276 0:__UG_NAME__ -> 41:envelope___control___0 ;
277 0:__UG_NAME__ -> 41:envelope___control___4 ;
278 1:__UG_NAME__ -> 41:envelope___control___5 ;
279 2:__UG_NAME__ -> 41:envelope___control___6 ;
280 3:__UG_NAME__ -> 41:envelope___control___7 ;
281 40:__UG_NAME__ -> 41:gate ;
282 20:__UG_NAME__ -> 90:envelope___control___0 ;
283 20:__UG_NAME__ -> 90:envelope___control___4 ;
284 21:__UG_NAME__ -> 90:envelope___control___5 ;
285 22:__UG_NAME__ -> 90:envelope___control___6 ;
286 23:__UG_NAME__ -> 90:envelope___control___7 ;
287 89:__UG_NAME__ -> 90:gate ;
288 93:__UG_NAME__ -> 102:envelope___mul____add___0 ;
289 93:__UG_NAME__ -> 102:envelope___mul____add___4 ;
290 25:__UG_NAME__ -> 102:envelope___control___5 ;
291 26:__UG_NAME__ -> 102:envelope___control___6 ;
292 27:__UG_NAME__ -> 102:envelope___control___7 ;
293 101:__UG_NAME__ -> 102:gate ;
294 8:__UG_NAME__ -> 121:envelope___control___0 ;
295 8:__UG_NAME__ -> 121:envelope___control___4 ;
296 9:__UG_NAME__ -> 121:envelope___control___5 ;
297 10:__UG_NAME__ -> 121:envelope___control___6 ;
298 11:__UG_NAME__ -> 121:envelope___control___7 ;
299 120:__UG_NAME__ -> 121:gate ;
300 4:__UG_NAME__ -> 126:envelope___control___0 ;
301 4:__UG_NAME__ -> 126:envelope___control___4 ;
302 5:__UG_NAME__ -> 126:envelope___control___5 ;
303 6:__UG_NAME__ -> 126:envelope___control___6 ;
304 7:__UG_NAME__ -> 126:envelope___control___7 ;
305 125:__UG_NAME__ -> 126:gate ;
306 0:__UG_NAME__ -> 33:in ;
307 1:__UG_NAME__ -> 37:in ;
308 21:__UG_NAME__ -> 80:in ;
309 20:__UG_NAME__ -> 83:in ;
310 93:__UG_NAME__ -> 94:in ;
311 25:__UG_NAME__ -> 98:in ;
312 4:__UG_NAME__ -> 104:in ;
313 5:__UG_NAME__ -> 106:in ;
314 9:__UG_NAME__ -> 110:in ;
315 8:__UG_NAME__ -> 114:in ;
316 112:__UG_NAME__ -> 113:in ;
317 69:__UG_NAME__ -> 70:freq ;
318 41:__UG_NAME__ -> 42:a ;
319 90:__UG_NAME__ -> 91:a ;
320 24:__UG_NAME__ -> 93:in ;
321 77:__UG_NAME__ -> 78:in ;
322 28:__UG_NAME__ -> 128:bus ;
323 127:__UG_NAME__ -> 128:signals___pan2___0 ;
324 127:__UG_NAME__ -> 128:signals___pan2___1 ;
325 113:__UG_NAME__ -> 127:in ;
326 121:__UG_NAME__ -> 127:pos ;
327 126:__UG_NAME__ -> 127:level ;
328 42:__UG_NAME__ -> 47:freq ;
329 46:__UG_NAME__ -> 47:width ;
330 42:__UG_NAME__ -> 53:freq ;
331 52:__UG_NAME__ -> 53:width ;
332 42:__UG_NAME__ -> 59:freq ;
333 58:__UG_NAME__ -> 59:width ;
334 42:__UG_NAME__ -> 65:freq ;
335 64:__UG_NAME__ -> 65:width ;
336 67:__UG_NAME__ -> 74:freq ;
337 73:__UG_NAME__ -> 74:width ;
338 81:__UG_NAME__ -> 103:in ;
339 91:__UG_NAME__ -> 103:freq ;
340 102:__UG_NAME__ -> 103:rq ;
341 29:__UG_NAME__ -> 30:which ;
342 17:__UG_NAME__ -> 30:array___control___0 ;
343 18:__UG_NAME__ -> 30:array___control___1 ;
344
345 }
0 digraph synthdef {
1 52 [label = "{{ <b> |<a> 0.8} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 87 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 33 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 37 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 43 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 47 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 70 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 74 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 84 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 85 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 49 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
14 32 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 36 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 42 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 46 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 55 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 59 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 69 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 73 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 83 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 31 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 35 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 45 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 54 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 58 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 68 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 72 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 82 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 0 [label = "control
35 :note
36 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 1 [label = "control
38 :note_slide
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 2 [label = "control
41 :note_slide_shape
42 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 3 [label = "control
44 :note_slide_curve
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 4 [label = "control
47 :amp
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 5 [label = "control
50 :amp_slide
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 6 [label = "control
53 :amp_slide_shape
54 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 7 [label = "control
56 :amp_slide_curve
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 8 [label = "control
59 :pan
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 9 [label = "control
62 :pan_slide
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 10 [label = "control
65 :pan_slide_shape
66 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 11 [label = "control
68 :pan_slide_curve
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 12 [label = "control
71 :attack
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 13 [label = "control
74 :decay
75 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 14 [label = "control
77 :sustain
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 15 [label = "control
80 :release
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 16 [label = "control
83 :attack_level
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 17 [label = "control
86 :decay_level
87 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 18 [label = "control
89 :sustain_level
90 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 19 [label = "control
92 :env_curve
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 20 [label = "control
95 :cutoff
96 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 21 [label = "control
98 :cutoff_slide
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 22 [label = "control
101 :cutoff_slide_shape
102 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 23 [label = "control
104 :cutoff_slide_curve
105 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 24 [label = "control
107 :pulse_width
108 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 25 [label = "control
110 :pulse_width_slide
111 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 26 [label = "control
113 :pulse_width_slide_shape
114 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 27 [label = "control
116 :pulse_width_slide_curve
117 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 28 [label = "control
119 :out_bus
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 38 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
122 48 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
123 51 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
124 75 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
125 77 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
126 88 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
127 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
128 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
129 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
130 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
131 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
132 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
133 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
134 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
135 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
136 80 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
137 29 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
138 39 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
139 60 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
140 67 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
141 81 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
142 79 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
143 66 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
144 78 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
145 86 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
146 90 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
147 89 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
148 76 [label = "{{ <width> width|<freq> freq} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
149 50 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
150
151 51:__UG_NAME__ -> 52:b ;
152 52:__UG_NAME__ -> 87:a ;
153 86:__UG_NAME__ -> 87:b ;
154 29:__UG_NAME__ -> 33:a ;
155 32:__UG_NAME__ -> 33:b ;
156 33:__UG_NAME__ -> 37:a ;
157 36:__UG_NAME__ -> 37:b ;
158 39:__UG_NAME__ -> 43:a ;
159 42:__UG_NAME__ -> 43:b ;
160 43:__UG_NAME__ -> 47:a ;
161 46:__UG_NAME__ -> 47:b ;
162 60:__UG_NAME__ -> 61:a ;
163 55:__UG_NAME__ -> 61:b ;
164 61:__UG_NAME__ -> 65:a ;
165 64:__UG_NAME__ -> 65:b ;
166 67:__UG_NAME__ -> 70:a ;
167 69:__UG_NAME__ -> 70:b ;
168 70:__UG_NAME__ -> 74:a ;
169 73:__UG_NAME__ -> 74:b ;
170 81:__UG_NAME__ -> 84:a ;
171 83:__UG_NAME__ -> 84:b ;
172 84:__UG_NAME__ -> 85:a ;
173 59:__UG_NAME__ -> 85:b ;
174 17:__UG_NAME__ -> 49:b ;
175 31:__UG_NAME__ -> 32:a ;
176 35:__UG_NAME__ -> 36:a ;
177 41:__UG_NAME__ -> 42:a ;
178 45:__UG_NAME__ -> 46:a ;
179 54:__UG_NAME__ -> 55:a ;
180 58:__UG_NAME__ -> 59:a ;
181 63:__UG_NAME__ -> 64:a ;
182 68:__UG_NAME__ -> 69:a ;
183 72:__UG_NAME__ -> 73:a ;
184 82:__UG_NAME__ -> 83:a ;
185 30:__UG_NAME__ -> 31:a ;
186 34:__UG_NAME__ -> 35:a ;
187 40:__UG_NAME__ -> 41:a ;
188 44:__UG_NAME__ -> 45:a ;
189 53:__UG_NAME__ -> 54:a ;
190 57:__UG_NAME__ -> 58:a ;
191 62:__UG_NAME__ -> 63:a ;
192 56:__UG_NAME__ -> 68:a ;
193 71:__UG_NAME__ -> 72:a ;
194 80:__UG_NAME__ -> 82:a ;
195 0:__UG_NAME__ -> 38:envelope___control___0 ;
196 0:__UG_NAME__ -> 38:envelope___control___4 ;
197 1:__UG_NAME__ -> 38:envelope___control___5 ;
198 2:__UG_NAME__ -> 38:envelope___control___6 ;
199 3:__UG_NAME__ -> 38:envelope___control___7 ;
200 37:__UG_NAME__ -> 38:gate ;
201 8:__UG_NAME__ -> 48:envelope___control___0 ;
202 8:__UG_NAME__ -> 48:envelope___control___4 ;
203 9:__UG_NAME__ -> 48:envelope___control___5 ;
204 10:__UG_NAME__ -> 48:envelope___control___6 ;
205 11:__UG_NAME__ -> 48:envelope___control___7 ;
206 47:__UG_NAME__ -> 48:gate ;
207 16:__UG_NAME__ -> 51:envelope___control___4 ;
208 12:__UG_NAME__ -> 51:envelope___control___5 ;
209 19:__UG_NAME__ -> 51:envelope___control___6 ;
210 50:__UG_NAME__ -> 51:envelope___select___8 ;
211 13:__UG_NAME__ -> 51:envelope___control___9 ;
212 19:__UG_NAME__ -> 51:envelope___control___10 ;
213 18:__UG_NAME__ -> 51:envelope___control___12 ;
214 14:__UG_NAME__ -> 51:envelope___control___13 ;
215 19:__UG_NAME__ -> 51:envelope___control___14 ;
216 15:__UG_NAME__ -> 51:envelope___control___17 ;
217 19:__UG_NAME__ -> 51:envelope___control___18 ;
218 24:__UG_NAME__ -> 75:envelope___control___0 ;
219 24:__UG_NAME__ -> 75:envelope___control___4 ;
220 25:__UG_NAME__ -> 75:envelope___control___5 ;
221 27:__UG_NAME__ -> 75:envelope___control___6 ;
222 26:__UG_NAME__ -> 75:envelope___control___7 ;
223 74:__UG_NAME__ -> 75:gate ;
224 20:__UG_NAME__ -> 77:envelope___control___0 ;
225 20:__UG_NAME__ -> 77:envelope___control___4 ;
226 21:__UG_NAME__ -> 77:envelope___control___5 ;
227 22:__UG_NAME__ -> 77:envelope___control___6 ;
228 23:__UG_NAME__ -> 77:envelope___control___7 ;
229 65:__UG_NAME__ -> 77:gate ;
230 4:__UG_NAME__ -> 88:envelope___control___0 ;
231 4:__UG_NAME__ -> 88:envelope___control___4 ;
232 5:__UG_NAME__ -> 88:envelope___control___5 ;
233 6:__UG_NAME__ -> 88:envelope___control___6 ;
234 7:__UG_NAME__ -> 88:envelope___control___7 ;
235 85:__UG_NAME__ -> 88:gate ;
236 0:__UG_NAME__ -> 30:in ;
237 1:__UG_NAME__ -> 34:in ;
238 8:__UG_NAME__ -> 40:in ;
239 9:__UG_NAME__ -> 44:in ;
240 20:__UG_NAME__ -> 53:in ;
241 24:__UG_NAME__ -> 56:in ;
242 5:__UG_NAME__ -> 57:in ;
243 21:__UG_NAME__ -> 62:in ;
244 25:__UG_NAME__ -> 71:in ;
245 4:__UG_NAME__ -> 80:in ;
246 76:__UG_NAME__ -> 79:in ;
247 78:__UG_NAME__ -> 79:freq ;
248 38:__UG_NAME__ -> 66:a ;
249 77:__UG_NAME__ -> 78:a ;
250 79:__UG_NAME__ -> 86:in ;
251 28:__UG_NAME__ -> 90:bus ;
252 89:__UG_NAME__ -> 90:signals___pan2___0 ;
253 89:__UG_NAME__ -> 90:signals___pan2___1 ;
254 87:__UG_NAME__ -> 89:in ;
255 48:__UG_NAME__ -> 89:pos ;
256 88:__UG_NAME__ -> 89:level ;
257 66:__UG_NAME__ -> 76:freq ;
258 75:__UG_NAME__ -> 76:width ;
259 49:__UG_NAME__ -> 50:which ;
260 17:__UG_NAME__ -> 50:array___control___0 ;
261 18:__UG_NAME__ -> 50:array___control___1 ;
262
263 }
0 digraph synthdef {
1 0 [label = "control
2 :out-buf
3 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
4 1 [label = "control
5 :in_bus
6 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
7 3 [label = "{{ {{<channelsarray___in___0>|<channelsarray___in___1>}|channelsArray}|<bufnum> bufnum} |<__UG_NAME__>disk-out }" style="filled, bold, rounded" shape=record rankdir=LR];
8 2 [label = "{{ <num____channels> num-channels 2|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
9
10 0:__UG_NAME__ -> 3:bufnum ;
11 2:__UG_NAME__ -> 3:channelsarray___in___0 ;
12 2:__UG_NAME__ -> 3:channelsarray___in___1 ;
13 1:__UG_NAME__ -> 2:bus ;
14
15 }
0 digraph synthdef {
1 53 [label = "{{ <b> |<a> 0.8} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 68 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 29 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 33 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 39 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 43 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 59 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 63 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 72 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 73 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 50 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 28 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 32 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 38 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 42 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 49 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 58 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 62 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 71 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 27 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 31 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 37 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 48 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 57 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 61 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 70 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 0 [label = "control
29 :note
30 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 1 [label = "control
32 :note_slide
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 2 [label = "control
35 :note_slide_shape
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 3 [label = "control
38 :note_slide_curve
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 4 [label = "control
41 :amp
42 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 5 [label = "control
44 :amp_slide
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 6 [label = "control
47 :amp_slide_shape
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 7 [label = "control
50 :amp_slide_curve
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 8 [label = "control
53 :pan
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 9 [label = "control
56 :pan_slide
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 10 [label = "control
59 :pan_slide_shape
60 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 11 [label = "control
62 :pan_slide_curve
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 12 [label = "control
65 :attack
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 13 [label = "control
68 :decay
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 14 [label = "control
71 :sustain
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 15 [label = "control
74 :release
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 16 [label = "control
77 :attack_level
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 17 [label = "control
80 :decay_level
81 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 18 [label = "control
83 :sustain_level
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 19 [label = "control
86 :env_curve
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 20 [label = "control
89 :cutoff
90 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 21 [label = "control
92 :cutoff_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 22 [label = "control
95 :cutoff_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 23 [label = "control
98 :cutoff_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 24 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 34 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 44 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 52 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 64 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 74 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 69 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 25 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
117 35 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 46 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 55 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 66 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
121 45 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
122 65 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
123 67 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
124 76 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
125 75 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
126 54 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
127 51 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
128
129 52:__UG_NAME__ -> 53:b ;
130 53:__UG_NAME__ -> 68:a ;
131 67:__UG_NAME__ -> 68:b ;
132 25:__UG_NAME__ -> 29:a ;
133 28:__UG_NAME__ -> 29:b ;
134 29:__UG_NAME__ -> 33:a ;
135 32:__UG_NAME__ -> 33:b ;
136 35:__UG_NAME__ -> 39:a ;
137 38:__UG_NAME__ -> 39:b ;
138 39:__UG_NAME__ -> 43:a ;
139 42:__UG_NAME__ -> 43:b ;
140 55:__UG_NAME__ -> 59:a ;
141 58:__UG_NAME__ -> 59:b ;
142 59:__UG_NAME__ -> 63:a ;
143 62:__UG_NAME__ -> 63:b ;
144 46:__UG_NAME__ -> 72:a ;
145 71:__UG_NAME__ -> 72:b ;
146 72:__UG_NAME__ -> 73:a ;
147 49:__UG_NAME__ -> 73:b ;
148 17:__UG_NAME__ -> 50:b ;
149 27:__UG_NAME__ -> 28:a ;
150 31:__UG_NAME__ -> 32:a ;
151 37:__UG_NAME__ -> 38:a ;
152 41:__UG_NAME__ -> 42:a ;
153 48:__UG_NAME__ -> 49:a ;
154 57:__UG_NAME__ -> 58:a ;
155 61:__UG_NAME__ -> 62:a ;
156 70:__UG_NAME__ -> 71:a ;
157 26:__UG_NAME__ -> 27:a ;
158 30:__UG_NAME__ -> 31:a ;
159 36:__UG_NAME__ -> 37:a ;
160 40:__UG_NAME__ -> 41:a ;
161 47:__UG_NAME__ -> 48:a ;
162 56:__UG_NAME__ -> 57:a ;
163 60:__UG_NAME__ -> 61:a ;
164 69:__UG_NAME__ -> 70:a ;
165 4:__UG_NAME__ -> 34:envelope___control___0 ;
166 4:__UG_NAME__ -> 34:envelope___control___4 ;
167 5:__UG_NAME__ -> 34:envelope___control___5 ;
168 6:__UG_NAME__ -> 34:envelope___control___6 ;
169 7:__UG_NAME__ -> 34:envelope___control___7 ;
170 33:__UG_NAME__ -> 34:gate ;
171 0:__UG_NAME__ -> 44:envelope___control___0 ;
172 0:__UG_NAME__ -> 44:envelope___control___4 ;
173 1:__UG_NAME__ -> 44:envelope___control___5 ;
174 2:__UG_NAME__ -> 44:envelope___control___6 ;
175 3:__UG_NAME__ -> 44:envelope___control___7 ;
176 43:__UG_NAME__ -> 44:gate ;
177 16:__UG_NAME__ -> 52:envelope___control___4 ;
178 12:__UG_NAME__ -> 52:envelope___control___5 ;
179 19:__UG_NAME__ -> 52:envelope___control___6 ;
180 51:__UG_NAME__ -> 52:envelope___select___8 ;
181 13:__UG_NAME__ -> 52:envelope___control___9 ;
182 19:__UG_NAME__ -> 52:envelope___control___10 ;
183 18:__UG_NAME__ -> 52:envelope___control___12 ;
184 14:__UG_NAME__ -> 52:envelope___control___13 ;
185 19:__UG_NAME__ -> 52:envelope___control___14 ;
186 15:__UG_NAME__ -> 52:envelope___control___17 ;
187 19:__UG_NAME__ -> 52:envelope___control___18 ;
188 20:__UG_NAME__ -> 64:envelope___control___0 ;
189 20:__UG_NAME__ -> 64:envelope___control___4 ;
190 21:__UG_NAME__ -> 64:envelope___control___5 ;
191 22:__UG_NAME__ -> 64:envelope___control___6 ;
192 23:__UG_NAME__ -> 64:envelope___control___7 ;
193 63:__UG_NAME__ -> 64:gate ;
194 8:__UG_NAME__ -> 74:envelope___control___0 ;
195 8:__UG_NAME__ -> 74:envelope___control___4 ;
196 9:__UG_NAME__ -> 74:envelope___control___5 ;
197 10:__UG_NAME__ -> 74:envelope___control___6 ;
198 11:__UG_NAME__ -> 74:envelope___control___7 ;
199 73:__UG_NAME__ -> 74:gate ;
200 4:__UG_NAME__ -> 26:in ;
201 5:__UG_NAME__ -> 30:in ;
202 0:__UG_NAME__ -> 36:in ;
203 1:__UG_NAME__ -> 40:in ;
204 9:__UG_NAME__ -> 47:in ;
205 20:__UG_NAME__ -> 56:in ;
206 21:__UG_NAME__ -> 60:in ;
207 8:__UG_NAME__ -> 69:in ;
208 54:__UG_NAME__ -> 66:in ;
209 65:__UG_NAME__ -> 66:freq ;
210 44:__UG_NAME__ -> 45:a ;
211 64:__UG_NAME__ -> 65:a ;
212 66:__UG_NAME__ -> 67:in ;
213 24:__UG_NAME__ -> 76:bus ;
214 75:__UG_NAME__ -> 76:signals___pan2___0 ;
215 75:__UG_NAME__ -> 76:signals___pan2___1 ;
216 68:__UG_NAME__ -> 75:in ;
217 74:__UG_NAME__ -> 75:pos ;
218 34:__UG_NAME__ -> 75:level ;
219 45:__UG_NAME__ -> 54:freq ;
220 50:__UG_NAME__ -> 51:which ;
221 17:__UG_NAME__ -> 51:array___control___0 ;
222 18:__UG_NAME__ -> 51:array___control___1 ;
223
224 }
0 digraph synthdef {
1 35 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 27 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
3 28 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 33 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 38 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 43 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 21 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
8 20 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
9 26 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
10 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
11 42 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
12 19 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
13 25 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
14 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
15 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
16 0 [label = "control
17 :amp
18 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
19 1 [label = "control
20 :amp_slide
21 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
22 2 [label = "control
23 :amp_slide_shape
24 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
25 3 [label = "control
26 :amp_slide_curve
27 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
28 4 [label = "control
29 :pan
30 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 5 [label = "control
32 :pan_slide
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 6 [label = "control
35 :pan_slide_shape
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 7 [label = "control
38 :pan_slide_curve
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 8 [label = "control
41 :attack
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 9 [label = "control
44 :decay
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 10 [label = "control
47 :sustain
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 11 [label = "control
50 :release
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 12 [label = "control
53 :attack_level
54 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 13 [label = "control
56 :decay_level
57 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 14 [label = "control
59 :sustain_level
60 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 15 [label = "control
62 :env_curve
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 16 [label = "control
65 :input
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 17 [label = "control
68 :out_bus
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 31 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
71 40 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
72 44 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
73 18 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
74 24 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
75 29 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
76 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
77 23 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
78 30 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
79 34 [label = "{{ <num____channels> num-channels 1|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
80 32 [label = "{<__UG_NAME__>num-output-buses }" style="dashed, rounded" shape=record rankdir=LR];
81 46 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
82 45 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
83 22 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
84
85 31:__UG_NAME__ -> 35:a ;
86 34:__UG_NAME__ -> 35:b ;
87 23:__UG_NAME__ -> 27:a ;
88 26:__UG_NAME__ -> 27:b ;
89 27:__UG_NAME__ -> 28:a ;
90 20:__UG_NAME__ -> 28:b ;
91 32:__UG_NAME__ -> 33:a ;
92 16:__UG_NAME__ -> 33:b ;
93 30:__UG_NAME__ -> 38:a ;
94 37:__UG_NAME__ -> 38:b ;
95 38:__UG_NAME__ -> 43:a ;
96 42:__UG_NAME__ -> 43:b ;
97 13:__UG_NAME__ -> 21:b ;
98 19:__UG_NAME__ -> 20:a ;
99 25:__UG_NAME__ -> 26:a ;
100 36:__UG_NAME__ -> 37:a ;
101 41:__UG_NAME__ -> 42:a ;
102 18:__UG_NAME__ -> 19:a ;
103 24:__UG_NAME__ -> 25:a ;
104 29:__UG_NAME__ -> 36:a ;
105 39:__UG_NAME__ -> 41:a ;
106 12:__UG_NAME__ -> 31:envelope___control___4 ;
107 8:__UG_NAME__ -> 31:envelope___control___5 ;
108 15:__UG_NAME__ -> 31:envelope___control___6 ;
109 22:__UG_NAME__ -> 31:envelope___select___8 ;
110 9:__UG_NAME__ -> 31:envelope___control___9 ;
111 15:__UG_NAME__ -> 31:envelope___control___10 ;
112 14:__UG_NAME__ -> 31:envelope___control___12 ;
113 10:__UG_NAME__ -> 31:envelope___control___13 ;
114 15:__UG_NAME__ -> 31:envelope___control___14 ;
115 11:__UG_NAME__ -> 31:envelope___control___17 ;
116 15:__UG_NAME__ -> 31:envelope___control___18 ;
117 4:__UG_NAME__ -> 40:envelope___control___0 ;
118 4:__UG_NAME__ -> 40:envelope___control___4 ;
119 5:__UG_NAME__ -> 40:envelope___control___5 ;
120 6:__UG_NAME__ -> 40:envelope___control___6 ;
121 7:__UG_NAME__ -> 40:envelope___control___7 ;
122 28:__UG_NAME__ -> 40:gate ;
123 0:__UG_NAME__ -> 44:envelope___control___0 ;
124 0:__UG_NAME__ -> 44:envelope___control___4 ;
125 1:__UG_NAME__ -> 44:envelope___control___5 ;
126 2:__UG_NAME__ -> 44:envelope___control___6 ;
127 3:__UG_NAME__ -> 44:envelope___control___7 ;
128 43:__UG_NAME__ -> 44:gate ;
129 5:__UG_NAME__ -> 18:in ;
130 4:__UG_NAME__ -> 24:in ;
131 0:__UG_NAME__ -> 29:in ;
132 1:__UG_NAME__ -> 39:in ;
133 33:__UG_NAME__ -> 34:bus ;
134 17:__UG_NAME__ -> 46:bus ;
135 45:__UG_NAME__ -> 46:signals___pan2___0 ;
136 45:__UG_NAME__ -> 46:signals___pan2___1 ;
137 35:__UG_NAME__ -> 45:in ;
138 40:__UG_NAME__ -> 45:pos ;
139 44:__UG_NAME__ -> 45:level ;
140 21:__UG_NAME__ -> 22:which ;
141 13:__UG_NAME__ -> 22:array___control___0 ;
142 14:__UG_NAME__ -> 22:array___control___1 ;
143
144 }
0 digraph synthdef {
1 25 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 30 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 51 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 53 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 23 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 27 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 28 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 34 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 38 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 44 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 48 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 19 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
13 33 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 32 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
18 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
19 42 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
20 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 50 [label = "{{ <level> level|<pos> pos|<right> right|<left> left} |<__UG_NAME__>balance2 }" style="filled, bold, rounded" shape=record rankdir=LR];
22 0 [label = "control
23 :amp
24 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
25 1 [label = "control
26 :amp_slide
27 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
28 2 [label = "control
29 :amp_slide_shape
30 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 3 [label = "control
32 :amp_slide_curve
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 4 [label = "control
35 :pan
36 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 5 [label = "control
38 :pan_slide
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 6 [label = "control
41 :pan_slide_shape
42 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 7 [label = "control
44 :pan_slide_curve
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 8 [label = "control
47 :attack
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 9 [label = "control
50 :decay
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 10 [label = "control
53 :sustain
54 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 11 [label = "control
56 :release
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 12 [label = "control
59 :attack_level
60 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 13 [label = "control
62 :decay_level
63 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 14 [label = "control
65 :sustain_level
66 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 15 [label = "control
68 :env_curve
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 16 [label = "control
71 :input
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 17 [label = "control
74 :out_bus
75 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 21 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
77 39 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
78 49 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
79 18 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
80 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
81 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
82 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
83 31 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
84 40 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
85 24 [label = "{{ <num____channels> num-channels 1|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
86 29 [label = "{{ <num____channels> num-channels 1|<bus> bus} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
87 22 [label = "{<__UG_NAME__>num-output-buses }" style="dashed, rounded" shape=record rankdir=LR];
88 26 [label = "{<__UG_NAME__>num-output-buses }" style="dashed, rounded" shape=record rankdir=LR];
89 55 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>|<signals___pan2___2>|<signals___pan2___3>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
90 52 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
91 54 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
92 20 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
93
94 21:__UG_NAME__ -> 25:a ;
95 24:__UG_NAME__ -> 25:b ;
96 21:__UG_NAME__ -> 30:a ;
97 29:__UG_NAME__ -> 30:b ;
98 21:__UG_NAME__ -> 51:a ;
99 50:__UG_NAME__ -> 51:b ;
100 21:__UG_NAME__ -> 53:a ;
101 50:__UG_NAME__ -> 53:b ;
102 22:__UG_NAME__ -> 23:a ;
103 16:__UG_NAME__ -> 23:b ;
104 16:__UG_NAME__ -> 27:a ;
105 26:__UG_NAME__ -> 28:a ;
106 27:__UG_NAME__ -> 28:b ;
107 31:__UG_NAME__ -> 34:a ;
108 33:__UG_NAME__ -> 34:b ;
109 34:__UG_NAME__ -> 38:a ;
110 37:__UG_NAME__ -> 38:b ;
111 40:__UG_NAME__ -> 44:a ;
112 43:__UG_NAME__ -> 44:b ;
113 44:__UG_NAME__ -> 48:a ;
114 47:__UG_NAME__ -> 48:b ;
115 13:__UG_NAME__ -> 19:b ;
116 32:__UG_NAME__ -> 33:a ;
117 36:__UG_NAME__ -> 37:a ;
118 42:__UG_NAME__ -> 43:a ;
119 46:__UG_NAME__ -> 47:a ;
120 18:__UG_NAME__ -> 32:a ;
121 35:__UG_NAME__ -> 36:a ;
122 41:__UG_NAME__ -> 42:a ;
123 45:__UG_NAME__ -> 46:a ;
124 25:__UG_NAME__ -> 50:left ;
125 30:__UG_NAME__ -> 50:right ;
126 39:__UG_NAME__ -> 50:pos ;
127 49:__UG_NAME__ -> 50:level ;
128 12:__UG_NAME__ -> 21:envelope___control___4 ;
129 8:__UG_NAME__ -> 21:envelope___control___5 ;
130 15:__UG_NAME__ -> 21:envelope___control___6 ;
131 20:__UG_NAME__ -> 21:envelope___select___8 ;
132 9:__UG_NAME__ -> 21:envelope___control___9 ;
133 15:__UG_NAME__ -> 21:envelope___control___10 ;
134 14:__UG_NAME__ -> 21:envelope___control___12 ;
135 10:__UG_NAME__ -> 21:envelope___control___13 ;
136 15:__UG_NAME__ -> 21:envelope___control___14 ;
137 11:__UG_NAME__ -> 21:envelope___control___17 ;
138 15:__UG_NAME__ -> 21:envelope___control___18 ;
139 4:__UG_NAME__ -> 39:envelope___control___0 ;
140 4:__UG_NAME__ -> 39:envelope___control___4 ;
141 5:__UG_NAME__ -> 39:envelope___control___5 ;
142 6:__UG_NAME__ -> 39:envelope___control___6 ;
143 7:__UG_NAME__ -> 39:envelope___control___7 ;
144 38:__UG_NAME__ -> 39:gate ;
145 0:__UG_NAME__ -> 49:envelope___control___0 ;
146 0:__UG_NAME__ -> 49:envelope___control___4 ;
147 1:__UG_NAME__ -> 49:envelope___control___5 ;
148 2:__UG_NAME__ -> 49:envelope___control___6 ;
149 3:__UG_NAME__ -> 49:envelope___control___7 ;
150 48:__UG_NAME__ -> 49:gate ;
151 4:__UG_NAME__ -> 18:in ;
152 5:__UG_NAME__ -> 35:in ;
153 0:__UG_NAME__ -> 41:in ;
154 1:__UG_NAME__ -> 45:in ;
155 23:__UG_NAME__ -> 24:bus ;
156 28:__UG_NAME__ -> 29:bus ;
157 17:__UG_NAME__ -> 55:bus ;
158 52:__UG_NAME__ -> 55:signals___pan2___0 ;
159 52:__UG_NAME__ -> 55:signals___pan2___1 ;
160 54:__UG_NAME__ -> 55:signals___pan2___2 ;
161 54:__UG_NAME__ -> 55:signals___pan2___3 ;
162 51:__UG_NAME__ -> 52:in ;
163 39:__UG_NAME__ -> 52:pos ;
164 49:__UG_NAME__ -> 52:level ;
165 53:__UG_NAME__ -> 54:in ;
166 39:__UG_NAME__ -> 54:pos ;
167 49:__UG_NAME__ -> 54:level ;
168 19:__UG_NAME__ -> 20:which ;
169 13:__UG_NAME__ -> 20:array___control___0 ;
170 14:__UG_NAME__ -> 20:array___control___1 ;
171
172 }
0 digraph synthdef {
1 72 [label = "{{ <b> |<a> 0.8} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 74 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 34 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 41 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 42 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 47 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 56 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 63 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 28 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 33 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 37 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 40 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 46 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 49 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 55 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 59 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 62 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 32 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 39 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 45 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 48 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 51 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 54 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 58 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 0 [label = "control
29 :note
30 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 1 [label = "control
32 :note_slide
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 2 [label = "control
35 :note_slide_shape
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 3 [label = "control
38 :note_slide_curve
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 4 [label = "control
41 :amp
42 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 5 [label = "control
44 :amp_slide
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 6 [label = "control
47 :amp_slide_shape
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 7 [label = "control
50 :amp_slide_curve
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 8 [label = "control
53 :pan
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 9 [label = "control
56 :pan_slide
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 10 [label = "control
59 :pan_slide_shape
60 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 11 [label = "control
62 :pan_slide_curve
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 12 [label = "control
65 :attack
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 13 [label = "control
68 :decay
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 14 [label = "control
71 :sustain
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 15 [label = "control
74 :release
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 16 [label = "control
77 :attack_level
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 17 [label = "control
80 :decay_level
81 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 18 [label = "control
83 :sustain_level
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 19 [label = "control
86 :env_curve
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 20 [label = "control
89 :cutoff
90 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 21 [label = "control
92 :cutoff_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 22 [label = "control
95 :cutoff_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 23 [label = "control
98 :cutoff_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 24 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 43 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 64 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 67 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 70 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 71 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 25 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
117 26 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 31 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 52 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 69 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
121 65 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
122 68 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
123 73 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
124 76 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
125 75 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
126 66 [label = "{{ <width> width 0.5|<freq> freq} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
127 29 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
128
129 70:__UG_NAME__ -> 72:b ;
130 72:__UG_NAME__ -> 74:a ;
131 73:__UG_NAME__ -> 74:b ;
132 31:__UG_NAME__ -> 34:a ;
133 33:__UG_NAME__ -> 34:b ;
134 26:__UG_NAME__ -> 41:a ;
135 40:__UG_NAME__ -> 41:b ;
136 41:__UG_NAME__ -> 42:a ;
137 37:__UG_NAME__ -> 42:b ;
138 34:__UG_NAME__ -> 47:a ;
139 46:__UG_NAME__ -> 47:b ;
140 52:__UG_NAME__ -> 56:a ;
141 55:__UG_NAME__ -> 56:b ;
142 25:__UG_NAME__ -> 60:a ;
143 59:__UG_NAME__ -> 60:b ;
144 60:__UG_NAME__ -> 61:a ;
145 49:__UG_NAME__ -> 61:b ;
146 56:__UG_NAME__ -> 63:a ;
147 62:__UG_NAME__ -> 63:b ;
148 17:__UG_NAME__ -> 28:b ;
149 32:__UG_NAME__ -> 33:a ;
150 36:__UG_NAME__ -> 37:a ;
151 39:__UG_NAME__ -> 40:a ;
152 45:__UG_NAME__ -> 46:a ;
153 48:__UG_NAME__ -> 49:a ;
154 54:__UG_NAME__ -> 55:a ;
155 58:__UG_NAME__ -> 59:a ;
156 51:__UG_NAME__ -> 62:a ;
157 30:__UG_NAME__ -> 32:a ;
158 35:__UG_NAME__ -> 36:a ;
159 38:__UG_NAME__ -> 39:a ;
160 44:__UG_NAME__ -> 45:a ;
161 27:__UG_NAME__ -> 48:a ;
162 50:__UG_NAME__ -> 51:a ;
163 53:__UG_NAME__ -> 54:a ;
164 57:__UG_NAME__ -> 58:a ;
165 4:__UG_NAME__ -> 43:envelope___control___0 ;
166 4:__UG_NAME__ -> 43:envelope___control___4 ;
167 5:__UG_NAME__ -> 43:envelope___control___5 ;
168 6:__UG_NAME__ -> 43:envelope___control___6 ;
169 7:__UG_NAME__ -> 43:envelope___control___7 ;
170 42:__UG_NAME__ -> 43:gate ;
171 0:__UG_NAME__ -> 64:envelope___control___0 ;
172 0:__UG_NAME__ -> 64:envelope___control___4 ;
173 1:__UG_NAME__ -> 64:envelope___control___5 ;
174 2:__UG_NAME__ -> 64:envelope___control___6 ;
175 3:__UG_NAME__ -> 64:envelope___control___7 ;
176 63:__UG_NAME__ -> 64:gate ;
177 20:__UG_NAME__ -> 67:envelope___control___0 ;
178 20:__UG_NAME__ -> 67:envelope___control___4 ;
179 21:__UG_NAME__ -> 67:envelope___control___5 ;
180 22:__UG_NAME__ -> 67:envelope___control___6 ;
181 23:__UG_NAME__ -> 67:envelope___control___7 ;
182 47:__UG_NAME__ -> 67:gate ;
183 16:__UG_NAME__ -> 70:envelope___control___4 ;
184 12:__UG_NAME__ -> 70:envelope___control___5 ;
185 19:__UG_NAME__ -> 70:envelope___control___6 ;
186 29:__UG_NAME__ -> 70:envelope___select___8 ;
187 13:__UG_NAME__ -> 70:envelope___control___9 ;
188 19:__UG_NAME__ -> 70:envelope___control___10 ;
189 18:__UG_NAME__ -> 70:envelope___control___12 ;
190 14:__UG_NAME__ -> 70:envelope___control___13 ;
191 19:__UG_NAME__ -> 70:envelope___control___14 ;
192 15:__UG_NAME__ -> 70:envelope___control___17 ;
193 19:__UG_NAME__ -> 70:envelope___control___18 ;
194 8:__UG_NAME__ -> 71:envelope___control___0 ;
195 8:__UG_NAME__ -> 71:envelope___control___4 ;
196 9:__UG_NAME__ -> 71:envelope___control___5 ;
197 10:__UG_NAME__ -> 71:envelope___control___6 ;
198 11:__UG_NAME__ -> 71:envelope___control___7 ;
199 61:__UG_NAME__ -> 71:gate ;
200 9:__UG_NAME__ -> 27:in ;
201 20:__UG_NAME__ -> 30:in ;
202 5:__UG_NAME__ -> 35:in ;
203 4:__UG_NAME__ -> 38:in ;
204 21:__UG_NAME__ -> 44:in ;
205 1:__UG_NAME__ -> 50:in ;
206 0:__UG_NAME__ -> 53:in ;
207 8:__UG_NAME__ -> 57:in ;
208 66:__UG_NAME__ -> 69:in ;
209 68:__UG_NAME__ -> 69:freq ;
210 64:__UG_NAME__ -> 65:a ;
211 67:__UG_NAME__ -> 68:a ;
212 69:__UG_NAME__ -> 73:in ;
213 24:__UG_NAME__ -> 76:bus ;
214 75:__UG_NAME__ -> 76:signals___pan2___0 ;
215 75:__UG_NAME__ -> 76:signals___pan2___1 ;
216 74:__UG_NAME__ -> 75:in ;
217 71:__UG_NAME__ -> 75:pos ;
218 43:__UG_NAME__ -> 75:level ;
219 65:__UG_NAME__ -> 66:freq ;
220 28:__UG_NAME__ -> 29:which ;
221 17:__UG_NAME__ -> 29:array___control___0 ;
222 18:__UG_NAME__ -> 29:array___control___1 ;
223
224 }
0 digraph synthdef {
1 175 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 176 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 182 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 187 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 331 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 340 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 341 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 105 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 109 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 115 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 119 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 128 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 132 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 138 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 142 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 162 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 166 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 192 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 196 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 203 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 205 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 211 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 215 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 238 [label = "{{ <b> |<a> 0.1} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 268 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 272 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 280 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 284 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 303 [label = "{{ <b> |<a> 0.1} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 320 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 342 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
32 348 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 352 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 357 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
35 363 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
36 367 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
37 372 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
38 373 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
39 379 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
40 383 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
41 393 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
42 397 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
43 401 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
44 402 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
45 403 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
46 405 [label = "{{ <b> |<a> 0.03} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
47 174 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="dashed, rounded" shape=record rankdir=LR];
48 233 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
49 235 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
50 236 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
51 298 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
52 300 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
53 301 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
54 325 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
55 326 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
56 327 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
57 184 [label = "{{ <b> |<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
58 343 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
59 232 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
60 297 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
61 322 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
62 324 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
63 104 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
64 108 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
65 114 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
66 118 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
67 123 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
68 127 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
69 131 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
70 137 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
71 141 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
72 161 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
73 165 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
74 191 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
75 195 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
76 202 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
77 204 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
78 210 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
79 214 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
80 267 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
81 271 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
82 279 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
83 283 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
84 319 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
85 347 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
86 351 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
87 356 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
88 362 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
89 366 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
90 371 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
91 378 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
92 382 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
93 392 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
94 396 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
95 100 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
96 103 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
97 107 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
98 113 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
99 117 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
100 122 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
101 126 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
102 130 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
103 136 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
104 140 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
105 160 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
106 164 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
107 183 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
108 190 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
109 194 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
110 201 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
111 209 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
112 213 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
113 266 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
114 270 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
115 278 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
116 282 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
117 318 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
118 346 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
119 350 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
120 355 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
121 361 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
122 365 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
123 370 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
124 377 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
125 381 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
126 391 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
127 395 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
128 181 [label = "{{ <b> |<a> } |<__UG_NAME__>absdif }" style="bold, rounded" shape=record rankdir=LR];
129 399 [label = "{{ <level> level|<pos> pos|<right> right|<left> left} |<__UG_NAME__>balance2 }" style="filled, bold, rounded" shape=record rankdir=LR];
130 180 [label = "{{ <buf> buf} |<__UG_NAME__>buf-dur }" style="dashed, rounded" shape=record rankdir=LR];
131 173 [label = "{{ <buf> buf} |<__UG_NAME__>buf-frames }" style="dashed, rounded" shape=record rankdir=LR];
132 186 [label = "{{ <interpolation> interpolation 2.0|<loop> loop 1.0|<phase> phase|<bufnum> bufnum|<num____channels> num-channels 2} |<__UG_NAME__>buf-rd }" style="filled, bold, rounded" shape=record rankdir=LR];
133 385 [label = "{{ <relax____time> relax-time|<clamp____time> clamp-time|<slope____above> slope-above|<slope____below> slope-below|<thresh> thresh|<control> control|<in> in} |<__UG_NAME__>compander }" style="filled, bold, rounded" shape=record rankdir=LR];
134 387 [label = "{{ <relax____time> relax-time|<clamp____time> clamp-time|<slope____above> slope-above|<slope____below> slope-below|<thresh> thresh|<control> control|<in> in} |<__UG_NAME__>compander }" style="filled, bold, rounded" shape=record rankdir=LR];
135 0 [label = "control
136 :buf
137 default: 0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
138 1 [label = "control
139 :attack
140 default: 0.0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
141 2 [label = "control
142 :decay
143 default: 0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
144 3 [label = "control
145 :sustain
146 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
147 4 [label = "control
148 :release
149 default: 0.0" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
150 5 [label = "control
151 :attack_level
152 default: 1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
153 6 [label = "control
154 :decay_level
155 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
156 7 [label = "control
157 :sustain_level
158 default: 1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
159 8 [label = "control
160 :lpf_init_level
161 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
162 9 [label = "control
163 :lpf_attack_level
164 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
165 10 [label = "control
166 :lpf_decay_level
167 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
168 11 [label = "control
169 :lpf_sustain_level
170 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
171 12 [label = "control
172 :lpf_release_level
173 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
174 13 [label = "control
175 :hpf_init_level
176 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
177 14 [label = "control
178 :hpf_attack_level
179 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
180 15 [label = "control
181 :hpf_decay_level
182 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
183 16 [label = "control
184 :hpf_sustain_level
185 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
186 17 [label = "control
187 :hpf_release_level
188 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
189 18 [label = "control
190 :amp
191 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
192 19 [label = "control
193 :amp_slide
194 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
195 20 [label = "control
196 :amp_slide_shape
197 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
198 21 [label = "control
199 :amp_slide_curve
200 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
201 22 [label = "control
202 :pan
203 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
204 23 [label = "control
205 :pan_slide
206 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
207 24 [label = "control
208 :pan_slide_shape
209 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
210 25 [label = "control
211 :pan_slide_curve
212 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
213 26 [label = "control
214 :env_curve
215 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
216 27 [label = "control
217 :rate
218 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
219 28 [label = "control
220 :start
221 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
222 29 [label = "control
223 :finish
224 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
225 30 [label = "control
226 :lpf
227 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
228 31 [label = "control
229 :lpf_slide
230 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
231 32 [label = "control
232 :lpf_slide_shape
233 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
234 33 [label = "control
235 :lpf_slide_curve
236 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
237 34 [label = "control
238 :lpf_attack
239 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
240 35 [label = "control
241 :lpf_sustain
242 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
243 36 [label = "control
244 :lpf_decay
245 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
246 37 [label = "control
247 :lpf_release
248 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
249 38 [label = "control
250 :lpf_min
251 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
252 39 [label = "control
253 :lpf_min_slide
254 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
255 40 [label = "control
256 :lpf_min_slide_shape
257 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
258 41 [label = "control
259 :lpf_min_slide_curve
260 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
261 42 [label = "control
262 :lpf_env_curve
263 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
264 43 [label = "control
265 :hpf
266 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
267 44 [label = "control
268 :hpf_slide
269 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
270 45 [label = "control
271 :hpf_slide_shape
272 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
273 46 [label = "control
274 :hpf_slide_curve
275 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
276 47 [label = "control
277 :hpf_max
278 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
279 48 [label = "control
280 :hpf_max_slide
281 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
282 49 [label = "control
283 :hpf_max_slide_shape
284 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
285 50 [label = "control
286 :hpf_max_slide_curve
287 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
288 51 [label = "control
289 :hpf_attack
290 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
291 52 [label = "control
292 :hpf_sustain
293 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
294 53 [label = "control
295 :hpf_decay
296 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
297 54 [label = "control
298 :hpf_release
299 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
300 55 [label = "control
301 :hpf_env_curve
302 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
303 56 [label = "control
304 :norm
305 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
306 57 [label = "control
307 :pitch
308 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
309 58 [label = "control
310 :pitch_slide
311 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
312 59 [label = "control
313 :pitch_slide_shape
314 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
315 60 [label = "control
316 :pitch_slide_curve
317 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
318 61 [label = "control
319 :window_size
320 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
321 62 [label = "control
322 :window_size_slide
323 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
324 63 [label = "control
325 :window_size_slide_shape
326 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
327 64 [label = "control
328 :window_size_slide_curve
329 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
330 65 [label = "control
331 :pitch_dis
332 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
333 66 [label = "control
334 :pitch_dis_slide
335 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
336 67 [label = "control
337 :pitch_dis_slide_shape
338 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
339 68 [label = "control
340 :pitch_dis_slide_curve
341 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
342 69 [label = "control
343 :time_dis
344 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
345 70 [label = "control
346 :time_dis_slide
347 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
348 71 [label = "control
349 :time_dis_slide_shape
350 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
351 72 [label = "control
352 :time_dis_slide_curve
353 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
354 73 [label = "control
355 :compress
356 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
357 74 [label = "control
358 :pre_amp
359 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
360 75 [label = "control
361 :pre_amp_slide
362 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
363 76 [label = "control
364 :pre_amp_slide_shape
365 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
366 77 [label = "control
367 :pre_amp_slide_curve
368 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
369 78 [label = "control
370 :threshold
371 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
372 79 [label = "control
373 :threshold_slide
374 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
375 80 [label = "control
376 :threshold_slide_shape
377 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
378 81 [label = "control
379 :threshold_slide_curve
380 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
381 82 [label = "control
382 :clamp_time
383 default: 0.01" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
384 83 [label = "control
385 :clamp_time_slide
386 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
387 84 [label = "control
388 :clamp_time_slide_shape
389 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
390 85 [label = "control
391 :clamp_time_slide_curve
392 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
393 86 [label = "control
394 :slope_above
395 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
396 87 [label = "control
397 :slope_above_slide
398 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
399 88 [label = "control
400 :slope_above_slide_shape
401 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
402 89 [label = "control
403 :slope_above_slide_curve
404 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
405 90 [label = "control
406 :slope_below
407 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
408 91 [label = "control
409 :slope_below_slide
410 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
411 92 [label = "control
412 :slope_below_slide_shape
413 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
414 93 [label = "control
415 :slope_below_slide_curve
416 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
417 94 [label = "control
418 :relax_time
419 default: 0.01" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
420 95 [label = "control
421 :relax_time_slide
422 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
423 96 [label = "control
424 :relax_time_slide_shape
425 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
426 97 [label = "control
427 :relax_time_slide_curve
428 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
429 98 [label = "control
430 :out_bus
431 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
432 110 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
433 120 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
434 133 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
435 143 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
436 167 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
437 197 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
438 206 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
439 216 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
440 239 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{<envelope___select___0>|4|-99|-99|<envelope___select___4>|<envelope___select___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___select___9>|<envelope___control___10>|0.0|<envelope___select___12>|<envelope___select___13>|<envelope___control___14>|0.0|<envelope___select___16>|<envelope___binary____op____u____gen___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
441 273 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
442 285 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
443 304 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{<envelope___select___0>|4|-99|-99|<envelope___select___4>|<envelope___select___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___select___9>|<envelope___control___10>|0.0|<envelope___select___12>|<envelope___select___13>|<envelope___control___14>|0.0|<envelope___select___16>|<envelope___binary____op____u____gen___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
444 329 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___select___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
445 353 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
446 358 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
447 368 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
448 374 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
449 384 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
450 398 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
451 311 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
452 336 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
453 99 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
454 102 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
455 106 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
456 112 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
457 116 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
458 121 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
459 125 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
460 129 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
461 135 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
462 139 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
463 159 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
464 163 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
465 189 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
466 193 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
467 200 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
468 208 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
469 212 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
470 265 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
471 269 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
472 277 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
473 281 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
474 317 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
475 321 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
476 345 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
477 349 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
478 354 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
479 360 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
480 364 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
481 376 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
482 380 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
483 390 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
484 394 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
485 101 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
486 111 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
487 124 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
488 134 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
489 158 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
490 188 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
491 199 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
492 207 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
493 264 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
494 276 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
495 316 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
496 344 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
497 359 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
498 369 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
499 375 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
500 389 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
501 185 [label = "{{ <action> action 0.0|<dur> dur|<end> end|<start> start} |<__UG_NAME__>line }" style="filled, bold, rounded" shape=record rankdir=LR];
502 406 [label = "{{ <action> action 2.0|<dur> dur|<end> end 1.0|<start> start 1.0} |<__UG_NAME__>line }" style="bold, rounded" shape=record rankdir=LR];
503 245 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
504 334 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
505 242 [label = "{{ <b> |<a> } |<__UG_NAME__>max }" style="bold, rounded" shape=record rankdir=LR];
506 309 [label = "{{ <b> |<a> } |<__UG_NAME__>max }" style="bold, rounded" shape=record rankdir=LR];
507 220 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
508 240 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
509 241 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
510 288 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
511 305 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
512 307 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
513 198 [label = "{{ <b> |<a> } |<__UG_NAME__>midiratio }" style="bold, rounded" shape=record rankdir=LR];
514 243 [label = "{{ <b> |<a> } |<__UG_NAME__>min }" style="bold, rounded" shape=record rankdir=LR];
515 308 [label = "{{ <b> |<a> } |<__UG_NAME__>min }" style="bold, rounded" shape=record rankdir=LR];
516 404 [label = "{{ <b> |<a> } |<__UG_NAME__>min }" style="bold, rounded" shape=record rankdir=LR];
517 314 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
518 338 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
519 172 [label = "{{ <b> |<a> } |<__UG_NAME__>not-pos? }" style="bold, rounded" shape=record rankdir=LR];
520 178 [label = "{{ <b> |<a> } |<__UG_NAME__>not-pos? }" style="bold, rounded" shape=record rankdir=LR];
521 144 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
522 145 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
523 146 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
524 148 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
525 150 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
526 152 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
527 154 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
528 156 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
529 168 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
530 171 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
531 221 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
532 224 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
533 247 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
534 248 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
535 250 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
536 252 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
537 254 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
538 256 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
539 258 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
540 260 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
541 262 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
542 274 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
543 286 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
544 330 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
545 147 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
546 149 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
547 151 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
548 153 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
549 155 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
550 157 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
551 169 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
552 170 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
553 249 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
554 251 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
555 253 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
556 255 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
557 257 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
558 259 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
559 261 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
560 263 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
561 275 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
562 312 [label = "{{ <b> |<a> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
563 400 [label = "{{ {{<signals___balance2___0>|<signals___balance2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
564 217 [label = "{{ <time____dispersion> time-dispersion|<pitch____dispersion> pitch-dispersion|<pitch____ratio> pitch-ratio|<window____size> window-size|<in> in} |<__UG_NAME__>pitch-shift }" style="filled, bold, rounded" shape=record rankdir=LR];
565 332 [label = "{{ <time____dispersion> time-dispersion|<pitch____dispersion> pitch-dispersion|<pitch____ratio> pitch-ratio|<window____size> window-size|<in> in} |<__UG_NAME__>pitch-shift }" style="filled, bold, rounded" shape=record rankdir=LR];
566 177 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
567 179 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
568 218 [label = "{{ {{<array___binary____op____u____gen___0>|<array___pitch____shift___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
569 219 [label = "{{ {{130|<array___env____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
570 222 [label = "{{ {{30|<array___env____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
571 223 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
572 225 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
573 226 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
574 227 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
575 228 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
576 229 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
577 230 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
578 231 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
579 234 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
580 237 [label = "{{ {{<array___select___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
581 244 [label = "{{ {{<array___unary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
582 246 [label = "{{ {{<array___select___0>|<array___lpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
583 287 [label = "{{ {{50|<array___env____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
584 289 [label = "{{ {{130|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
585 290 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
586 291 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
587 292 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
588 293 [label = "{{ {{<array___select___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
589 294 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
590 295 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
591 296 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
592 299 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
593 302 [label = "{{ {{<array___select___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
594 306 [label = "{{ {{200|<array___env____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
595 310 [label = "{{ {{<array___unary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
596 313 [label = "{{ {{<array___select___0>|<array___hpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
597 315 [label = "{{ {{<array___select___0>|<array___normalizer___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
598 323 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
599 328 [label = "{{ {{<array___control___0>|<array___binary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
600 333 [label = "{{ {{<array___binary____op____u____gen___0>|<array___pitch____shift___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
601 335 [label = "{{ {{<array___select___0>|<array___lpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
602 337 [label = "{{ {{<array___select___0>|<array___hpf___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
603 339 [label = "{{ {{<array___select___0>|<array___normalizer___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
604 386 [label = "{{ {{<array___binary____op____u____gen___0>|<array___compander___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
605 388 [label = "{{ {{<array___binary____op____u____gen___0>|<array___compander___1>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
606
607 28:__UG_NAME__ -> 175:a ;
608 174:__UG_NAME__ -> 175:b ;
609 29:__UG_NAME__ -> 176:a ;
610 174:__UG_NAME__ -> 176:b ;
611 180:__UG_NAME__ -> 182:a ;
612 181:__UG_NAME__ -> 182:b ;
613 133:__UG_NAME__ -> 187:a ;
614 186:__UG_NAME__ -> 187:b ;
615 133:__UG_NAME__ -> 331:a ;
616 186:__UG_NAME__ -> 331:b ;
617 329:__UG_NAME__ -> 340:a ;
618 339:__UG_NAME__ -> 340:b ;
619 329:__UG_NAME__ -> 341:a ;
620 315:__UG_NAME__ -> 341:b ;
621 101:__UG_NAME__ -> 105:a ;
622 104:__UG_NAME__ -> 105:b ;
623 105:__UG_NAME__ -> 109:a ;
624 108:__UG_NAME__ -> 109:b ;
625 111:__UG_NAME__ -> 115:a ;
626 114:__UG_NAME__ -> 115:b ;
627 115:__UG_NAME__ -> 119:a ;
628 118:__UG_NAME__ -> 119:b ;
629 124:__UG_NAME__ -> 128:a ;
630 127:__UG_NAME__ -> 128:b ;
631 128:__UG_NAME__ -> 132:a ;
632 131:__UG_NAME__ -> 132:b ;
633 134:__UG_NAME__ -> 138:a ;
634 137:__UG_NAME__ -> 138:b ;
635 138:__UG_NAME__ -> 142:a ;
636 141:__UG_NAME__ -> 142:b ;
637 158:__UG_NAME__ -> 162:a ;
638 161:__UG_NAME__ -> 162:b ;
639 162:__UG_NAME__ -> 166:a ;
640 165:__UG_NAME__ -> 166:b ;
641 188:__UG_NAME__ -> 192:a ;
642 191:__UG_NAME__ -> 192:b ;
643 192:__UG_NAME__ -> 196:a ;
644 195:__UG_NAME__ -> 196:b ;
645 199:__UG_NAME__ -> 203:a ;
646 202:__UG_NAME__ -> 203:b ;
647 203:__UG_NAME__ -> 205:a ;
648 204:__UG_NAME__ -> 205:b ;
649 207:__UG_NAME__ -> 211:a ;
650 210:__UG_NAME__ -> 211:b ;
651 211:__UG_NAME__ -> 215:a ;
652 214:__UG_NAME__ -> 215:b ;
653 234:__UG_NAME__ -> 238:b ;
654 264:__UG_NAME__ -> 268:a ;
655 267:__UG_NAME__ -> 268:b ;
656 268:__UG_NAME__ -> 272:a ;
657 271:__UG_NAME__ -> 272:b ;
658 276:__UG_NAME__ -> 280:a ;
659 279:__UG_NAME__ -> 280:b ;
660 280:__UG_NAME__ -> 284:a ;
661 283:__UG_NAME__ -> 284:b ;
662 299:__UG_NAME__ -> 303:b ;
663 316:__UG_NAME__ -> 320:a ;
664 319:__UG_NAME__ -> 320:b ;
665 341:__UG_NAME__ -> 342:a ;
666 340:__UG_NAME__ -> 342:b ;
667 344:__UG_NAME__ -> 348:a ;
668 347:__UG_NAME__ -> 348:b ;
669 348:__UG_NAME__ -> 352:a ;
670 351:__UG_NAME__ -> 352:b ;
671 320:__UG_NAME__ -> 357:a ;
672 356:__UG_NAME__ -> 357:b ;
673 359:__UG_NAME__ -> 363:a ;
674 362:__UG_NAME__ -> 363:b ;
675 363:__UG_NAME__ -> 367:a ;
676 366:__UG_NAME__ -> 367:b ;
677 369:__UG_NAME__ -> 372:a ;
678 371:__UG_NAME__ -> 372:b ;
679 372:__UG_NAME__ -> 373:a ;
680 123:__UG_NAME__ -> 373:b ;
681 375:__UG_NAME__ -> 379:a ;
682 378:__UG_NAME__ -> 379:b ;
683 379:__UG_NAME__ -> 383:a ;
684 382:__UG_NAME__ -> 383:b ;
685 389:__UG_NAME__ -> 393:a ;
686 392:__UG_NAME__ -> 393:b ;
687 393:__UG_NAME__ -> 397:a ;
688 396:__UG_NAME__ -> 397:b ;
689 1:__UG_NAME__ -> 401:a ;
690 328:__UG_NAME__ -> 401:b ;
691 401:__UG_NAME__ -> 402:a ;
692 2:__UG_NAME__ -> 402:b ;
693 402:__UG_NAME__ -> 403:a ;
694 4:__UG_NAME__ -> 403:b ;
695 404:__UG_NAME__ -> 405:b ;
696 173:__UG_NAME__ -> 174:a ;
697 184:__UG_NAME__ -> 233:a ;
698 229:__UG_NAME__ -> 233:b ;
699 233:__UG_NAME__ -> 235:a ;
700 234:__UG_NAME__ -> 235:b ;
701 235:__UG_NAME__ -> 236:a ;
702 230:__UG_NAME__ -> 236:b ;
703 184:__UG_NAME__ -> 298:a ;
704 294:__UG_NAME__ -> 298:b ;
705 298:__UG_NAME__ -> 300:a ;
706 299:__UG_NAME__ -> 300:b ;
707 300:__UG_NAME__ -> 301:a ;
708 295:__UG_NAME__ -> 301:b ;
709 184:__UG_NAME__ -> 325:a ;
710 1:__UG_NAME__ -> 325:b ;
711 325:__UG_NAME__ -> 326:a ;
712 4:__UG_NAME__ -> 326:b ;
713 326:__UG_NAME__ -> 327:a ;
714 2:__UG_NAME__ -> 327:b ;
715 182:__UG_NAME__ -> 184:a ;
716 183:__UG_NAME__ -> 184:b ;
717 342:__UG_NAME__ -> 343:a ;
718 231:__UG_NAME__ -> 232:b ;
719 296:__UG_NAME__ -> 297:b ;
720 6:__UG_NAME__ -> 322:b ;
721 3:__UG_NAME__ -> 324:b ;
722 103:__UG_NAME__ -> 104:a ;
723 107:__UG_NAME__ -> 108:a ;
724 113:__UG_NAME__ -> 114:a ;
725 117:__UG_NAME__ -> 118:a ;
726 122:__UG_NAME__ -> 123:a ;
727 126:__UG_NAME__ -> 127:a ;
728 130:__UG_NAME__ -> 131:a ;
729 136:__UG_NAME__ -> 137:a ;
730 140:__UG_NAME__ -> 141:a ;
731 160:__UG_NAME__ -> 161:a ;
732 164:__UG_NAME__ -> 165:a ;
733 190:__UG_NAME__ -> 191:a ;
734 194:__UG_NAME__ -> 195:a ;
735 201:__UG_NAME__ -> 202:a ;
736 100:__UG_NAME__ -> 204:a ;
737 209:__UG_NAME__ -> 210:a ;
738 213:__UG_NAME__ -> 214:a ;
739 266:__UG_NAME__ -> 267:a ;
740 270:__UG_NAME__ -> 271:a ;
741 278:__UG_NAME__ -> 279:a ;
742 282:__UG_NAME__ -> 283:a ;
743 318:__UG_NAME__ -> 319:a ;
744 346:__UG_NAME__ -> 347:a ;
745 350:__UG_NAME__ -> 351:a ;
746 355:__UG_NAME__ -> 356:a ;
747 361:__UG_NAME__ -> 362:a ;
748 365:__UG_NAME__ -> 366:a ;
749 370:__UG_NAME__ -> 371:a ;
750 377:__UG_NAME__ -> 378:a ;
751 381:__UG_NAME__ -> 382:a ;
752 391:__UG_NAME__ -> 392:a ;
753 395:__UG_NAME__ -> 396:a ;
754 99:__UG_NAME__ -> 100:a ;
755 102:__UG_NAME__ -> 103:a ;
756 106:__UG_NAME__ -> 107:a ;
757 112:__UG_NAME__ -> 113:a ;
758 116:__UG_NAME__ -> 117:a ;
759 121:__UG_NAME__ -> 122:a ;
760 125:__UG_NAME__ -> 126:a ;
761 129:__UG_NAME__ -> 130:a ;
762 135:__UG_NAME__ -> 136:a ;
763 139:__UG_NAME__ -> 140:a ;
764 159:__UG_NAME__ -> 160:a ;
765 163:__UG_NAME__ -> 164:a ;
766 27:__UG_NAME__ -> 183:a ;
767 189:__UG_NAME__ -> 190:a ;
768 193:__UG_NAME__ -> 194:a ;
769 200:__UG_NAME__ -> 201:a ;
770 208:__UG_NAME__ -> 209:a ;
771 212:__UG_NAME__ -> 213:a ;
772 265:__UG_NAME__ -> 266:a ;
773 269:__UG_NAME__ -> 270:a ;
774 277:__UG_NAME__ -> 278:a ;
775 281:__UG_NAME__ -> 282:a ;
776 317:__UG_NAME__ -> 318:a ;
777 345:__UG_NAME__ -> 346:a ;
778 349:__UG_NAME__ -> 350:a ;
779 354:__UG_NAME__ -> 355:a ;
780 360:__UG_NAME__ -> 361:a ;
781 364:__UG_NAME__ -> 365:a ;
782 321:__UG_NAME__ -> 370:a ;
783 376:__UG_NAME__ -> 377:a ;
784 380:__UG_NAME__ -> 381:a ;
785 390:__UG_NAME__ -> 391:a ;
786 394:__UG_NAME__ -> 395:a ;
787 29:__UG_NAME__ -> 181:a ;
788 28:__UG_NAME__ -> 181:b ;
789 388:__UG_NAME__ -> 399:left ;
790 386:__UG_NAME__ -> 399:right ;
791 398:__UG_NAME__ -> 399:pos ;
792 110:__UG_NAME__ -> 399:level ;
793 0:__UG_NAME__ -> 180:buf ;
794 0:__UG_NAME__ -> 173:buf ;
795 0:__UG_NAME__ -> 186:bufnum ;
796 185:__UG_NAME__ -> 186:phase ;
797 340:__UG_NAME__ -> 385:in ;
798 343:__UG_NAME__ -> 385:control ;
799 353:__UG_NAME__ -> 385:thresh ;
800 358:__UG_NAME__ -> 385:slope____below ;
801 368:__UG_NAME__ -> 385:slope____above ;
802 374:__UG_NAME__ -> 385:clamp____time ;
803 384:__UG_NAME__ -> 385:relax____time ;
804 341:__UG_NAME__ -> 387:in ;
805 343:__UG_NAME__ -> 387:control ;
806 353:__UG_NAME__ -> 387:thresh ;
807 358:__UG_NAME__ -> 387:slope____below ;
808 368:__UG_NAME__ -> 387:slope____above ;
809 374:__UG_NAME__ -> 387:clamp____time ;
810 384:__UG_NAME__ -> 387:relax____time ;
811 18:__UG_NAME__ -> 110:envelope___control___0 ;
812 18:__UG_NAME__ -> 110:envelope___control___4 ;
813 19:__UG_NAME__ -> 110:envelope___control___5 ;
814 20:__UG_NAME__ -> 110:envelope___control___6 ;
815 21:__UG_NAME__ -> 110:envelope___control___7 ;
816 109:__UG_NAME__ -> 110:gate ;
817 57:__UG_NAME__ -> 120:envelope___control___0 ;
818 57:__UG_NAME__ -> 120:envelope___control___4 ;
819 58:__UG_NAME__ -> 120:envelope___control___5 ;
820 59:__UG_NAME__ -> 120:envelope___control___6 ;
821 60:__UG_NAME__ -> 120:envelope___control___7 ;
822 119:__UG_NAME__ -> 120:gate ;
823 74:__UG_NAME__ -> 133:envelope___control___0 ;
824 74:__UG_NAME__ -> 133:envelope___control___4 ;
825 75:__UG_NAME__ -> 133:envelope___control___5 ;
826 76:__UG_NAME__ -> 133:envelope___control___6 ;
827 77:__UG_NAME__ -> 133:envelope___control___7 ;
828 132:__UG_NAME__ -> 133:gate ;
829 30:__UG_NAME__ -> 143:envelope___control___0 ;
830 30:__UG_NAME__ -> 143:envelope___control___4 ;
831 31:__UG_NAME__ -> 143:envelope___control___5 ;
832 32:__UG_NAME__ -> 143:envelope___control___6 ;
833 33:__UG_NAME__ -> 143:envelope___control___7 ;
834 142:__UG_NAME__ -> 143:gate ;
835 38:__UG_NAME__ -> 167:envelope___control___0 ;
836 38:__UG_NAME__ -> 167:envelope___control___4 ;
837 39:__UG_NAME__ -> 167:envelope___control___5 ;
838 40:__UG_NAME__ -> 167:envelope___control___6 ;
839 41:__UG_NAME__ -> 167:envelope___control___7 ;
840 166:__UG_NAME__ -> 167:gate ;
841 61:__UG_NAME__ -> 197:envelope___control___0 ;
842 61:__UG_NAME__ -> 197:envelope___control___4 ;
843 62:__UG_NAME__ -> 197:envelope___control___5 ;
844 63:__UG_NAME__ -> 197:envelope___control___6 ;
845 64:__UG_NAME__ -> 197:envelope___control___7 ;
846 196:__UG_NAME__ -> 197:gate ;
847 65:__UG_NAME__ -> 206:envelope___control___0 ;
848 65:__UG_NAME__ -> 206:envelope___control___4 ;
849 66:__UG_NAME__ -> 206:envelope___control___5 ;
850 67:__UG_NAME__ -> 206:envelope___control___6 ;
851 68:__UG_NAME__ -> 206:envelope___control___7 ;
852 205:__UG_NAME__ -> 206:gate ;
853 69:__UG_NAME__ -> 216:envelope___control___0 ;
854 69:__UG_NAME__ -> 216:envelope___control___4 ;
855 70:__UG_NAME__ -> 216:envelope___control___5 ;
856 71:__UG_NAME__ -> 216:envelope___control___6 ;
857 72:__UG_NAME__ -> 216:envelope___control___7 ;
858 215:__UG_NAME__ -> 216:gate ;
859 223:__UG_NAME__ -> 239:envelope___select___0 ;
860 228:__UG_NAME__ -> 239:envelope___select___4 ;
861 229:__UG_NAME__ -> 239:envelope___select___5 ;
862 42:__UG_NAME__ -> 239:envelope___control___6 ;
863 227:__UG_NAME__ -> 239:envelope___select___8 ;
864 230:__UG_NAME__ -> 239:envelope___select___9 ;
865 42:__UG_NAME__ -> 239:envelope___control___10 ;
866 226:__UG_NAME__ -> 239:envelope___select___12 ;
867 237:__UG_NAME__ -> 239:envelope___select___13 ;
868 42:__UG_NAME__ -> 239:envelope___control___14 ;
869 225:__UG_NAME__ -> 239:envelope___select___16 ;
870 238:__UG_NAME__ -> 239:envelope___binary____op____u____gen___17 ;
871 42:__UG_NAME__ -> 239:envelope___control___18 ;
872 47:__UG_NAME__ -> 273:envelope___control___0 ;
873 47:__UG_NAME__ -> 273:envelope___control___4 ;
874 48:__UG_NAME__ -> 273:envelope___control___5 ;
875 49:__UG_NAME__ -> 273:envelope___control___6 ;
876 50:__UG_NAME__ -> 273:envelope___control___7 ;
877 272:__UG_NAME__ -> 273:gate ;
878 43:__UG_NAME__ -> 285:envelope___control___0 ;
879 43:__UG_NAME__ -> 285:envelope___control___4 ;
880 44:__UG_NAME__ -> 285:envelope___control___5 ;
881 45:__UG_NAME__ -> 285:envelope___control___6 ;
882 46:__UG_NAME__ -> 285:envelope___control___7 ;
883 284:__UG_NAME__ -> 285:gate ;
884 289:__UG_NAME__ -> 304:envelope___select___0 ;
885 293:__UG_NAME__ -> 304:envelope___select___4 ;
886 294:__UG_NAME__ -> 304:envelope___select___5 ;
887 55:__UG_NAME__ -> 304:envelope___control___6 ;
888 292:__UG_NAME__ -> 304:envelope___select___8 ;
889 295:__UG_NAME__ -> 304:envelope___select___9 ;
890 55:__UG_NAME__ -> 304:envelope___control___10 ;
891 291:__UG_NAME__ -> 304:envelope___select___12 ;
892 302:__UG_NAME__ -> 304:envelope___select___13 ;
893 55:__UG_NAME__ -> 304:envelope___control___14 ;
894 290:__UG_NAME__ -> 304:envelope___select___16 ;
895 303:__UG_NAME__ -> 304:envelope___binary____op____u____gen___17 ;
896 55:__UG_NAME__ -> 304:envelope___control___18 ;
897 5:__UG_NAME__ -> 329:envelope___control___4 ;
898 1:__UG_NAME__ -> 329:envelope___control___5 ;
899 26:__UG_NAME__ -> 329:envelope___control___6 ;
900 323:__UG_NAME__ -> 329:envelope___select___8 ;
901 2:__UG_NAME__ -> 329:envelope___control___9 ;
902 26:__UG_NAME__ -> 329:envelope___control___10 ;
903 7:__UG_NAME__ -> 329:envelope___control___12 ;
904 328:__UG_NAME__ -> 329:envelope___select___13 ;
905 26:__UG_NAME__ -> 329:envelope___control___14 ;
906 4:__UG_NAME__ -> 329:envelope___control___17 ;
907 26:__UG_NAME__ -> 329:envelope___control___18 ;
908 78:__UG_NAME__ -> 353:envelope___control___0 ;
909 78:__UG_NAME__ -> 353:envelope___control___4 ;
910 79:__UG_NAME__ -> 353:envelope___control___5 ;
911 80:__UG_NAME__ -> 353:envelope___control___6 ;
912 81:__UG_NAME__ -> 353:envelope___control___7 ;
913 352:__UG_NAME__ -> 353:gate ;
914 90:__UG_NAME__ -> 358:envelope___control___0 ;
915 90:__UG_NAME__ -> 358:envelope___control___4 ;
916 91:__UG_NAME__ -> 358:envelope___control___5 ;
917 92:__UG_NAME__ -> 358:envelope___control___6 ;
918 93:__UG_NAME__ -> 358:envelope___control___7 ;
919 357:__UG_NAME__ -> 358:gate ;
920 86:__UG_NAME__ -> 368:envelope___control___0 ;
921 86:__UG_NAME__ -> 368:envelope___control___4 ;
922 87:__UG_NAME__ -> 368:envelope___control___5 ;
923 88:__UG_NAME__ -> 368:envelope___control___6 ;
924 89:__UG_NAME__ -> 368:envelope___control___7 ;
925 367:__UG_NAME__ -> 368:gate ;
926 82:__UG_NAME__ -> 374:envelope___control___0 ;
927 82:__UG_NAME__ -> 374:envelope___control___4 ;
928 83:__UG_NAME__ -> 374:envelope___control___5 ;
929 84:__UG_NAME__ -> 374:envelope___control___6 ;
930 85:__UG_NAME__ -> 374:envelope___control___7 ;
931 373:__UG_NAME__ -> 374:gate ;
932 94:__UG_NAME__ -> 384:envelope___control___0 ;
933 94:__UG_NAME__ -> 384:envelope___control___4 ;
934 95:__UG_NAME__ -> 384:envelope___control___5 ;
935 96:__UG_NAME__ -> 384:envelope___control___6 ;
936 97:__UG_NAME__ -> 384:envelope___control___7 ;
937 383:__UG_NAME__ -> 384:gate ;
938 22:__UG_NAME__ -> 398:envelope___control___0 ;
939 22:__UG_NAME__ -> 398:envelope___control___4 ;
940 23:__UG_NAME__ -> 398:envelope___control___5 ;
941 24:__UG_NAME__ -> 398:envelope___control___6 ;
942 25:__UG_NAME__ -> 398:envelope___control___7 ;
943 397:__UG_NAME__ -> 398:gate ;
944 246:__UG_NAME__ -> 311:in ;
945 310:__UG_NAME__ -> 311:freq ;
946 335:__UG_NAME__ -> 336:in ;
947 310:__UG_NAME__ -> 336:freq ;
948 66:__UG_NAME__ -> 99:in ;
949 18:__UG_NAME__ -> 102:in ;
950 19:__UG_NAME__ -> 106:in ;
951 57:__UG_NAME__ -> 112:in ;
952 58:__UG_NAME__ -> 116:in ;
953 83:__UG_NAME__ -> 121:in ;
954 74:__UG_NAME__ -> 125:in ;
955 75:__UG_NAME__ -> 129:in ;
956 30:__UG_NAME__ -> 135:in ;
957 31:__UG_NAME__ -> 139:in ;
958 38:__UG_NAME__ -> 159:in ;
959 39:__UG_NAME__ -> 163:in ;
960 61:__UG_NAME__ -> 189:in ;
961 62:__UG_NAME__ -> 193:in ;
962 65:__UG_NAME__ -> 200:in ;
963 69:__UG_NAME__ -> 208:in ;
964 70:__UG_NAME__ -> 212:in ;
965 47:__UG_NAME__ -> 265:in ;
966 48:__UG_NAME__ -> 269:in ;
967 43:__UG_NAME__ -> 277:in ;
968 44:__UG_NAME__ -> 281:in ;
969 90:__UG_NAME__ -> 317:in ;
970 82:__UG_NAME__ -> 321:in ;
971 78:__UG_NAME__ -> 345:in ;
972 79:__UG_NAME__ -> 349:in ;
973 91:__UG_NAME__ -> 354:in ;
974 86:__UG_NAME__ -> 360:in ;
975 87:__UG_NAME__ -> 364:in ;
976 94:__UG_NAME__ -> 376:in ;
977 95:__UG_NAME__ -> 380:in ;
978 22:__UG_NAME__ -> 390:in ;
979 23:__UG_NAME__ -> 394:in ;
980 177:__UG_NAME__ -> 185:start ;
981 179:__UG_NAME__ -> 185:end ;
982 184:__UG_NAME__ -> 185:dur ;
983 405:__UG_NAME__ -> 406:dur ;
984 218:__UG_NAME__ -> 245:in ;
985 244:__UG_NAME__ -> 245:freq ;
986 333:__UG_NAME__ -> 334:in ;
987 244:__UG_NAME__ -> 334:freq ;
988 240:__UG_NAME__ -> 242:a ;
989 241:__UG_NAME__ -> 242:b ;
990 288:__UG_NAME__ -> 309:a ;
991 308:__UG_NAME__ -> 309:b ;
992 219:__UG_NAME__ -> 220:a ;
993 239:__UG_NAME__ -> 240:a ;
994 222:__UG_NAME__ -> 241:a ;
995 287:__UG_NAME__ -> 288:a ;
996 304:__UG_NAME__ -> 305:a ;
997 306:__UG_NAME__ -> 307:a ;
998 120:__UG_NAME__ -> 198:a ;
999 220:__UG_NAME__ -> 243:a ;
1000 242:__UG_NAME__ -> 243:b ;
1001 305:__UG_NAME__ -> 308:a ;
1002 307:__UG_NAME__ -> 308:b ;
1003 184:__UG_NAME__ -> 404:a ;
1004 403:__UG_NAME__ -> 404:b ;
1005 313:__UG_NAME__ -> 314:in ;
1006 337:__UG_NAME__ -> 338:in ;
1007 27:__UG_NAME__ -> 172:a ;
1008 27:__UG_NAME__ -> 178:a ;
1009 143:__UG_NAME__ -> 144:b ;
1010 9:__UG_NAME__ -> 145:b ;
1011 10:__UG_NAME__ -> 146:b ;
1012 11:__UG_NAME__ -> 148:b ;
1013 34:__UG_NAME__ -> 150:b ;
1014 36:__UG_NAME__ -> 152:b ;
1015 37:__UG_NAME__ -> 154:b ;
1016 35:__UG_NAME__ -> 156:b ;
1017 167:__UG_NAME__ -> 168:b ;
1018 120:__UG_NAME__ -> 171:b ;
1019 8:__UG_NAME__ -> 221:b ;
1020 12:__UG_NAME__ -> 224:b ;
1021 13:__UG_NAME__ -> 247:b ;
1022 14:__UG_NAME__ -> 248:b ;
1023 15:__UG_NAME__ -> 250:b ;
1024 16:__UG_NAME__ -> 252:b ;
1025 17:__UG_NAME__ -> 254:b ;
1026 51:__UG_NAME__ -> 256:b ;
1027 53:__UG_NAME__ -> 258:b ;
1028 54:__UG_NAME__ -> 260:b ;
1029 52:__UG_NAME__ -> 262:b ;
1030 273:__UG_NAME__ -> 274:b ;
1031 285:__UG_NAME__ -> 286:b ;
1032 120:__UG_NAME__ -> 330:b ;
1033 145:__UG_NAME__ -> 147:a ;
1034 146:__UG_NAME__ -> 147:b ;
1035 147:__UG_NAME__ -> 149:a ;
1036 148:__UG_NAME__ -> 149:b ;
1037 149:__UG_NAME__ -> 151:a ;
1038 150:__UG_NAME__ -> 151:b ;
1039 151:__UG_NAME__ -> 153:a ;
1040 152:__UG_NAME__ -> 153:b ;
1041 153:__UG_NAME__ -> 155:a ;
1042 154:__UG_NAME__ -> 155:b ;
1043 155:__UG_NAME__ -> 157:a ;
1044 156:__UG_NAME__ -> 157:b ;
1045 157:__UG_NAME__ -> 169:a ;
1046 168:__UG_NAME__ -> 169:b ;
1047 144:__UG_NAME__ -> 170:a ;
1048 169:__UG_NAME__ -> 170:b ;
1049 247:__UG_NAME__ -> 249:a ;
1050 248:__UG_NAME__ -> 249:b ;
1051 249:__UG_NAME__ -> 251:a ;
1052 250:__UG_NAME__ -> 251:b ;
1053 251:__UG_NAME__ -> 253:a ;
1054 252:__UG_NAME__ -> 253:b ;
1055 253:__UG_NAME__ -> 255:a ;
1056 254:__UG_NAME__ -> 255:b ;
1057 255:__UG_NAME__ -> 257:a ;
1058 256:__UG_NAME__ -> 257:b ;
1059 257:__UG_NAME__ -> 259:a ;
1060 258:__UG_NAME__ -> 259:b ;
1061 259:__UG_NAME__ -> 261:a ;
1062 260:__UG_NAME__ -> 261:b ;
1063 261:__UG_NAME__ -> 263:a ;
1064 262:__UG_NAME__ -> 263:b ;
1065 263:__UG_NAME__ -> 275:a ;
1066 274:__UG_NAME__ -> 275:b ;
1067 286:__UG_NAME__ -> 312:a ;
1068 275:__UG_NAME__ -> 312:b ;
1069 98:__UG_NAME__ -> 400:bus ;
1070 399:__UG_NAME__ -> 400:signals___balance2___0 ;
1071 399:__UG_NAME__ -> 400:signals___balance2___1 ;
1072 187:__UG_NAME__ -> 217:in ;
1073 197:__UG_NAME__ -> 217:window____size ;
1074 198:__UG_NAME__ -> 217:pitch____ratio ;
1075 206:__UG_NAME__ -> 217:pitch____dispersion ;
1076 216:__UG_NAME__ -> 217:time____dispersion ;
1077 331:__UG_NAME__ -> 332:in ;
1078 197:__UG_NAME__ -> 332:window____size ;
1079 198:__UG_NAME__ -> 332:pitch____ratio ;
1080 206:__UG_NAME__ -> 332:pitch____dispersion ;
1081 216:__UG_NAME__ -> 332:time____dispersion ;
1082 172:__UG_NAME__ -> 177:which ;
1083 175:__UG_NAME__ -> 177:array___binary____op____u____gen___0 ;
1084 176:__UG_NAME__ -> 177:array___binary____op____u____gen___1 ;
1085 178:__UG_NAME__ -> 179:which ;
1086 176:__UG_NAME__ -> 179:array___binary____op____u____gen___0 ;
1087 175:__UG_NAME__ -> 179:array___binary____op____u____gen___1 ;
1088 171:__UG_NAME__ -> 218:which ;
1089 187:__UG_NAME__ -> 218:array___binary____op____u____gen___0 ;
1090 217:__UG_NAME__ -> 218:array___pitch____shift___1 ;
1091 144:__UG_NAME__ -> 219:which ;
1092 143:__UG_NAME__ -> 219:array___env____gen___1 ;
1093 168:__UG_NAME__ -> 222:which ;
1094 167:__UG_NAME__ -> 222:array___env____gen___1 ;
1095 221:__UG_NAME__ -> 223:which ;
1096 222:__UG_NAME__ -> 223:array___select___0 ;
1097 8:__UG_NAME__ -> 223:array___control___1 ;
1098 224:__UG_NAME__ -> 225:which ;
1099 219:__UG_NAME__ -> 225:array___select___0 ;
1100 12:__UG_NAME__ -> 225:array___control___1 ;
1101 148:__UG_NAME__ -> 226:which ;
1102 225:__UG_NAME__ -> 226:array___select___0 ;
1103 11:__UG_NAME__ -> 226:array___control___1 ;
1104 146:__UG_NAME__ -> 227:which ;
1105 226:__UG_NAME__ -> 227:array___select___0 ;
1106 10:__UG_NAME__ -> 227:array___control___1 ;
1107 145:__UG_NAME__ -> 228:which ;
1108 227:__UG_NAME__ -> 228:array___select___0 ;
1109 9:__UG_NAME__ -> 228:array___control___1 ;
1110 150:__UG_NAME__ -> 229:which ;
1111 1:__UG_NAME__ -> 229:array___control___0 ;
1112 34:__UG_NAME__ -> 229:array___control___1 ;
1113 152:__UG_NAME__ -> 230:which ;
1114 2:__UG_NAME__ -> 230:array___control___0 ;
1115 36:__UG_NAME__ -> 230:array___control___1 ;
1116 156:__UG_NAME__ -> 231:which ;
1117 3:__UG_NAME__ -> 231:array___control___0 ;
1118 35:__UG_NAME__ -> 231:array___control___1 ;
1119 154:__UG_NAME__ -> 234:which ;
1120 4:__UG_NAME__ -> 234:array___control___0 ;
1121 37:__UG_NAME__ -> 234:array___control___1 ;
1122 232:__UG_NAME__ -> 237:which ;
1123 231:__UG_NAME__ -> 237:array___select___0 ;
1124 236:__UG_NAME__ -> 237:array___binary____op____u____gen___1 ;
1125 169:__UG_NAME__ -> 244:which ;
1126 220:__UG_NAME__ -> 244:array___unary____op____u____gen___0 ;
1127 243:__UG_NAME__ -> 244:array___binary____op____u____gen___1 ;
1128 170:__UG_NAME__ -> 246:which ;
1129 218:__UG_NAME__ -> 246:array___select___0 ;
1130 245:__UG_NAME__ -> 246:array___lpf___1 ;
1131 286:__UG_NAME__ -> 287:which ;
1132 285:__UG_NAME__ -> 287:array___env____gen___1 ;
1133 247:__UG_NAME__ -> 289:which ;
1134 13:__UG_NAME__ -> 289:array___control___1 ;
1135 254:__UG_NAME__ -> 290:which ;
1136 287:__UG_NAME__ -> 290:array___select___0 ;
1137 17:__UG_NAME__ -> 290:array___control___1 ;
1138 252:__UG_NAME__ -> 291:which ;
1139 290:__UG_NAME__ -> 291:array___select___0 ;
1140 16:__UG_NAME__ -> 291:array___control___1 ;
1141 250:__UG_NAME__ -> 292:which ;
1142 291:__UG_NAME__ -> 292:array___select___0 ;
1143 15:__UG_NAME__ -> 292:array___control___1 ;
1144 248:__UG_NAME__ -> 293:which ;
1145 292:__UG_NAME__ -> 293:array___select___0 ;
1146 14:__UG_NAME__ -> 293:array___control___1 ;
1147 256:__UG_NAME__ -> 294:which ;
1148 1:__UG_NAME__ -> 294:array___control___0 ;
1149 51:__UG_NAME__ -> 294:array___control___1 ;
1150 258:__UG_NAME__ -> 295:which ;
1151 2:__UG_NAME__ -> 295:array___control___0 ;
1152 53:__UG_NAME__ -> 295:array___control___1 ;
1153 262:__UG_NAME__ -> 296:which ;
1154 3:__UG_NAME__ -> 296:array___control___0 ;
1155 52:__UG_NAME__ -> 296:array___control___1 ;
1156 260:__UG_NAME__ -> 299:which ;
1157 4:__UG_NAME__ -> 299:array___control___0 ;
1158 54:__UG_NAME__ -> 299:array___control___1 ;
1159 297:__UG_NAME__ -> 302:which ;
1160 296:__UG_NAME__ -> 302:array___select___0 ;
1161 301:__UG_NAME__ -> 302:array___binary____op____u____gen___1 ;
1162 274:__UG_NAME__ -> 306:which ;
1163 273:__UG_NAME__ -> 306:array___env____gen___1 ;
1164 275:__UG_NAME__ -> 310:which ;
1165 288:__UG_NAME__ -> 310:array___unary____op____u____gen___0 ;
1166 309:__UG_NAME__ -> 310:array___binary____op____u____gen___1 ;
1167 312:__UG_NAME__ -> 313:which ;
1168 246:__UG_NAME__ -> 313:array___select___0 ;
1169 311:__UG_NAME__ -> 313:array___hpf___1 ;
1170 56:__UG_NAME__ -> 315:which ;
1171 313:__UG_NAME__ -> 315:array___select___0 ;
1172 314:__UG_NAME__ -> 315:array___normalizer___1 ;
1173 322:__UG_NAME__ -> 323:which ;
1174 6:__UG_NAME__ -> 323:array___control___0 ;
1175 7:__UG_NAME__ -> 323:array___control___1 ;
1176 324:__UG_NAME__ -> 328:which ;
1177 3:__UG_NAME__ -> 328:array___control___0 ;
1178 327:__UG_NAME__ -> 328:array___binary____op____u____gen___1 ;
1179 330:__UG_NAME__ -> 333:which ;
1180 331:__UG_NAME__ -> 333:array___binary____op____u____gen___0 ;
1181 332:__UG_NAME__ -> 333:array___pitch____shift___1 ;
1182 170:__UG_NAME__ -> 335:which ;
1183 333:__UG_NAME__ -> 335:array___select___0 ;
1184 334:__UG_NAME__ -> 335:array___lpf___1 ;
1185 312:__UG_NAME__ -> 337:which ;
1186 335:__UG_NAME__ -> 337:array___select___0 ;
1187 336:__UG_NAME__ -> 337:array___hpf___1 ;
1188 56:__UG_NAME__ -> 339:which ;
1189 337:__UG_NAME__ -> 339:array___select___0 ;
1190 338:__UG_NAME__ -> 339:array___normalizer___1 ;
1191 73:__UG_NAME__ -> 386:which ;
1192 340:__UG_NAME__ -> 386:array___binary____op____u____gen___0 ;
1193 385:__UG_NAME__ -> 386:array___compander___1 ;
1194 73:__UG_NAME__ -> 388:which ;
1195 341:__UG_NAME__ -> 388:array___binary____op____u____gen___0 ;
1196 387:__UG_NAME__ -> 388:array___compander___1 ;
1197
1198 }
0 digraph synthdef {
1 74 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 89 [label = "{{ <b> |<a> 0.8} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 91 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 43 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 47 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 54 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 58 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 65 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 69 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 71 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 75 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
12 80 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 84 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 99 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 103 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 106 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 110 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 37 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
19 42 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 46 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 53 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 57 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 64 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 68 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 79 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 83 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 94 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 98 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 102 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 109 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 45 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 52 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 56 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 63 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 67 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 78 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 82 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 93 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 97 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 101 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 108 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 0 [label = "control
44 :note
45 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 1 [label = "control
47 :note_slide
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 2 [label = "control
50 :note_slide_shape
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 3 [label = "control
53 :note_slide_curve
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 4 [label = "control
56 :amp
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 5 [label = "control
59 :amp_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 6 [label = "control
62 :amp_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 7 [label = "control
65 :amp_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 8 [label = "control
68 :pan
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 9 [label = "control
71 :pan_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 10 [label = "control
74 :pan_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 11 [label = "control
77 :pan_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 12 [label = "control
80 :attack
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 13 [label = "control
83 :decay
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 14 [label = "control
86 :sustain
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 15 [label = "control
89 :release
90 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 16 [label = "control
92 :attack_level
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 17 [label = "control
95 :decay_level
96 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 18 [label = "control
98 :sustain_level
99 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 19 [label = "control
101 :env_curve
102 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 20 [label = "control
104 :cutoff
105 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 21 [label = "control
107 :cutoff_slide
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 22 [label = "control
110 :cutoff_slide_shape
111 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 23 [label = "control
113 :cutoff_slide_curve
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 24 [label = "control
116 :pulse_width
117 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 25 [label = "control
119 :pulse_width_slide
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 26 [label = "control
122 :pulse_width_slide_shape
123 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 27 [label = "control
125 :pulse_width_slide_curve
126 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 28 [label = "control
128 :sub_amp
129 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 29 [label = "control
131 :sub_amp_slide
132 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 30 [label = "control
134 :sub_amp_slide_shape
135 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 31 [label = "control
137 :sub_amp_slide_curve
138 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 32 [label = "control
140 :sub_detune
141 default: -12.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
142 33 [label = "control
143 :sub_detune_slide
144 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
145 34 [label = "control
146 :sub_detune_slide_shape
147 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
148 35 [label = "control
149 :sub_detune_slide_curve
150 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
151 36 [label = "control
152 :out_bus
153 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
154 48 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
155 59 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
156 70 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
157 85 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
158 88 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
159 104 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
160 111 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
161 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
162 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
163 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
164 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
165 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
166 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
167 77 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
168 81 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
169 92 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
170 96 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
171 100 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
172 107 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
173 39 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
174 50 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
175 61 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
176 76 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
177 95 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
178 105 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
179 87 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
180 49 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
181 72 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
182 86 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
183 90 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
184 113 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
185 112 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
186 60 [label = "{{ <width> width|<freq> freq} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
187 38 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
188 73 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
189
190 28:__UG_NAME__ -> 74:a ;
191 73:__UG_NAME__ -> 74:b ;
192 88:__UG_NAME__ -> 89:b ;
193 89:__UG_NAME__ -> 91:a ;
194 90:__UG_NAME__ -> 91:b ;
195 39:__UG_NAME__ -> 43:a ;
196 42:__UG_NAME__ -> 43:b ;
197 43:__UG_NAME__ -> 47:a ;
198 46:__UG_NAME__ -> 47:b ;
199 50:__UG_NAME__ -> 54:a ;
200 53:__UG_NAME__ -> 54:b ;
201 54:__UG_NAME__ -> 58:a ;
202 57:__UG_NAME__ -> 58:b ;
203 61:__UG_NAME__ -> 65:a ;
204 64:__UG_NAME__ -> 65:b ;
205 65:__UG_NAME__ -> 69:a ;
206 68:__UG_NAME__ -> 69:b ;
207 48:__UG_NAME__ -> 71:a ;
208 70:__UG_NAME__ -> 71:b ;
209 60:__UG_NAME__ -> 75:a ;
210 74:__UG_NAME__ -> 75:b ;
211 76:__UG_NAME__ -> 80:a ;
212 79:__UG_NAME__ -> 80:b ;
213 80:__UG_NAME__ -> 84:a ;
214 83:__UG_NAME__ -> 84:b ;
215 95:__UG_NAME__ -> 99:a ;
216 98:__UG_NAME__ -> 99:b ;
217 99:__UG_NAME__ -> 103:a ;
218 102:__UG_NAME__ -> 103:b ;
219 105:__UG_NAME__ -> 106:a ;
220 94:__UG_NAME__ -> 106:b ;
221 106:__UG_NAME__ -> 110:a ;
222 109:__UG_NAME__ -> 110:b ;
223 17:__UG_NAME__ -> 37:b ;
224 41:__UG_NAME__ -> 42:a ;
225 45:__UG_NAME__ -> 46:a ;
226 52:__UG_NAME__ -> 53:a ;
227 56:__UG_NAME__ -> 57:a ;
228 63:__UG_NAME__ -> 64:a ;
229 67:__UG_NAME__ -> 68:a ;
230 78:__UG_NAME__ -> 79:a ;
231 82:__UG_NAME__ -> 83:a ;
232 93:__UG_NAME__ -> 94:a ;
233 97:__UG_NAME__ -> 98:a ;
234 101:__UG_NAME__ -> 102:a ;
235 108:__UG_NAME__ -> 109:a ;
236 40:__UG_NAME__ -> 41:a ;
237 44:__UG_NAME__ -> 45:a ;
238 51:__UG_NAME__ -> 52:a ;
239 55:__UG_NAME__ -> 56:a ;
240 62:__UG_NAME__ -> 63:a ;
241 66:__UG_NAME__ -> 67:a ;
242 77:__UG_NAME__ -> 78:a ;
243 81:__UG_NAME__ -> 82:a ;
244 92:__UG_NAME__ -> 93:a ;
245 96:__UG_NAME__ -> 97:a ;
246 100:__UG_NAME__ -> 101:a ;
247 107:__UG_NAME__ -> 108:a ;
248 0:__UG_NAME__ -> 48:envelope___control___0 ;
249 0:__UG_NAME__ -> 48:envelope___control___4 ;
250 1:__UG_NAME__ -> 48:envelope___control___5 ;
251 2:__UG_NAME__ -> 48:envelope___control___6 ;
252 3:__UG_NAME__ -> 48:envelope___control___7 ;
253 47:__UG_NAME__ -> 48:gate ;
254 24:__UG_NAME__ -> 59:envelope___control___0 ;
255 24:__UG_NAME__ -> 59:envelope___control___4 ;
256 25:__UG_NAME__ -> 59:envelope___control___5 ;
257 27:__UG_NAME__ -> 59:envelope___control___6 ;
258 26:__UG_NAME__ -> 59:envelope___control___7 ;
259 58:__UG_NAME__ -> 59:gate ;
260 32:__UG_NAME__ -> 70:envelope___control___0 ;
261 32:__UG_NAME__ -> 70:envelope___control___4 ;
262 33:__UG_NAME__ -> 70:envelope___control___5 ;
263 35:__UG_NAME__ -> 70:envelope___control___6 ;
264 34:__UG_NAME__ -> 70:envelope___control___7 ;
265 69:__UG_NAME__ -> 70:gate ;
266 20:__UG_NAME__ -> 85:envelope___control___0 ;
267 20:__UG_NAME__ -> 85:envelope___control___4 ;
268 21:__UG_NAME__ -> 85:envelope___control___5 ;
269 22:__UG_NAME__ -> 85:envelope___control___6 ;
270 23:__UG_NAME__ -> 85:envelope___control___7 ;
271 84:__UG_NAME__ -> 85:gate ;
272 16:__UG_NAME__ -> 88:envelope___control___4 ;
273 12:__UG_NAME__ -> 88:envelope___control___5 ;
274 19:__UG_NAME__ -> 88:envelope___control___6 ;
275 38:__UG_NAME__ -> 88:envelope___select___8 ;
276 13:__UG_NAME__ -> 88:envelope___control___9 ;
277 19:__UG_NAME__ -> 88:envelope___control___10 ;
278 18:__UG_NAME__ -> 88:envelope___control___12 ;
279 14:__UG_NAME__ -> 88:envelope___control___13 ;
280 19:__UG_NAME__ -> 88:envelope___control___14 ;
281 15:__UG_NAME__ -> 88:envelope___control___17 ;
282 19:__UG_NAME__ -> 88:envelope___control___18 ;
283 4:__UG_NAME__ -> 104:envelope___control___0 ;
284 4:__UG_NAME__ -> 104:envelope___control___4 ;
285 5:__UG_NAME__ -> 104:envelope___control___5 ;
286 6:__UG_NAME__ -> 104:envelope___control___6 ;
287 7:__UG_NAME__ -> 104:envelope___control___7 ;
288 103:__UG_NAME__ -> 104:gate ;
289 8:__UG_NAME__ -> 111:envelope___control___0 ;
290 8:__UG_NAME__ -> 111:envelope___control___4 ;
291 9:__UG_NAME__ -> 111:envelope___control___5 ;
292 10:__UG_NAME__ -> 111:envelope___control___6 ;
293 11:__UG_NAME__ -> 111:envelope___control___7 ;
294 110:__UG_NAME__ -> 111:gate ;
295 0:__UG_NAME__ -> 40:in ;
296 1:__UG_NAME__ -> 44:in ;
297 24:__UG_NAME__ -> 51:in ;
298 25:__UG_NAME__ -> 55:in ;
299 32:__UG_NAME__ -> 62:in ;
300 33:__UG_NAME__ -> 66:in ;
301 20:__UG_NAME__ -> 77:in ;
302 21:__UG_NAME__ -> 81:in ;
303 8:__UG_NAME__ -> 92:in ;
304 4:__UG_NAME__ -> 96:in ;
305 5:__UG_NAME__ -> 100:in ;
306 9:__UG_NAME__ -> 107:in ;
307 75:__UG_NAME__ -> 87:in ;
308 86:__UG_NAME__ -> 87:freq ;
309 48:__UG_NAME__ -> 49:a ;
310 71:__UG_NAME__ -> 72:a ;
311 85:__UG_NAME__ -> 86:a ;
312 87:__UG_NAME__ -> 90:in ;
313 36:__UG_NAME__ -> 113:bus ;
314 112:__UG_NAME__ -> 113:signals___pan2___0 ;
315 112:__UG_NAME__ -> 113:signals___pan2___1 ;
316 91:__UG_NAME__ -> 112:in ;
317 111:__UG_NAME__ -> 112:pos ;
318 104:__UG_NAME__ -> 112:level ;
319 49:__UG_NAME__ -> 60:freq ;
320 59:__UG_NAME__ -> 60:width ;
321 37:__UG_NAME__ -> 38:which ;
322 17:__UG_NAME__ -> 38:array___control___0 ;
323 18:__UG_NAME__ -> 38:array___control___1 ;
324 72:__UG_NAME__ -> 73:freq ;
325
326 }
0 digraph synthdef {
1 60 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 103 [label = "{{ <b> |<a> 0.9} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 107 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 36 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 40 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 50 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
7 54 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
8 58 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
9 66 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 70 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 78 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 82 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 91 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 93 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 98 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 102 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 46 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
18 49 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
19 53 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
20 57 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
21 59 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
22 29 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
23 35 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 39 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 45 [label = "{{ <b> |<a> } |<__UG_NAME__>\> }" style="filled, bold, rounded" shape=record rankdir=LR];
26 48 [label = "{{ <b> |<a> } |<__UG_NAME__>\> }" style="filled, bold, rounded" shape=record rankdir=LR];
27 52 [label = "{{ <b> |<a> } |<__UG_NAME__>\> }" style="filled, bold, rounded" shape=record rankdir=LR];
28 56 [label = "{{ <b> |<a> } |<__UG_NAME__>\> }" style="filled, bold, rounded" shape=record rankdir=LR];
29 65 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 69 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 77 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 81 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 90 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 92 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 97 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 101 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 34 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 38 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 64 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 68 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 76 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 80 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 87 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 89 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 96 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 100 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 0 [label = "control
48 :note
49 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 1 [label = "control
51 :note_slide
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 2 [label = "control
54 :note_slide_shape
55 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 3 [label = "control
57 :note_slide_curve
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 4 [label = "control
60 :amp
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 5 [label = "control
63 :amp_slide
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 6 [label = "control
66 :amp_slide_shape
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 7 [label = "control
69 :amp_slide_curve
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 8 [label = "control
72 :pan
73 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 9 [label = "control
75 :pan_slide
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 10 [label = "control
78 :pan_slide_shape
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 11 [label = "control
81 :pan_slide_curve
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 12 [label = "control
84 :attack
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 13 [label = "control
87 :decay
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 14 [label = "control
90 :sustain
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 15 [label = "control
93 :release
94 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 16 [label = "control
96 :attack_level
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 17 [label = "control
99 :decay_level
100 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 18 [label = "control
102 :sustain_level
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 19 [label = "control
105 :env_curve
106 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 20 [label = "control
108 :cutoff
109 default: 130.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 21 [label = "control
111 :cutoff_slide
112 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 22 [label = "control
114 :cutoff_slide_shape
115 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 23 [label = "control
117 :cutoff_slide_curve
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 24 [label = "control
120 :res
121 default: 0.7" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 25 [label = "control
123 :res_slide
124 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 26 [label = "control
126 :res_slide_shape
127 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 27 [label = "control
129 :res_slide_curve
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 28 [label = "control
132 :out_bus
133 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 31 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
135 41 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
136 71 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
137 83 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
138 104 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
139 105 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
140 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
141 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
142 63 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
143 67 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
144 75 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
145 79 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
146 85 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
147 86 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
148 95 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
149 99 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
150 32 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
151 62 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
152 73 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
153 88 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
154 94 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
155 61 [label = "{{ <coef> coef 0.995|<in> in} |<__UG_NAME__>leak-dc }" style="filled, bold, rounded" shape=record rankdir=LR];
156 43 [label = "{{ <iphase> iphase 0.0|<freq> freq} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
157 44 [label = "{{ <iphase> iphase 0.0|<freq> freq 4.0} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
158 47 [label = "{{ <iphase> iphase 0.0|<freq> freq 7.0} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
159 51 [label = "{{ <iphase> iphase 0.0|<freq> freq 5.0} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
160 55 [label = "{{ <iphase> iphase 0.0|<freq> freq 2.0} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
161 42 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
162 72 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
163 74 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
164 106 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
165 109 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
166 108 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
167 84 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
168 30 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
169
170 59:__UG_NAME__ -> 60:a ;
171 31:__UG_NAME__ -> 103:b ;
172 103:__UG_NAME__ -> 107:a ;
173 106:__UG_NAME__ -> 107:b ;
174 32:__UG_NAME__ -> 36:a ;
175 35:__UG_NAME__ -> 36:b ;
176 36:__UG_NAME__ -> 40:a ;
177 39:__UG_NAME__ -> 40:b ;
178 46:__UG_NAME__ -> 50:a ;
179 49:__UG_NAME__ -> 50:b ;
180 50:__UG_NAME__ -> 54:a ;
181 53:__UG_NAME__ -> 54:b ;
182 54:__UG_NAME__ -> 58:a ;
183 57:__UG_NAME__ -> 58:b ;
184 62:__UG_NAME__ -> 66:a ;
185 65:__UG_NAME__ -> 66:b ;
186 66:__UG_NAME__ -> 70:a ;
187 69:__UG_NAME__ -> 70:b ;
188 73:__UG_NAME__ -> 78:a ;
189 77:__UG_NAME__ -> 78:b ;
190 78:__UG_NAME__ -> 82:a ;
191 81:__UG_NAME__ -> 82:b ;
192 88:__UG_NAME__ -> 91:a ;
193 90:__UG_NAME__ -> 91:b ;
194 91:__UG_NAME__ -> 93:a ;
195 92:__UG_NAME__ -> 93:b ;
196 94:__UG_NAME__ -> 98:a ;
197 97:__UG_NAME__ -> 98:b ;
198 98:__UG_NAME__ -> 102:a ;
199 101:__UG_NAME__ -> 102:b ;
200 43:__UG_NAME__ -> 46:a ;
201 45:__UG_NAME__ -> 46:b ;
202 43:__UG_NAME__ -> 49:a ;
203 48:__UG_NAME__ -> 49:b ;
204 43:__UG_NAME__ -> 53:a ;
205 52:__UG_NAME__ -> 53:b ;
206 43:__UG_NAME__ -> 57:a ;
207 56:__UG_NAME__ -> 57:b ;
208 58:__UG_NAME__ -> 59:a ;
209 43:__UG_NAME__ -> 59:b ;
210 17:__UG_NAME__ -> 29:b ;
211 34:__UG_NAME__ -> 35:a ;
212 38:__UG_NAME__ -> 39:a ;
213 43:__UG_NAME__ -> 45:a ;
214 44:__UG_NAME__ -> 45:b ;
215 43:__UG_NAME__ -> 48:a ;
216 47:__UG_NAME__ -> 48:b ;
217 43:__UG_NAME__ -> 52:a ;
218 51:__UG_NAME__ -> 52:b ;
219 43:__UG_NAME__ -> 56:a ;
220 55:__UG_NAME__ -> 56:b ;
221 64:__UG_NAME__ -> 65:a ;
222 68:__UG_NAME__ -> 69:a ;
223 76:__UG_NAME__ -> 77:a ;
224 80:__UG_NAME__ -> 81:a ;
225 89:__UG_NAME__ -> 90:a ;
226 87:__UG_NAME__ -> 92:a ;
227 96:__UG_NAME__ -> 97:a ;
228 100:__UG_NAME__ -> 101:a ;
229 33:__UG_NAME__ -> 34:a ;
230 37:__UG_NAME__ -> 38:a ;
231 63:__UG_NAME__ -> 64:a ;
232 67:__UG_NAME__ -> 68:a ;
233 75:__UG_NAME__ -> 76:a ;
234 79:__UG_NAME__ -> 80:a ;
235 86:__UG_NAME__ -> 87:a ;
236 85:__UG_NAME__ -> 89:a ;
237 95:__UG_NAME__ -> 96:a ;
238 99:__UG_NAME__ -> 100:a ;
239 16:__UG_NAME__ -> 31:envelope___control___4 ;
240 12:__UG_NAME__ -> 31:envelope___control___5 ;
241 19:__UG_NAME__ -> 31:envelope___control___6 ;
242 30:__UG_NAME__ -> 31:envelope___select___8 ;
243 13:__UG_NAME__ -> 31:envelope___control___9 ;
244 19:__UG_NAME__ -> 31:envelope___control___10 ;
245 18:__UG_NAME__ -> 31:envelope___control___12 ;
246 14:__UG_NAME__ -> 31:envelope___control___13 ;
247 19:__UG_NAME__ -> 31:envelope___control___14 ;
248 15:__UG_NAME__ -> 31:envelope___control___17 ;
249 19:__UG_NAME__ -> 31:envelope___control___18 ;
250 0:__UG_NAME__ -> 41:envelope___control___0 ;
251 0:__UG_NAME__ -> 41:envelope___control___4 ;
252 1:__UG_NAME__ -> 41:envelope___control___5 ;
253 2:__UG_NAME__ -> 41:envelope___control___6 ;
254 3:__UG_NAME__ -> 41:envelope___control___7 ;
255 40:__UG_NAME__ -> 41:gate ;
256 20:__UG_NAME__ -> 71:envelope___control___0 ;
257 20:__UG_NAME__ -> 71:envelope___control___4 ;
258 21:__UG_NAME__ -> 71:envelope___control___5 ;
259 22:__UG_NAME__ -> 71:envelope___control___6 ;
260 23:__UG_NAME__ -> 71:envelope___control___7 ;
261 70:__UG_NAME__ -> 71:gate ;
262 74:__UG_NAME__ -> 83:envelope___mul____add___0 ;
263 74:__UG_NAME__ -> 83:envelope___mul____add___4 ;
264 25:__UG_NAME__ -> 83:envelope___control___5 ;
265 26:__UG_NAME__ -> 83:envelope___control___6 ;
266 27:__UG_NAME__ -> 83:envelope___control___7 ;
267 82:__UG_NAME__ -> 83:gate ;
268 8:__UG_NAME__ -> 104:envelope___control___0 ;
269 8:__UG_NAME__ -> 104:envelope___control___4 ;
270 9:__UG_NAME__ -> 104:envelope___control___5 ;
271 10:__UG_NAME__ -> 104:envelope___control___6 ;
272 11:__UG_NAME__ -> 104:envelope___control___7 ;
273 102:__UG_NAME__ -> 104:gate ;
274 4:__UG_NAME__ -> 105:envelope___control___0 ;
275 4:__UG_NAME__ -> 105:envelope___control___4 ;
276 5:__UG_NAME__ -> 105:envelope___control___5 ;
277 6:__UG_NAME__ -> 105:envelope___control___6 ;
278 7:__UG_NAME__ -> 105:envelope___control___7 ;
279 93:__UG_NAME__ -> 105:gate ;
280 0:__UG_NAME__ -> 33:in ;
281 1:__UG_NAME__ -> 37:in ;
282 20:__UG_NAME__ -> 63:in ;
283 21:__UG_NAME__ -> 67:in ;
284 74:__UG_NAME__ -> 75:in ;
285 25:__UG_NAME__ -> 79:in ;
286 4:__UG_NAME__ -> 85:in ;
287 5:__UG_NAME__ -> 86:in ;
288 8:__UG_NAME__ -> 95:in ;
289 9:__UG_NAME__ -> 99:in ;
290 60:__UG_NAME__ -> 61:in ;
291 42:__UG_NAME__ -> 43:freq ;
292 41:__UG_NAME__ -> 42:a ;
293 71:__UG_NAME__ -> 72:a ;
294 24:__UG_NAME__ -> 74:in ;
295 84:__UG_NAME__ -> 106:in ;
296 28:__UG_NAME__ -> 109:bus ;
297 108:__UG_NAME__ -> 109:signals___pan2___0 ;
298 108:__UG_NAME__ -> 109:signals___pan2___1 ;
299 107:__UG_NAME__ -> 108:in ;
300 104:__UG_NAME__ -> 108:pos ;
301 105:__UG_NAME__ -> 108:level ;
302 61:__UG_NAME__ -> 84:in ;
303 72:__UG_NAME__ -> 84:freq ;
304 83:__UG_NAME__ -> 84:rq ;
305 29:__UG_NAME__ -> 30:which ;
306 17:__UG_NAME__ -> 30:array___control___0 ;
307 18:__UG_NAME__ -> 30:array___control___1 ;
308
309 }
0 digraph synthdef {
1 73 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 108 [label = "{{ <b> |<a> 1.1} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 109 [label = "{{ <b> |<a> 1.1} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 113 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 51 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 55 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 61 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 62 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 66 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 70 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 74 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 81 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 84 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 91 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 95 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 100 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 101 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 104 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
19 106 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
20 110 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
21 39 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 42 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 45 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 50 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 54 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 60 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 69 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 80 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 83 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 90 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 94 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 99 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 36 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 38 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 41 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 44 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 49 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 53 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 59 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 68 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 79 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 82 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 93 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 98 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 88 [label = "{{ <rq> rq 0.2857143|<freq> freq 700.0|<in> in} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
46 103 [label = "{{ <rq> rq 0.2857143|<freq> freq 300.0|<in> in} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
47 105 [label = "{{ <rq> rq 0.5|<freq> freq 3000.0|<in> in} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
48 0 [label = "control
49 :note
50 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
51 1 [label = "control
52 :note_slide
53 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
54 2 [label = "control
55 :note_slide_shape
56 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
57 3 [label = "control
58 :note_slide_curve
59 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
60 4 [label = "control
61 :amp
62 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 5 [label = "control
64 :amp_slide
65 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 6 [label = "control
67 :amp_slide_shape
68 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 7 [label = "control
70 :amp_slide_curve
71 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 8 [label = "control
73 :pan
74 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 9 [label = "control
76 :pan_slide
77 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 10 [label = "control
79 :pan_slide_shape
80 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 11 [label = "control
82 :pan_slide_curve
83 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 12 [label = "control
85 :attack
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 13 [label = "control
88 :decay
89 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 14 [label = "control
91 :sustain
92 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 15 [label = "control
94 :release
95 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 16 [label = "control
97 :attack_level
98 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 17 [label = "control
100 :decay_level
101 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 18 [label = "control
103 :sustain_level
104 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 19 [label = "control
106 :env_curve
107 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 20 [label = "control
109 :cutoff
110 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 21 [label = "control
112 :cutoff_slide
113 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 22 [label = "control
115 :cutoff_slide_shape
116 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 23 [label = "control
118 :cutoff_slide_curve
119 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 24 [label = "control
121 :vibrato_rate
122 default: 6.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 25 [label = "control
124 :vibrato_rate_slide
125 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 26 [label = "control
127 :vibrato_rate_slide_shape
128 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 27 [label = "control
130 :vibrato_rate_slide_curve
131 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 28 [label = "control
133 :vibrato_depth
134 default: 0.15" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 29 [label = "control
136 :vibrato_depth_slide
137 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 30 [label = "control
139 :vibrato_depth_slide_shape
140 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 31 [label = "control
142 :vibrato_depth_slide_curve
143 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 32 [label = "control
145 :vibrato_delay
146 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 33 [label = "control
148 :vibrato_onset
149 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
150 34 [label = "control
151 :out_bus
152 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
153 56 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
154 63 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
155 64 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|2.0|-99|-99|0.0|<envelope___control___5>|1.0|0.0|<envelope___env____gen___8>|<envelope___control___9>|1.0|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
156 71 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
157 85 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
158 102 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
159 112 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
160 114 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
161 107 [label = "{{ <freq> freq 30.0|<in> in} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
162 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
163 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
164 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
165 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
166 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
167 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
168 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
169 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
170 67 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
171 78 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
172 92 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
173 97 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
174 47 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
175 57 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
176 65 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
177 77 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
178 89 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
179 96 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
180 87 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
181 75 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
182 86 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
183 116 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
184 115 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
185 76 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
186 111 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
187 72 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase 0.0|<freq> freq} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
188
189 64:__UG_NAME__ -> 73:a ;
190 72:__UG_NAME__ -> 73:b ;
191 107:__UG_NAME__ -> 108:b ;
192 108:__UG_NAME__ -> 109:b ;
193 109:__UG_NAME__ -> 113:a ;
194 112:__UG_NAME__ -> 113:b ;
195 47:__UG_NAME__ -> 51:a ;
196 50:__UG_NAME__ -> 51:b ;
197 51:__UG_NAME__ -> 55:a ;
198 54:__UG_NAME__ -> 55:b ;
199 57:__UG_NAME__ -> 61:a ;
200 60:__UG_NAME__ -> 61:b ;
201 61:__UG_NAME__ -> 62:a ;
202 39:__UG_NAME__ -> 62:b ;
203 65:__UG_NAME__ -> 66:a ;
204 42:__UG_NAME__ -> 66:b ;
205 66:__UG_NAME__ -> 70:a ;
206 69:__UG_NAME__ -> 70:b ;
207 56:__UG_NAME__ -> 74:a ;
208 73:__UG_NAME__ -> 74:b ;
209 77:__UG_NAME__ -> 81:a ;
210 80:__UG_NAME__ -> 81:b ;
211 81:__UG_NAME__ -> 84:a ;
212 83:__UG_NAME__ -> 84:b ;
213 89:__UG_NAME__ -> 91:a ;
214 90:__UG_NAME__ -> 91:b ;
215 91:__UG_NAME__ -> 95:a ;
216 94:__UG_NAME__ -> 95:b ;
217 96:__UG_NAME__ -> 100:a ;
218 99:__UG_NAME__ -> 100:b ;
219 100:__UG_NAME__ -> 101:a ;
220 45:__UG_NAME__ -> 101:b ;
221 103:__UG_NAME__ -> 104:a ;
222 88:__UG_NAME__ -> 104:b ;
223 104:__UG_NAME__ -> 106:a ;
224 105:__UG_NAME__ -> 106:b ;
225 17:__UG_NAME__ -> 110:b ;
226 38:__UG_NAME__ -> 39:a ;
227 41:__UG_NAME__ -> 42:a ;
228 44:__UG_NAME__ -> 45:a ;
229 49:__UG_NAME__ -> 50:a ;
230 53:__UG_NAME__ -> 54:a ;
231 59:__UG_NAME__ -> 60:a ;
232 68:__UG_NAME__ -> 69:a ;
233 79:__UG_NAME__ -> 80:a ;
234 82:__UG_NAME__ -> 83:a ;
235 36:__UG_NAME__ -> 90:a ;
236 93:__UG_NAME__ -> 94:a ;
237 98:__UG_NAME__ -> 99:a ;
238 35:__UG_NAME__ -> 36:a ;
239 37:__UG_NAME__ -> 38:a ;
240 40:__UG_NAME__ -> 41:a ;
241 43:__UG_NAME__ -> 44:a ;
242 48:__UG_NAME__ -> 49:a ;
243 52:__UG_NAME__ -> 53:a ;
244 58:__UG_NAME__ -> 59:a ;
245 67:__UG_NAME__ -> 68:a ;
246 78:__UG_NAME__ -> 79:a ;
247 46:__UG_NAME__ -> 82:a ;
248 92:__UG_NAME__ -> 93:a ;
249 97:__UG_NAME__ -> 98:a ;
250 87:__UG_NAME__ -> 88:in ;
251 87:__UG_NAME__ -> 103:in ;
252 87:__UG_NAME__ -> 105:in ;
253 0:__UG_NAME__ -> 56:envelope___control___0 ;
254 0:__UG_NAME__ -> 56:envelope___control___4 ;
255 1:__UG_NAME__ -> 56:envelope___control___5 ;
256 2:__UG_NAME__ -> 56:envelope___control___6 ;
257 3:__UG_NAME__ -> 56:envelope___control___7 ;
258 55:__UG_NAME__ -> 56:gate ;
259 28:__UG_NAME__ -> 63:envelope___control___0 ;
260 28:__UG_NAME__ -> 63:envelope___control___4 ;
261 29:__UG_NAME__ -> 63:envelope___control___5 ;
262 30:__UG_NAME__ -> 63:envelope___control___6 ;
263 31:__UG_NAME__ -> 63:envelope___control___7 ;
264 62:__UG_NAME__ -> 63:gate ;
265 32:__UG_NAME__ -> 64:envelope___control___5 ;
266 63:__UG_NAME__ -> 64:envelope___env____gen___8 ;
267 33:__UG_NAME__ -> 64:envelope___control___9 ;
268 24:__UG_NAME__ -> 71:envelope___control___0 ;
269 24:__UG_NAME__ -> 71:envelope___control___4 ;
270 25:__UG_NAME__ -> 71:envelope___control___5 ;
271 26:__UG_NAME__ -> 71:envelope___control___6 ;
272 27:__UG_NAME__ -> 71:envelope___control___7 ;
273 70:__UG_NAME__ -> 71:gate ;
274 20:__UG_NAME__ -> 85:envelope___control___0 ;
275 20:__UG_NAME__ -> 85:envelope___control___4 ;
276 21:__UG_NAME__ -> 85:envelope___control___5 ;
277 22:__UG_NAME__ -> 85:envelope___control___6 ;
278 23:__UG_NAME__ -> 85:envelope___control___7 ;
279 84:__UG_NAME__ -> 85:gate ;
280 4:__UG_NAME__ -> 102:envelope___control___0 ;
281 4:__UG_NAME__ -> 102:envelope___control___4 ;
282 5:__UG_NAME__ -> 102:envelope___control___5 ;
283 6:__UG_NAME__ -> 102:envelope___control___6 ;
284 7:__UG_NAME__ -> 102:envelope___control___7 ;
285 101:__UG_NAME__ -> 102:gate ;
286 16:__UG_NAME__ -> 112:envelope___control___4 ;
287 12:__UG_NAME__ -> 112:envelope___control___5 ;
288 19:__UG_NAME__ -> 112:envelope___control___6 ;
289 111:__UG_NAME__ -> 112:envelope___select___8 ;
290 13:__UG_NAME__ -> 112:envelope___control___9 ;
291 19:__UG_NAME__ -> 112:envelope___control___10 ;
292 18:__UG_NAME__ -> 112:envelope___control___12 ;
293 14:__UG_NAME__ -> 112:envelope___control___13 ;
294 19:__UG_NAME__ -> 112:envelope___control___14 ;
295 15:__UG_NAME__ -> 112:envelope___control___17 ;
296 19:__UG_NAME__ -> 112:envelope___control___18 ;
297 8:__UG_NAME__ -> 114:envelope___control___0 ;
298 8:__UG_NAME__ -> 114:envelope___control___4 ;
299 9:__UG_NAME__ -> 114:envelope___control___5 ;
300 10:__UG_NAME__ -> 114:envelope___control___6 ;
301 11:__UG_NAME__ -> 114:envelope___control___7 ;
302 95:__UG_NAME__ -> 114:gate ;
303 106:__UG_NAME__ -> 107:in ;
304 8:__UG_NAME__ -> 35:in ;
305 29:__UG_NAME__ -> 37:in ;
306 24:__UG_NAME__ -> 40:in ;
307 5:__UG_NAME__ -> 43:in ;
308 21:__UG_NAME__ -> 46:in ;
309 0:__UG_NAME__ -> 48:in ;
310 1:__UG_NAME__ -> 52:in ;
311 28:__UG_NAME__ -> 58:in ;
312 25:__UG_NAME__ -> 67:in ;
313 20:__UG_NAME__ -> 78:in ;
314 9:__UG_NAME__ -> 92:in ;
315 4:__UG_NAME__ -> 97:in ;
316 76:__UG_NAME__ -> 87:in ;
317 86:__UG_NAME__ -> 87:freq ;
318 74:__UG_NAME__ -> 75:a ;
319 85:__UG_NAME__ -> 86:a ;
320 34:__UG_NAME__ -> 116:bus ;
321 115:__UG_NAME__ -> 116:signals___pan2___0 ;
322 115:__UG_NAME__ -> 116:signals___pan2___1 ;
323 113:__UG_NAME__ -> 115:in ;
324 114:__UG_NAME__ -> 115:pos ;
325 102:__UG_NAME__ -> 115:level ;
326 75:__UG_NAME__ -> 76:freq ;
327 110:__UG_NAME__ -> 111:which ;
328 17:__UG_NAME__ -> 111:array___control___0 ;
329 18:__UG_NAME__ -> 111:array___control___1 ;
330 71:__UG_NAME__ -> 72:freq ;
331
332 }
0 digraph synthdef {
1 80 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 118 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 138 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 146 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 47 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 54 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 58 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 67 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 68 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 72 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 75 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 78 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 81 [label = "{{ <b> |<a> 0.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 89 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 90 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 99 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 103 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 109 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 112 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 126 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 130 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 131 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 134 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 135 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 136 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 140 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 143 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 148 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 152 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 64 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
31 66 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
32 70 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
33 73 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
34 76 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
35 132 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
36 53 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 57 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 63 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 84 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 88 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 98 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 102 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 108 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 111 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 125 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 129 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 139 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 147 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 151 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 52 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 56 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 62 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 83 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 87 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 94 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 97 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 101 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 107 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 110 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 120 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 124 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 128 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 150 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 0 [label = "control
65 :note
66 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 1 [label = "control
68 :note_slide
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 2 [label = "control
71 :note_slide_shape
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 3 [label = "control
74 :note_slide_curve
75 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 4 [label = "control
77 :amp
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 5 [label = "control
80 :amp_slide
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 6 [label = "control
83 :amp_slide_shape
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 7 [label = "control
86 :amp_slide_curve
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 8 [label = "control
89 :pan
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 9 [label = "control
92 :pan_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 10 [label = "control
95 :pan_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 11 [label = "control
98 :pan_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 12 [label = "control
101 :attack
102 default: 0.01" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 13 [label = "control
104 :sustain
105 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 14 [label = "control
107 :decay
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 15 [label = "control
110 :release
111 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 16 [label = "control
113 :attack_level
114 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 17 [label = "control
116 :decay_level
117 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 18 [label = "control
119 :sustain_level
120 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 19 [label = "control
122 :env_curve
123 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 20 [label = "control
125 :cutoff
126 default: 120.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 21 [label = "control
128 :cutoff_slide
129 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 22 [label = "control
131 :cutoff_slide_shape
132 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 23 [label = "control
134 :cutoff_slide_curve
135 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 24 [label = "control
137 :cutoff_attack
138 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 25 [label = "control
140 :cutoff_sustain
141 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
142 26 [label = "control
143 :cutoff_decay
144 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
145 27 [label = "control
146 :cutoff_release
147 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
148 28 [label = "control
149 :cutoff_min
150 default: 30.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
151 29 [label = "control
152 :cutoff_min_slide
153 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
154 30 [label = "control
155 :cutoff_min_slide_shape
156 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
157 31 [label = "control
158 :cutoff_min_slide_curve
159 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
160 32 [label = "control
161 :cutoff_attack_level
162 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
163 33 [label = "control
164 :cutoff_decay_level
165 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
166 34 [label = "control
167 :cutoff_sustain_level
168 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
169 35 [label = "control
170 :cutoff_env_curve
171 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
172 36 [label = "control
173 :res
174 default: 0.9" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
175 37 [label = "control
176 :res_slide
177 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
178 38 [label = "control
179 :res_slide_shape
180 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
181 39 [label = "control
182 :res_slide_curve
183 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
184 40 [label = "control
185 :wave
186 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
187 41 [label = "control
188 :pulse_width
189 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
190 42 [label = "control
191 :pulse_width_slide
192 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
193 43 [label = "control
194 :pulse_width_slide_shape
195 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
196 44 [label = "control
197 :pulse_width_slide_curve
198 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
199 45 [label = "control
200 :out_bus
201 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
202 59 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
203 79 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{<envelope___binary____op____u____gen___0>|4|-99|-99|<envelope___binary____op____u____gen___4>|<envelope___select___5>|5|<envelope___control___7>|<envelope___binary____op____u____gen___8>|<envelope___select___9>|5|<envelope___control___11>|<envelope___binary____op____u____gen___12>|<envelope___select___13>|5|<envelope___control___15>|<envelope___binary____op____u____gen___16>|<envelope___select___17>|5|<envelope___control___19>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
204 91 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
205 104 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
206 113 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
207 137 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{<envelope___binary____op____u____gen___0>|4|-99|-99|<envelope___binary____op____u____gen___4>|<envelope___control___5>|5|<envelope___control___7>|<envelope___binary____op____u____gen___8>|<envelope___control___9>|5|<envelope___control___11>|<envelope___binary____op____u____gen___12>|<envelope___control___13>|5|<envelope___control___15>|<envelope___binary____op____u____gen___16>|<envelope___control___17>|5|<envelope___control___19>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
208 141 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
209 144 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
210 153 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
211 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
212 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
213 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
214 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
215 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
216 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
217 82 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
218 86 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
219 93 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
220 100 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
221 106 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
222 123 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
223 127 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
224 149 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
225 50 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
226 85 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
227 92 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
228 95 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
229 96 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
230 105 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
231 121 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
232 117 [label = "{{ <iphase> iphase 0.0|<freq> freq} |<__UG_NAME__>lf-tri }" style="filled, bold, rounded" shape=record rankdir=LR];
233 60 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
234 114 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
235 142 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
236 122 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
237 155 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
238 154 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
239 116 [label = "{{ <width> width|<freq> freq} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
240 145 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
241 115 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
242 65 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
243 69 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
244 71 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
245 74 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
246 77 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
247 119 [label = "{{ {{<array___saw___0>|<array___pulse___1>|<array___binary____op____u____gen___2>}|array}|<which> which} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
248 133 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
249
250 79:__UG_NAME__ -> 80:a ;
251 60:__UG_NAME__ -> 80:b ;
252 117:__UG_NAME__ -> 118:b ;
253 137:__UG_NAME__ -> 138:b ;
254 138:__UG_NAME__ -> 146:a ;
255 145:__UG_NAME__ -> 146:b ;
256 19:__UG_NAME__ -> 47:b ;
257 50:__UG_NAME__ -> 54:a ;
258 53:__UG_NAME__ -> 54:b ;
259 54:__UG_NAME__ -> 58:a ;
260 57:__UG_NAME__ -> 58:b ;
261 35:__UG_NAME__ -> 67:b ;
262 32:__UG_NAME__ -> 68:a ;
263 35:__UG_NAME__ -> 68:b ;
264 71:__UG_NAME__ -> 72:a ;
265 35:__UG_NAME__ -> 72:b ;
266 71:__UG_NAME__ -> 75:a ;
267 35:__UG_NAME__ -> 75:b ;
268 35:__UG_NAME__ -> 78:b ;
269 19:__UG_NAME__ -> 81:b ;
270 85:__UG_NAME__ -> 89:a ;
271 88:__UG_NAME__ -> 89:b ;
272 89:__UG_NAME__ -> 90:a ;
273 63:__UG_NAME__ -> 90:b ;
274 96:__UG_NAME__ -> 99:a ;
275 98:__UG_NAME__ -> 99:b ;
276 99:__UG_NAME__ -> 103:a ;
277 102:__UG_NAME__ -> 103:b ;
278 105:__UG_NAME__ -> 109:a ;
279 108:__UG_NAME__ -> 109:b ;
280 109:__UG_NAME__ -> 112:a ;
281 111:__UG_NAME__ -> 112:b ;
282 121:__UG_NAME__ -> 126:a ;
283 125:__UG_NAME__ -> 126:b ;
284 126:__UG_NAME__ -> 130:a ;
285 129:__UG_NAME__ -> 130:b ;
286 95:__UG_NAME__ -> 131:a ;
287 84:__UG_NAME__ -> 131:b ;
288 133:__UG_NAME__ -> 134:a ;
289 19:__UG_NAME__ -> 134:b ;
290 16:__UG_NAME__ -> 135:a ;
291 19:__UG_NAME__ -> 135:b ;
292 133:__UG_NAME__ -> 136:a ;
293 19:__UG_NAME__ -> 136:b ;
294 131:__UG_NAME__ -> 140:a ;
295 139:__UG_NAME__ -> 140:b ;
296 142:__UG_NAME__ -> 143:a ;
297 80:__UG_NAME__ -> 143:b ;
298 92:__UG_NAME__ -> 148:a ;
299 147:__UG_NAME__ -> 148:b ;
300 148:__UG_NAME__ -> 152:a ;
301 151:__UG_NAME__ -> 152:b ;
302 27:__UG_NAME__ -> 64:b ;
303 24:__UG_NAME__ -> 66:b ;
304 33:__UG_NAME__ -> 70:b ;
305 26:__UG_NAME__ -> 73:b ;
306 25:__UG_NAME__ -> 76:b ;
307 17:__UG_NAME__ -> 132:b ;
308 52:__UG_NAME__ -> 53:a ;
309 56:__UG_NAME__ -> 57:a ;
310 62:__UG_NAME__ -> 63:a ;
311 83:__UG_NAME__ -> 84:a ;
312 87:__UG_NAME__ -> 88:a ;
313 97:__UG_NAME__ -> 98:a ;
314 101:__UG_NAME__ -> 102:a ;
315 107:__UG_NAME__ -> 108:a ;
316 110:__UG_NAME__ -> 111:a ;
317 124:__UG_NAME__ -> 125:a ;
318 128:__UG_NAME__ -> 129:a ;
319 94:__UG_NAME__ -> 139:a ;
320 120:__UG_NAME__ -> 147:a ;
321 150:__UG_NAME__ -> 151:a ;
322 51:__UG_NAME__ -> 52:a ;
323 55:__UG_NAME__ -> 56:a ;
324 61:__UG_NAME__ -> 62:a ;
325 82:__UG_NAME__ -> 83:a ;
326 86:__UG_NAME__ -> 87:a ;
327 93:__UG_NAME__ -> 94:a ;
328 49:__UG_NAME__ -> 97:a ;
329 100:__UG_NAME__ -> 101:a ;
330 106:__UG_NAME__ -> 107:a ;
331 48:__UG_NAME__ -> 110:a ;
332 46:__UG_NAME__ -> 120:a ;
333 123:__UG_NAME__ -> 124:a ;
334 127:__UG_NAME__ -> 128:a ;
335 149:__UG_NAME__ -> 150:a ;
336 20:__UG_NAME__ -> 59:envelope___control___0 ;
337 20:__UG_NAME__ -> 59:envelope___control___4 ;
338 21:__UG_NAME__ -> 59:envelope___control___5 ;
339 22:__UG_NAME__ -> 59:envelope___control___6 ;
340 23:__UG_NAME__ -> 59:envelope___control___7 ;
341 58:__UG_NAME__ -> 59:gate ;
342 67:__UG_NAME__ -> 79:envelope___binary____op____u____gen___0 ;
343 68:__UG_NAME__ -> 79:envelope___binary____op____u____gen___4 ;
344 69:__UG_NAME__ -> 79:envelope___select___5 ;
345 34:__UG_NAME__ -> 79:envelope___control___7 ;
346 72:__UG_NAME__ -> 79:envelope___binary____op____u____gen___8 ;
347 74:__UG_NAME__ -> 79:envelope___select___9 ;
348 34:__UG_NAME__ -> 79:envelope___control___11 ;
349 75:__UG_NAME__ -> 79:envelope___binary____op____u____gen___12 ;
350 77:__UG_NAME__ -> 79:envelope___select___13 ;
351 34:__UG_NAME__ -> 79:envelope___control___15 ;
352 78:__UG_NAME__ -> 79:envelope___binary____op____u____gen___16 ;
353 65:__UG_NAME__ -> 79:envelope___select___17 ;
354 34:__UG_NAME__ -> 79:envelope___control___19 ;
355 41:__UG_NAME__ -> 91:envelope___control___0 ;
356 41:__UG_NAME__ -> 91:envelope___control___4 ;
357 42:__UG_NAME__ -> 91:envelope___control___5 ;
358 43:__UG_NAME__ -> 91:envelope___control___6 ;
359 44:__UG_NAME__ -> 91:envelope___control___7 ;
360 90:__UG_NAME__ -> 91:gate ;
361 8:__UG_NAME__ -> 104:envelope___control___0 ;
362 8:__UG_NAME__ -> 104:envelope___control___4 ;
363 9:__UG_NAME__ -> 104:envelope___control___5 ;
364 10:__UG_NAME__ -> 104:envelope___control___6 ;
365 11:__UG_NAME__ -> 104:envelope___control___7 ;
366 103:__UG_NAME__ -> 104:gate ;
367 0:__UG_NAME__ -> 113:envelope___control___0 ;
368 0:__UG_NAME__ -> 113:envelope___control___4 ;
369 1:__UG_NAME__ -> 113:envelope___control___5 ;
370 2:__UG_NAME__ -> 113:envelope___control___6 ;
371 3:__UG_NAME__ -> 113:envelope___control___7 ;
372 112:__UG_NAME__ -> 113:gate ;
373 81:__UG_NAME__ -> 137:envelope___binary____op____u____gen___0 ;
374 135:__UG_NAME__ -> 137:envelope___binary____op____u____gen___4 ;
375 12:__UG_NAME__ -> 137:envelope___control___5 ;
376 18:__UG_NAME__ -> 137:envelope___control___7 ;
377 136:__UG_NAME__ -> 137:envelope___binary____op____u____gen___8 ;
378 14:__UG_NAME__ -> 137:envelope___control___9 ;
379 18:__UG_NAME__ -> 137:envelope___control___11 ;
380 134:__UG_NAME__ -> 137:envelope___binary____op____u____gen___12 ;
381 13:__UG_NAME__ -> 137:envelope___control___13 ;
382 18:__UG_NAME__ -> 137:envelope___control___15 ;
383 47:__UG_NAME__ -> 137:envelope___binary____op____u____gen___16 ;
384 15:__UG_NAME__ -> 137:envelope___control___17 ;
385 18:__UG_NAME__ -> 137:envelope___control___19 ;
386 28:__UG_NAME__ -> 141:envelope___control___0 ;
387 28:__UG_NAME__ -> 141:envelope___control___4 ;
388 29:__UG_NAME__ -> 141:envelope___control___5 ;
389 30:__UG_NAME__ -> 141:envelope___control___6 ;
390 31:__UG_NAME__ -> 141:envelope___control___7 ;
391 140:__UG_NAME__ -> 141:gate ;
392 122:__UG_NAME__ -> 144:envelope___mul____add___0 ;
393 122:__UG_NAME__ -> 144:envelope___mul____add___4 ;
394 37:__UG_NAME__ -> 144:envelope___control___5 ;
395 38:__UG_NAME__ -> 144:envelope___control___6 ;
396 39:__UG_NAME__ -> 144:envelope___control___7 ;
397 130:__UG_NAME__ -> 144:gate ;
398 4:__UG_NAME__ -> 153:envelope___control___0 ;
399 4:__UG_NAME__ -> 153:envelope___control___4 ;
400 5:__UG_NAME__ -> 153:envelope___control___5 ;
401 6:__UG_NAME__ -> 153:envelope___control___6 ;
402 7:__UG_NAME__ -> 153:envelope___control___7 ;
403 152:__UG_NAME__ -> 153:gate ;
404 4:__UG_NAME__ -> 46:in ;
405 1:__UG_NAME__ -> 48:in ;
406 8:__UG_NAME__ -> 49:in ;
407 20:__UG_NAME__ -> 51:in ;
408 21:__UG_NAME__ -> 55:in ;
409 42:__UG_NAME__ -> 61:in ;
410 28:__UG_NAME__ -> 82:in ;
411 41:__UG_NAME__ -> 86:in ;
412 29:__UG_NAME__ -> 93:in ;
413 9:__UG_NAME__ -> 100:in ;
414 0:__UG_NAME__ -> 106:in ;
415 122:__UG_NAME__ -> 123:in ;
416 37:__UG_NAME__ -> 127:in ;
417 5:__UG_NAME__ -> 149:in ;
418 114:__UG_NAME__ -> 117:freq ;
419 59:__UG_NAME__ -> 60:a ;
420 113:__UG_NAME__ -> 114:a ;
421 141:__UG_NAME__ -> 142:a ;
422 36:__UG_NAME__ -> 122:in ;
423 45:__UG_NAME__ -> 155:bus ;
424 154:__UG_NAME__ -> 155:signals___pan2___0 ;
425 154:__UG_NAME__ -> 155:signals___pan2___1 ;
426 146:__UG_NAME__ -> 154:in ;
427 104:__UG_NAME__ -> 154:pos ;
428 153:__UG_NAME__ -> 154:level ;
429 114:__UG_NAME__ -> 116:freq ;
430 91:__UG_NAME__ -> 116:width ;
431 119:__UG_NAME__ -> 145:in ;
432 143:__UG_NAME__ -> 145:freq ;
433 144:__UG_NAME__ -> 145:rq ;
434 114:__UG_NAME__ -> 115:freq ;
435 64:__UG_NAME__ -> 65:which ;
436 27:__UG_NAME__ -> 65:array___control___0 ;
437 15:__UG_NAME__ -> 65:array___control___1 ;
438 66:__UG_NAME__ -> 69:which ;
439 24:__UG_NAME__ -> 69:array___control___0 ;
440 12:__UG_NAME__ -> 69:array___control___1 ;
441 70:__UG_NAME__ -> 71:which ;
442 33:__UG_NAME__ -> 71:array___control___0 ;
443 34:__UG_NAME__ -> 71:array___control___1 ;
444 73:__UG_NAME__ -> 74:which ;
445 26:__UG_NAME__ -> 74:array___control___0 ;
446 14:__UG_NAME__ -> 74:array___control___1 ;
447 76:__UG_NAME__ -> 77:which ;
448 25:__UG_NAME__ -> 77:array___control___0 ;
449 13:__UG_NAME__ -> 77:array___control___1 ;
450 40:__UG_NAME__ -> 119:which ;
451 115:__UG_NAME__ -> 119:array___saw___0 ;
452 116:__UG_NAME__ -> 119:array___pulse___1 ;
453 118:__UG_NAME__ -> 119:array___binary____op____u____gen___2 ;
454 132:__UG_NAME__ -> 133:which ;
455 17:__UG_NAME__ -> 133:array___control___0 ;
456 18:__UG_NAME__ -> 133:array___control___1 ;
457
458 }
0 digraph synthdef {
1 65 [label = "{{ <b> |<a> 1.4} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 66 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 29 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 33 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 42 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 52 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 56 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 71 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 72 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 34 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 28 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 32 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 41 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 43 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 51 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 55 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 70 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 27 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 31 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 37 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 39 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 50 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 54 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 69 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 0 [label = "control
29 :note
30 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 1 [label = "control
32 :note_slide
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 2 [label = "control
35 :note_slide_shape
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 3 [label = "control
38 :note_slide_curve
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 4 [label = "control
41 :amp
42 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 5 [label = "control
44 :amp_slide
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 6 [label = "control
47 :amp_slide_shape
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 7 [label = "control
50 :amp_slide_curve
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 8 [label = "control
53 :pan
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 9 [label = "control
56 :pan_slide
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 10 [label = "control
59 :pan_slide_shape
60 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 11 [label = "control
62 :pan_slide_curve
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 12 [label = "control
65 :attack
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 13 [label = "control
68 :decay
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 14 [label = "control
71 :sustain
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 15 [label = "control
74 :release
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 16 [label = "control
77 :attack_level
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 17 [label = "control
80 :decay_level
81 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 18 [label = "control
83 :sustain_level
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 19 [label = "control
86 :env_curve
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 20 [label = "control
89 :cutoff
90 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 21 [label = "control
92 :cutoff_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 22 [label = "control
95 :cutoff_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 23 [label = "control
98 :cutoff_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 24 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 48 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 57 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 61 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 73 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 74 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 68 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 25 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
117 40 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 49 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 67 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 59 [label = "{{ <iphase> iphase 0.0|<freq> freq} |<__UG_NAME__>lf-tri }" style="filled, bold, rounded" shape=record rankdir=LR];
121 63 [label = "{{ <freq> freq|<in> in} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
122 58 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
123 62 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
124 64 [label = "{{ <dur> dur 0.01|<level> level 1.0|<in> in} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
125 76 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
126 75 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
127 35 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
128
129 64:__UG_NAME__ -> 65:b ;
130 65:__UG_NAME__ -> 66:a ;
131 48:__UG_NAME__ -> 66:b ;
132 25:__UG_NAME__ -> 29:a ;
133 28:__UG_NAME__ -> 29:b ;
134 29:__UG_NAME__ -> 33:a ;
135 32:__UG_NAME__ -> 33:b ;
136 40:__UG_NAME__ -> 42:a ;
137 41:__UG_NAME__ -> 42:b ;
138 49:__UG_NAME__ -> 52:a ;
139 51:__UG_NAME__ -> 52:b ;
140 52:__UG_NAME__ -> 56:a ;
141 55:__UG_NAME__ -> 56:b ;
142 42:__UG_NAME__ -> 60:a ;
143 43:__UG_NAME__ -> 60:b ;
144 67:__UG_NAME__ -> 71:a ;
145 70:__UG_NAME__ -> 71:b ;
146 71:__UG_NAME__ -> 72:a ;
147 47:__UG_NAME__ -> 72:b ;
148 17:__UG_NAME__ -> 34:b ;
149 27:__UG_NAME__ -> 28:a ;
150 31:__UG_NAME__ -> 32:a ;
151 37:__UG_NAME__ -> 41:a ;
152 39:__UG_NAME__ -> 43:a ;
153 46:__UG_NAME__ -> 47:a ;
154 50:__UG_NAME__ -> 51:a ;
155 54:__UG_NAME__ -> 55:a ;
156 69:__UG_NAME__ -> 70:a ;
157 26:__UG_NAME__ -> 27:a ;
158 30:__UG_NAME__ -> 31:a ;
159 36:__UG_NAME__ -> 37:a ;
160 38:__UG_NAME__ -> 39:a ;
161 45:__UG_NAME__ -> 46:a ;
162 44:__UG_NAME__ -> 50:a ;
163 53:__UG_NAME__ -> 54:a ;
164 68:__UG_NAME__ -> 69:a ;
165 16:__UG_NAME__ -> 48:envelope___control___4 ;
166 12:__UG_NAME__ -> 48:envelope___control___5 ;
167 19:__UG_NAME__ -> 48:envelope___control___6 ;
168 35:__UG_NAME__ -> 48:envelope___select___8 ;
169 13:__UG_NAME__ -> 48:envelope___control___9 ;
170 19:__UG_NAME__ -> 48:envelope___control___10 ;
171 18:__UG_NAME__ -> 48:envelope___control___12 ;
172 14:__UG_NAME__ -> 48:envelope___control___13 ;
173 19:__UG_NAME__ -> 48:envelope___control___14 ;
174 15:__UG_NAME__ -> 48:envelope___control___17 ;
175 19:__UG_NAME__ -> 48:envelope___control___18 ;
176 0:__UG_NAME__ -> 57:envelope___control___0 ;
177 0:__UG_NAME__ -> 57:envelope___control___4 ;
178 1:__UG_NAME__ -> 57:envelope___control___5 ;
179 2:__UG_NAME__ -> 57:envelope___control___6 ;
180 3:__UG_NAME__ -> 57:envelope___control___7 ;
181 56:__UG_NAME__ -> 57:gate ;
182 20:__UG_NAME__ -> 61:envelope___control___0 ;
183 20:__UG_NAME__ -> 61:envelope___control___4 ;
184 21:__UG_NAME__ -> 61:envelope___control___5 ;
185 22:__UG_NAME__ -> 61:envelope___control___6 ;
186 23:__UG_NAME__ -> 61:envelope___control___7 ;
187 60:__UG_NAME__ -> 61:gate ;
188 8:__UG_NAME__ -> 73:envelope___control___0 ;
189 8:__UG_NAME__ -> 73:envelope___control___4 ;
190 9:__UG_NAME__ -> 73:envelope___control___5 ;
191 10:__UG_NAME__ -> 73:envelope___control___6 ;
192 11:__UG_NAME__ -> 73:envelope___control___7 ;
193 72:__UG_NAME__ -> 73:gate ;
194 4:__UG_NAME__ -> 74:envelope___control___0 ;
195 4:__UG_NAME__ -> 74:envelope___control___4 ;
196 5:__UG_NAME__ -> 74:envelope___control___5 ;
197 6:__UG_NAME__ -> 74:envelope___control___6 ;
198 7:__UG_NAME__ -> 74:envelope___control___7 ;
199 33:__UG_NAME__ -> 74:gate ;
200 4:__UG_NAME__ -> 26:in ;
201 5:__UG_NAME__ -> 30:in ;
202 20:__UG_NAME__ -> 36:in ;
203 21:__UG_NAME__ -> 38:in ;
204 0:__UG_NAME__ -> 44:in ;
205 9:__UG_NAME__ -> 45:in ;
206 1:__UG_NAME__ -> 53:in ;
207 8:__UG_NAME__ -> 68:in ;
208 58:__UG_NAME__ -> 59:freq ;
209 59:__UG_NAME__ -> 63:in ;
210 62:__UG_NAME__ -> 63:freq ;
211 57:__UG_NAME__ -> 58:a ;
212 61:__UG_NAME__ -> 62:a ;
213 63:__UG_NAME__ -> 64:in ;
214 24:__UG_NAME__ -> 76:bus ;
215 75:__UG_NAME__ -> 76:signals___pan2___0 ;
216 75:__UG_NAME__ -> 76:signals___pan2___1 ;
217 66:__UG_NAME__ -> 75:in ;
218 73:__UG_NAME__ -> 75:pos ;
219 74:__UG_NAME__ -> 75:level ;
220 34:__UG_NAME__ -> 35:which ;
221 17:__UG_NAME__ -> 35:array___control___0 ;
222 18:__UG_NAME__ -> 35:array___control___1 ;
223
224 }
0 digraph synthdef {
1 99 [label = "{{ <b> |<a> 0.5} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 109 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 112 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 114 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 119 [label = "{{ <b> 6.2831855|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 122 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 124 [label = "{{ <b> |<a> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 126 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 129 [label = "{{ <b> -1.0|<a> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 144 [label = "{{ <b> |<a> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 56 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 60 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 66 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 70 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 72 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 78 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 81 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 84 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 90 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 94 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 105 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 106 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 110 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 116 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 118 [label = "{{ <b> 0.25|<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 137 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 141 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 149 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 153 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 158 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 162 [label = "{{ <b> |<a> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 115 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
33 125 [label = "{{ <b> 1.0|<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
34 127 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
35 130 [label = "{{ <b> |<a> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
36 108 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
37 128 [label = "{{ <b> 2.0|<a> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
38 166 [label = "{{ <b> |<a> 1.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
39 96 [label = "{{ <b> |<a> -1.0} |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
40 47 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 55 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 59 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 65 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 69 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 77 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 80 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 85 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 89 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 93 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 104 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 123 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 140 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 148 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 152 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 157 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 161 [label = "{{ <b> 0.0|<a> } |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 46 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 50 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 54 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 58 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 64 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 68 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 76 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 79 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 88 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
66 92 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
67 103 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
68 139 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
69 147 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
70 151 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
71 156 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
72 160 [label = "{{ <b> |<a> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
73 0 [label = "control
74 :note
75 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 1 [label = "control
77 :note_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 2 [label = "control
80 :note_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 3 [label = "control
83 :note_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 4 [label = "control
86 :amp
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 5 [label = "control
89 :amp_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 6 [label = "control
92 :amp_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 7 [label = "control
95 :amp_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 8 [label = "control
98 :pan
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 9 [label = "control
101 :pan_slide
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 10 [label = "control
104 :pan_slide_shape
105 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 11 [label = "control
107 :pan_slide_curve
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 12 [label = "control
110 :attack
111 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 13 [label = "control
113 :decay
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 14 [label = "control
116 :sustain
117 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 15 [label = "control
119 :release
120 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 16 [label = "control
122 :attack_level
123 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 17 [label = "control
125 :decay_level
126 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 18 [label = "control
128 :sustain_level
129 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 19 [label = "control
131 :env_curve
132 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 20 [label = "control
134 :cutoff
135 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 21 [label = "control
137 :cutoff_slide
138 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 22 [label = "control
140 :cutoff_slide_shape
141 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
142 23 [label = "control
143 :cutoff_slide_curve
144 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
145 24 [label = "control
146 :res
147 default: 0.9" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
148 25 [label = "control
149 :res_slide
150 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
151 26 [label = "control
152 :res_slide_shape
153 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
154 27 [label = "control
155 :res_slide_curve
156 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
157 28 [label = "control
158 :phase
159 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
160 29 [label = "control
161 :phase_slide
162 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
163 30 [label = "control
164 :phase_slide_shape
165 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
166 31 [label = "control
167 :phase_slide_curve
168 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
169 32 [label = "control
170 :phase_offset
171 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
172 33 [label = "control
173 :wave
174 default: 3.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
175 34 [label = "control
176 :disable_wave
177 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
178 35 [label = "control
179 :invert_wave
180 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
181 36 [label = "control
182 :pulse_width
183 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
184 37 [label = "control
185 :pulse_width_slide
186 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
187 38 [label = "control
188 :pulse_width_slide_shape
189 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
190 39 [label = "control
191 :pulse_width_slide_curve
192 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
193 40 [label = "control
194 :range
195 default: 24.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
196 41 [label = "control
197 :range_slide
198 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
199 42 [label = "control
200 :range_slide_shape
201 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
202 43 [label = "control
203 :range_slide_curve
204 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
205 44 [label = "control
206 :out_bus
207 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
208 61 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
209 71 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
210 82 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
211 95 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
212 98 [label = "{{ <action> action 2.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate 1.0|{{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
213 107 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
214 142 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
215 154 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
216 163 [label = "{{ <action> action 0.0|<time____scale> time-scale 1.0|<level____bias> level-bias 0.0|<level____scale> level-scale 1.0|<gate> gate|{{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
217 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
218 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
219 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
220 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
221 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
222 63 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
223 67 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
224 73 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
225 75 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
226 87 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
227 91 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
228 102 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
229 138 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
230 146 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
231 150 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
232 159 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
233 52 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
234 62 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
235 74 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
236 86 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
237 101 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
238 136 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
239 145 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
240 155 [label = "{{ <phase> phase 0.0|<freq> freq 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
241 113 [label = "{{ <width> width|<iphase> iphase|<freq> freq} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
242 111 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
243 117 [label = "{{ <iphase> iphase|<freq> freq} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
244 83 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
245 100 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
246 132 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
247 133 [label = "{{ <b> |<a> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
248 48 [label = "{{ <add> add 1.0|<mul> mul -1.0|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
249 131 [label = "{{ <add> add|<mul> mul|<in> in} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
250 165 [label = "{{ {{<signals___pan2___0>|<signals___pan2___1>}|signals}|<bus> bus} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
251 164 [label = "{{ <level> level|<pos> pos|<in> in} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
252 143 [label = "{{ <rq> rq|<freq> freq|<in> in} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
253 97 [label = "{{ {{<array___control___0>|<array___control___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
254 121 [label = "{{ {{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
255 134 [label = "{{ {{<array___unary____op____u____gen___0>|<array___unary____op____u____gen___1>}|array}|<which> which} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
256 120 [label = "{{ <add> add 0.0|<mul> mul 1.0|<phase> phase|<freq> freq} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
257 135 [label = "{{ <saw____freq> saw-freq|<sync____freq> sync-freq} |<__UG_NAME__>sync-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
258
259 98:__UG_NAME__ -> 99:b ;
260 32:__UG_NAME__ -> 109:b ;
261 111:__UG_NAME__ -> 112:b ;
262 113:__UG_NAME__ -> 114:b ;
263 118:__UG_NAME__ -> 119:a ;
264 121:__UG_NAME__ -> 122:b ;
265 123:__UG_NAME__ -> 124:b ;
266 122:__UG_NAME__ -> 126:a ;
267 125:__UG_NAME__ -> 126:b ;
268 128:__UG_NAME__ -> 129:a ;
269 99:__UG_NAME__ -> 144:a ;
270 143:__UG_NAME__ -> 144:b ;
271 52:__UG_NAME__ -> 56:a ;
272 55:__UG_NAME__ -> 56:b ;
273 56:__UG_NAME__ -> 60:a ;
274 59:__UG_NAME__ -> 60:b ;
275 62:__UG_NAME__ -> 66:a ;
276 65:__UG_NAME__ -> 66:b ;
277 66:__UG_NAME__ -> 70:a ;
278 69:__UG_NAME__ -> 70:b ;
279 61:__UG_NAME__ -> 72:a ;
280 71:__UG_NAME__ -> 72:b ;
281 74:__UG_NAME__ -> 78:a ;
282 77:__UG_NAME__ -> 78:b ;
283 78:__UG_NAME__ -> 81:a ;
284 80:__UG_NAME__ -> 81:b ;
285 61:__UG_NAME__ -> 84:a ;
286 71:__UG_NAME__ -> 84:b ;
287 86:__UG_NAME__ -> 90:a ;
288 89:__UG_NAME__ -> 90:b ;
289 90:__UG_NAME__ -> 94:a ;
290 93:__UG_NAME__ -> 94:b ;
291 101:__UG_NAME__ -> 105:a ;
292 104:__UG_NAME__ -> 105:b ;
293 105:__UG_NAME__ -> 106:a ;
294 47:__UG_NAME__ -> 106:b ;
295 109:__UG_NAME__ -> 110:a ;
296 109:__UG_NAME__ -> 116:a ;
297 32:__UG_NAME__ -> 118:a ;
298 136:__UG_NAME__ -> 137:a ;
299 85:__UG_NAME__ -> 137:b ;
300 137:__UG_NAME__ -> 141:a ;
301 140:__UG_NAME__ -> 141:b ;
302 145:__UG_NAME__ -> 149:a ;
303 148:__UG_NAME__ -> 149:b ;
304 149:__UG_NAME__ -> 153:a ;
305 152:__UG_NAME__ -> 153:b ;
306 155:__UG_NAME__ -> 158:a ;
307 157:__UG_NAME__ -> 158:b ;
308 158:__UG_NAME__ -> 162:a ;
309 161:__UG_NAME__ -> 162:b ;
310 114:__UG_NAME__ -> 115:a ;
311 124:__UG_NAME__ -> 125:a ;
312 84:__UG_NAME__ -> 127:a ;
313 61:__UG_NAME__ -> 127:b ;
314 61:__UG_NAME__ -> 130:a ;
315 129:__UG_NAME__ -> 130:b ;
316 107:__UG_NAME__ -> 108:b ;
317 127:__UG_NAME__ -> 128:a ;
318 107:__UG_NAME__ -> 166:b ;
319 17:__UG_NAME__ -> 96:b ;
320 46:__UG_NAME__ -> 47:a ;
321 54:__UG_NAME__ -> 55:a ;
322 58:__UG_NAME__ -> 59:a ;
323 64:__UG_NAME__ -> 65:a ;
324 68:__UG_NAME__ -> 69:a ;
325 76:__UG_NAME__ -> 77:a ;
326 79:__UG_NAME__ -> 80:a ;
327 50:__UG_NAME__ -> 85:a ;
328 88:__UG_NAME__ -> 89:a ;
329 92:__UG_NAME__ -> 93:a ;
330 103:__UG_NAME__ -> 104:a ;
331 35:__UG_NAME__ -> 123:a ;
332 139:__UG_NAME__ -> 140:a ;
333 147:__UG_NAME__ -> 148:a ;
334 151:__UG_NAME__ -> 152:a ;
335 156:__UG_NAME__ -> 157:a ;
336 160:__UG_NAME__ -> 161:a ;
337 45:__UG_NAME__ -> 46:a ;
338 49:__UG_NAME__ -> 50:a ;
339 53:__UG_NAME__ -> 54:a ;
340 57:__UG_NAME__ -> 58:a ;
341 63:__UG_NAME__ -> 64:a ;
342 67:__UG_NAME__ -> 68:a ;
343 75:__UG_NAME__ -> 76:a ;
344 51:__UG_NAME__ -> 79:a ;
345 87:__UG_NAME__ -> 88:a ;
346 91:__UG_NAME__ -> 92:a ;
347 102:__UG_NAME__ -> 103:a ;
348 138:__UG_NAME__ -> 139:a ;
349 146:__UG_NAME__ -> 147:a ;
350 150:__UG_NAME__ -> 151:a ;
351 73:__UG_NAME__ -> 156:a ;
352 159:__UG_NAME__ -> 160:a ;
353 0:__UG_NAME__ -> 61:envelope___control___0 ;
354 0:__UG_NAME__ -> 61:envelope___control___4 ;
355 1:__UG_NAME__ -> 61:envelope___control___5 ;
356 2:__UG_NAME__ -> 61:envelope___control___6 ;
357 3:__UG_NAME__ -> 61:envelope___control___7 ;
358 60:__UG_NAME__ -> 61:gate ;
359 40:__UG_NAME__ -> 71:envelope___control___0 ;
360 40:__UG_NAME__ -> 71:envelope___control___4 ;
361 41:__UG_NAME__ -> 71:envelope___control___5 ;
362 42:__UG_NAME__ -> 71:envelope___control___6 ;
363 43:__UG_NAME__ -> 71:envelope___control___7 ;
364 70:__UG_NAME__ -> 71:gate ;
365 20:__UG_NAME__ -> 82:envelope___control___0 ;
366 20:__UG_NAME__ -> 82:envelope___control___4 ;
367 21:__UG_NAME__ -> 82:envelope___control___5 ;
368 22:__UG_NAME__ -> 82:envelope___control___6 ;
369 23:__UG_NAME__ -> 82:envelope___control___7 ;
370 81:__UG_NAME__ -> 82:gate ;
371 36:__UG_NAME__ -> 95:envelope___control___0 ;
372 36:__UG_NAME__ -> 95:envelope___control___4 ;
373 37:__UG_NAME__ -> 95:envelope___control___5 ;
374 38:__UG_NAME__ -> 95:envelope___control___6 ;
375 39:__UG_NAME__ -> 95:envelope___control___7 ;
376 94:__UG_NAME__ -> 95:gate ;
377 16:__UG_NAME__ -> 98:envelope___control___4 ;
378 12:__UG_NAME__ -> 98:envelope___control___5 ;
379 19:__UG_NAME__ -> 98:envelope___control___6 ;
380 97:__UG_NAME__ -> 98:envelope___select___8 ;
381 13:__UG_NAME__ -> 98:envelope___control___9 ;
382 19:__UG_NAME__ -> 98:envelope___control___10 ;
383 18:__UG_NAME__ -> 98:envelope___control___12 ;
384 14:__UG_NAME__ -> 98:envelope___control___13 ;
385 19:__UG_NAME__ -> 98:envelope___control___14 ;
386 15:__UG_NAME__ -> 98:envelope___control___17 ;
387 19:__UG_NAME__ -> 98:envelope___control___18 ;
388 28:__UG_NAME__ -> 107:envelope___control___0 ;
389 28:__UG_NAME__ -> 107:envelope___control___4 ;
390 29:__UG_NAME__ -> 107:envelope___control___5 ;
391 30:__UG_NAME__ -> 107:envelope___control___6 ;
392 31:__UG_NAME__ -> 107:envelope___control___7 ;
393 106:__UG_NAME__ -> 107:gate ;
394 48:__UG_NAME__ -> 142:envelope___mul____add___0 ;
395 48:__UG_NAME__ -> 142:envelope___mul____add___4 ;
396 25:__UG_NAME__ -> 142:envelope___control___5 ;
397 26:__UG_NAME__ -> 142:envelope___control___6 ;
398 27:__UG_NAME__ -> 142:envelope___control___7 ;
399 141:__UG_NAME__ -> 142:gate ;
400 8:__UG_NAME__ -> 154:envelope___control___0 ;
401 8:__UG_NAME__ -> 154:envelope___control___4 ;
402 9:__UG_NAME__ -> 154:envelope___control___5 ;
403 10:__UG_NAME__ -> 154:envelope___control___6 ;
404 11:__UG_NAME__ -> 154:envelope___control___7 ;
405 153:__UG_NAME__ -> 154:gate ;
406 4:__UG_NAME__ -> 163:envelope___control___0 ;
407 4:__UG_NAME__ -> 163:envelope___control___4 ;
408 5:__UG_NAME__ -> 163:envelope___control___5 ;
409 6:__UG_NAME__ -> 163:envelope___control___6 ;
410 7:__UG_NAME__ -> 163:envelope___control___7 ;
411 162:__UG_NAME__ -> 163:gate ;
412 29:__UG_NAME__ -> 45:in ;
413 48:__UG_NAME__ -> 49:in ;
414 21:__UG_NAME__ -> 51:in ;
415 0:__UG_NAME__ -> 53:in ;
416 1:__UG_NAME__ -> 57:in ;
417 40:__UG_NAME__ -> 63:in ;
418 41:__UG_NAME__ -> 67:in ;
419 4:__UG_NAME__ -> 73:in ;
420 20:__UG_NAME__ -> 75:in ;
421 36:__UG_NAME__ -> 87:in ;
422 37:__UG_NAME__ -> 91:in ;
423 28:__UG_NAME__ -> 102:in ;
424 25:__UG_NAME__ -> 138:in ;
425 8:__UG_NAME__ -> 146:in ;
426 9:__UG_NAME__ -> 150:in ;
427 5:__UG_NAME__ -> 159:in ;
428 108:__UG_NAME__ -> 113:freq ;
429 32:__UG_NAME__ -> 113:iphase ;
430 95:__UG_NAME__ -> 113:width ;
431 108:__UG_NAME__ -> 111:freq ;
432 110:__UG_NAME__ -> 111:iphase ;
433 108:__UG_NAME__ -> 117:freq ;
434 116:__UG_NAME__ -> 117:iphase ;
435 82:__UG_NAME__ -> 83:a ;
436 61:__UG_NAME__ -> 100:a ;
437 131:__UG_NAME__ -> 132:a ;
438 72:__UG_NAME__ -> 133:a ;
439 24:__UG_NAME__ -> 48:in ;
440 126:__UG_NAME__ -> 131:in ;
441 128:__UG_NAME__ -> 131:mul ;
442 130:__UG_NAME__ -> 131:add ;
443 44:__UG_NAME__ -> 165:bus ;
444 164:__UG_NAME__ -> 165:signals___pan2___0 ;
445 164:__UG_NAME__ -> 165:signals___pan2___1 ;
446 144:__UG_NAME__ -> 164:in ;
447 154:__UG_NAME__ -> 164:pos ;
448 163:__UG_NAME__ -> 164:level ;
449 135:__UG_NAME__ -> 143:in ;
450 83:__UG_NAME__ -> 143:freq ;
451 142:__UG_NAME__ -> 143:rq ;
452 96:__UG_NAME__ -> 97:which ;
453 17:__UG_NAME__ -> 97:array___control___0 ;
454 18:__UG_NAME__ -> 97:array___control___1 ;
455 33:__UG_NAME__ -> 121:which ;
456 112:__UG_NAME__ -> 121:array___binary____op____u____gen___0 ;
457 115:__UG_NAME__ -> 121:array___binary____op____u____gen___1 ;
458 117:__UG_NAME__ -> 121:array___lf____tri___2 ;
459 120:__UG_NAME__ -> 121:array___sin____osc___3 ;
460 34:__UG_NAME__ -> 134:which ;
461 132:__UG_NAME__ -> 134:array___unary____op____u____gen___0 ;
462 133:__UG_NAME__ -> 134:array___unary____op____u____gen___1 ;
463 108:__UG_NAME__ -> 120:freq ;
464 119:__UG_NAME__ -> 120:phase ;
465 100:__UG_NAME__ -> 135:sync____freq ;
466 134:__UG_NAME__ -> 135:saw____freq ;
467
468 }
44 # Full project source: https://github.com/samaaron/sonic-pi
55 # License: https://github.com/samaaron/sonic-pi/blob/master/LICENSE.md
66 #
7 # Copyright 2013, 2014, 2015 by Sam Aaron (http://sam.aaron.name).
7 # Copyright 2013, 2014, 2015, 2016 by Sam Aaron (http://sam.aaron.name).
88 # All rights reserved.
99 #
1010 # Permission is granted for use, copying, modification, and
+0
-36
etc/synthdefs/graphviz/sonic-pi-amp_stereo_monitor.dot less more
0 digraph synthdef {
1 4 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
2 8 [label = "{{ <in> in} |<__UG_NAME__>a2k }" style="bold, rounded" shape=record rankdir=LR];
3 11 [label = "{{ <in> in} |<__UG_NAME__>a2k }" style="bold, rounded" shape=record rankdir=LR];
4 3 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
5 6 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
6 0 [label = "control
7 :bus
8 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
9 1 [label = "control
10 :smoothness
11 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
12 9 [label = "{{ <freq> freq 5.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
13 2 [label = "{{ <bus> bus|<num____channels> num-channels 1} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
14 5 [label = "{{ <bus> bus|<num____channels> num-channels 1} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
15 7 [label = "{{ <in> in|<lag____time> lag-time} |<__UG_NAME__>lag }" style="filled, bold, rounded" shape=record rankdir=LR];
16 10 [label = "{{ <in> in|<lag____time> lag-time} |<__UG_NAME__>lag }" style="filled, bold, rounded" shape=record rankdir=LR];
17 12 [label = "{{ <trig> trig|{{47|115|111|110|105|99|45|112|105|47|97|109|112|<cmd____name___a2k___13>|<cmd____name___a2k___14>}|cmd-name}|{{13}|values}|<reply____id> reply-id} |<__UG_NAME__>send-reply }" style="bold, rounded" shape=record rankdir=LR];
18
19 0:__UG_NAME__ -> 4:a ;
20 7:__UG_NAME__ -> 8:in ;
21 10:__UG_NAME__ -> 11:in ;
22 2:__UG_NAME__ -> 3:a ;
23 5:__UG_NAME__ -> 6:a ;
24 0:__UG_NAME__ -> 2:bus ;
25 4:__UG_NAME__ -> 5:bus ;
26 1:__UG_NAME__ -> 7:lag____time ;
27 6:__UG_NAME__ -> 7:in ;
28 1:__UG_NAME__ -> 10:lag____time ;
29 3:__UG_NAME__ -> 10:in ;
30 0:__UG_NAME__ -> 12:reply____id ;
31 11:__UG_NAME__ -> 12:cmd____name___a2k___13 ;
32 8:__UG_NAME__ -> 12:cmd____name___a2k___14 ;
33 9:__UG_NAME__ -> 12:trig ;
34
35 }
+0
-60
etc/synthdefs/graphviz/sonic-pi-basic_mixer.dot less more
0 digraph synthdef {
1 17 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 18 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 13 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 14 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 8 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
6 12 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
7 7 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
8 11 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
9 0 [label = "control
10 :in_bus
11 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
12 1 [label = "control
13 :out_bus
14 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
15 2 [label = "control
16 :amp
17 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
18 3 [label = "control
19 :amp_slide
20 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
21 4 [label = "control
22 :amp_slide_shape
23 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
24 5 [label = "control
25 :amp_slide_curve
26 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
27 15 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
28 6 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
29 10 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
30 9 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
31 16 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
32 19 [label = "{{ <bus> bus|{{<signals___binary____op____u____gen___0>|<signals___binary____op____u____gen___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
33
34 16:__UG_NAME__ -> 17:b ;
35 15:__UG_NAME__ -> 17:a ;
36 16:__UG_NAME__ -> 18:b ;
37 15:__UG_NAME__ -> 18:a ;
38 12:__UG_NAME__ -> 13:b ;
39 9:__UG_NAME__ -> 13:a ;
40 8:__UG_NAME__ -> 14:b ;
41 13:__UG_NAME__ -> 14:a ;
42 7:__UG_NAME__ -> 8:a ;
43 11:__UG_NAME__ -> 12:a ;
44 6:__UG_NAME__ -> 7:a ;
45 10:__UG_NAME__ -> 11:a ;
46 14:__UG_NAME__ -> 15:gate ;
47 2:__UG_NAME__ -> 15:envelope___control___0 ;
48 2:__UG_NAME__ -> 15:envelope___control___4 ;
49 3:__UG_NAME__ -> 15:envelope___control___5 ;
50 4:__UG_NAME__ -> 15:envelope___control___6 ;
51 5:__UG_NAME__ -> 15:envelope___control___7 ;
52 3:__UG_NAME__ -> 6:in ;
53 2:__UG_NAME__ -> 10:in ;
54 0:__UG_NAME__ -> 16:bus ;
55 17:__UG_NAME__ -> 19:signals___binary____op____u____gen___0 ;
56 18:__UG_NAME__ -> 19:signals___binary____op____u____gen___1 ;
57 1:__UG_NAME__ -> 19:bus ;
58
59 }
+0
-218
etc/synthdefs/graphviz/sonic-pi-basic_mono_player.dot less more
0 digraph synthdef {
1 55 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="dashed, rounded" shape=record rankdir=LR];
2 76 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="dashed, rounded" shape=record rankdir=LR];
3 30 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 34 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 43 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 47 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 52 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 68 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 69 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 77 [label = "{{ <a> 0.03|<b> } |<__UG_NAME__>+ }" style="dashed, rounded" shape=record rankdir=LR];
12 58 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="dashed, rounded" shape=record rankdir=LR];
13 74 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="dashed, rounded" shape=record rankdir=LR];
14 56 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\< }" style="dashed, rounded" shape=record rankdir=LR];
15 25 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 29 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 33 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 36 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 41 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 42 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 46 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 51 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 67 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 20 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 22 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 24 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 28 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 32 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 40 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 50 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 73 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="dashed, rounded" shape=record rankdir=LR];
33 75 [label = "{{ <buf> buf} |<__UG_NAME__>buf-dur }" style="dashed, rounded" shape=record rankdir=LR];
34 57 [label = "{{ <buf> buf} |<__UG_NAME__>buf-frames }" style="dashed, rounded" shape=record rankdir=LR];
35 54 [label = "{{ <buf> buf} |<__UG_NAME__>buf-rate-scale }" style="dashed, rounded" shape=record rankdir=LR];
36 0 [label = "control
37 :buf
38 default: 0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
39 1 [label = "control
40 :rate
41 default: 1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
42 2 [label = "control
43 :out_bus
44 default: 0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
45 3 [label = "control
46 :buf
47 default: 0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
48 4 [label = "control
49 :rate
50 default: 1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
51 5 [label = "control
52 :out_bus
53 default: 0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
54 6 [label = "control
55 :amp
56 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
57 7 [label = "control
58 :amp_slide
59 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
60 8 [label = "control
61 :amp_slide_shape
62 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 9 [label = "control
64 :amp_slide_curve
65 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 10 [label = "control
67 :pan
68 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 11 [label = "control
70 :pan_slide
71 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 12 [label = "control
73 :pan_slide_shape
74 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 13 [label = "control
76 :pan_slide_curve
77 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 14 [label = "control
79 :cutoff
80 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 15 [label = "control
82 :cutoff_slide
83 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 16 [label = "control
85 :cutoff_slide_shape
86 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 17 [label = "control
88 :cutoff_slide_curve
89 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 18 [label = "control
91 :res
92 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 35 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
94 61 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
95 62 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
96 70 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
97 19 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
98 21 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
99 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
100 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
101 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
102 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
103 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
104 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
105 26 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
106 37 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
107 48 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
108 63 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
109 78 [label = "{{ <start> start 1.0|<end> end 1.0|<dur> dur|<action> action 2.0} |<__UG_NAME__>line }" style="bold, rounded" shape=record rankdir=LR];
110 38 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
111 64 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
112 72 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
113 71 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
114 60 [label = "{{ <num____channels> num-channels 1|<bufnum> bufnum|<rate> rate|<trigger> trigger 0.0|<start____pos> start-pos|<loop> loop 0.0|<action> action 0.0} |<__UG_NAME__>play-buf }" style="filled, bold, rounded" shape=record rankdir=LR];
115 65 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
116 59 [label = "{{ <which> which|{{0.0|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
117 66 [label = "{{ <which> which|{{<array___play____buf___0>|<array___rlpf___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
118
119 54:__UG_NAME__ -> 55:b ;
120 1:__UG_NAME__ -> 55:a ;
121 75:__UG_NAME__ -> 76:b ;
122 74:__UG_NAME__ -> 76:a ;
123 29:__UG_NAME__ -> 30:b ;
124 26:__UG_NAME__ -> 30:a ;
125 33:__UG_NAME__ -> 34:b ;
126 30:__UG_NAME__ -> 34:a ;
127 42:__UG_NAME__ -> 43:b ;
128 37:__UG_NAME__ -> 43:a ;
129 46:__UG_NAME__ -> 47:b ;
130 43:__UG_NAME__ -> 47:a ;
131 51:__UG_NAME__ -> 52:b ;
132 48:__UG_NAME__ -> 52:a ;
133 25:__UG_NAME__ -> 53:b ;
134 52:__UG_NAME__ -> 53:a ;
135 67:__UG_NAME__ -> 68:b ;
136 63:__UG_NAME__ -> 68:a ;
137 41:__UG_NAME__ -> 69:b ;
138 68:__UG_NAME__ -> 69:a ;
139 76:__UG_NAME__ -> 77:b ;
140 57:__UG_NAME__ -> 58:a ;
141 73:__UG_NAME__ -> 74:b ;
142 1:__UG_NAME__ -> 56:a ;
143 24:__UG_NAME__ -> 25:a ;
144 28:__UG_NAME__ -> 29:a ;
145 32:__UG_NAME__ -> 33:a ;
146 35:__UG_NAME__ -> 36:a ;
147 40:__UG_NAME__ -> 41:a ;
148 20:__UG_NAME__ -> 42:a ;
149 45:__UG_NAME__ -> 46:a ;
150 50:__UG_NAME__ -> 51:a ;
151 22:__UG_NAME__ -> 67:a ;
152 19:__UG_NAME__ -> 20:a ;
153 21:__UG_NAME__ -> 22:a ;
154 23:__UG_NAME__ -> 24:a ;
155 27:__UG_NAME__ -> 28:a ;
156 31:__UG_NAME__ -> 32:a ;
157 39:__UG_NAME__ -> 40:a ;
158 44:__UG_NAME__ -> 45:a ;
159 49:__UG_NAME__ -> 50:a ;
160 1:__UG_NAME__ -> 73:a ;
161 0:__UG_NAME__ -> 75:buf ;
162 0:__UG_NAME__ -> 57:buf ;
163 0:__UG_NAME__ -> 54:buf ;
164 34:__UG_NAME__ -> 35:gate ;
165 11:__UG_NAME__ -> 35:envelope___control___0 ;
166 11:__UG_NAME__ -> 35:envelope___control___4 ;
167 12:__UG_NAME__ -> 35:envelope___control___5 ;
168 13:__UG_NAME__ -> 35:envelope___control___6 ;
169 14:__UG_NAME__ -> 35:envelope___control___7 ;
170 53:__UG_NAME__ -> 61:gate ;
171 3:__UG_NAME__ -> 61:envelope___control___0 ;
172 3:__UG_NAME__ -> 61:envelope___control___4 ;
173 4:__UG_NAME__ -> 61:envelope___control___5 ;
174 5:__UG_NAME__ -> 61:envelope___control___6 ;
175 6:__UG_NAME__ -> 61:envelope___control___7 ;
176 47:__UG_NAME__ -> 62:gate ;
177 15:__UG_NAME__ -> 62:envelope___control___0 ;
178 15:__UG_NAME__ -> 62:envelope___control___4 ;
179 16:__UG_NAME__ -> 62:envelope___control___5 ;
180 17:__UG_NAME__ -> 62:envelope___control___6 ;
181 18:__UG_NAME__ -> 62:envelope___control___7 ;
182 69:__UG_NAME__ -> 70:gate ;
183 7:__UG_NAME__ -> 70:envelope___control___0 ;
184 7:__UG_NAME__ -> 70:envelope___control___4 ;
185 8:__UG_NAME__ -> 70:envelope___control___5 ;
186 9:__UG_NAME__ -> 70:envelope___control___6 ;
187 10:__UG_NAME__ -> 70:envelope___control___7 ;
188 15:__UG_NAME__ -> 19:in ;
189 7:__UG_NAME__ -> 21:in ;
190 4:__UG_NAME__ -> 23:in ;
191 11:__UG_NAME__ -> 27:in ;
192 12:__UG_NAME__ -> 31:in ;
193 8:__UG_NAME__ -> 39:in ;
194 16:__UG_NAME__ -> 44:in ;
195 3:__UG_NAME__ -> 49:in ;
196 77:__UG_NAME__ -> 78:dur ;
197 35:__UG_NAME__ -> 38:a ;
198 62:__UG_NAME__ -> 64:in ;
199 71:__UG_NAME__ -> 72:signals___pan2___0 ;
200 71:__UG_NAME__ -> 72:signals___pan2___1 ;
201 2:__UG_NAME__ -> 72:bus ;
202 61:__UG_NAME__ -> 71:level ;
203 70:__UG_NAME__ -> 71:pos ;
204 66:__UG_NAME__ -> 71:in ;
205 59:__UG_NAME__ -> 60:start____pos ;
206 55:__UG_NAME__ -> 60:rate ;
207 0:__UG_NAME__ -> 60:bufnum ;
208 64:__UG_NAME__ -> 65:rq ;
209 38:__UG_NAME__ -> 65:freq ;
210 60:__UG_NAME__ -> 65:in ;
211 58:__UG_NAME__ -> 59:array___binary____op____u____gen___1 ;
212 56:__UG_NAME__ -> 59:which ;
213 60:__UG_NAME__ -> 66:array___play____buf___0 ;
214 65:__UG_NAME__ -> 66:array___rlpf___1 ;
215 36:__UG_NAME__ -> 66:which ;
216
217 }
+0
-227
etc/synthdefs/graphviz/sonic-pi-basic_stereo_player.dot less more
0 digraph synthdef {
1 36 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="dashed, rounded" shape=record rankdir=LR];
2 78 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="dashed, rounded" shape=record rankdir=LR];
3 23 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 28 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 32 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 46 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 54 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 67 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 71 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 79 [label = "{{ <a> 0.03|<b> } |<__UG_NAME__>+ }" style="dashed, rounded" shape=record rankdir=LR];
12 39 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="dashed, rounded" shape=record rankdir=LR];
13 76 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="dashed, rounded" shape=record rankdir=LR];
14 37 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\< }" style="dashed, rounded" shape=record rankdir=LR];
15 22 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 27 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 31 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 34 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 45 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 53 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 57 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 66 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 70 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 21 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 26 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 30 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 44 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 52 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 56 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 59 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 69 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 75 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="dashed, rounded" shape=record rankdir=LR];
33 73 [label = "{{ <left> left|<right> right|<pos> pos|<level> level} |<__UG_NAME__>balance2 }" style="filled, bold, rounded" shape=record rankdir=LR];
34 77 [label = "{{ <buf> buf} |<__UG_NAME__>buf-dur }" style="dashed, rounded" shape=record rankdir=LR];
35 38 [label = "{{ <buf> buf} |<__UG_NAME__>buf-frames }" style="dashed, rounded" shape=record rankdir=LR];
36 35 [label = "{{ <buf> buf} |<__UG_NAME__>buf-rate-scale }" style="dashed, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :buf
39 default: 0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :rate
42 default: 1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :out_bus
45 default: 0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :buf
48 default: 0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :rate
51 default: 1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :out_bus
54 default: 0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :amp
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :amp_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :amp_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :amp_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pan
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pan_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :pan_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :pan_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :cutoff
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :cutoff_slide
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :cutoff_slide_shape
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :cutoff_slide_curve
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :res
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 33 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
95 47 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
96 64 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
97 72 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
98 20 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
99 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
100 29 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
101 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
102 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
103 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
104 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
105 68 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
106 19 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
107 24 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
108 50 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
109 65 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
110 80 [label = "{{ <start> start 1.0|<end> end 1.0|<dur> dur|<action> action 2.0} |<__UG_NAME__>line }" style="bold, rounded" shape=record rankdir=LR];
111 42 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
112 48 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
113 74 [label = "{{ <bus> bus|{{<signals___balance2___0>|<signals___balance2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
114 41 [label = "{{ <num____channels> num-channels 2|<bufnum> bufnum|<rate> rate|<trigger> trigger 0.0|<start____pos> start-pos|<loop> loop 0.0|<action> action 0.0} |<__UG_NAME__>play-buf }" style="filled, bold, rounded" shape=record rankdir=LR];
115 49 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
116 60 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
117 40 [label = "{{ <which> which|{{0.0|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
118 61 [label = "{{ <which> which|{{<array___play____buf___0>|<array___rlpf___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
119 62 [label = "{{ <which> which|{{<array___play____buf___0>|<array___rlpf___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
120
121 35:__UG_NAME__ -> 36:b ;
122 1:__UG_NAME__ -> 36:a ;
123 77:__UG_NAME__ -> 78:b ;
124 76:__UG_NAME__ -> 78:a ;
125 22:__UG_NAME__ -> 23:b ;
126 19:__UG_NAME__ -> 23:a ;
127 27:__UG_NAME__ -> 28:b ;
128 24:__UG_NAME__ -> 28:a ;
129 31:__UG_NAME__ -> 32:b ;
130 28:__UG_NAME__ -> 32:a ;
131 45:__UG_NAME__ -> 46:b ;
132 23:__UG_NAME__ -> 46:a ;
133 53:__UG_NAME__ -> 54:b ;
134 50:__UG_NAME__ -> 54:a ;
135 57:__UG_NAME__ -> 63:b ;
136 54:__UG_NAME__ -> 63:a ;
137 66:__UG_NAME__ -> 67:b ;
138 65:__UG_NAME__ -> 67:a ;
139 70:__UG_NAME__ -> 71:b ;
140 67:__UG_NAME__ -> 71:a ;
141 78:__UG_NAME__ -> 79:b ;
142 38:__UG_NAME__ -> 39:a ;
143 75:__UG_NAME__ -> 76:b ;
144 1:__UG_NAME__ -> 37:a ;
145 21:__UG_NAME__ -> 22:a ;
146 26:__UG_NAME__ -> 27:a ;
147 30:__UG_NAME__ -> 31:a ;
148 33:__UG_NAME__ -> 34:a ;
149 44:__UG_NAME__ -> 45:a ;
150 52:__UG_NAME__ -> 53:a ;
151 56:__UG_NAME__ -> 57:a ;
152 59:__UG_NAME__ -> 66:a ;
153 69:__UG_NAME__ -> 70:a ;
154 20:__UG_NAME__ -> 21:a ;
155 25:__UG_NAME__ -> 26:a ;
156 29:__UG_NAME__ -> 30:a ;
157 43:__UG_NAME__ -> 44:a ;
158 51:__UG_NAME__ -> 52:a ;
159 55:__UG_NAME__ -> 56:a ;
160 58:__UG_NAME__ -> 59:a ;
161 68:__UG_NAME__ -> 69:a ;
162 1:__UG_NAME__ -> 75:a ;
163 72:__UG_NAME__ -> 73:level ;
164 64:__UG_NAME__ -> 73:pos ;
165 62:__UG_NAME__ -> 73:right ;
166 61:__UG_NAME__ -> 73:left ;
167 0:__UG_NAME__ -> 77:buf ;
168 0:__UG_NAME__ -> 38:buf ;
169 0:__UG_NAME__ -> 35:buf ;
170 32:__UG_NAME__ -> 33:gate ;
171 11:__UG_NAME__ -> 33:envelope___control___0 ;
172 11:__UG_NAME__ -> 33:envelope___control___4 ;
173 12:__UG_NAME__ -> 33:envelope___control___5 ;
174 13:__UG_NAME__ -> 33:envelope___control___6 ;
175 14:__UG_NAME__ -> 33:envelope___control___7 ;
176 46:__UG_NAME__ -> 47:gate ;
177 15:__UG_NAME__ -> 47:envelope___control___0 ;
178 15:__UG_NAME__ -> 47:envelope___control___4 ;
179 16:__UG_NAME__ -> 47:envelope___control___5 ;
180 17:__UG_NAME__ -> 47:envelope___control___6 ;
181 18:__UG_NAME__ -> 47:envelope___control___7 ;
182 63:__UG_NAME__ -> 64:gate ;
183 7:__UG_NAME__ -> 64:envelope___control___0 ;
184 7:__UG_NAME__ -> 64:envelope___control___4 ;
185 8:__UG_NAME__ -> 64:envelope___control___5 ;
186 9:__UG_NAME__ -> 64:envelope___control___6 ;
187 10:__UG_NAME__ -> 64:envelope___control___7 ;
188 71:__UG_NAME__ -> 72:gate ;
189 3:__UG_NAME__ -> 72:envelope___control___0 ;
190 3:__UG_NAME__ -> 72:envelope___control___4 ;
191 4:__UG_NAME__ -> 72:envelope___control___5 ;
192 5:__UG_NAME__ -> 72:envelope___control___6 ;
193 6:__UG_NAME__ -> 72:envelope___control___7 ;
194 15:__UG_NAME__ -> 20:in ;
195 11:__UG_NAME__ -> 25:in ;
196 12:__UG_NAME__ -> 29:in ;
197 16:__UG_NAME__ -> 43:in ;
198 7:__UG_NAME__ -> 51:in ;
199 8:__UG_NAME__ -> 55:in ;
200 3:__UG_NAME__ -> 58:in ;
201 4:__UG_NAME__ -> 68:in ;
202 79:__UG_NAME__ -> 80:dur ;
203 33:__UG_NAME__ -> 42:a ;
204 47:__UG_NAME__ -> 48:in ;
205 73:__UG_NAME__ -> 74:signals___balance2___0 ;
206 73:__UG_NAME__ -> 74:signals___balance2___1 ;
207 2:__UG_NAME__ -> 74:bus ;
208 40:__UG_NAME__ -> 41:start____pos ;
209 36:__UG_NAME__ -> 41:rate ;
210 0:__UG_NAME__ -> 41:bufnum ;
211 48:__UG_NAME__ -> 49:rq ;
212 42:__UG_NAME__ -> 49:freq ;
213 41:__UG_NAME__ -> 49:in ;
214 48:__UG_NAME__ -> 60:rq ;
215 42:__UG_NAME__ -> 60:freq ;
216 41:__UG_NAME__ -> 60:in ;
217 39:__UG_NAME__ -> 40:array___binary____op____u____gen___1 ;
218 37:__UG_NAME__ -> 40:which ;
219 41:__UG_NAME__ -> 61:array___play____buf___0 ;
220 60:__UG_NAME__ -> 61:array___rlpf___1 ;
221 34:__UG_NAME__ -> 61:which ;
222 41:__UG_NAME__ -> 62:array___play____buf___0 ;
223 49:__UG_NAME__ -> 62:array___rlpf___1 ;
224 34:__UG_NAME__ -> 62:which ;
225
226 }
+0
-180
etc/synthdefs/graphviz/sonic-pi-beep.dot less more
0 digraph synthdef {
1 56 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 57 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 26 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 30 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 36 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 42 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 46 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 49 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 53 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
10 25 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
11 29 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
12 35 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 38 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 45 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 48 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 24 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
17 28 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
18 34 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
19 37 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
20 40 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 44 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 0 [label = "control
23 :note
24 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
25 1 [label = "control
26 :note_slide
27 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
28 2 [label = "control
29 :note_slide_shape
30 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 3 [label = "control
32 :note_slide_curve
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 4 [label = "control
35 :amp
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 5 [label = "control
38 :amp_slide
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 6 [label = "control
41 :amp_slide_shape
42 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 7 [label = "control
44 :amp_slide_curve
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 8 [label = "control
47 :pan
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 9 [label = "control
50 :pan_slide
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 10 [label = "control
53 :pan_slide_shape
54 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 11 [label = "control
56 :pan_slide_curve
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 12 [label = "control
59 :attack
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 13 [label = "control
62 :decay
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 14 [label = "control
65 :sustain
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 15 [label = "control
68 :release
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 16 [label = "control
71 :attack_level
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 17 [label = "control
74 :decay_level
75 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 18 [label = "control
77 :sustain_level
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 19 [label = "control
80 :env_curve
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 20 [label = "control
83 :out_bus
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 31 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
86 47 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 50 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 55 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 21 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
90 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
91 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 22 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
96 32 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
97 41 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
98 51 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
99 59 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
100 58 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
101 54 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
102 52 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
103
104 55:__UG_NAME__ -> 56:b ;
105 52:__UG_NAME__ -> 57:b ;
106 56:__UG_NAME__ -> 57:a ;
107 25:__UG_NAME__ -> 26:b ;
108 22:__UG_NAME__ -> 26:a ;
109 29:__UG_NAME__ -> 30:b ;
110 26:__UG_NAME__ -> 30:a ;
111 35:__UG_NAME__ -> 36:b ;
112 32:__UG_NAME__ -> 36:a ;
113 38:__UG_NAME__ -> 42:b ;
114 41:__UG_NAME__ -> 42:a ;
115 45:__UG_NAME__ -> 46:b ;
116 42:__UG_NAME__ -> 46:a ;
117 48:__UG_NAME__ -> 49:b ;
118 36:__UG_NAME__ -> 49:a ;
119 17:__UG_NAME__ -> 53:b ;
120 24:__UG_NAME__ -> 25:a ;
121 28:__UG_NAME__ -> 29:a ;
122 34:__UG_NAME__ -> 35:a ;
123 37:__UG_NAME__ -> 38:a ;
124 44:__UG_NAME__ -> 45:a ;
125 40:__UG_NAME__ -> 48:a ;
126 23:__UG_NAME__ -> 24:a ;
127 27:__UG_NAME__ -> 28:a ;
128 33:__UG_NAME__ -> 34:a ;
129 21:__UG_NAME__ -> 37:a ;
130 39:__UG_NAME__ -> 40:a ;
131 43:__UG_NAME__ -> 44:a ;
132 30:__UG_NAME__ -> 31:gate ;
133 8:__UG_NAME__ -> 31:envelope___control___0 ;
134 8:__UG_NAME__ -> 31:envelope___control___4 ;
135 9:__UG_NAME__ -> 31:envelope___control___5 ;
136 10:__UG_NAME__ -> 31:envelope___control___6 ;
137 11:__UG_NAME__ -> 31:envelope___control___7 ;
138 46:__UG_NAME__ -> 47:gate ;
139 4:__UG_NAME__ -> 47:envelope___control___0 ;
140 4:__UG_NAME__ -> 47:envelope___control___4 ;
141 5:__UG_NAME__ -> 47:envelope___control___5 ;
142 6:__UG_NAME__ -> 47:envelope___control___6 ;
143 7:__UG_NAME__ -> 47:envelope___control___7 ;
144 49:__UG_NAME__ -> 50:gate ;
145 0:__UG_NAME__ -> 50:envelope___control___0 ;
146 0:__UG_NAME__ -> 50:envelope___control___4 ;
147 1:__UG_NAME__ -> 50:envelope___control___5 ;
148 2:__UG_NAME__ -> 50:envelope___control___6 ;
149 3:__UG_NAME__ -> 50:envelope___control___7 ;
150 16:__UG_NAME__ -> 55:envelope___control___4 ;
151 12:__UG_NAME__ -> 55:envelope___control___5 ;
152 19:__UG_NAME__ -> 55:envelope___control___6 ;
153 54:__UG_NAME__ -> 55:envelope___select___8 ;
154 13:__UG_NAME__ -> 55:envelope___control___9 ;
155 19:__UG_NAME__ -> 55:envelope___control___10 ;
156 18:__UG_NAME__ -> 55:envelope___control___12 ;
157 14:__UG_NAME__ -> 55:envelope___control___13 ;
158 19:__UG_NAME__ -> 55:envelope___control___14 ;
159 15:__UG_NAME__ -> 55:envelope___control___17 ;
160 19:__UG_NAME__ -> 55:envelope___control___18 ;
161 4:__UG_NAME__ -> 21:in ;
162 8:__UG_NAME__ -> 23:in ;
163 9:__UG_NAME__ -> 27:in ;
164 0:__UG_NAME__ -> 33:in ;
165 1:__UG_NAME__ -> 39:in ;
166 5:__UG_NAME__ -> 43:in ;
167 50:__UG_NAME__ -> 51:a ;
168 58:__UG_NAME__ -> 59:signals___pan2___0 ;
169 58:__UG_NAME__ -> 59:signals___pan2___1 ;
170 20:__UG_NAME__ -> 59:bus ;
171 47:__UG_NAME__ -> 58:level ;
172 31:__UG_NAME__ -> 58:pos ;
173 57:__UG_NAME__ -> 58:in ;
174 17:__UG_NAME__ -> 54:array___control___0 ;
175 18:__UG_NAME__ -> 54:array___control___1 ;
176 53:__UG_NAME__ -> 54:which ;
177 51:__UG_NAME__ -> 52:freq ;
178
179 }
+0
-223
etc/synthdefs/graphviz/sonic-pi-bnoise.dot less more
0 digraph synthdef {
1 62 [label = "{{ <a> 1.2|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 63 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 35 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 42 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 45 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 50 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 65 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 67 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 69 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 72 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 57 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 27 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 34 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 38 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 41 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 44 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 49 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 66 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 71 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 26 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 30 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 33 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 37 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 43 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 48 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 55 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 68 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 60 [label = "{<__UG_NAME__>brown-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
29 0 [label = "control
30 :amp
31 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
32 1 [label = "control
33 :amp_slide
34 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
35 2 [label = "control
36 :amp_slide_shape
37 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 3 [label = "control
39 :amp_slide_curve
40 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 4 [label = "control
42 :pan
43 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 5 [label = "control
45 :pan_slide
46 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 6 [label = "control
48 :pan_slide_shape
49 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 7 [label = "control
51 :pan_slide_curve
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 8 [label = "control
54 :attack
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 9 [label = "control
57 :sustain
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 10 [label = "control
60 :decay
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 11 [label = "control
63 :release
64 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 12 [label = "control
66 :attack_level
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 13 [label = "control
69 :decay_level
70 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 14 [label = "control
72 :sustain_level
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 15 [label = "control
75 :env_curve
76 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 16 [label = "control
78 :cutoff
79 default: 110.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 17 [label = "control
81 :cutoff_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 18 [label = "control
84 :cutoff_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 19 [label = "control
87 :cutoff_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 20 [label = "control
90 :res
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 21 [label = "control
93 :res_slide
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 22 [label = "control
96 :res_slide_shape
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 23 [label = "control
99 :res_slide_curve
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 24 [label = "control
102 :out_bus
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 46 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 51 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 59 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 70 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 73 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
109 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 29 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 31 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 40 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 56 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 64 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 52 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
122 28 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
123 75 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
124 74 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
125 61 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
126 58 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
127
128 61:__UG_NAME__ -> 62:b ;
129 59:__UG_NAME__ -> 63:b ;
130 62:__UG_NAME__ -> 63:a ;
131 34:__UG_NAME__ -> 35:b ;
132 31:__UG_NAME__ -> 35:a ;
133 41:__UG_NAME__ -> 42:b ;
134 40:__UG_NAME__ -> 42:a ;
135 44:__UG_NAME__ -> 45:b ;
136 42:__UG_NAME__ -> 45:a ;
137 49:__UG_NAME__ -> 50:b ;
138 35:__UG_NAME__ -> 50:a ;
139 27:__UG_NAME__ -> 65:b ;
140 64:__UG_NAME__ -> 65:a ;
141 66:__UG_NAME__ -> 67:b ;
142 65:__UG_NAME__ -> 67:a ;
143 38:__UG_NAME__ -> 69:b ;
144 56:__UG_NAME__ -> 69:a ;
145 71:__UG_NAME__ -> 72:b ;
146 69:__UG_NAME__ -> 72:a ;
147 13:__UG_NAME__ -> 57:b ;
148 26:__UG_NAME__ -> 27:a ;
149 33:__UG_NAME__ -> 34:a ;
150 37:__UG_NAME__ -> 38:a ;
151 30:__UG_NAME__ -> 41:a ;
152 43:__UG_NAME__ -> 44:a ;
153 48:__UG_NAME__ -> 49:a ;
154 55:__UG_NAME__ -> 66:a ;
155 68:__UG_NAME__ -> 71:a ;
156 25:__UG_NAME__ -> 26:a ;
157 29:__UG_NAME__ -> 30:a ;
158 32:__UG_NAME__ -> 33:a ;
159 36:__UG_NAME__ -> 37:a ;
160 39:__UG_NAME__ -> 43:a ;
161 47:__UG_NAME__ -> 48:a ;
162 54:__UG_NAME__ -> 55:a ;
163 53:__UG_NAME__ -> 68:a ;
164 45:__UG_NAME__ -> 46:gate ;
165 28:__UG_NAME__ -> 46:envelope___mul____add___0 ;
166 28:__UG_NAME__ -> 46:envelope___mul____add___4 ;
167 21:__UG_NAME__ -> 46:envelope___control___5 ;
168 22:__UG_NAME__ -> 46:envelope___control___6 ;
169 23:__UG_NAME__ -> 46:envelope___control___7 ;
170 50:__UG_NAME__ -> 51:gate ;
171 16:__UG_NAME__ -> 51:envelope___control___0 ;
172 16:__UG_NAME__ -> 51:envelope___control___4 ;
173 17:__UG_NAME__ -> 51:envelope___control___5 ;
174 18:__UG_NAME__ -> 51:envelope___control___6 ;
175 19:__UG_NAME__ -> 51:envelope___control___7 ;
176 12:__UG_NAME__ -> 59:envelope___control___4 ;
177 8:__UG_NAME__ -> 59:envelope___control___5 ;
178 15:__UG_NAME__ -> 59:envelope___control___6 ;
179 58:__UG_NAME__ -> 59:envelope___select___8 ;
180 10:__UG_NAME__ -> 59:envelope___control___9 ;
181 15:__UG_NAME__ -> 59:envelope___control___10 ;
182 14:__UG_NAME__ -> 59:envelope___control___12 ;
183 9:__UG_NAME__ -> 59:envelope___control___13 ;
184 15:__UG_NAME__ -> 59:envelope___control___14 ;
185 11:__UG_NAME__ -> 59:envelope___control___17 ;
186 15:__UG_NAME__ -> 59:envelope___control___18 ;
187 67:__UG_NAME__ -> 70:gate ;
188 4:__UG_NAME__ -> 70:envelope___control___0 ;
189 4:__UG_NAME__ -> 70:envelope___control___4 ;
190 5:__UG_NAME__ -> 70:envelope___control___5 ;
191 6:__UG_NAME__ -> 70:envelope___control___6 ;
192 7:__UG_NAME__ -> 70:envelope___control___7 ;
193 72:__UG_NAME__ -> 73:gate ;
194 0:__UG_NAME__ -> 73:envelope___control___0 ;
195 0:__UG_NAME__ -> 73:envelope___control___4 ;
196 1:__UG_NAME__ -> 73:envelope___control___5 ;
197 2:__UG_NAME__ -> 73:envelope___control___6 ;
198 3:__UG_NAME__ -> 73:envelope___control___7 ;
199 4:__UG_NAME__ -> 25:in ;
200 28:__UG_NAME__ -> 29:in ;
201 16:__UG_NAME__ -> 32:in ;
202 0:__UG_NAME__ -> 36:in ;
203 21:__UG_NAME__ -> 39:in ;
204 17:__UG_NAME__ -> 47:in ;
205 1:__UG_NAME__ -> 53:in ;
206 5:__UG_NAME__ -> 54:in ;
207 51:__UG_NAME__ -> 52:a ;
208 20:__UG_NAME__ -> 28:in ;
209 74:__UG_NAME__ -> 75:signals___pan2___0 ;
210 74:__UG_NAME__ -> 75:signals___pan2___1 ;
211 24:__UG_NAME__ -> 75:bus ;
212 73:__UG_NAME__ -> 74:level ;
213 70:__UG_NAME__ -> 74:pos ;
214 63:__UG_NAME__ -> 74:in ;
215 46:__UG_NAME__ -> 61:rq ;
216 52:__UG_NAME__ -> 61:freq ;
217 60:__UG_NAME__ -> 61:in ;
218 13:__UG_NAME__ -> 58:array___control___0 ;
219 14:__UG_NAME__ -> 58:array___control___1 ;
220 57:__UG_NAME__ -> 58:which ;
221
222 }
+0
-223
etc/synthdefs/graphviz/sonic-pi-cnoise.dot less more
0 digraph synthdef {
1 64 [label = "{{ <a> 0.6|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 68 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 29 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 36 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 40 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 43 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 47 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 57 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 61 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 72 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 65 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 28 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 32 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 39 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 42 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 46 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 56 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 60 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 71 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 27 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 31 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 34 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 38 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 59 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 70 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 53 [label = "{<__UG_NAME__>clip-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
29 0 [label = "control
30 :amp
31 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
32 1 [label = "control
33 :amp_slide
34 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
35 2 [label = "control
36 :amp_slide_shape
37 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 3 [label = "control
39 :amp_slide_curve
40 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 4 [label = "control
42 :pan
43 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 5 [label = "control
45 :pan_slide
46 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 6 [label = "control
48 :pan_slide_shape
49 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 7 [label = "control
51 :pan_slide_curve
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 8 [label = "control
54 :attack
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 9 [label = "control
57 :sustain
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 10 [label = "control
60 :decay
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 11 [label = "control
63 :release
64 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 12 [label = "control
66 :attack_level
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 13 [label = "control
69 :decay_level
70 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 14 [label = "control
72 :sustain_level
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 15 [label = "control
75 :env_curve
76 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 16 [label = "control
78 :cutoff
79 default: 110.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 17 [label = "control
81 :cutoff_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 18 [label = "control
84 :cutoff_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 19 [label = "control
87 :cutoff_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 20 [label = "control
90 :res
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 21 [label = "control
93 :res_slide
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 22 [label = "control
96 :res_slide_shape
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 23 [label = "control
99 :res_slide_curve
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 24 [label = "control
102 :out_bus
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 48 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 52 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 62 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 67 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 73 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
109 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 69 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 25 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 35 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 41 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 55 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 54 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
122 49 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
123 75 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
124 74 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
125 63 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
126 66 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
127
128 63:__UG_NAME__ -> 64:b ;
129 67:__UG_NAME__ -> 68:b ;
130 64:__UG_NAME__ -> 68:a ;
131 28:__UG_NAME__ -> 29:b ;
132 25:__UG_NAME__ -> 29:a ;
133 32:__UG_NAME__ -> 36:b ;
134 35:__UG_NAME__ -> 36:a ;
135 39:__UG_NAME__ -> 40:b ;
136 36:__UG_NAME__ -> 40:a ;
137 42:__UG_NAME__ -> 43:b ;
138 41:__UG_NAME__ -> 43:a ;
139 46:__UG_NAME__ -> 47:b ;
140 43:__UG_NAME__ -> 47:a ;
141 56:__UG_NAME__ -> 57:b ;
142 55:__UG_NAME__ -> 57:a ;
143 60:__UG_NAME__ -> 61:b ;
144 57:__UG_NAME__ -> 61:a ;
145 71:__UG_NAME__ -> 72:b ;
146 29:__UG_NAME__ -> 72:a ;
147 13:__UG_NAME__ -> 65:b ;
148 27:__UG_NAME__ -> 28:a ;
149 31:__UG_NAME__ -> 32:a ;
150 38:__UG_NAME__ -> 39:a ;
151 34:__UG_NAME__ -> 42:a ;
152 45:__UG_NAME__ -> 46:a ;
153 51:__UG_NAME__ -> 56:a ;
154 59:__UG_NAME__ -> 60:a ;
155 70:__UG_NAME__ -> 71:a ;
156 26:__UG_NAME__ -> 27:a ;
157 30:__UG_NAME__ -> 31:a ;
158 33:__UG_NAME__ -> 34:a ;
159 37:__UG_NAME__ -> 38:a ;
160 44:__UG_NAME__ -> 45:a ;
161 50:__UG_NAME__ -> 51:a ;
162 58:__UG_NAME__ -> 59:a ;
163 69:__UG_NAME__ -> 70:a ;
164 47:__UG_NAME__ -> 48:gate ;
165 0:__UG_NAME__ -> 48:envelope___control___0 ;
166 0:__UG_NAME__ -> 48:envelope___control___4 ;
167 1:__UG_NAME__ -> 48:envelope___control___5 ;
168 2:__UG_NAME__ -> 48:envelope___control___6 ;
169 3:__UG_NAME__ -> 48:envelope___control___7 ;
170 40:__UG_NAME__ -> 52:gate ;
171 16:__UG_NAME__ -> 52:envelope___control___0 ;
172 16:__UG_NAME__ -> 52:envelope___control___4 ;
173 17:__UG_NAME__ -> 52:envelope___control___5 ;
174 18:__UG_NAME__ -> 52:envelope___control___6 ;
175 19:__UG_NAME__ -> 52:envelope___control___7 ;
176 61:__UG_NAME__ -> 62:gate ;
177 49:__UG_NAME__ -> 62:envelope___mul____add___0 ;
178 49:__UG_NAME__ -> 62:envelope___mul____add___4 ;
179 21:__UG_NAME__ -> 62:envelope___control___5 ;
180 22:__UG_NAME__ -> 62:envelope___control___6 ;
181 23:__UG_NAME__ -> 62:envelope___control___7 ;
182 12:__UG_NAME__ -> 67:envelope___control___4 ;
183 8:__UG_NAME__ -> 67:envelope___control___5 ;
184 15:__UG_NAME__ -> 67:envelope___control___6 ;
185 66:__UG_NAME__ -> 67:envelope___select___8 ;
186 10:__UG_NAME__ -> 67:envelope___control___9 ;
187 15:__UG_NAME__ -> 67:envelope___control___10 ;
188 14:__UG_NAME__ -> 67:envelope___control___12 ;
189 9:__UG_NAME__ -> 67:envelope___control___13 ;
190 15:__UG_NAME__ -> 67:envelope___control___14 ;
191 11:__UG_NAME__ -> 67:envelope___control___17 ;
192 15:__UG_NAME__ -> 67:envelope___control___18 ;
193 72:__UG_NAME__ -> 73:gate ;
194 4:__UG_NAME__ -> 73:envelope___control___0 ;
195 4:__UG_NAME__ -> 73:envelope___control___4 ;
196 5:__UG_NAME__ -> 73:envelope___control___5 ;
197 6:__UG_NAME__ -> 73:envelope___control___6 ;
198 7:__UG_NAME__ -> 73:envelope___control___7 ;
199 4:__UG_NAME__ -> 26:in ;
200 16:__UG_NAME__ -> 30:in ;
201 0:__UG_NAME__ -> 33:in ;
202 17:__UG_NAME__ -> 37:in ;
203 1:__UG_NAME__ -> 44:in ;
204 49:__UG_NAME__ -> 50:in ;
205 21:__UG_NAME__ -> 58:in ;
206 5:__UG_NAME__ -> 69:in ;
207 52:__UG_NAME__ -> 54:a ;
208 20:__UG_NAME__ -> 49:in ;
209 74:__UG_NAME__ -> 75:signals___pan2___0 ;
210 74:__UG_NAME__ -> 75:signals___pan2___1 ;
211 24:__UG_NAME__ -> 75:bus ;
212 48:__UG_NAME__ -> 74:level ;
213 73:__UG_NAME__ -> 74:pos ;
214 68:__UG_NAME__ -> 74:in ;
215 62:__UG_NAME__ -> 63:rq ;
216 54:__UG_NAME__ -> 63:freq ;
217 53:__UG_NAME__ -> 63:in ;
218 13:__UG_NAME__ -> 66:array___control___0 ;
219 14:__UG_NAME__ -> 66:array___control___1 ;
220 65:__UG_NAME__ -> 66:which ;
221
222 }
+0
-430
etc/synthdefs/graphviz/sonic-pi-dark_ambience.dot less more
0 digraph synthdef {
1 49 [label = "{{ <a> 0.005|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 50 [label = "{{ <a> 0.002|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 52 [label = "{{ <a> 0.002|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 54 [label = "{{ <a> 0.001|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 56 [label = "{{ <a> 0.001|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 95 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 102 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 103 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 109 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
10 132 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 59 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 67 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
14 71 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 75 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 77 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 80 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
18 85 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 89 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 91 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 94 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
22 114 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 118 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 126 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 128 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 138 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 142 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 145 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 149 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 99 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
31 46 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 62 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 70 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 74 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 84 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 88 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 98 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 113 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 117 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 125 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 127 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 137 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 141 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 148 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 42 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 61 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 69 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 73 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 83 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 87 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 97 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 104 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 112 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 116 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 124 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 136 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 140 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 147 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 151 [label = "{{ <left> left|<right> right|<pos> pos|<level> level} |<__UG_NAME__>balance2 }" style="filled, bold, rounded" shape=record rankdir=LR];
61 47 [label = "{<__UG_NAME__>brown-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
62 53 [label = "{<__UG_NAME__>clip-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
63 0 [label = "control
64 :note
65 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 1 [label = "control
67 :note_slide
68 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 2 [label = "control
70 :note_slide_shape
71 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 3 [label = "control
73 :note_slide_curve
74 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 4 [label = "control
76 :amp
77 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 5 [label = "control
79 :amp_slide
80 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 6 [label = "control
82 :amp_slide_shape
83 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 7 [label = "control
85 :amp_slide_curve
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 8 [label = "control
88 :pan
89 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 9 [label = "control
91 :pan_slide
92 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 10 [label = "control
94 :pan_slide_shape
95 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 11 [label = "control
97 :pan_slide_curve
98 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 12 [label = "control
100 :attack
101 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 13 [label = "control
103 :decay
104 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 14 [label = "control
106 :sustain
107 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 15 [label = "control
109 :release
110 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 16 [label = "control
112 :attack_level
113 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 17 [label = "control
115 :decay_level
116 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 18 [label = "control
118 :sustain_level
119 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 19 [label = "control
121 :env_curve
122 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 20 [label = "control
124 :cutoff
125 default: 110.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 21 [label = "control
127 :cutoff_slide
128 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 22 [label = "control
130 :cutoff_slide_shape
131 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 23 [label = "control
133 :cutoff_slide_curve
134 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 24 [label = "control
136 :res
137 default: 0.7" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 25 [label = "control
139 :res_slide
140 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 26 [label = "control
142 :res_slide_shape
143 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 27 [label = "control
145 :res_slide_curve
146 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 28 [label = "control
148 :detune1
149 default: 12.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
150 29 [label = "control
151 :detune1_slide
152 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
153 30 [label = "control
154 :detune1_slide_shape
155 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
156 31 [label = "control
157 :detune1_slide_curve
158 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
159 32 [label = "control
160 :detune2
161 default: 24.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
162 33 [label = "control
163 :detune2_slide
164 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
165 34 [label = "control
166 :detune2_slide_shape
167 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
168 35 [label = "control
169 :detune2_slide_curve
170 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
171 36 [label = "control
172 :noise
173 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
174 37 [label = "control
175 :ring
176 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
177 38 [label = "control
178 :room
179 default: 70.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
180 39 [label = "control
181 :reverb_time
182 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
183 40 [label = "control
184 :out_bus
185 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
186 64 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
187 76 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
188 90 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
189 101 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
190 119 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
191 129 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
192 143 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
193 150 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
194 107 [label = "{{ <in> in|<taillevel> taillevel 0.5|<earlyreflevel> earlyreflevel 0.7|<roomsize> roomsize|<damping> damping 0.5|<inputbw> inputbw 0.5|<maxroomsize> maxroomsize 300.0|<revtime> revtime|<spread> spread 15.0|<drylevel> drylevel 1.0} |<__UG_NAME__>g-verb }" style="filled, bold, rounded" shape=record rankdir=LR];
195 55 [label = "{<__UG_NAME__>gray-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
196 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
197 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
198 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
199 68 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
200 72 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
201 82 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
202 86 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
203 96 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
204 111 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
205 115 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
206 123 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
207 135 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
208 139 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
209 146 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
210 43 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
211 58 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
212 81 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
213 110 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
214 121 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
215 134 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
216 144 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
217 106 [label = "{{ <a> 0.1|<b> } |<__UG_NAME__>max }" style="bold, rounded" shape=record rankdir=LR];
218 65 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
219 78 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
220 92 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
221 120 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
222 105 [label = "{{ <a> 300.0|<b> } |<__UG_NAME__>min }" style="bold, rounded" shape=record rankdir=LR];
223 122 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
224 152 [label = "{{ <bus> bus|{{<signals___balance2___0>|<signals___balance2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
225 48 [label = "{<__UG_NAME__>pink-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
226 66 [label = "{{ <in> in|<freq> freq|<decay____time> decay-time} |<__UG_NAME__>ringz }" style="filled, bold, rounded" shape=record rankdir=LR];
227 79 [label = "{{ <in> in|<freq> freq|<decay____time> decay-time} |<__UG_NAME__>ringz }" style="filled, bold, rounded" shape=record rankdir=LR];
228 93 [label = "{{ <in> in|<freq> freq|<decay____time> decay-time} |<__UG_NAME__>ringz }" style="filled, bold, rounded" shape=record rankdir=LR];
229 130 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
230 133 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
231 57 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___binary____op____u____gen___2>|<array___binary____op____u____gen___3>|<array___binary____op____u____gen___4>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
232 100 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
233 108 [label = "{{ <a> |<b> } |<__UG_NAME__>tanh }" style="filled, bold, rounded" shape=record rankdir=LR];
234 131 [label = "{{ <a> |<b> } |<__UG_NAME__>tanh }" style="filled, bold, rounded" shape=record rankdir=LR];
235 51 [label = "{<__UG_NAME__>white-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
236
237 48:__UG_NAME__ -> 49:b ;
238 47:__UG_NAME__ -> 50:b ;
239 51:__UG_NAME__ -> 52:b ;
240 53:__UG_NAME__ -> 54:b ;
241 55:__UG_NAME__ -> 56:b ;
242 94:__UG_NAME__ -> 95:a ;
243 101:__UG_NAME__ -> 102:b ;
244 95:__UG_NAME__ -> 103:b ;
245 101:__UG_NAME__ -> 103:a ;
246 108:__UG_NAME__ -> 109:b ;
247 102:__UG_NAME__ -> 109:a ;
248 131:__UG_NAME__ -> 132:b ;
249 102:__UG_NAME__ -> 132:a ;
250 46:__UG_NAME__ -> 59:b ;
251 58:__UG_NAME__ -> 59:a ;
252 62:__UG_NAME__ -> 63:b ;
253 59:__UG_NAME__ -> 63:a ;
254 66:__UG_NAME__ -> 67:b ;
255 66:__UG_NAME__ -> 67:a ;
256 70:__UG_NAME__ -> 71:b ;
257 43:__UG_NAME__ -> 71:a ;
258 74:__UG_NAME__ -> 75:b ;
259 71:__UG_NAME__ -> 75:a ;
260 76:__UG_NAME__ -> 77:b ;
261 64:__UG_NAME__ -> 77:a ;
262 79:__UG_NAME__ -> 80:b ;
263 67:__UG_NAME__ -> 80:a ;
264 84:__UG_NAME__ -> 85:b ;
265 81:__UG_NAME__ -> 85:a ;
266 88:__UG_NAME__ -> 89:b ;
267 85:__UG_NAME__ -> 89:a ;
268 90:__UG_NAME__ -> 91:b ;
269 64:__UG_NAME__ -> 91:a ;
270 93:__UG_NAME__ -> 94:b ;
271 80:__UG_NAME__ -> 94:a ;
272 113:__UG_NAME__ -> 114:b ;
273 110:__UG_NAME__ -> 114:a ;
274 117:__UG_NAME__ -> 118:b ;
275 114:__UG_NAME__ -> 118:a ;
276 125:__UG_NAME__ -> 126:b ;
277 121:__UG_NAME__ -> 126:a ;
278 127:__UG_NAME__ -> 128:b ;
279 126:__UG_NAME__ -> 128:a ;
280 137:__UG_NAME__ -> 138:b ;
281 134:__UG_NAME__ -> 138:a ;
282 141:__UG_NAME__ -> 142:b ;
283 138:__UG_NAME__ -> 142:a ;
284 98:__UG_NAME__ -> 145:b ;
285 144:__UG_NAME__ -> 145:a ;
286 148:__UG_NAME__ -> 149:b ;
287 145:__UG_NAME__ -> 149:a ;
288 17:__UG_NAME__ -> 99:b ;
289 45:__UG_NAME__ -> 46:a ;
290 61:__UG_NAME__ -> 62:a ;
291 69:__UG_NAME__ -> 70:a ;
292 73:__UG_NAME__ -> 74:a ;
293 83:__UG_NAME__ -> 84:a ;
294 87:__UG_NAME__ -> 88:a ;
295 97:__UG_NAME__ -> 98:a ;
296 112:__UG_NAME__ -> 113:a ;
297 116:__UG_NAME__ -> 117:a ;
298 124:__UG_NAME__ -> 125:a ;
299 42:__UG_NAME__ -> 127:a ;
300 136:__UG_NAME__ -> 137:a ;
301 140:__UG_NAME__ -> 141:a ;
302 147:__UG_NAME__ -> 148:a ;
303 41:__UG_NAME__ -> 42:a ;
304 44:__UG_NAME__ -> 45:a ;
305 60:__UG_NAME__ -> 61:a ;
306 68:__UG_NAME__ -> 69:a ;
307 72:__UG_NAME__ -> 73:a ;
308 82:__UG_NAME__ -> 83:a ;
309 86:__UG_NAME__ -> 87:a ;
310 96:__UG_NAME__ -> 97:a ;
311 38:__UG_NAME__ -> 104:a ;
312 111:__UG_NAME__ -> 112:a ;
313 115:__UG_NAME__ -> 116:a ;
314 123:__UG_NAME__ -> 124:a ;
315 135:__UG_NAME__ -> 136:a ;
316 139:__UG_NAME__ -> 140:a ;
317 146:__UG_NAME__ -> 147:a ;
318 150:__UG_NAME__ -> 151:level ;
319 143:__UG_NAME__ -> 151:pos ;
320 133:__UG_NAME__ -> 151:right ;
321 130:__UG_NAME__ -> 151:left ;
322 63:__UG_NAME__ -> 64:gate ;
323 0:__UG_NAME__ -> 64:envelope___control___0 ;
324 0:__UG_NAME__ -> 64:envelope___control___4 ;
325 1:__UG_NAME__ -> 64:envelope___control___5 ;
326 2:__UG_NAME__ -> 64:envelope___control___6 ;
327 3:__UG_NAME__ -> 64:envelope___control___7 ;
328 75:__UG_NAME__ -> 76:gate ;
329 28:__UG_NAME__ -> 76:envelope___control___0 ;
330 28:__UG_NAME__ -> 76:envelope___control___4 ;
331 29:__UG_NAME__ -> 76:envelope___control___5 ;
332 30:__UG_NAME__ -> 76:envelope___control___6 ;
333 31:__UG_NAME__ -> 76:envelope___control___7 ;
334 89:__UG_NAME__ -> 90:gate ;
335 32:__UG_NAME__ -> 90:envelope___control___0 ;
336 32:__UG_NAME__ -> 90:envelope___control___4 ;
337 33:__UG_NAME__ -> 90:envelope___control___5 ;
338 34:__UG_NAME__ -> 90:envelope___control___6 ;
339 35:__UG_NAME__ -> 90:envelope___control___7 ;
340 16:__UG_NAME__ -> 101:envelope___control___4 ;
341 12:__UG_NAME__ -> 101:envelope___control___5 ;
342 19:__UG_NAME__ -> 101:envelope___control___6 ;
343 100:__UG_NAME__ -> 101:envelope___select___8 ;
344 13:__UG_NAME__ -> 101:envelope___control___9 ;
345 19:__UG_NAME__ -> 101:envelope___control___10 ;
346 18:__UG_NAME__ -> 101:envelope___control___12 ;
347 14:__UG_NAME__ -> 101:envelope___control___13 ;
348 19:__UG_NAME__ -> 101:envelope___control___14 ;
349 15:__UG_NAME__ -> 101:envelope___control___17 ;
350 19:__UG_NAME__ -> 101:envelope___control___18 ;
351 118:__UG_NAME__ -> 119:gate ;
352 20:__UG_NAME__ -> 119:envelope___control___0 ;
353 20:__UG_NAME__ -> 119:envelope___control___4 ;
354 21:__UG_NAME__ -> 119:envelope___control___5 ;
355 22:__UG_NAME__ -> 119:envelope___control___6 ;
356 23:__UG_NAME__ -> 119:envelope___control___7 ;
357 128:__UG_NAME__ -> 129:gate ;
358 122:__UG_NAME__ -> 129:envelope___mul____add___0 ;
359 122:__UG_NAME__ -> 129:envelope___mul____add___4 ;
360 25:__UG_NAME__ -> 129:envelope___control___5 ;
361 26:__UG_NAME__ -> 129:envelope___control___6 ;
362 27:__UG_NAME__ -> 129:envelope___control___7 ;
363 142:__UG_NAME__ -> 143:gate ;
364 8:__UG_NAME__ -> 143:envelope___control___0 ;
365 8:__UG_NAME__ -> 143:envelope___control___4 ;
366 9:__UG_NAME__ -> 143:envelope___control___5 ;
367 10:__UG_NAME__ -> 143:envelope___control___6 ;
368 11:__UG_NAME__ -> 143:envelope___control___7 ;
369 149:__UG_NAME__ -> 150:gate ;
370 4:__UG_NAME__ -> 150:envelope___control___0 ;
371 4:__UG_NAME__ -> 150:envelope___control___4 ;
372 5:__UG_NAME__ -> 150:envelope___control___5 ;
373 6:__UG_NAME__ -> 150:envelope___control___6 ;
374 7:__UG_NAME__ -> 150:envelope___control___7 ;
375 39:__UG_NAME__ -> 107:revtime ;
376 106:__UG_NAME__ -> 107:roomsize ;
377 103:__UG_NAME__ -> 107:in ;
378 25:__UG_NAME__ -> 41:in ;
379 0:__UG_NAME__ -> 44:in ;
380 1:__UG_NAME__ -> 60:in ;
381 28:__UG_NAME__ -> 68:in ;
382 29:__UG_NAME__ -> 72:in ;
383 32:__UG_NAME__ -> 82:in ;
384 33:__UG_NAME__ -> 86:in ;
385 4:__UG_NAME__ -> 96:in ;
386 20:__UG_NAME__ -> 111:in ;
387 21:__UG_NAME__ -> 115:in ;
388 122:__UG_NAME__ -> 123:in ;
389 8:__UG_NAME__ -> 135:in ;
390 9:__UG_NAME__ -> 139:in ;
391 5:__UG_NAME__ -> 146:in ;
392 105:__UG_NAME__ -> 106:b ;
393 64:__UG_NAME__ -> 65:a ;
394 77:__UG_NAME__ -> 78:a ;
395 91:__UG_NAME__ -> 92:a ;
396 119:__UG_NAME__ -> 120:a ;
397 104:__UG_NAME__ -> 105:b ;
398 24:__UG_NAME__ -> 122:in ;
399 151:__UG_NAME__ -> 152:signals___balance2___0 ;
400 151:__UG_NAME__ -> 152:signals___balance2___1 ;
401 40:__UG_NAME__ -> 152:bus ;
402 37:__UG_NAME__ -> 66:decay____time ;
403 65:__UG_NAME__ -> 66:freq ;
404 57:__UG_NAME__ -> 66:in ;
405 37:__UG_NAME__ -> 79:decay____time ;
406 78:__UG_NAME__ -> 79:freq ;
407 57:__UG_NAME__ -> 79:in ;
408 37:__UG_NAME__ -> 93:decay____time ;
409 92:__UG_NAME__ -> 93:freq ;
410 57:__UG_NAME__ -> 93:in ;
411 129:__UG_NAME__ -> 130:rq ;
412 120:__UG_NAME__ -> 130:freq ;
413 109:__UG_NAME__ -> 130:in ;
414 129:__UG_NAME__ -> 133:rq ;
415 120:__UG_NAME__ -> 133:freq ;
416 132:__UG_NAME__ -> 133:in ;
417 49:__UG_NAME__ -> 57:array___binary____op____u____gen___0 ;
418 50:__UG_NAME__ -> 57:array___binary____op____u____gen___1 ;
419 52:__UG_NAME__ -> 57:array___binary____op____u____gen___2 ;
420 54:__UG_NAME__ -> 57:array___binary____op____u____gen___3 ;
421 56:__UG_NAME__ -> 57:array___binary____op____u____gen___4 ;
422 36:__UG_NAME__ -> 57:which ;
423 17:__UG_NAME__ -> 100:array___control___0 ;
424 18:__UG_NAME__ -> 100:array___control___1 ;
425 99:__UG_NAME__ -> 100:which ;
426 107:__UG_NAME__ -> 108:a ;
427 107:__UG_NAME__ -> 131:a ;
428
429 }
+0
-377
etc/synthdefs/graphviz/sonic-pi-dpulse.dot less more
0 digraph synthdef {
1 117 [label = "{{ <a> 1.1|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 119 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 60 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 72 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 77 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 81 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 85 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 86 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 88 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 92 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 97 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 103 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
14 106 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 110 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 122 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 125 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 128 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 104 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
20 40 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
21 41 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
22 46 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
23 65 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
24 98 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
25 39 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 55 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 59 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 63 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 71 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 76 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 80 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 91 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 96 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 105 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 109 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 121 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 124 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 127 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 38 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 43 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 54 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 58 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 62 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 70 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 75 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 79 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 95 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 108 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 115 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 123 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 0 [label = "control
54 :note
55 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 1 [label = "control
57 :note_slide
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 2 [label = "control
60 :note_slide_shape
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 3 [label = "control
63 :note_slide_curve
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 4 [label = "control
66 :amp
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 5 [label = "control
69 :amp_slide
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 6 [label = "control
72 :amp_slide_shape
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 7 [label = "control
75 :amp_slide_curve
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 8 [label = "control
78 :pan
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 9 [label = "control
81 :pan_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 10 [label = "control
84 :pan_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 11 [label = "control
87 :pan_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 12 [label = "control
90 :attack
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 13 [label = "control
93 :decay
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 14 [label = "control
96 :sustain
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 15 [label = "control
99 :release
100 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 16 [label = "control
102 :attack_level
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 17 [label = "control
105 :decay_level
106 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 18 [label = "control
108 :sustain_level
109 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 19 [label = "control
111 :env_curve
112 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 20 [label = "control
114 :cutoff
115 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 21 [label = "control
117 :cutoff_slide
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 22 [label = "control
120 :cutoff_slide_shape
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 23 [label = "control
123 :cutoff_slide_curve
124 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 24 [label = "control
126 :detune
127 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 25 [label = "control
129 :detune_slide
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 26 [label = "control
132 :detune_slide_shape
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 27 [label = "control
135 :detune_slide_curve
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 28 [label = "control
138 :pulse_width
139 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 29 [label = "control
141 :pulse_width_slide
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 30 [label = "control
144 :pulse_width_slide_shape
145 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 31 [label = "control
147 :pulse_width_slide_curve
148 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 32 [label = "control
150 :dpulse_width
151 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 33 [label = "control
153 :dpulse_width_slide
154 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 34 [label = "control
156 :dpulse_width_slide_shape
157 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 35 [label = "control
159 :dpulse_width_slide_curve
160 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 36 [label = "control
162 :out_bus
163 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 66 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
165 82 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
166 87 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
167 101 [label = "{{ {{<envelope___select___0>|1.0|-99|-99|<envelope___select___4>|<envelope___select___5>|<envelope___select___6>|<envelope___select___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
168 111 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
169 118 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
170 126 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
171 129 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
172 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
173 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
174 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
175 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
176 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
177 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
178 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
179 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
180 69 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
181 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
182 78 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
183 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
184 107 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
185 114 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
186 52 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
187 56 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
188 68 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
189 73 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
190 84 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
191 90 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
192 120 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
193 113 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
194 67 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
195 89 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
196 112 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
197 116 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
198 131 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
199 130 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
200 83 [label = "{{ <freq> freq|<width> width} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
201 102 [label = "{{ <freq> freq|<width> width} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
202 47 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
203 49 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
204 93 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
205 99 [label = "{{ <which> which|{{<array___select___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
206 100 [label = "{{ <which> which|{{<array___select___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
207
208 116:__UG_NAME__ -> 117:b ;
209 118:__UG_NAME__ -> 119:b ;
210 117:__UG_NAME__ -> 119:a ;
211 59:__UG_NAME__ -> 60:b ;
212 56:__UG_NAME__ -> 60:a ;
213 63:__UG_NAME__ -> 64:b ;
214 60:__UG_NAME__ -> 64:a ;
215 71:__UG_NAME__ -> 72:b ;
216 68:__UG_NAME__ -> 72:a ;
217 76:__UG_NAME__ -> 77:b ;
218 52:__UG_NAME__ -> 77:a ;
219 80:__UG_NAME__ -> 81:b ;
220 77:__UG_NAME__ -> 81:a ;
221 39:__UG_NAME__ -> 85:b ;
222 84:__UG_NAME__ -> 85:a ;
223 55:__UG_NAME__ -> 86:b ;
224 85:__UG_NAME__ -> 86:a ;
225 87:__UG_NAME__ -> 88:b ;
226 66:__UG_NAME__ -> 88:a ;
227 91:__UG_NAME__ -> 92:b ;
228 90:__UG_NAME__ -> 92:a ;
229 96:__UG_NAME__ -> 97:b ;
230 92:__UG_NAME__ -> 97:a ;
231 102:__UG_NAME__ -> 103:b ;
232 83:__UG_NAME__ -> 103:a ;
233 105:__UG_NAME__ -> 106:b ;
234 73:__UG_NAME__ -> 106:a ;
235 109:__UG_NAME__ -> 110:b ;
236 106:__UG_NAME__ -> 110:a ;
237 121:__UG_NAME__ -> 122:b ;
238 120:__UG_NAME__ -> 122:a ;
239 124:__UG_NAME__ -> 125:b ;
240 122:__UG_NAME__ -> 125:a ;
241 127:__UG_NAME__ -> 128:b ;
242 72:__UG_NAME__ -> 128:a ;
243 103:__UG_NAME__ -> 104:a ;
244 32:__UG_NAME__ -> 40:b ;
245 34:__UG_NAME__ -> 41:b ;
246 17:__UG_NAME__ -> 46:b ;
247 33:__UG_NAME__ -> 65:b ;
248 35:__UG_NAME__ -> 98:b ;
249 38:__UG_NAME__ -> 39:a ;
250 45:__UG_NAME__ -> 55:a ;
251 58:__UG_NAME__ -> 59:a ;
252 62:__UG_NAME__ -> 63:a ;
253 70:__UG_NAME__ -> 71:a ;
254 75:__UG_NAME__ -> 76:a ;
255 79:__UG_NAME__ -> 80:a ;
256 51:__UG_NAME__ -> 91:a ;
257 95:__UG_NAME__ -> 96:a ;
258 54:__UG_NAME__ -> 105:a ;
259 108:__UG_NAME__ -> 109:a ;
260 115:__UG_NAME__ -> 121:a ;
261 123:__UG_NAME__ -> 124:a ;
262 43:__UG_NAME__ -> 127:a ;
263 37:__UG_NAME__ -> 38:a ;
264 42:__UG_NAME__ -> 43:a ;
265 44:__UG_NAME__ -> 45:a ;
266 50:__UG_NAME__ -> 51:a ;
267 53:__UG_NAME__ -> 54:a ;
268 57:__UG_NAME__ -> 58:a ;
269 61:__UG_NAME__ -> 62:a ;
270 69:__UG_NAME__ -> 70:a ;
271 74:__UG_NAME__ -> 75:a ;
272 78:__UG_NAME__ -> 79:a ;
273 94:__UG_NAME__ -> 95:a ;
274 107:__UG_NAME__ -> 108:a ;
275 114:__UG_NAME__ -> 115:a ;
276 48:__UG_NAME__ -> 123:a ;
277 64:__UG_NAME__ -> 66:gate ;
278 0:__UG_NAME__ -> 66:envelope___control___0 ;
279 0:__UG_NAME__ -> 66:envelope___control___4 ;
280 1:__UG_NAME__ -> 66:envelope___control___5 ;
281 2:__UG_NAME__ -> 66:envelope___control___6 ;
282 3:__UG_NAME__ -> 66:envelope___control___7 ;
283 81:__UG_NAME__ -> 82:gate ;
284 28:__UG_NAME__ -> 82:envelope___control___0 ;
285 28:__UG_NAME__ -> 82:envelope___control___4 ;
286 29:__UG_NAME__ -> 82:envelope___control___5 ;
287 31:__UG_NAME__ -> 82:envelope___control___6 ;
288 30:__UG_NAME__ -> 82:envelope___control___7 ;
289 86:__UG_NAME__ -> 87:gate ;
290 24:__UG_NAME__ -> 87:envelope___control___0 ;
291 24:__UG_NAME__ -> 87:envelope___control___4 ;
292 25:__UG_NAME__ -> 87:envelope___control___5 ;
293 26:__UG_NAME__ -> 87:envelope___control___6 ;
294 27:__UG_NAME__ -> 87:envelope___control___7 ;
295 97:__UG_NAME__ -> 101:gate ;
296 49:__UG_NAME__ -> 101:envelope___select___0 ;
297 49:__UG_NAME__ -> 101:envelope___select___4 ;
298 93:__UG_NAME__ -> 101:envelope___select___5 ;
299 99:__UG_NAME__ -> 101:envelope___select___6 ;
300 100:__UG_NAME__ -> 101:envelope___select___7 ;
301 110:__UG_NAME__ -> 111:gate ;
302 20:__UG_NAME__ -> 111:envelope___control___0 ;
303 20:__UG_NAME__ -> 111:envelope___control___4 ;
304 21:__UG_NAME__ -> 111:envelope___control___5 ;
305 22:__UG_NAME__ -> 111:envelope___control___6 ;
306 23:__UG_NAME__ -> 111:envelope___control___7 ;
307 16:__UG_NAME__ -> 118:envelope___control___4 ;
308 12:__UG_NAME__ -> 118:envelope___control___5 ;
309 19:__UG_NAME__ -> 118:envelope___control___6 ;
310 47:__UG_NAME__ -> 118:envelope___select___8 ;
311 13:__UG_NAME__ -> 118:envelope___control___9 ;
312 19:__UG_NAME__ -> 118:envelope___control___10 ;
313 18:__UG_NAME__ -> 118:envelope___control___12 ;
314 14:__UG_NAME__ -> 118:envelope___control___13 ;
315 19:__UG_NAME__ -> 118:envelope___control___14 ;
316 15:__UG_NAME__ -> 118:envelope___control___17 ;
317 19:__UG_NAME__ -> 118:envelope___control___18 ;
318 125:__UG_NAME__ -> 126:gate ;
319 8:__UG_NAME__ -> 126:envelope___control___0 ;
320 8:__UG_NAME__ -> 126:envelope___control___4 ;
321 9:__UG_NAME__ -> 126:envelope___control___5 ;
322 10:__UG_NAME__ -> 126:envelope___control___6 ;
323 11:__UG_NAME__ -> 126:envelope___control___7 ;
324 128:__UG_NAME__ -> 129:gate ;
325 4:__UG_NAME__ -> 129:envelope___control___0 ;
326 4:__UG_NAME__ -> 129:envelope___control___4 ;
327 5:__UG_NAME__ -> 129:envelope___control___5 ;
328 6:__UG_NAME__ -> 129:envelope___control___6 ;
329 7:__UG_NAME__ -> 129:envelope___control___7 ;
330 24:__UG_NAME__ -> 37:in ;
331 5:__UG_NAME__ -> 42:in ;
332 25:__UG_NAME__ -> 44:in ;
333 9:__UG_NAME__ -> 48:in ;
334 49:__UG_NAME__ -> 50:in ;
335 20:__UG_NAME__ -> 53:in ;
336 0:__UG_NAME__ -> 57:in ;
337 1:__UG_NAME__ -> 61:in ;
338 4:__UG_NAME__ -> 69:in ;
339 28:__UG_NAME__ -> 74:in ;
340 29:__UG_NAME__ -> 78:in ;
341 93:__UG_NAME__ -> 94:in ;
342 21:__UG_NAME__ -> 107:in ;
343 8:__UG_NAME__ -> 114:in ;
344 112:__UG_NAME__ -> 113:freq ;
345 104:__UG_NAME__ -> 113:in ;
346 66:__UG_NAME__ -> 67:a ;
347 88:__UG_NAME__ -> 89:a ;
348 111:__UG_NAME__ -> 112:a ;
349 113:__UG_NAME__ -> 116:in ;
350 130:__UG_NAME__ -> 131:signals___pan2___0 ;
351 130:__UG_NAME__ -> 131:signals___pan2___1 ;
352 36:__UG_NAME__ -> 131:bus ;
353 129:__UG_NAME__ -> 130:level ;
354 126:__UG_NAME__ -> 130:pos ;
355 119:__UG_NAME__ -> 130:in ;
356 82:__UG_NAME__ -> 83:width ;
357 67:__UG_NAME__ -> 83:freq ;
358 101:__UG_NAME__ -> 102:width ;
359 89:__UG_NAME__ -> 102:freq ;
360 17:__UG_NAME__ -> 47:array___control___0 ;
361 18:__UG_NAME__ -> 47:array___control___1 ;
362 46:__UG_NAME__ -> 47:which ;
363 32:__UG_NAME__ -> 49:array___control___0 ;
364 28:__UG_NAME__ -> 49:array___control___1 ;
365 40:__UG_NAME__ -> 49:which ;
366 33:__UG_NAME__ -> 93:array___control___0 ;
367 29:__UG_NAME__ -> 93:array___control___1 ;
368 65:__UG_NAME__ -> 93:which ;
369 49:__UG_NAME__ -> 99:array___select___0 ;
370 31:__UG_NAME__ -> 99:array___control___1 ;
371 98:__UG_NAME__ -> 99:which ;
372 49:__UG_NAME__ -> 100:array___select___0 ;
373 30:__UG_NAME__ -> 100:array___control___1 ;
374 41:__UG_NAME__ -> 100:which ;
375
376 }
+0
-275
etc/synthdefs/graphviz/sonic-pi-dsaw.dot less more
0 digraph synthdef {
1 59 [label = "{{ <a> |<b> 0.5} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 73 [label = "{{ <a> 1.1|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 75 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 37 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 41 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 49 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 55 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 58 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
10 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 68 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 83 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 84 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 90 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 92 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 29 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
17 36 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 40 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 48 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 52 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 63 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 67 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 78 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 82 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 89 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 91 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 33 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 35 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 39 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 47 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 62 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 66 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 77 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 81 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 88 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :note
39 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :note_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :note_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :note_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :amp
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :amp_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :amp_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :amp_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pan
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pan_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pan_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pan_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :attack
75 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :decay
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :sustain
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :release
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :attack_level
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :decay_level
90 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :sustain_level
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :env_curve
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :cutoff
99 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :cutoff_slide
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 22 [label = "control
104 :cutoff_slide_shape
105 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 23 [label = "control
107 :cutoff_slide_curve
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 24 [label = "control
110 :detune
111 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 25 [label = "control
113 :detune_slide
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 26 [label = "control
116 :detune_slide_shape
117 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 27 [label = "control
119 :detune_slide_curve
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 28 [label = "control
122 :out_bus
123 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 42 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
125 54 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
126 69 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
127 74 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
128 85 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
129 93 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
130 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
131 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
132 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
133 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
134 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
135 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
136 65 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
137 76 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
138 80 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
139 87 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
140 31 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
141 45 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
142 61 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
143 79 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
144 86 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
145 71 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
146 43 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
147 56 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
148 70 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
149 72 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
150 95 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
151 94 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
152 44 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
153 57 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
154 30 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
155
156 58:__UG_NAME__ -> 59:a ;
157 72:__UG_NAME__ -> 73:b ;
158 74:__UG_NAME__ -> 75:b ;
159 73:__UG_NAME__ -> 75:a ;
160 36:__UG_NAME__ -> 37:b ;
161 31:__UG_NAME__ -> 37:a ;
162 40:__UG_NAME__ -> 41:b ;
163 37:__UG_NAME__ -> 41:a ;
164 48:__UG_NAME__ -> 49:b ;
165 45:__UG_NAME__ -> 49:a ;
166 52:__UG_NAME__ -> 53:b ;
167 49:__UG_NAME__ -> 53:a ;
168 54:__UG_NAME__ -> 55:b ;
169 42:__UG_NAME__ -> 55:a ;
170 57:__UG_NAME__ -> 58:b ;
171 44:__UG_NAME__ -> 58:a ;
172 63:__UG_NAME__ -> 64:b ;
173 61:__UG_NAME__ -> 64:a ;
174 67:__UG_NAME__ -> 68:b ;
175 64:__UG_NAME__ -> 68:a ;
176 82:__UG_NAME__ -> 83:b ;
177 79:__UG_NAME__ -> 83:a ;
178 78:__UG_NAME__ -> 84:b ;
179 83:__UG_NAME__ -> 84:a ;
180 89:__UG_NAME__ -> 90:b ;
181 86:__UG_NAME__ -> 90:a ;
182 91:__UG_NAME__ -> 92:b ;
183 90:__UG_NAME__ -> 92:a ;
184 17:__UG_NAME__ -> 29:b ;
185 35:__UG_NAME__ -> 36:a ;
186 39:__UG_NAME__ -> 40:a ;
187 47:__UG_NAME__ -> 48:a ;
188 51:__UG_NAME__ -> 52:a ;
189 62:__UG_NAME__ -> 63:a ;
190 66:__UG_NAME__ -> 67:a ;
191 33:__UG_NAME__ -> 78:a ;
192 81:__UG_NAME__ -> 82:a ;
193 88:__UG_NAME__ -> 89:a ;
194 77:__UG_NAME__ -> 91:a ;
195 32:__UG_NAME__ -> 33:a ;
196 34:__UG_NAME__ -> 35:a ;
197 38:__UG_NAME__ -> 39:a ;
198 46:__UG_NAME__ -> 47:a ;
199 50:__UG_NAME__ -> 51:a ;
200 60:__UG_NAME__ -> 62:a ;
201 65:__UG_NAME__ -> 66:a ;
202 76:__UG_NAME__ -> 77:a ;
203 80:__UG_NAME__ -> 81:a ;
204 87:__UG_NAME__ -> 88:a ;
205 41:__UG_NAME__ -> 42:gate ;
206 0:__UG_NAME__ -> 42:envelope___control___0 ;
207 0:__UG_NAME__ -> 42:envelope___control___4 ;
208 1:__UG_NAME__ -> 42:envelope___control___5 ;
209 2:__UG_NAME__ -> 42:envelope___control___6 ;
210 3:__UG_NAME__ -> 42:envelope___control___7 ;
211 53:__UG_NAME__ -> 54:gate ;
212 24:__UG_NAME__ -> 54:envelope___control___0 ;
213 24:__UG_NAME__ -> 54:envelope___control___4 ;
214 25:__UG_NAME__ -> 54:envelope___control___5 ;
215 26:__UG_NAME__ -> 54:envelope___control___6 ;
216 27:__UG_NAME__ -> 54:envelope___control___7 ;
217 68:__UG_NAME__ -> 69:gate ;
218 20:__UG_NAME__ -> 69:envelope___control___0 ;
219 20:__UG_NAME__ -> 69:envelope___control___4 ;
220 21:__UG_NAME__ -> 69:envelope___control___5 ;
221 22:__UG_NAME__ -> 69:envelope___control___6 ;
222 23:__UG_NAME__ -> 69:envelope___control___7 ;
223 16:__UG_NAME__ -> 74:envelope___control___4 ;
224 12:__UG_NAME__ -> 74:envelope___control___5 ;
225 19:__UG_NAME__ -> 74:envelope___control___6 ;
226 30:__UG_NAME__ -> 74:envelope___select___8 ;
227 13:__UG_NAME__ -> 74:envelope___control___9 ;
228 19:__UG_NAME__ -> 74:envelope___control___10 ;
229 18:__UG_NAME__ -> 74:envelope___control___12 ;
230 14:__UG_NAME__ -> 74:envelope___control___13 ;
231 19:__UG_NAME__ -> 74:envelope___control___14 ;
232 15:__UG_NAME__ -> 74:envelope___control___17 ;
233 19:__UG_NAME__ -> 74:envelope___control___18 ;
234 84:__UG_NAME__ -> 85:gate ;
235 4:__UG_NAME__ -> 85:envelope___control___0 ;
236 4:__UG_NAME__ -> 85:envelope___control___4 ;
237 5:__UG_NAME__ -> 85:envelope___control___5 ;
238 6:__UG_NAME__ -> 85:envelope___control___6 ;
239 7:__UG_NAME__ -> 85:envelope___control___7 ;
240 92:__UG_NAME__ -> 93:gate ;
241 8:__UG_NAME__ -> 93:envelope___control___0 ;
242 8:__UG_NAME__ -> 93:envelope___control___4 ;
243 9:__UG_NAME__ -> 93:envelope___control___5 ;
244 10:__UG_NAME__ -> 93:envelope___control___6 ;
245 11:__UG_NAME__ -> 93:envelope___control___7 ;
246 5:__UG_NAME__ -> 32:in ;
247 0:__UG_NAME__ -> 34:in ;
248 1:__UG_NAME__ -> 38:in ;
249 24:__UG_NAME__ -> 46:in ;
250 25:__UG_NAME__ -> 50:in ;
251 20:__UG_NAME__ -> 60:in ;
252 21:__UG_NAME__ -> 65:in ;
253 9:__UG_NAME__ -> 76:in ;
254 4:__UG_NAME__ -> 80:in ;
255 8:__UG_NAME__ -> 87:in ;
256 70:__UG_NAME__ -> 71:freq ;
257 59:__UG_NAME__ -> 71:in ;
258 42:__UG_NAME__ -> 43:a ;
259 55:__UG_NAME__ -> 56:a ;
260 69:__UG_NAME__ -> 70:a ;
261 71:__UG_NAME__ -> 72:in ;
262 94:__UG_NAME__ -> 95:signals___pan2___0 ;
263 94:__UG_NAME__ -> 95:signals___pan2___1 ;
264 28:__UG_NAME__ -> 95:bus ;
265 85:__UG_NAME__ -> 94:level ;
266 93:__UG_NAME__ -> 94:pos ;
267 75:__UG_NAME__ -> 94:in ;
268 43:__UG_NAME__ -> 44:freq ;
269 56:__UG_NAME__ -> 57:freq ;
270 17:__UG_NAME__ -> 30:array___control___0 ;
271 18:__UG_NAME__ -> 30:array___control___1 ;
272 29:__UG_NAME__ -> 30:which ;
273
274 }
+0
-258
etc/synthdefs/graphviz/sonic-pi-dull_bell.dot less more
0 digraph synthdef {
1 32 [label = "{{ <a> 3.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 34 [label = "{{ <a> |<b> 0.5} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 35 [label = "{{ <a> 0.56|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 37 [label = "{{ <a> |<b> 0.125} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 47 [label = "{{ <a> |<b> 0.5} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 48 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 49 [label = "{{ <a> 1.19|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 60 [label = "{{ <a> |<b> 0.125} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 61 [label = "{{ <a> |<b> 0.125} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 63 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
11 64 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
12 66 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
13 67 [label = "{{ <a> |<b> 0.5} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
14 69 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
15 71 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
16 72 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
17 73 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
18 75 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
19 77 [label = "{{ <a> 3.76|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
20 79 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
21 82 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
22 25 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 29 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 42 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 46 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 55 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 59 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 70 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
29 76 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
30 80 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
31 86 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
32 24 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 28 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 41 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 45 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 54 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 58 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 23 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 27 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 40 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 44 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 53 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 57 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 0 [label = "control
45 :note
46 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 1 [label = "control
48 :note_slide
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 2 [label = "control
51 :note_slide_shape
52 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 3 [label = "control
54 :note_slide_curve
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 4 [label = "control
57 :amp
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 5 [label = "control
60 :amp_slide
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 6 [label = "control
63 :amp_slide_shape
64 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 7 [label = "control
66 :amp_slide_curve
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 8 [label = "control
69 :pan
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 9 [label = "control
72 :pan_slide
73 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 10 [label = "control
75 :pan_slide_shape
76 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 11 [label = "control
78 :pan_slide_curve
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 12 [label = "control
81 :attack
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 13 [label = "control
84 :decay
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 14 [label = "control
87 :sustain
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 15 [label = "control
90 :release
91 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 16 [label = "control
93 :attack_level
94 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 17 [label = "control
96 :decay_level
97 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 18 [label = "control
99 :sustain_level
100 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 19 [label = "control
102 :env_curve
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 20 [label = "control
105 :out_bus
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 88 [label = "{{ <in> in|<amp> amp 1.0E-4|<time> time 0.1|<action> action 2.0} |<__UG_NAME__>detect-silence }" style="filled, bold, rounded" shape=record rankdir=LR];
108 30 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
109 62 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|1.0|0.0|<envelope___control___8>|<envelope___binary____op____u____gen___9>|1.0|0.0|<envelope___control___12>|<envelope___binary____op____u____gen___13>|1.0|0.0|0.0|<envelope___binary____op____u____gen___17>|1.0|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 0.0625|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
110 65 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|1.0|0.0|<envelope___control___8>|<envelope___binary____op____u____gen___9>|1.0|0.0|<envelope___control___12>|<envelope___binary____op____u____gen___13>|1.0|0.0|0.0|<envelope___binary____op____u____gen___17>|1.0|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 0.5|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
111 68 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|1.0|0.0|<envelope___control___8>|<envelope___binary____op____u____gen___9>|1.0|0.0|<envelope___control___12>|<envelope___binary____op____u____gen___13>|1.0|0.0|0.0|<envelope___binary____op____u____gen___17>|1.0|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 0.25|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
112 74 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|1.0|0.0|<envelope___control___8>|<envelope___binary____op____u____gen___9>|1.0|0.0|<envelope___control___12>|<envelope___binary____op____u____gen___13>|1.0|0.0|0.0|<envelope___binary____op____u____gen___17>|1.0|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 0.125|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
113 81 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
114 83 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
115 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
119 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
120 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
121 21 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 38 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 51 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
124 31 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
125 85 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
126 84 [label = "{{ <in> in|<pos> pos|<level> level 1.0} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
127 87 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
128 33 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
129 36 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
130 50 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
131 78 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
132
133 31:__UG_NAME__ -> 32:b ;
134 13:__UG_NAME__ -> 34:a ;
135 31:__UG_NAME__ -> 35:b ;
136 15:__UG_NAME__ -> 37:a ;
137 15:__UG_NAME__ -> 47:a ;
138 15:__UG_NAME__ -> 48:a ;
139 31:__UG_NAME__ -> 49:b ;
140 13:__UG_NAME__ -> 60:a ;
141 14:__UG_NAME__ -> 61:a ;
142 13:__UG_NAME__ -> 63:a ;
143 14:__UG_NAME__ -> 64:a ;
144 36:__UG_NAME__ -> 66:b ;
145 65:__UG_NAME__ -> 66:a ;
146 14:__UG_NAME__ -> 67:a ;
147 50:__UG_NAME__ -> 69:b ;
148 68:__UG_NAME__ -> 69:a ;
149 13:__UG_NAME__ -> 71:a ;
150 14:__UG_NAME__ -> 72:a ;
151 15:__UG_NAME__ -> 73:a ;
152 33:__UG_NAME__ -> 75:b ;
153 74:__UG_NAME__ -> 75:a ;
154 31:__UG_NAME__ -> 77:b ;
155 78:__UG_NAME__ -> 79:b ;
156 62:__UG_NAME__ -> 79:a ;
157 80:__UG_NAME__ -> 82:b ;
158 81:__UG_NAME__ -> 82:a ;
159 24:__UG_NAME__ -> 25:b ;
160 21:__UG_NAME__ -> 25:a ;
161 28:__UG_NAME__ -> 29:b ;
162 25:__UG_NAME__ -> 29:a ;
163 41:__UG_NAME__ -> 42:b ;
164 38:__UG_NAME__ -> 42:a ;
165 45:__UG_NAME__ -> 46:b ;
166 42:__UG_NAME__ -> 46:a ;
167 54:__UG_NAME__ -> 55:b ;
168 51:__UG_NAME__ -> 55:a ;
169 58:__UG_NAME__ -> 59:b ;
170 55:__UG_NAME__ -> 59:a ;
171 69:__UG_NAME__ -> 70:b ;
172 66:__UG_NAME__ -> 70:a ;
173 75:__UG_NAME__ -> 76:b ;
174 70:__UG_NAME__ -> 76:a ;
175 79:__UG_NAME__ -> 80:b ;
176 76:__UG_NAME__ -> 80:a ;
177 17:__UG_NAME__ -> 86:b ;
178 23:__UG_NAME__ -> 24:a ;
179 27:__UG_NAME__ -> 28:a ;
180 40:__UG_NAME__ -> 41:a ;
181 44:__UG_NAME__ -> 45:a ;
182 53:__UG_NAME__ -> 54:a ;
183 57:__UG_NAME__ -> 58:a ;
184 22:__UG_NAME__ -> 23:a ;
185 26:__UG_NAME__ -> 27:a ;
186 39:__UG_NAME__ -> 40:a ;
187 43:__UG_NAME__ -> 44:a ;
188 52:__UG_NAME__ -> 53:a ;
189 56:__UG_NAME__ -> 57:a ;
190 82:__UG_NAME__ -> 88:in ;
191 29:__UG_NAME__ -> 30:gate ;
192 0:__UG_NAME__ -> 30:envelope___control___0 ;
193 0:__UG_NAME__ -> 30:envelope___control___4 ;
194 1:__UG_NAME__ -> 30:envelope___control___5 ;
195 2:__UG_NAME__ -> 30:envelope___control___6 ;
196 3:__UG_NAME__ -> 30:envelope___control___7 ;
197 16:__UG_NAME__ -> 62:envelope___control___4 ;
198 12:__UG_NAME__ -> 62:envelope___control___5 ;
199 18:__UG_NAME__ -> 62:envelope___control___8 ;
200 60:__UG_NAME__ -> 62:envelope___binary____op____u____gen___9 ;
201 18:__UG_NAME__ -> 62:envelope___control___12 ;
202 61:__UG_NAME__ -> 62:envelope___binary____op____u____gen___13 ;
203 37:__UG_NAME__ -> 62:envelope___binary____op____u____gen___17 ;
204 16:__UG_NAME__ -> 65:envelope___control___4 ;
205 12:__UG_NAME__ -> 65:envelope___control___5 ;
206 18:__UG_NAME__ -> 65:envelope___control___8 ;
207 63:__UG_NAME__ -> 65:envelope___binary____op____u____gen___9 ;
208 18:__UG_NAME__ -> 65:envelope___control___12 ;
209 64:__UG_NAME__ -> 65:envelope___binary____op____u____gen___13 ;
210 48:__UG_NAME__ -> 65:envelope___binary____op____u____gen___17 ;
211 16:__UG_NAME__ -> 68:envelope___control___4 ;
212 12:__UG_NAME__ -> 68:envelope___control___5 ;
213 18:__UG_NAME__ -> 68:envelope___control___8 ;
214 34:__UG_NAME__ -> 68:envelope___binary____op____u____gen___9 ;
215 18:__UG_NAME__ -> 68:envelope___control___12 ;
216 67:__UG_NAME__ -> 68:envelope___binary____op____u____gen___13 ;
217 47:__UG_NAME__ -> 68:envelope___binary____op____u____gen___17 ;
218 16:__UG_NAME__ -> 74:envelope___control___4 ;
219 12:__UG_NAME__ -> 74:envelope___control___5 ;
220 18:__UG_NAME__ -> 74:envelope___control___8 ;
221 71:__UG_NAME__ -> 74:envelope___binary____op____u____gen___9 ;
222 18:__UG_NAME__ -> 74:envelope___control___12 ;
223 72:__UG_NAME__ -> 74:envelope___binary____op____u____gen___13 ;
224 73:__UG_NAME__ -> 74:envelope___binary____op____u____gen___17 ;
225 46:__UG_NAME__ -> 81:gate ;
226 4:__UG_NAME__ -> 81:envelope___control___0 ;
227 4:__UG_NAME__ -> 81:envelope___control___4 ;
228 5:__UG_NAME__ -> 81:envelope___control___5 ;
229 6:__UG_NAME__ -> 81:envelope___control___6 ;
230 7:__UG_NAME__ -> 81:envelope___control___7 ;
231 59:__UG_NAME__ -> 83:gate ;
232 8:__UG_NAME__ -> 83:envelope___control___0 ;
233 8:__UG_NAME__ -> 83:envelope___control___4 ;
234 9:__UG_NAME__ -> 83:envelope___control___5 ;
235 10:__UG_NAME__ -> 83:envelope___control___6 ;
236 11:__UG_NAME__ -> 83:envelope___control___7 ;
237 0:__UG_NAME__ -> 22:in ;
238 1:__UG_NAME__ -> 26:in ;
239 4:__UG_NAME__ -> 39:in ;
240 5:__UG_NAME__ -> 43:in ;
241 8:__UG_NAME__ -> 52:in ;
242 9:__UG_NAME__ -> 56:in ;
243 30:__UG_NAME__ -> 31:a ;
244 84:__UG_NAME__ -> 85:signals___pan2___0 ;
245 84:__UG_NAME__ -> 85:signals___pan2___1 ;
246 20:__UG_NAME__ -> 85:bus ;
247 83:__UG_NAME__ -> 84:pos ;
248 82:__UG_NAME__ -> 84:in ;
249 17:__UG_NAME__ -> 87:array___control___0 ;
250 18:__UG_NAME__ -> 87:array___control___1 ;
251 86:__UG_NAME__ -> 87:which ;
252 32:__UG_NAME__ -> 33:freq ;
253 35:__UG_NAME__ -> 36:freq ;
254 49:__UG_NAME__ -> 50:freq ;
255 77:__UG_NAME__ -> 78:freq ;
256
257 }
+0
-316
etc/synthdefs/graphviz/sonic-pi-fm.dot less more
0 digraph synthdef {
1 57 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 58 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 71 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 95 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 96 [label = "{{ <a> 0.8|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 37 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 41 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 51 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 55 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 67 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 72 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
13 80 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 84 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 89 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 91 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 101 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 105 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 69 [label = "{{ <a> |<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
20 44 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
21 36 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 40 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 50 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 54 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 62 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 66 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 79 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 83 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 88 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 90 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 100 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 104 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 35 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 39 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 49 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 53 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 61 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 65 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 75 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 78 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 82 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 87 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 99 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 103 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 0 [label = "control
46 :note
47 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
48 1 [label = "control
49 :note_slide
50 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
51 2 [label = "control
52 :note_slide_shape
53 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
54 3 [label = "control
55 :note_slide_curve
56 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
57 4 [label = "control
58 :amp
59 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
60 5 [label = "control
61 :amp_slide
62 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 6 [label = "control
64 :amp_slide_shape
65 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 7 [label = "control
67 :amp_slide_curve
68 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 8 [label = "control
70 :pan
71 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 9 [label = "control
73 :pan_slide
74 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 10 [label = "control
76 :pan_slide_shape
77 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 11 [label = "control
79 :pan_slide_curve
80 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 12 [label = "control
82 :attack
83 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 13 [label = "control
85 :decay
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 14 [label = "control
88 :sustain
89 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 15 [label = "control
91 :release
92 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 16 [label = "control
94 :attack_level
95 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 17 [label = "control
97 :decay_level
98 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 18 [label = "control
100 :sustain_level
101 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 19 [label = "control
103 :env_curve
104 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 20 [label = "control
106 :cutoff
107 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 21 [label = "control
109 :cutoff_slide
110 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 22 [label = "control
112 :cutoff_slide_shape
113 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 23 [label = "control
115 :cutoff_slide_curve
116 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 24 [label = "control
118 :divisor
119 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 25 [label = "control
121 :divisor_slide
122 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 26 [label = "control
124 :divisor_slide_shape
125 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 27 [label = "control
127 :divisor_slide_curve
128 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 28 [label = "control
130 :depth
131 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 29 [label = "control
133 :depth_slide
134 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 30 [label = "control
136 :depth_slide_shape
137 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 31 [label = "control
139 :depth_slide_curve
140 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 32 [label = "control
142 :out_bus
143 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 42 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
145 46 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
146 56 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
147 68 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
148 92 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
149 106 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
150 107 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
151 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
152 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
153 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
154 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
155 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
156 64 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
157 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
158 77 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
159 81 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
160 86 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
161 98 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
162 102 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
163 34 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
164 47 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
165 59 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
166 76 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
167 85 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
168 97 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
169 94 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
170 43 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
171 93 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
172 109 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
173 108 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
174 45 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
175 70 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
176 73 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
177
178 56:__UG_NAME__ -> 57:b ;
179 43:__UG_NAME__ -> 57:a ;
180 57:__UG_NAME__ -> 58:b ;
181 46:__UG_NAME__ -> 58:a ;
182 70:__UG_NAME__ -> 71:b ;
183 58:__UG_NAME__ -> 71:a ;
184 94:__UG_NAME__ -> 95:b ;
185 46:__UG_NAME__ -> 95:a ;
186 95:__UG_NAME__ -> 96:b ;
187 36:__UG_NAME__ -> 37:b ;
188 34:__UG_NAME__ -> 37:a ;
189 40:__UG_NAME__ -> 41:b ;
190 37:__UG_NAME__ -> 41:a ;
191 50:__UG_NAME__ -> 51:b ;
192 47:__UG_NAME__ -> 51:a ;
193 54:__UG_NAME__ -> 55:b ;
194 51:__UG_NAME__ -> 55:a ;
195 62:__UG_NAME__ -> 63:b ;
196 59:__UG_NAME__ -> 63:a ;
197 66:__UG_NAME__ -> 67:b ;
198 63:__UG_NAME__ -> 67:a ;
199 71:__UG_NAME__ -> 72:b ;
200 43:__UG_NAME__ -> 72:a ;
201 79:__UG_NAME__ -> 80:b ;
202 76:__UG_NAME__ -> 80:a ;
203 83:__UG_NAME__ -> 84:b ;
204 80:__UG_NAME__ -> 84:a ;
205 88:__UG_NAME__ -> 89:b ;
206 85:__UG_NAME__ -> 89:a ;
207 90:__UG_NAME__ -> 91:b ;
208 89:__UG_NAME__ -> 91:a ;
209 100:__UG_NAME__ -> 101:b ;
210 97:__UG_NAME__ -> 101:a ;
211 104:__UG_NAME__ -> 105:b ;
212 101:__UG_NAME__ -> 105:a ;
213 68:__UG_NAME__ -> 69:b ;
214 43:__UG_NAME__ -> 69:a ;
215 17:__UG_NAME__ -> 44:b ;
216 35:__UG_NAME__ -> 36:a ;
217 39:__UG_NAME__ -> 40:a ;
218 49:__UG_NAME__ -> 50:a ;
219 53:__UG_NAME__ -> 54:a ;
220 61:__UG_NAME__ -> 62:a ;
221 65:__UG_NAME__ -> 66:a ;
222 78:__UG_NAME__ -> 79:a ;
223 82:__UG_NAME__ -> 83:a ;
224 87:__UG_NAME__ -> 88:a ;
225 75:__UG_NAME__ -> 90:a ;
226 99:__UG_NAME__ -> 100:a ;
227 103:__UG_NAME__ -> 104:a ;
228 33:__UG_NAME__ -> 35:a ;
229 38:__UG_NAME__ -> 39:a ;
230 48:__UG_NAME__ -> 49:a ;
231 52:__UG_NAME__ -> 53:a ;
232 60:__UG_NAME__ -> 61:a ;
233 64:__UG_NAME__ -> 65:a ;
234 74:__UG_NAME__ -> 75:a ;
235 77:__UG_NAME__ -> 78:a ;
236 81:__UG_NAME__ -> 82:a ;
237 86:__UG_NAME__ -> 87:a ;
238 98:__UG_NAME__ -> 99:a ;
239 102:__UG_NAME__ -> 103:a ;
240 41:__UG_NAME__ -> 42:gate ;
241 0:__UG_NAME__ -> 42:envelope___control___0 ;
242 0:__UG_NAME__ -> 42:envelope___control___4 ;
243 1:__UG_NAME__ -> 42:envelope___control___5 ;
244 2:__UG_NAME__ -> 42:envelope___control___6 ;
245 3:__UG_NAME__ -> 42:envelope___control___7 ;
246 16:__UG_NAME__ -> 46:envelope___control___4 ;
247 12:__UG_NAME__ -> 46:envelope___control___5 ;
248 19:__UG_NAME__ -> 46:envelope___control___6 ;
249 45:__UG_NAME__ -> 46:envelope___select___8 ;
250 13:__UG_NAME__ -> 46:envelope___control___9 ;
251 19:__UG_NAME__ -> 46:envelope___control___10 ;
252 18:__UG_NAME__ -> 46:envelope___control___12 ;
253 14:__UG_NAME__ -> 46:envelope___control___13 ;
254 19:__UG_NAME__ -> 46:envelope___control___14 ;
255 15:__UG_NAME__ -> 46:envelope___control___17 ;
256 19:__UG_NAME__ -> 46:envelope___control___18 ;
257 55:__UG_NAME__ -> 56:gate ;
258 28:__UG_NAME__ -> 56:envelope___control___0 ;
259 28:__UG_NAME__ -> 56:envelope___control___4 ;
260 29:__UG_NAME__ -> 56:envelope___control___5 ;
261 30:__UG_NAME__ -> 56:envelope___control___6 ;
262 31:__UG_NAME__ -> 56:envelope___control___7 ;
263 67:__UG_NAME__ -> 68:gate ;
264 24:__UG_NAME__ -> 68:envelope___control___0 ;
265 24:__UG_NAME__ -> 68:envelope___control___4 ;
266 25:__UG_NAME__ -> 68:envelope___control___5 ;
267 26:__UG_NAME__ -> 68:envelope___control___6 ;
268 27:__UG_NAME__ -> 68:envelope___control___7 ;
269 91:__UG_NAME__ -> 92:gate ;
270 20:__UG_NAME__ -> 92:envelope___control___0 ;
271 20:__UG_NAME__ -> 92:envelope___control___4 ;
272 21:__UG_NAME__ -> 92:envelope___control___5 ;
273 22:__UG_NAME__ -> 92:envelope___control___6 ;
274 23:__UG_NAME__ -> 92:envelope___control___7 ;
275 105:__UG_NAME__ -> 106:gate ;
276 8:__UG_NAME__ -> 106:envelope___control___0 ;
277 8:__UG_NAME__ -> 106:envelope___control___4 ;
278 9:__UG_NAME__ -> 106:envelope___control___5 ;
279 10:__UG_NAME__ -> 106:envelope___control___6 ;
280 11:__UG_NAME__ -> 106:envelope___control___7 ;
281 84:__UG_NAME__ -> 107:gate ;
282 4:__UG_NAME__ -> 107:envelope___control___0 ;
283 4:__UG_NAME__ -> 107:envelope___control___4 ;
284 5:__UG_NAME__ -> 107:envelope___control___5 ;
285 6:__UG_NAME__ -> 107:envelope___control___6 ;
286 7:__UG_NAME__ -> 107:envelope___control___7 ;
287 0:__UG_NAME__ -> 33:in ;
288 1:__UG_NAME__ -> 38:in ;
289 28:__UG_NAME__ -> 48:in ;
290 29:__UG_NAME__ -> 52:in ;
291 24:__UG_NAME__ -> 60:in ;
292 25:__UG_NAME__ -> 64:in ;
293 21:__UG_NAME__ -> 74:in ;
294 4:__UG_NAME__ -> 77:in ;
295 5:__UG_NAME__ -> 81:in ;
296 20:__UG_NAME__ -> 86:in ;
297 8:__UG_NAME__ -> 98:in ;
298 9:__UG_NAME__ -> 102:in ;
299 93:__UG_NAME__ -> 94:freq ;
300 73:__UG_NAME__ -> 94:in ;
301 42:__UG_NAME__ -> 43:a ;
302 92:__UG_NAME__ -> 93:a ;
303 108:__UG_NAME__ -> 109:signals___pan2___0 ;
304 108:__UG_NAME__ -> 109:signals___pan2___1 ;
305 32:__UG_NAME__ -> 109:bus ;
306 107:__UG_NAME__ -> 108:level ;
307 106:__UG_NAME__ -> 108:pos ;
308 96:__UG_NAME__ -> 108:in ;
309 17:__UG_NAME__ -> 45:array___control___0 ;
310 18:__UG_NAME__ -> 45:array___control___1 ;
311 44:__UG_NAME__ -> 45:which ;
312 69:__UG_NAME__ -> 70:freq ;
313 72:__UG_NAME__ -> 73:freq ;
314
315 }
+0
-282
etc/synthdefs/graphviz/sonic-pi-fx_band_eq.dot less more
0 digraph synthdef {
1 39 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 58 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 62 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 83 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 33 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 37 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 45 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 47 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 54 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 75 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 77 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 79 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 85 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 86 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 89 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 92 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 40 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
18 97 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
19 28 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 36 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 44 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 46 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 49 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 53 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 65 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 68 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 74 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 76 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 84 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 91 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 27 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 30 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 35 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 43 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 48 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 52 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 56 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 64 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 67 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 73 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 81 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 90 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 0 [label = "control
44 :amp
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 1 [label = "control
47 :amp_slide
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 2 [label = "control
50 :amp_slide_shape
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 3 [label = "control
53 :amp_slide_curve
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 4 [label = "control
56 :mix
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 5 [label = "control
59 :mix_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 6 [label = "control
62 :mix_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 7 [label = "control
65 :mix_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 8 [label = "control
68 :pre_amp
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 9 [label = "control
71 :pre_amp_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 10 [label = "control
74 :pre_amp_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 11 [label = "control
77 :pre_amp_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 12 [label = "control
80 :freq
81 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 13 [label = "control
83 :freq_slide
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 14 [label = "control
86 :freq_slide_shape
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 15 [label = "control
89 :freq_slide_curve
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 16 [label = "control
92 :res
93 default: 0.6" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 17 [label = "control
95 :res_slide
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 18 [label = "control
98 :res_slide_shape
99 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 19 [label = "control
101 :res_slide_curve
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 20 [label = "control
104 :db
105 default: 0.6" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 21 [label = "control
107 :db_slide
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 22 [label = "control
110 :db_slide_shape
111 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 23 [label = "control
113 :db_slide_curve
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 24 [label = "control
116 :in_bus
117 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 25 [label = "control
119 :out_bus
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 38 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
122 60 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
123 78 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
124 82 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
125 87 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
126 93 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
127 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
128 29 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
129 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
130 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
131 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
132 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
133 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
134 63 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
135 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
136 69 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
137 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
138 80 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
139 32 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
140 41 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
141 50 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
142 57 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
143 59 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
144 72 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
145 61 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
146 94 [label = "{{ <in> in|<freq> freq|<rq> rq|<db> db} |<__UG_NAME__>mid-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
147 96 [label = "{{ <in> in|<freq> freq|<rq> rq|<db> db} |<__UG_NAME__>mid-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
148 88 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
149 70 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
150 99 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
151 95 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
152 98 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
153
154 38:__UG_NAME__ -> 39:a ;
155 38:__UG_NAME__ -> 58:a ;
156 61:__UG_NAME__ -> 62:b ;
157 60:__UG_NAME__ -> 62:a ;
158 61:__UG_NAME__ -> 83:b ;
159 60:__UG_NAME__ -> 83:a ;
160 28:__UG_NAME__ -> 33:b ;
161 32:__UG_NAME__ -> 33:a ;
162 36:__UG_NAME__ -> 37:b ;
163 33:__UG_NAME__ -> 37:a ;
164 44:__UG_NAME__ -> 45:b ;
165 41:__UG_NAME__ -> 45:a ;
166 46:__UG_NAME__ -> 47:b ;
167 45:__UG_NAME__ -> 47:a ;
168 53:__UG_NAME__ -> 54:b ;
169 50:__UG_NAME__ -> 54:a ;
170 74:__UG_NAME__ -> 75:b ;
171 57:__UG_NAME__ -> 75:a ;
172 76:__UG_NAME__ -> 77:b ;
173 75:__UG_NAME__ -> 77:a ;
174 68:__UG_NAME__ -> 79:b ;
175 54:__UG_NAME__ -> 79:a ;
176 84:__UG_NAME__ -> 85:b ;
177 59:__UG_NAME__ -> 85:a ;
178 65:__UG_NAME__ -> 86:b ;
179 85:__UG_NAME__ -> 86:a ;
180 49:__UG_NAME__ -> 89:b ;
181 72:__UG_NAME__ -> 89:a ;
182 91:__UG_NAME__ -> 92:b ;
183 89:__UG_NAME__ -> 92:a ;
184 39:__UG_NAME__ -> 40:a ;
185 58:__UG_NAME__ -> 97:a ;
186 27:__UG_NAME__ -> 28:a ;
187 35:__UG_NAME__ -> 36:a ;
188 43:__UG_NAME__ -> 44:a ;
189 30:__UG_NAME__ -> 46:a ;
190 48:__UG_NAME__ -> 49:a ;
191 52:__UG_NAME__ -> 53:a ;
192 64:__UG_NAME__ -> 65:a ;
193 67:__UG_NAME__ -> 68:a ;
194 73:__UG_NAME__ -> 74:a ;
195 56:__UG_NAME__ -> 76:a ;
196 81:__UG_NAME__ -> 84:a ;
197 90:__UG_NAME__ -> 91:a ;
198 26:__UG_NAME__ -> 27:a ;
199 29:__UG_NAME__ -> 30:a ;
200 34:__UG_NAME__ -> 35:a ;
201 42:__UG_NAME__ -> 43:a ;
202 31:__UG_NAME__ -> 48:a ;
203 51:__UG_NAME__ -> 52:a ;
204 55:__UG_NAME__ -> 56:a ;
205 63:__UG_NAME__ -> 64:a ;
206 66:__UG_NAME__ -> 67:a ;
207 71:__UG_NAME__ -> 73:a ;
208 80:__UG_NAME__ -> 81:a ;
209 69:__UG_NAME__ -> 90:a ;
210 37:__UG_NAME__ -> 38:gate ;
211 4:__UG_NAME__ -> 38:envelope___control___0 ;
212 4:__UG_NAME__ -> 38:envelope___control___4 ;
213 5:__UG_NAME__ -> 38:envelope___control___5 ;
214 6:__UG_NAME__ -> 38:envelope___control___6 ;
215 7:__UG_NAME__ -> 38:envelope___control___7 ;
216 47:__UG_NAME__ -> 60:gate ;
217 8:__UG_NAME__ -> 60:envelope___control___0 ;
218 8:__UG_NAME__ -> 60:envelope___control___4 ;
219 9:__UG_NAME__ -> 60:envelope___control___5 ;
220 10:__UG_NAME__ -> 60:envelope___control___6 ;
221 11:__UG_NAME__ -> 60:envelope___control___7 ;
222 77:__UG_NAME__ -> 78:gate ;
223 70:__UG_NAME__ -> 78:envelope___mul____add___0 ;
224 70:__UG_NAME__ -> 78:envelope___mul____add___4 ;
225 17:__UG_NAME__ -> 78:envelope___control___5 ;
226 18:__UG_NAME__ -> 78:envelope___control___6 ;
227 19:__UG_NAME__ -> 78:envelope___control___7 ;
228 79:__UG_NAME__ -> 82:gate ;
229 0:__UG_NAME__ -> 82:envelope___control___0 ;
230 0:__UG_NAME__ -> 82:envelope___control___4 ;
231 1:__UG_NAME__ -> 82:envelope___control___5 ;
232 2:__UG_NAME__ -> 82:envelope___control___6 ;
233 3:__UG_NAME__ -> 82:envelope___control___7 ;
234 86:__UG_NAME__ -> 87:gate ;
235 12:__UG_NAME__ -> 87:envelope___control___0 ;
236 12:__UG_NAME__ -> 87:envelope___control___4 ;
237 13:__UG_NAME__ -> 87:envelope___control___5 ;
238 14:__UG_NAME__ -> 87:envelope___control___6 ;
239 15:__UG_NAME__ -> 87:envelope___control___7 ;
240 92:__UG_NAME__ -> 93:gate ;
241 20:__UG_NAME__ -> 93:envelope___control___0 ;
242 20:__UG_NAME__ -> 93:envelope___control___4 ;
243 21:__UG_NAME__ -> 93:envelope___control___5 ;
244 22:__UG_NAME__ -> 93:envelope___control___6 ;
245 23:__UG_NAME__ -> 93:envelope___control___7 ;
246 4:__UG_NAME__ -> 26:in ;
247 9:__UG_NAME__ -> 29:in ;
248 20:__UG_NAME__ -> 31:in ;
249 5:__UG_NAME__ -> 34:in ;
250 8:__UG_NAME__ -> 42:in ;
251 0:__UG_NAME__ -> 51:in ;
252 17:__UG_NAME__ -> 55:in ;
253 13:__UG_NAME__ -> 63:in ;
254 1:__UG_NAME__ -> 66:in ;
255 21:__UG_NAME__ -> 69:in ;
256 70:__UG_NAME__ -> 71:in ;
257 12:__UG_NAME__ -> 80:in ;
258 24:__UG_NAME__ -> 61:bus ;
259 93:__UG_NAME__ -> 94:db ;
260 78:__UG_NAME__ -> 94:rq ;
261 88:__UG_NAME__ -> 94:freq ;
262 83:__UG_NAME__ -> 94:in ;
263 93:__UG_NAME__ -> 96:db ;
264 78:__UG_NAME__ -> 96:rq ;
265 88:__UG_NAME__ -> 96:freq ;
266 62:__UG_NAME__ -> 96:in ;
267 87:__UG_NAME__ -> 88:a ;
268 16:__UG_NAME__ -> 70:in ;
269 95:__UG_NAME__ -> 99:signals___x____fade2___0 ;
270 98:__UG_NAME__ -> 99:signals___x____fade2___1 ;
271 25:__UG_NAME__ -> 99:bus ;
272 82:__UG_NAME__ -> 95:level ;
273 40:__UG_NAME__ -> 95:pan ;
274 94:__UG_NAME__ -> 95:inb ;
275 83:__UG_NAME__ -> 95:ina ;
276 82:__UG_NAME__ -> 98:level ;
277 97:__UG_NAME__ -> 98:pan ;
278 96:__UG_NAME__ -> 98:inb ;
279 62:__UG_NAME__ -> 98:ina ;
280
281 }
+0
-294
etc/synthdefs/graphviz/sonic-pi-fx_bitcrusher.dot less more
0 digraph synthdef {
1 37 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 38 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 84 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 100 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 30 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 34 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 43 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 47 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 57 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 68 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 73 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 77 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 92 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 96 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 85 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
18 101 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
19 29 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 33 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 42 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 46 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 52 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 56 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 63 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 67 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 72 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 76 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 79 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 91 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 95 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 28 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 32 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 41 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 55 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 62 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 66 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 71 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 75 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 90 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 94 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 0 [label = "control
45 :amp
46 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 1 [label = "control
48 :amp_slide
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 2 [label = "control
51 :amp_slide_shape
52 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 3 [label = "control
54 :amp_slide_curve
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 4 [label = "control
57 :mix
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 5 [label = "control
60 :mix_slide
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 6 [label = "control
63 :mix_slide_shape
64 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 7 [label = "control
66 :mix_slide_curve
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 8 [label = "control
69 :pre_amp
70 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 9 [label = "control
72 :pre_amp_slide
73 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 10 [label = "control
75 :pre_amp_slide_shape
76 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 11 [label = "control
78 :pre_amp_slide_curve
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 12 [label = "control
81 :sample_rate
82 default: 10000.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 13 [label = "control
84 :sample_rate_slide
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 14 [label = "control
87 :sample_rate_slide_shape
88 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 15 [label = "control
90 :sample_rate_slide_curve
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 16 [label = "control
93 :bits
94 default: 8.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 17 [label = "control
96 :bits_slide
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 18 [label = "control
99 :bits_slide_shape
100 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 19 [label = "control
102 :bits_slide_curve
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 20 [label = "control
105 :cutoff
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 21 [label = "control
108 :cutoff_slide
109 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 22 [label = "control
111 :cutoff_slide_shape
112 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 23 [label = "control
114 :cutoff_slide_curve
115 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 24 [label = "control
117 :in_bus
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 25 [label = "control
120 :out_bus
121 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 59 [label = "{{ <in> in|<rate> rate|<bits> bits} |<__UG_NAME__>decimator }" style="filled, bold, rounded" shape=record rankdir=LR];
123 86 [label = "{{ <in> in|<rate> rate|<bits> bits} |<__UG_NAME__>decimator }" style="filled, bold, rounded" shape=record rankdir=LR];
124 35 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
125 48 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
126 58 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
127 78 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
128 83 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
129 97 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
130 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
131 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
132 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
133 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
134 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
135 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
136 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
137 65 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
138 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
139 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
140 89 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
141 93 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
142 26 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
143 39 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
144 49 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
145 60 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
146 69 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
147 88 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
148 36 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
149 81 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
150 87 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
151 80 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
152 103 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
153 82 [label = "{{ <which> which|{{<array___decimator___0>|<array___lpf___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
154 99 [label = "{{ <which> which|{{<array___decimator___0>|<array___lpf___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
155 98 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
156 102 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
157
158 36:__UG_NAME__ -> 37:b ;
159 35:__UG_NAME__ -> 37:a ;
160 36:__UG_NAME__ -> 38:b ;
161 35:__UG_NAME__ -> 38:a ;
162 83:__UG_NAME__ -> 84:a ;
163 83:__UG_NAME__ -> 100:a ;
164 29:__UG_NAME__ -> 30:b ;
165 26:__UG_NAME__ -> 30:a ;
166 33:__UG_NAME__ -> 34:b ;
167 30:__UG_NAME__ -> 34:a ;
168 42:__UG_NAME__ -> 43:b ;
169 39:__UG_NAME__ -> 43:a ;
170 46:__UG_NAME__ -> 47:b ;
171 43:__UG_NAME__ -> 47:a ;
172 52:__UG_NAME__ -> 53:b ;
173 49:__UG_NAME__ -> 53:a ;
174 56:__UG_NAME__ -> 57:b ;
175 53:__UG_NAME__ -> 57:a ;
176 63:__UG_NAME__ -> 64:b ;
177 60:__UG_NAME__ -> 64:a ;
178 67:__UG_NAME__ -> 68:b ;
179 64:__UG_NAME__ -> 68:a ;
180 72:__UG_NAME__ -> 73:b ;
181 69:__UG_NAME__ -> 73:a ;
182 76:__UG_NAME__ -> 77:b ;
183 73:__UG_NAME__ -> 77:a ;
184 91:__UG_NAME__ -> 92:b ;
185 88:__UG_NAME__ -> 92:a ;
186 95:__UG_NAME__ -> 96:b ;
187 92:__UG_NAME__ -> 96:a ;
188 84:__UG_NAME__ -> 85:a ;
189 100:__UG_NAME__ -> 101:a ;
190 28:__UG_NAME__ -> 29:a ;
191 32:__UG_NAME__ -> 33:a ;
192 41:__UG_NAME__ -> 42:a ;
193 45:__UG_NAME__ -> 46:a ;
194 51:__UG_NAME__ -> 52:a ;
195 55:__UG_NAME__ -> 56:a ;
196 62:__UG_NAME__ -> 63:a ;
197 66:__UG_NAME__ -> 67:a ;
198 71:__UG_NAME__ -> 72:a ;
199 75:__UG_NAME__ -> 76:a ;
200 78:__UG_NAME__ -> 79:a ;
201 90:__UG_NAME__ -> 91:a ;
202 94:__UG_NAME__ -> 95:a ;
203 27:__UG_NAME__ -> 28:a ;
204 31:__UG_NAME__ -> 32:a ;
205 40:__UG_NAME__ -> 41:a ;
206 44:__UG_NAME__ -> 45:a ;
207 50:__UG_NAME__ -> 51:a ;
208 54:__UG_NAME__ -> 55:a ;
209 61:__UG_NAME__ -> 62:a ;
210 65:__UG_NAME__ -> 66:a ;
211 70:__UG_NAME__ -> 71:a ;
212 74:__UG_NAME__ -> 75:a ;
213 89:__UG_NAME__ -> 90:a ;
214 93:__UG_NAME__ -> 94:a ;
215 58:__UG_NAME__ -> 59:bits ;
216 48:__UG_NAME__ -> 59:rate ;
217 38:__UG_NAME__ -> 59:in ;
218 58:__UG_NAME__ -> 86:bits ;
219 48:__UG_NAME__ -> 86:rate ;
220 37:__UG_NAME__ -> 86:in ;
221 34:__UG_NAME__ -> 35:gate ;
222 8:__UG_NAME__ -> 35:envelope___control___0 ;
223 8:__UG_NAME__ -> 35:envelope___control___4 ;
224 9:__UG_NAME__ -> 35:envelope___control___5 ;
225 10:__UG_NAME__ -> 35:envelope___control___6 ;
226 11:__UG_NAME__ -> 35:envelope___control___7 ;
227 47:__UG_NAME__ -> 48:gate ;
228 12:__UG_NAME__ -> 48:envelope___control___0 ;
229 12:__UG_NAME__ -> 48:envelope___control___4 ;
230 13:__UG_NAME__ -> 48:envelope___control___5 ;
231 14:__UG_NAME__ -> 48:envelope___control___6 ;
232 15:__UG_NAME__ -> 48:envelope___control___7 ;
233 57:__UG_NAME__ -> 58:gate ;
234 16:__UG_NAME__ -> 58:envelope___control___0 ;
235 16:__UG_NAME__ -> 58:envelope___control___4 ;
236 17:__UG_NAME__ -> 58:envelope___control___5 ;
237 18:__UG_NAME__ -> 58:envelope___control___6 ;
238 19:__UG_NAME__ -> 58:envelope___control___7 ;
239 77:__UG_NAME__ -> 78:gate ;
240 20:__UG_NAME__ -> 78:envelope___control___0 ;
241 20:__UG_NAME__ -> 78:envelope___control___4 ;
242 21:__UG_NAME__ -> 78:envelope___control___5 ;
243 22:__UG_NAME__ -> 78:envelope___control___6 ;
244 23:__UG_NAME__ -> 78:envelope___control___7 ;
245 68:__UG_NAME__ -> 83:gate ;
246 4:__UG_NAME__ -> 83:envelope___control___0 ;
247 4:__UG_NAME__ -> 83:envelope___control___4 ;
248 5:__UG_NAME__ -> 83:envelope___control___5 ;
249 6:__UG_NAME__ -> 83:envelope___control___6 ;
250 7:__UG_NAME__ -> 83:envelope___control___7 ;
251 96:__UG_NAME__ -> 97:gate ;
252 0:__UG_NAME__ -> 97:envelope___control___0 ;
253 0:__UG_NAME__ -> 97:envelope___control___4 ;
254 1:__UG_NAME__ -> 97:envelope___control___5 ;
255 2:__UG_NAME__ -> 97:envelope___control___6 ;
256 3:__UG_NAME__ -> 97:envelope___control___7 ;
257 8:__UG_NAME__ -> 27:in ;
258 9:__UG_NAME__ -> 31:in ;
259 12:__UG_NAME__ -> 40:in ;
260 13:__UG_NAME__ -> 44:in ;
261 16:__UG_NAME__ -> 50:in ;
262 17:__UG_NAME__ -> 54:in ;
263 4:__UG_NAME__ -> 61:in ;
264 5:__UG_NAME__ -> 65:in ;
265 20:__UG_NAME__ -> 70:in ;
266 21:__UG_NAME__ -> 74:in ;
267 0:__UG_NAME__ -> 89:in ;
268 1:__UG_NAME__ -> 93:in ;
269 24:__UG_NAME__ -> 36:bus ;
270 80:__UG_NAME__ -> 81:freq ;
271 59:__UG_NAME__ -> 81:in ;
272 80:__UG_NAME__ -> 87:freq ;
273 86:__UG_NAME__ -> 87:in ;
274 78:__UG_NAME__ -> 80:a ;
275 102:__UG_NAME__ -> 103:signals___x____fade2___0 ;
276 98:__UG_NAME__ -> 103:signals___x____fade2___1 ;
277 25:__UG_NAME__ -> 103:bus ;
278 59:__UG_NAME__ -> 82:array___decimator___0 ;
279 81:__UG_NAME__ -> 82:array___lpf___1 ;
280 79:__UG_NAME__ -> 82:which ;
281 86:__UG_NAME__ -> 99:array___decimator___0 ;
282 87:__UG_NAME__ -> 99:array___lpf___1 ;
283 79:__UG_NAME__ -> 99:which ;
284 97:__UG_NAME__ -> 98:level ;
285 85:__UG_NAME__ -> 98:pan ;
286 82:__UG_NAME__ -> 98:inb ;
287 38:__UG_NAME__ -> 98:ina ;
288 97:__UG_NAME__ -> 102:level ;
289 101:__UG_NAME__ -> 102:pan ;
290 99:__UG_NAME__ -> 102:inb ;
291 37:__UG_NAME__ -> 102:ina ;
292
293 }
+0
-242
etc/synthdefs/graphviz/sonic-pi-fx_bpf.dot less more
0 digraph synthdef {
1 56 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 67 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 80 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 82 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 29 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 33 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 36 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 40 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 49 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 73 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 77 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 68 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
16 83 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 24 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 28 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 32 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 39 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 44 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 48 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 52 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 62 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 72 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 76 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 23 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 27 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 31 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 38 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 43 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 47 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 61 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 71 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 75 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 66 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
38 81 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
39 0 [label = "control
40 :amp
41 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
42 1 [label = "control
43 :amp_slide
44 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
45 2 [label = "control
46 :amp_slide_shape
47 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
48 3 [label = "control
49 :amp_slide_curve
50 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
51 4 [label = "control
52 :mix
53 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
54 5 [label = "control
55 :mix_slide
56 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
57 6 [label = "control
58 :mix_slide_shape
59 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
60 7 [label = "control
61 :mix_slide_curve
62 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 8 [label = "control
64 :pre_amp
65 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 9 [label = "control
67 :pre_amp_slide
68 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 10 [label = "control
70 :pre_amp_slide_shape
71 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 11 [label = "control
73 :pre_amp_slide_curve
74 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 12 [label = "control
76 :centre
77 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 13 [label = "control
79 :centre_slide
80 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 14 [label = "control
82 :centre_slide_shape
83 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 15 [label = "control
85 :centre_slide_curve
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 16 [label = "control
88 :res
89 default: 0.6" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 17 [label = "control
91 :res_slide
92 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 18 [label = "control
94 :res_slide_shape
95 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 19 [label = "control
97 :res_slide_curve
98 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 20 [label = "control
100 :in_bus
101 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 21 [label = "control
103 :out_bus
104 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 34 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 41 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 54 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 65 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
109 78 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
110 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
119 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
120 25 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 35 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 45 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 58 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
124 69 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
125 55 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
126 57 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
127 59 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
128 85 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
129 79 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
130 84 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
131
132 55:__UG_NAME__ -> 56:b ;
133 54:__UG_NAME__ -> 56:a ;
134 34:__UG_NAME__ -> 67:a ;
135 55:__UG_NAME__ -> 80:b ;
136 54:__UG_NAME__ -> 80:a ;
137 34:__UG_NAME__ -> 82:a ;
138 28:__UG_NAME__ -> 29:b ;
139 25:__UG_NAME__ -> 29:a ;
140 32:__UG_NAME__ -> 33:b ;
141 29:__UG_NAME__ -> 33:a ;
142 24:__UG_NAME__ -> 36:b ;
143 35:__UG_NAME__ -> 36:a ;
144 39:__UG_NAME__ -> 40:b ;
145 36:__UG_NAME__ -> 40:a ;
146 48:__UG_NAME__ -> 49:b ;
147 45:__UG_NAME__ -> 49:a ;
148 52:__UG_NAME__ -> 53:b ;
149 49:__UG_NAME__ -> 53:a ;
150 62:__UG_NAME__ -> 63:b ;
151 58:__UG_NAME__ -> 63:a ;
152 44:__UG_NAME__ -> 64:b ;
153 63:__UG_NAME__ -> 64:a ;
154 72:__UG_NAME__ -> 73:b ;
155 69:__UG_NAME__ -> 73:a ;
156 76:__UG_NAME__ -> 77:b ;
157 73:__UG_NAME__ -> 77:a ;
158 67:__UG_NAME__ -> 68:a ;
159 82:__UG_NAME__ -> 83:a ;
160 23:__UG_NAME__ -> 24:a ;
161 27:__UG_NAME__ -> 28:a ;
162 31:__UG_NAME__ -> 32:a ;
163 38:__UG_NAME__ -> 39:a ;
164 43:__UG_NAME__ -> 44:a ;
165 47:__UG_NAME__ -> 48:a ;
166 51:__UG_NAME__ -> 52:a ;
167 61:__UG_NAME__ -> 62:a ;
168 71:__UG_NAME__ -> 72:a ;
169 75:__UG_NAME__ -> 76:a ;
170 22:__UG_NAME__ -> 23:a ;
171 26:__UG_NAME__ -> 27:a ;
172 30:__UG_NAME__ -> 31:a ;
173 37:__UG_NAME__ -> 38:a ;
174 42:__UG_NAME__ -> 43:a ;
175 46:__UG_NAME__ -> 47:a ;
176 50:__UG_NAME__ -> 51:a ;
177 60:__UG_NAME__ -> 61:a ;
178 70:__UG_NAME__ -> 71:a ;
179 74:__UG_NAME__ -> 75:a ;
180 65:__UG_NAME__ -> 66:rq ;
181 57:__UG_NAME__ -> 66:freq ;
182 56:__UG_NAME__ -> 66:in ;
183 65:__UG_NAME__ -> 81:rq ;
184 57:__UG_NAME__ -> 81:freq ;
185 80:__UG_NAME__ -> 81:in ;
186 33:__UG_NAME__ -> 34:gate ;
187 4:__UG_NAME__ -> 34:envelope___control___0 ;
188 4:__UG_NAME__ -> 34:envelope___control___4 ;
189 5:__UG_NAME__ -> 34:envelope___control___5 ;
190 6:__UG_NAME__ -> 34:envelope___control___6 ;
191 7:__UG_NAME__ -> 34:envelope___control___7 ;
192 40:__UG_NAME__ -> 41:gate ;
193 12:__UG_NAME__ -> 41:envelope___control___0 ;
194 12:__UG_NAME__ -> 41:envelope___control___4 ;
195 13:__UG_NAME__ -> 41:envelope___control___5 ;
196 14:__UG_NAME__ -> 41:envelope___control___6 ;
197 15:__UG_NAME__ -> 41:envelope___control___7 ;
198 53:__UG_NAME__ -> 54:gate ;
199 8:__UG_NAME__ -> 54:envelope___control___0 ;
200 8:__UG_NAME__ -> 54:envelope___control___4 ;
201 9:__UG_NAME__ -> 54:envelope___control___5 ;
202 10:__UG_NAME__ -> 54:envelope___control___6 ;
203 11:__UG_NAME__ -> 54:envelope___control___7 ;
204 64:__UG_NAME__ -> 65:gate ;
205 59:__UG_NAME__ -> 65:envelope___mul____add___0 ;
206 59:__UG_NAME__ -> 65:envelope___mul____add___4 ;
207 17:__UG_NAME__ -> 65:envelope___control___5 ;
208 18:__UG_NAME__ -> 65:envelope___control___6 ;
209 19:__UG_NAME__ -> 65:envelope___control___7 ;
210 77:__UG_NAME__ -> 78:gate ;
211 0:__UG_NAME__ -> 78:envelope___control___0 ;
212 0:__UG_NAME__ -> 78:envelope___control___4 ;
213 1:__UG_NAME__ -> 78:envelope___control___5 ;
214 2:__UG_NAME__ -> 78:envelope___control___6 ;
215 3:__UG_NAME__ -> 78:envelope___control___7 ;
216 12:__UG_NAME__ -> 22:in ;
217 4:__UG_NAME__ -> 26:in ;
218 5:__UG_NAME__ -> 30:in ;
219 13:__UG_NAME__ -> 37:in ;
220 17:__UG_NAME__ -> 42:in ;
221 8:__UG_NAME__ -> 46:in ;
222 9:__UG_NAME__ -> 50:in ;
223 59:__UG_NAME__ -> 60:in ;
224 0:__UG_NAME__ -> 70:in ;
225 1:__UG_NAME__ -> 74:in ;
226 20:__UG_NAME__ -> 55:bus ;
227 41:__UG_NAME__ -> 57:a ;
228 16:__UG_NAME__ -> 59:in ;
229 84:__UG_NAME__ -> 85:signals___x____fade2___0 ;
230 79:__UG_NAME__ -> 85:signals___x____fade2___1 ;
231 21:__UG_NAME__ -> 85:bus ;
232 78:__UG_NAME__ -> 79:level ;
233 68:__UG_NAME__ -> 79:pan ;
234 66:__UG_NAME__ -> 79:inb ;
235 56:__UG_NAME__ -> 79:ina ;
236 78:__UG_NAME__ -> 84:level ;
237 83:__UG_NAME__ -> 84:pan ;
238 81:__UG_NAME__ -> 84:inb ;
239 80:__UG_NAME__ -> 84:ina ;
240
241 }
+0
-365
etc/synthdefs/graphviz/sonic-pi-fx_compressor.dot less more
0 digraph synthdef {
1 71 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 84 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 119 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 123 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 43 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 47 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 55 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 58 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 68 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 76 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 78 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 85 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
14 90 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 91 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 102 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 103 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 109 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 110 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 115 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 117 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 120 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
23 125 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
24 98 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
25 36 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 42 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 46 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 54 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 57 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 63 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 67 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 75 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 77 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 83 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 89 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 96 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 101 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 108 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 114 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 116 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 35 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 41 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 50 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 53 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 56 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 62 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 66 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 74 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 82 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 87 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 88 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 93 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 95 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 100 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 107 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 112 [label = "{{ <in> in|<control> control|<thresh> thresh|<slope____below> slope-below|<slope____above> slope-above|<clamp____time> clamp-time|<relax____time> relax-time} |<__UG_NAME__>compander }" style="filled, bold, rounded" shape=record rankdir=LR];
58 124 [label = "{{ <in> in|<control> control|<thresh> thresh|<slope____below> slope-below|<slope____above> slope-above|<clamp____time> clamp-time|<relax____time> relax-time} |<__UG_NAME__>compander }" style="filled, bold, rounded" shape=record rankdir=LR];
59 0 [label = "control
60 :amp
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 1 [label = "control
63 :amp_slide
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 2 [label = "control
66 :amp_slide_shape
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 3 [label = "control
69 :amp_slide_curve
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 4 [label = "control
72 :mix
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 5 [label = "control
75 :mix_slide
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 6 [label = "control
78 :mix_slide_shape
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 7 [label = "control
81 :mix_slide_curve
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 8 [label = "control
84 :pre_amp
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 9 [label = "control
87 :pre_amp_slide
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 10 [label = "control
90 :pre_amp_slide_shape
91 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 11 [label = "control
93 :pre_amp_slide_curve
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 12 [label = "control
96 :threshold
97 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 13 [label = "control
99 :threshold_slide
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 14 [label = "control
102 :threshold_slide_shape
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 15 [label = "control
105 :threshold_slide_curve
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 16 [label = "control
108 :clamp_time
109 default: 0.01" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 17 [label = "control
111 :clamp_time_slide
112 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 18 [label = "control
114 :clamp_time_slide_shape
115 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 19 [label = "control
117 :clamp_time_slide_curve
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 20 [label = "control
120 :slope_above
121 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 21 [label = "control
123 :slope_above_slide
124 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 22 [label = "control
126 :slope_above_slide_shape
127 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 23 [label = "control
129 :slope_above_slide_curve
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 24 [label = "control
132 :slope_below
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 25 [label = "control
135 :slope_below_slide
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 26 [label = "control
138 :slope_below_slide_shape
139 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 27 [label = "control
141 :slope_below_slide_curve
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 28 [label = "control
144 :relax_time
145 default: 0.01" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 29 [label = "control
147 :relax_time_slide
148 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 30 [label = "control
150 :relax_time_slide_shape
151 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 31 [label = "control
153 :relax_time_slide_curve
154 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 32 [label = "control
156 :in_bus
157 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 33 [label = "control
159 :out_bus
160 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 48 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
162 59 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
163 69 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
164 92 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
165 104 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
166 111 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
167 118 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
168 121 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
169 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
170 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
171 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
172 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
173 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
174 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
175 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
176 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
177 65 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
178 73 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
179 79 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
180 81 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
181 86 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
182 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
183 97 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
184 106 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
185 39 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
186 51 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
187 60 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
188 72 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
189 80 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
190 99 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
191 105 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
192 113 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
193 70 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
194 127 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
195 122 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
196 126 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
197
198 70:__UG_NAME__ -> 71:b ;
199 69:__UG_NAME__ -> 71:a ;
200 70:__UG_NAME__ -> 84:b ;
201 69:__UG_NAME__ -> 84:a ;
202 118:__UG_NAME__ -> 119:a ;
203 118:__UG_NAME__ -> 123:a ;
204 42:__UG_NAME__ -> 43:b ;
205 39:__UG_NAME__ -> 43:a ;
206 46:__UG_NAME__ -> 47:b ;
207 43:__UG_NAME__ -> 47:a ;
208 54:__UG_NAME__ -> 55:b ;
209 51:__UG_NAME__ -> 55:a ;
210 57:__UG_NAME__ -> 58:b ;
211 55:__UG_NAME__ -> 58:a ;
212 63:__UG_NAME__ -> 64:b ;
213 60:__UG_NAME__ -> 64:a ;
214 67:__UG_NAME__ -> 68:b ;
215 64:__UG_NAME__ -> 68:a ;
216 75:__UG_NAME__ -> 76:b ;
217 72:__UG_NAME__ -> 76:a ;
218 77:__UG_NAME__ -> 78:b ;
219 76:__UG_NAME__ -> 78:a ;
220 84:__UG_NAME__ -> 85:b ;
221 71:__UG_NAME__ -> 85:a ;
222 89:__UG_NAME__ -> 90:b ;
223 80:__UG_NAME__ -> 90:a ;
224 36:__UG_NAME__ -> 91:b ;
225 90:__UG_NAME__ -> 91:a ;
226 101:__UG_NAME__ -> 102:b ;
227 99:__UG_NAME__ -> 102:a ;
228 83:__UG_NAME__ -> 103:b ;
229 102:__UG_NAME__ -> 103:a ;
230 108:__UG_NAME__ -> 109:b ;
231 105:__UG_NAME__ -> 109:a ;
232 96:__UG_NAME__ -> 110:b ;
233 109:__UG_NAME__ -> 110:a ;
234 114:__UG_NAME__ -> 115:b ;
235 113:__UG_NAME__ -> 115:a ;
236 116:__UG_NAME__ -> 117:b ;
237 115:__UG_NAME__ -> 117:a ;
238 119:__UG_NAME__ -> 120:a ;
239 123:__UG_NAME__ -> 125:a ;
240 85:__UG_NAME__ -> 98:a ;
241 35:__UG_NAME__ -> 36:a ;
242 41:__UG_NAME__ -> 42:a ;
243 45:__UG_NAME__ -> 46:a ;
244 53:__UG_NAME__ -> 54:a ;
245 56:__UG_NAME__ -> 57:a ;
246 62:__UG_NAME__ -> 63:a ;
247 66:__UG_NAME__ -> 67:a ;
248 74:__UG_NAME__ -> 75:a ;
249 50:__UG_NAME__ -> 77:a ;
250 82:__UG_NAME__ -> 83:a ;
251 88:__UG_NAME__ -> 89:a ;
252 95:__UG_NAME__ -> 96:a ;
253 100:__UG_NAME__ -> 101:a ;
254 107:__UG_NAME__ -> 108:a ;
255 93:__UG_NAME__ -> 114:a ;
256 87:__UG_NAME__ -> 116:a ;
257 34:__UG_NAME__ -> 35:a ;
258 40:__UG_NAME__ -> 41:a ;
259 44:__UG_NAME__ -> 45:a ;
260 49:__UG_NAME__ -> 50:a ;
261 52:__UG_NAME__ -> 53:a ;
262 38:__UG_NAME__ -> 56:a ;
263 61:__UG_NAME__ -> 62:a ;
264 65:__UG_NAME__ -> 66:a ;
265 73:__UG_NAME__ -> 74:a ;
266 81:__UG_NAME__ -> 82:a ;
267 86:__UG_NAME__ -> 87:a ;
268 37:__UG_NAME__ -> 88:a ;
269 79:__UG_NAME__ -> 93:a ;
270 94:__UG_NAME__ -> 95:a ;
271 97:__UG_NAME__ -> 100:a ;
272 106:__UG_NAME__ -> 107:a ;
273 59:__UG_NAME__ -> 112:relax____time ;
274 111:__UG_NAME__ -> 112:clamp____time ;
275 48:__UG_NAME__ -> 112:slope____above ;
276 104:__UG_NAME__ -> 112:slope____below ;
277 92:__UG_NAME__ -> 112:thresh ;
278 98:__UG_NAME__ -> 112:control ;
279 84:__UG_NAME__ -> 112:in ;
280 59:__UG_NAME__ -> 124:relax____time ;
281 111:__UG_NAME__ -> 124:clamp____time ;
282 48:__UG_NAME__ -> 124:slope____above ;
283 104:__UG_NAME__ -> 124:slope____below ;
284 92:__UG_NAME__ -> 124:thresh ;
285 98:__UG_NAME__ -> 124:control ;
286 71:__UG_NAME__ -> 124:in ;
287 47:__UG_NAME__ -> 48:gate ;
288 20:__UG_NAME__ -> 48:envelope___control___0 ;
289 20:__UG_NAME__ -> 48:envelope___control___4 ;
290 21:__UG_NAME__ -> 48:envelope___control___5 ;
291 22:__UG_NAME__ -> 48:envelope___control___6 ;
292 23:__UG_NAME__ -> 48:envelope___control___7 ;
293 58:__UG_NAME__ -> 59:gate ;
294 28:__UG_NAME__ -> 59:envelope___control___0 ;
295 28:__UG_NAME__ -> 59:envelope___control___4 ;
296 29:__UG_NAME__ -> 59:envelope___control___5 ;
297 30:__UG_NAME__ -> 59:envelope___control___6 ;
298 31:__UG_NAME__ -> 59:envelope___control___7 ;
299 68:__UG_NAME__ -> 69:gate ;
300 8:__UG_NAME__ -> 69:envelope___control___0 ;
301 8:__UG_NAME__ -> 69:envelope___control___4 ;
302 9:__UG_NAME__ -> 69:envelope___control___5 ;
303 10:__UG_NAME__ -> 69:envelope___control___6 ;
304 11:__UG_NAME__ -> 69:envelope___control___7 ;
305 91:__UG_NAME__ -> 92:gate ;
306 12:__UG_NAME__ -> 92:envelope___control___0 ;
307 12:__UG_NAME__ -> 92:envelope___control___4 ;
308 13:__UG_NAME__ -> 92:envelope___control___5 ;
309 14:__UG_NAME__ -> 92:envelope___control___6 ;
310 15:__UG_NAME__ -> 92:envelope___control___7 ;
311 103:__UG_NAME__ -> 104:gate ;
312 24:__UG_NAME__ -> 104:envelope___control___0 ;
313 24:__UG_NAME__ -> 104:envelope___control___4 ;
314 25:__UG_NAME__ -> 104:envelope___control___5 ;
315 26:__UG_NAME__ -> 104:envelope___control___6 ;
316 27:__UG_NAME__ -> 104:envelope___control___7 ;
317 110:__UG_NAME__ -> 111:gate ;
318 16:__UG_NAME__ -> 111:envelope___control___0 ;
319 16:__UG_NAME__ -> 111:envelope___control___4 ;
320 17:__UG_NAME__ -> 111:envelope___control___5 ;
321 18:__UG_NAME__ -> 111:envelope___control___6 ;
322 19:__UG_NAME__ -> 111:envelope___control___7 ;
323 117:__UG_NAME__ -> 118:gate ;
324 4:__UG_NAME__ -> 118:envelope___control___0 ;
325 4:__UG_NAME__ -> 118:envelope___control___4 ;
326 5:__UG_NAME__ -> 118:envelope___control___5 ;
327 6:__UG_NAME__ -> 118:envelope___control___6 ;
328 7:__UG_NAME__ -> 118:envelope___control___7 ;
329 78:__UG_NAME__ -> 121:gate ;
330 0:__UG_NAME__ -> 121:envelope___control___0 ;
331 0:__UG_NAME__ -> 121:envelope___control___4 ;
332 1:__UG_NAME__ -> 121:envelope___control___5 ;
333 2:__UG_NAME__ -> 121:envelope___control___6 ;
334 3:__UG_NAME__ -> 121:envelope___control___7 ;
335 13:__UG_NAME__ -> 34:in ;
336 12:__UG_NAME__ -> 37:in ;
337 29:__UG_NAME__ -> 38:in ;
338 20:__UG_NAME__ -> 40:in ;
339 21:__UG_NAME__ -> 44:in ;
340 1:__UG_NAME__ -> 49:in ;
341 28:__UG_NAME__ -> 52:in ;
342 8:__UG_NAME__ -> 61:in ;
343 9:__UG_NAME__ -> 65:in ;
344 0:__UG_NAME__ -> 73:in ;
345 4:__UG_NAME__ -> 79:in ;
346 25:__UG_NAME__ -> 81:in ;
347 5:__UG_NAME__ -> 86:in ;
348 17:__UG_NAME__ -> 94:in ;
349 24:__UG_NAME__ -> 97:in ;
350 16:__UG_NAME__ -> 106:in ;
351 32:__UG_NAME__ -> 70:bus ;
352 126:__UG_NAME__ -> 127:signals___x____fade2___0 ;
353 122:__UG_NAME__ -> 127:signals___x____fade2___1 ;
354 33:__UG_NAME__ -> 127:bus ;
355 121:__UG_NAME__ -> 122:level ;
356 120:__UG_NAME__ -> 122:pan ;
357 112:__UG_NAME__ -> 122:inb ;
358 84:__UG_NAME__ -> 122:ina ;
359 121:__UG_NAME__ -> 126:level ;
360 125:__UG_NAME__ -> 126:pan ;
361 124:__UG_NAME__ -> 126:inb ;
362 71:__UG_NAME__ -> 126:ina ;
363
364 }
+0
-227
etc/synthdefs/graphviz/sonic-pi-fx_distortion.dot less more
0 digraph synthdef {
1 31 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 41 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 44 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 46 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 65 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 67 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 68 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 70 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 78 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 25 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 29 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 35 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 39 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 47 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
15 52 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 56 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 62 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 66 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 71 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
20 74 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 42 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
22 69 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
23 79 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
24 43 [label = "{{ <a> |<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
25 72 [label = "{{ <a> |<b> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
26 77 [label = "{{ <a> |<b> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
27 24 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 28 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 34 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 38 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 51 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 55 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 61 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 73 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 20 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 23 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 27 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 32 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
39 37 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
41 50 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 54 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 60 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 64 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 0 [label = "control
46 :amp
47 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
48 1 [label = "control
49 :amp_slide
50 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
51 2 [label = "control
52 :amp_slide_shape
53 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
54 3 [label = "control
55 :amp_slide_curve
56 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
57 4 [label = "control
58 :mix
59 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
60 5 [label = "control
61 :mix_slide
62 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 6 [label = "control
64 :mix_slide_shape
65 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 7 [label = "control
67 :mix_slide_curve
68 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 8 [label = "control
70 :pre_amp
71 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 9 [label = "control
73 :pre_amp_slide
74 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 10 [label = "control
76 :pre_amp_slide_shape
77 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 11 [label = "control
79 :pre_amp_slide_curve
80 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 12 [label = "control
82 :distort
83 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 13 [label = "control
85 :distort_slide
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 14 [label = "control
88 :distort_slide_shape
89 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 15 [label = "control
91 :distort_slide_curve
92 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 16 [label = "control
94 :in_bus
95 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 17 [label = "control
97 :out_bus
98 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 30 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
100 40 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
101 57 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
102 75 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
103 19 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
104 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
105 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
106 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
107 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
108 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 63 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 21 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
112 33 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
113 48 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
114 58 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
115 18 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
116 81 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
117 76 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
118 80 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
119
120 18:__UG_NAME__ -> 31:b ;
121 30:__UG_NAME__ -> 31:a ;
122 40:__UG_NAME__ -> 41:b ;
123 18:__UG_NAME__ -> 44:b ;
124 30:__UG_NAME__ -> 44:a ;
125 45:__UG_NAME__ -> 46:b ;
126 43:__UG_NAME__ -> 46:a ;
127 32:__UG_NAME__ -> 65:b ;
128 43:__UG_NAME__ -> 65:a ;
129 66:__UG_NAME__ -> 67:b ;
130 44:__UG_NAME__ -> 67:a ;
131 57:__UG_NAME__ -> 68:a ;
132 66:__UG_NAME__ -> 70:b ;
133 31:__UG_NAME__ -> 70:a ;
134 57:__UG_NAME__ -> 78:a ;
135 24:__UG_NAME__ -> 25:b ;
136 21:__UG_NAME__ -> 25:a ;
137 28:__UG_NAME__ -> 29:b ;
138 25:__UG_NAME__ -> 29:a ;
139 34:__UG_NAME__ -> 35:b ;
140 33:__UG_NAME__ -> 35:a ;
141 38:__UG_NAME__ -> 39:b ;
142 35:__UG_NAME__ -> 39:a ;
143 46:__UG_NAME__ -> 47:b ;
144 51:__UG_NAME__ -> 52:b ;
145 48:__UG_NAME__ -> 52:a ;
146 55:__UG_NAME__ -> 56:b ;
147 52:__UG_NAME__ -> 56:a ;
148 61:__UG_NAME__ -> 62:b ;
149 58:__UG_NAME__ -> 62:a ;
150 43:__UG_NAME__ -> 66:b ;
151 65:__UG_NAME__ -> 71:b ;
152 73:__UG_NAME__ -> 74:b ;
153 62:__UG_NAME__ -> 74:a ;
154 40:__UG_NAME__ -> 42:b ;
155 68:__UG_NAME__ -> 69:a ;
156 78:__UG_NAME__ -> 79:a ;
157 42:__UG_NAME__ -> 43:b ;
158 41:__UG_NAME__ -> 43:a ;
159 71:__UG_NAME__ -> 72:b ;
160 70:__UG_NAME__ -> 72:a ;
161 47:__UG_NAME__ -> 77:b ;
162 67:__UG_NAME__ -> 77:a ;
163 23:__UG_NAME__ -> 24:a ;
164 27:__UG_NAME__ -> 28:a ;
165 20:__UG_NAME__ -> 34:a ;
166 37:__UG_NAME__ -> 38:a ;
167 50:__UG_NAME__ -> 51:a ;
168 54:__UG_NAME__ -> 55:a ;
169 60:__UG_NAME__ -> 61:a ;
170 64:__UG_NAME__ -> 73:a ;
171 19:__UG_NAME__ -> 20:a ;
172 22:__UG_NAME__ -> 23:a ;
173 26:__UG_NAME__ -> 27:a ;
174 31:__UG_NAME__ -> 32:a ;
175 36:__UG_NAME__ -> 37:a ;
176 44:__UG_NAME__ -> 45:a ;
177 49:__UG_NAME__ -> 50:a ;
178 53:__UG_NAME__ -> 54:a ;
179 59:__UG_NAME__ -> 60:a ;
180 63:__UG_NAME__ -> 64:a ;
181 29:__UG_NAME__ -> 30:gate ;
182 8:__UG_NAME__ -> 30:envelope___control___0 ;
183 8:__UG_NAME__ -> 30:envelope___control___4 ;
184 9:__UG_NAME__ -> 30:envelope___control___5 ;
185 10:__UG_NAME__ -> 30:envelope___control___6 ;
186 11:__UG_NAME__ -> 30:envelope___control___7 ;
187 39:__UG_NAME__ -> 40:gate ;
188 12:__UG_NAME__ -> 40:envelope___control___0 ;
189 12:__UG_NAME__ -> 40:envelope___control___4 ;
190 13:__UG_NAME__ -> 40:envelope___control___5 ;
191 14:__UG_NAME__ -> 40:envelope___control___6 ;
192 15:__UG_NAME__ -> 40:envelope___control___7 ;
193 56:__UG_NAME__ -> 57:gate ;
194 4:__UG_NAME__ -> 57:envelope___control___0 ;
195 4:__UG_NAME__ -> 57:envelope___control___4 ;
196 5:__UG_NAME__ -> 57:envelope___control___5 ;
197 6:__UG_NAME__ -> 57:envelope___control___6 ;
198 7:__UG_NAME__ -> 57:envelope___control___7 ;
199 74:__UG_NAME__ -> 75:gate ;
200 0:__UG_NAME__ -> 75:envelope___control___0 ;
201 0:__UG_NAME__ -> 75:envelope___control___4 ;
202 1:__UG_NAME__ -> 75:envelope___control___5 ;
203 2:__UG_NAME__ -> 75:envelope___control___6 ;
204 3:__UG_NAME__ -> 75:envelope___control___7 ;
205 12:__UG_NAME__ -> 19:in ;
206 8:__UG_NAME__ -> 22:in ;
207 9:__UG_NAME__ -> 26:in ;
208 13:__UG_NAME__ -> 36:in ;
209 4:__UG_NAME__ -> 49:in ;
210 5:__UG_NAME__ -> 53:in ;
211 0:__UG_NAME__ -> 59:in ;
212 1:__UG_NAME__ -> 63:in ;
213 16:__UG_NAME__ -> 18:bus ;
214 76:__UG_NAME__ -> 81:signals___x____fade2___0 ;
215 80:__UG_NAME__ -> 81:signals___x____fade2___1 ;
216 17:__UG_NAME__ -> 81:bus ;
217 75:__UG_NAME__ -> 76:level ;
218 69:__UG_NAME__ -> 76:pan ;
219 72:__UG_NAME__ -> 76:inb ;
220 31:__UG_NAME__ -> 76:ina ;
221 75:__UG_NAME__ -> 80:level ;
222 79:__UG_NAME__ -> 80:pan ;
223 77:__UG_NAME__ -> 80:inb ;
224 44:__UG_NAME__ -> 80:ina ;
225
226 }
+0
-249
etc/synthdefs/graphviz/sonic-pi-fx_echo.dot less more
0 digraph synthdef {
1 42 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 66 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 78 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 81 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 30 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 34 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 39 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 40 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 47 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 52 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 56 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 71 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 73 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 76 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
16 83 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
17 79 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
18 84 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
19 25 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 29 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 33 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 38 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 46 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 51 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 55 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 62 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 70 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 72 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 24 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 28 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 32 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 37 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 50 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 54 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 59 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 61 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 69 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 75 [label = "{{ <in> in|<max____delay____time> max-delay-time|<delay____time> delay-time|<decay____time> decay-time} |<__UG_NAME__>comb-n }" style="filled, bold, rounded" shape=record rankdir=LR];
40 82 [label = "{{ <in> in|<max____delay____time> max-delay-time|<delay____time> delay-time|<decay____time> decay-time} |<__UG_NAME__>comb-n }" style="filled, bold, rounded" shape=record rankdir=LR];
41 0 [label = "control
42 :amp
43 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 1 [label = "control
45 :amp_slide
46 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 2 [label = "control
48 :amp_slide_shape
49 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 3 [label = "control
51 :amp_slide_curve
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 4 [label = "control
54 :mix
55 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 5 [label = "control
57 :mix_slide
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 6 [label = "control
60 :mix_slide_shape
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 7 [label = "control
63 :mix_slide_curve
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 8 [label = "control
66 :pre_amp
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 9 [label = "control
69 :pre_amp_slide
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 10 [label = "control
72 :pre_amp_slide_shape
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 11 [label = "control
75 :pre_amp_slide_curve
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 12 [label = "control
78 :phase
79 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 13 [label = "control
81 :phase_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 14 [label = "control
84 :phase_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 15 [label = "control
87 :phase_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 16 [label = "control
90 :decay
91 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 17 [label = "control
93 :decay_slide
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 18 [label = "control
96 :decay_slide_shape
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 19 [label = "control
99 :decay_slide_curve
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 20 [label = "control
102 :max_phase
103 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 21 [label = "control
105 :in_bus
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 22 [label = "control
108 :out_bus
109 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 41 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
111 57 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
112 64 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
113 74 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
114 77 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
115 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
119 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
120 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
121 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
122 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
123 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
124 68 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
125 26 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
126 35 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
127 43 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
128 48 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
129 67 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
130 65 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
131 86 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
132 80 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
133 85 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
134
135 41:__UG_NAME__ -> 42:a ;
136 65:__UG_NAME__ -> 66:b ;
137 64:__UG_NAME__ -> 66:a ;
138 41:__UG_NAME__ -> 78:a ;
139 65:__UG_NAME__ -> 81:b ;
140 64:__UG_NAME__ -> 81:a ;
141 29:__UG_NAME__ -> 30:b ;
142 26:__UG_NAME__ -> 30:a ;
143 33:__UG_NAME__ -> 34:b ;
144 30:__UG_NAME__ -> 34:a ;
145 38:__UG_NAME__ -> 39:b ;
146 35:__UG_NAME__ -> 39:a ;
147 25:__UG_NAME__ -> 40:b ;
148 39:__UG_NAME__ -> 40:a ;
149 46:__UG_NAME__ -> 47:b ;
150 43:__UG_NAME__ -> 47:a ;
151 51:__UG_NAME__ -> 52:b ;
152 48:__UG_NAME__ -> 52:a ;
153 55:__UG_NAME__ -> 56:b ;
154 52:__UG_NAME__ -> 56:a ;
155 62:__UG_NAME__ -> 63:b ;
156 47:__UG_NAME__ -> 63:a ;
157 70:__UG_NAME__ -> 71:b ;
158 67:__UG_NAME__ -> 71:a ;
159 72:__UG_NAME__ -> 73:b ;
160 71:__UG_NAME__ -> 73:a ;
161 75:__UG_NAME__ -> 76:b ;
162 66:__UG_NAME__ -> 76:a ;
163 82:__UG_NAME__ -> 83:b ;
164 81:__UG_NAME__ -> 83:a ;
165 78:__UG_NAME__ -> 79:a ;
166 42:__UG_NAME__ -> 84:a ;
167 24:__UG_NAME__ -> 25:a ;
168 28:__UG_NAME__ -> 29:a ;
169 32:__UG_NAME__ -> 33:a ;
170 37:__UG_NAME__ -> 38:a ;
171 45:__UG_NAME__ -> 46:a ;
172 50:__UG_NAME__ -> 51:a ;
173 54:__UG_NAME__ -> 55:a ;
174 61:__UG_NAME__ -> 62:a ;
175 69:__UG_NAME__ -> 70:a ;
176 59:__UG_NAME__ -> 72:a ;
177 23:__UG_NAME__ -> 24:a ;
178 27:__UG_NAME__ -> 28:a ;
179 31:__UG_NAME__ -> 32:a ;
180 36:__UG_NAME__ -> 37:a ;
181 44:__UG_NAME__ -> 45:a ;
182 49:__UG_NAME__ -> 50:a ;
183 53:__UG_NAME__ -> 54:a ;
184 58:__UG_NAME__ -> 59:a ;
185 60:__UG_NAME__ -> 61:a ;
186 68:__UG_NAME__ -> 69:a ;
187 57:__UG_NAME__ -> 75:decay____time ;
188 74:__UG_NAME__ -> 75:delay____time ;
189 20:__UG_NAME__ -> 75:max____delay____time ;
190 66:__UG_NAME__ -> 75:in ;
191 57:__UG_NAME__ -> 82:decay____time ;
192 74:__UG_NAME__ -> 82:delay____time ;
193 20:__UG_NAME__ -> 82:max____delay____time ;
194 81:__UG_NAME__ -> 82:in ;
195 40:__UG_NAME__ -> 41:gate ;
196 4:__UG_NAME__ -> 41:envelope___control___0 ;
197 4:__UG_NAME__ -> 41:envelope___control___4 ;
198 5:__UG_NAME__ -> 41:envelope___control___5 ;
199 6:__UG_NAME__ -> 41:envelope___control___6 ;
200 7:__UG_NAME__ -> 41:envelope___control___7 ;
201 56:__UG_NAME__ -> 57:gate ;
202 16:__UG_NAME__ -> 57:envelope___control___0 ;
203 16:__UG_NAME__ -> 57:envelope___control___4 ;
204 17:__UG_NAME__ -> 57:envelope___control___5 ;
205 18:__UG_NAME__ -> 57:envelope___control___6 ;
206 19:__UG_NAME__ -> 57:envelope___control___7 ;
207 63:__UG_NAME__ -> 64:gate ;
208 8:__UG_NAME__ -> 64:envelope___control___0 ;
209 8:__UG_NAME__ -> 64:envelope___control___4 ;
210 9:__UG_NAME__ -> 64:envelope___control___5 ;
211 10:__UG_NAME__ -> 64:envelope___control___6 ;
212 11:__UG_NAME__ -> 64:envelope___control___7 ;
213 73:__UG_NAME__ -> 74:gate ;
214 12:__UG_NAME__ -> 74:envelope___control___0 ;
215 12:__UG_NAME__ -> 74:envelope___control___4 ;
216 13:__UG_NAME__ -> 74:envelope___control___5 ;
217 14:__UG_NAME__ -> 74:envelope___control___6 ;
218 15:__UG_NAME__ -> 74:envelope___control___7 ;
219 34:__UG_NAME__ -> 77:gate ;
220 0:__UG_NAME__ -> 77:envelope___control___0 ;
221 0:__UG_NAME__ -> 77:envelope___control___4 ;
222 1:__UG_NAME__ -> 77:envelope___control___5 ;
223 2:__UG_NAME__ -> 77:envelope___control___6 ;
224 3:__UG_NAME__ -> 77:envelope___control___7 ;
225 5:__UG_NAME__ -> 23:in ;
226 0:__UG_NAME__ -> 27:in ;
227 1:__UG_NAME__ -> 31:in ;
228 4:__UG_NAME__ -> 36:in ;
229 8:__UG_NAME__ -> 44:in ;
230 16:__UG_NAME__ -> 49:in ;
231 17:__UG_NAME__ -> 53:in ;
232 13:__UG_NAME__ -> 58:in ;
233 9:__UG_NAME__ -> 60:in ;
234 12:__UG_NAME__ -> 68:in ;
235 21:__UG_NAME__ -> 65:bus ;
236 80:__UG_NAME__ -> 86:signals___x____fade2___0 ;
237 85:__UG_NAME__ -> 86:signals___x____fade2___1 ;
238 22:__UG_NAME__ -> 86:bus ;
239 77:__UG_NAME__ -> 80:level ;
240 79:__UG_NAME__ -> 80:pan ;
241 76:__UG_NAME__ -> 80:inb ;
242 66:__UG_NAME__ -> 80:ina ;
243 77:__UG_NAME__ -> 85:level ;
244 84:__UG_NAME__ -> 85:pan ;
245 83:__UG_NAME__ -> 85:inb ;
246 81:__UG_NAME__ -> 85:ina ;
247
248 }
+0
-547
etc/synthdefs/graphviz/sonic-pi-fx_flanger.dot less more
0 digraph synthdef {
1 72 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 75 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 84 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 89 [label = "{{ <a> |<b> 6.2831855} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 107 [label = "{{ <a> -2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 117 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 126 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 127 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 156 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
10 167 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
11 169 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
12 172 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
13 173 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
14 187 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
15 188 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
16 65 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 69 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 73 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 79 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 81 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 86 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 88 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 91 [label = "{{ <a> |<b> 0.5} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 94 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 100 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 105 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 108 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 111 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 115 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 123 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 128 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
32 136 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 140 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 143 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
35 149 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
36 152 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
37 161 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
38 165 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
39 168 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
40 174 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
41 186 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
42 189 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
43 192 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
44 85 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
45 119 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
46 130 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
47 171 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
48 175 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
49 190 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
50 195 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
51 53 [label = "{{ <a> |<b> 1000.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
52 71 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
53 95 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
54 129 [label = "{{ <a> |<b> 1000.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
55 142 [label = "{{ <a> |<b> 1000.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
56 145 [label = "{{ <a> |<b> 1000.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
57 154 [label = "{{ <a> |<b> 1000.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
58 177 [label = "{{ <a> |<b> 1000.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
59 178 [label = "{{ <a> |<b> 1000.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
60 181 [label = "{{ <a> |<b> 1000.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
61 198 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
62 46 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
63 56 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
64 64 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
65 68 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
66 78 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
67 80 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
68 99 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
69 104 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
70 106 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
71 110 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
72 114 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
73 122 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
74 135 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
75 139 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
76 151 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
77 160 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
78 164 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
79 185 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
80 191 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
81 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
82 48 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
83 50 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
84 55 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
85 60 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
86 63 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
87 67 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
88 77 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
89 98 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
90 103 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
91 113 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
92 121 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
93 134 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
94 138 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
95 150 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
96 159 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
97 163 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
98 184 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
99 155 [label = "{{ <in> in|<max____delay____time> max-delay-time|<delay____time> delay-time|<decay____time> decay-time} |<__UG_NAME__>allpass-c }" style="filled, bold, rounded" shape=record rankdir=LR];
100 182 [label = "{{ <in> in|<max____delay____time> max-delay-time|<delay____time> delay-time|<decay____time> decay-time} |<__UG_NAME__>allpass-c }" style="filled, bold, rounded" shape=record rankdir=LR];
101 0 [label = "control
102 :amp
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 1 [label = "control
105 :amp_slide
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 2 [label = "control
108 :amp_slide_shape
109 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 3 [label = "control
111 :amp_slide_curve
112 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 4 [label = "control
114 :mix
115 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 5 [label = "control
117 :mix_slide
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 6 [label = "control
120 :mix_slide_shape
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 7 [label = "control
123 :mix_slide_curve
124 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 8 [label = "control
126 :pre_amp
127 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 9 [label = "control
129 :pre_amp_slide
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 10 [label = "control
132 :pre_amp_slide_shape
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 11 [label = "control
135 :pre_amp_slide_curve
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 12 [label = "control
138 :phase
139 default: 4.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 13 [label = "control
141 :phase_slide
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 14 [label = "control
144 :phase_slide_shape
145 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 15 [label = "control
147 :phase_slide_curve
148 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 16 [label = "control
150 :phase_offset
151 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 17 [label = "control
153 :wave
154 default: 4.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 18 [label = "control
156 :invert_wave
157 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 19 [label = "control
159 :stereo_invert_wave
160 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 20 [label = "control
162 :pulse_width
163 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 21 [label = "control
165 :pulse_width_slide
166 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
167 22 [label = "control
168 :pulse_width_slide_shape
169 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
170 23 [label = "control
171 :pulse_width_slide_curve
172 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
173 24 [label = "control
174 :delay
175 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
176 25 [label = "control
177 :delay_slide
178 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
179 26 [label = "control
180 :delay_slide_shape
181 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
182 27 [label = "control
183 :delay_slide_curve
184 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
185 28 [label = "control
186 :max_delay
187 default: 20.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
188 29 [label = "control
189 :depth
190 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
191 30 [label = "control
192 :depth_slide
193 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
194 31 [label = "control
195 :depth_slide_shape
196 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
197 32 [label = "control
198 :depth_slide_curve
199 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
200 33 [label = "control
201 :feedback
202 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
203 34 [label = "control
204 :feedback_slide
205 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
206 35 [label = "control
207 :feedback_slide_shape
208 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
209 36 [label = "control
210 :feedback_slide_curve
211 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
212 37 [label = "control
213 :decay
214 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
215 38 [label = "control
216 :decay_slide
217 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
218 39 [label = "control
219 :decay_slide_shape
220 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
221 40 [label = "control
222 :decay_slide_curve
223 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
224 41 [label = "control
225 :invert_flange
226 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
227 42 [label = "control
228 :in_bus
229 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
230 43 [label = "control
231 :out_bus
232 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
233 70 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
234 82 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
235 116 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
236 124 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
237 141 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
238 144 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
239 153 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
240 166 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
241 193 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
242 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
243 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
244 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
245 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
246 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
247 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
248 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
249 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
250 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
251 76 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
252 97 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
253 102 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
254 112 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
255 120 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
256 133 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
257 137 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
258 158 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
259 162 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
260 57 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
261 61 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
262 96 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
263 101 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
264 109 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
265 132 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
266 148 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
267 157 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
268 183 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
269 125 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
270 92 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-cub }" style="bold, rounded" shape=record rankdir=LR];
271 83 [label = "{{ <freq> freq|<iphase> iphase|<width> width} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
272 74 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
273 87 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
274 118 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>limiter }" style="filled, bold, rounded" shape=record rankdir=LR];
275 170 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>limiter }" style="filled, bold, rounded" shape=record rankdir=LR];
276 58 [label = "{{ <num____channels> num-channels 2} |<__UG_NAME__>local-in }" style="filled, bold, rounded" shape=record rankdir=LR];
277 199 [label = "{{ {{<channels____array___binary____op____u____gen___0>|<channels____array___binary____op____u____gen___1>}|channels-array}} |<__UG_NAME__>local-out }" style="filled, bold, rounded" shape=record rankdir=LR];
278 147 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>max }" style="bold, rounded" shape=record rankdir=LR];
279 180 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>max }" style="bold, rounded" shape=record rankdir=LR];
280 146 [label = "{{ <in> in|<mul> mul|<add> add} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
281 179 [label = "{{ <in> in|<mul> mul|<add> add} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
282 197 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
283 93 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>|<array___lf____cub___4>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
284 131 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
285 176 [label = "{{ <which> which|{{<array___select___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
286 90 [label = "{{ <freq> freq|<phase> phase|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
287 194 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
288 196 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
289
290 16:__UG_NAME__ -> 72:b ;
291 74:__UG_NAME__ -> 75:b ;
292 83:__UG_NAME__ -> 84:b ;
293 88:__UG_NAME__ -> 89:a ;
294 106:__UG_NAME__ -> 107:b ;
295 116:__UG_NAME__ -> 117:b ;
296 58:__UG_NAME__ -> 117:a ;
297 125:__UG_NAME__ -> 126:b ;
298 124:__UG_NAME__ -> 126:a ;
299 126:__UG_NAME__ -> 127:b ;
300 119:__UG_NAME__ -> 127:a ;
301 155:__UG_NAME__ -> 156:b ;
302 108:__UG_NAME__ -> 156:a ;
303 166:__UG_NAME__ -> 167:a ;
304 116:__UG_NAME__ -> 169:b ;
305 58:__UG_NAME__ -> 169:a ;
306 125:__UG_NAME__ -> 172:b ;
307 124:__UG_NAME__ -> 172:a ;
308 172:__UG_NAME__ -> 173:b ;
309 171:__UG_NAME__ -> 173:a ;
310 166:__UG_NAME__ -> 187:a ;
311 182:__UG_NAME__ -> 188:b ;
312 108:__UG_NAME__ -> 188:a ;
313 64:__UG_NAME__ -> 65:b ;
314 61:__UG_NAME__ -> 65:a ;
315 68:__UG_NAME__ -> 69:b ;
316 65:__UG_NAME__ -> 69:a ;
317 72:__UG_NAME__ -> 73:a ;
318 78:__UG_NAME__ -> 79:b ;
319 57:__UG_NAME__ -> 79:a ;
320 80:__UG_NAME__ -> 81:b ;
321 79:__UG_NAME__ -> 81:a ;
322 72:__UG_NAME__ -> 86:a ;
323 16:__UG_NAME__ -> 88:a ;
324 16:__UG_NAME__ -> 91:a ;
325 93:__UG_NAME__ -> 94:a ;
326 99:__UG_NAME__ -> 100:b ;
327 96:__UG_NAME__ -> 100:a ;
328 104:__UG_NAME__ -> 105:b ;
329 101:__UG_NAME__ -> 105:a ;
330 107:__UG_NAME__ -> 108:a ;
331 110:__UG_NAME__ -> 111:b ;
332 109:__UG_NAME__ -> 111:a ;
333 114:__UG_NAME__ -> 115:b ;
334 111:__UG_NAME__ -> 115:a ;
335 122:__UG_NAME__ -> 123:b ;
336 105:__UG_NAME__ -> 123:a ;
337 127:__UG_NAME__ -> 128:b ;
338 118:__UG_NAME__ -> 128:a ;
339 135:__UG_NAME__ -> 136:b ;
340 132:__UG_NAME__ -> 136:a ;
341 139:__UG_NAME__ -> 140:b ;
342 136:__UG_NAME__ -> 140:a ;
343 56:__UG_NAME__ -> 143:b ;
344 100:__UG_NAME__ -> 143:a ;
345 46:__UG_NAME__ -> 149:b ;
346 148:__UG_NAME__ -> 149:a ;
347 151:__UG_NAME__ -> 152:b ;
348 149:__UG_NAME__ -> 152:a ;
349 160:__UG_NAME__ -> 161:b ;
350 157:__UG_NAME__ -> 161:a ;
351 164:__UG_NAME__ -> 165:b ;
352 161:__UG_NAME__ -> 165:a ;
353 156:__UG_NAME__ -> 168:b ;
354 126:__UG_NAME__ -> 168:a ;
355 173:__UG_NAME__ -> 174:b ;
356 170:__UG_NAME__ -> 174:a ;
357 185:__UG_NAME__ -> 186:b ;
358 183:__UG_NAME__ -> 186:a ;
359 188:__UG_NAME__ -> 189:b ;
360 172:__UG_NAME__ -> 189:a ;
361 191:__UG_NAME__ -> 192:b ;
362 186:__UG_NAME__ -> 192:a ;
363 84:__UG_NAME__ -> 85:a ;
364 116:__UG_NAME__ -> 119:b ;
365 95:__UG_NAME__ -> 130:b ;
366 116:__UG_NAME__ -> 171:b ;
367 131:__UG_NAME__ -> 175:b ;
368 167:__UG_NAME__ -> 190:a ;
369 187:__UG_NAME__ -> 195:a ;
370 28:__UG_NAME__ -> 53:a ;
371 70:__UG_NAME__ -> 71:b ;
372 94:__UG_NAME__ -> 95:a ;
373 28:__UG_NAME__ -> 129:a ;
374 141:__UG_NAME__ -> 142:a ;
375 144:__UG_NAME__ -> 145:a ;
376 153:__UG_NAME__ -> 154:a ;
377 141:__UG_NAME__ -> 177:a ;
378 144:__UG_NAME__ -> 178:a ;
379 153:__UG_NAME__ -> 181:a ;
380 70:__UG_NAME__ -> 198:b ;
381 45:__UG_NAME__ -> 46:a ;
382 55:__UG_NAME__ -> 56:a ;
383 63:__UG_NAME__ -> 64:a ;
384 67:__UG_NAME__ -> 68:a ;
385 77:__UG_NAME__ -> 78:a ;
386 60:__UG_NAME__ -> 80:a ;
387 98:__UG_NAME__ -> 99:a ;
388 103:__UG_NAME__ -> 104:a ;
389 41:__UG_NAME__ -> 106:a ;
390 48:__UG_NAME__ -> 110:a ;
391 113:__UG_NAME__ -> 114:a ;
392 121:__UG_NAME__ -> 122:a ;
393 134:__UG_NAME__ -> 135:a ;
394 138:__UG_NAME__ -> 139:a ;
395 150:__UG_NAME__ -> 151:a ;
396 159:__UG_NAME__ -> 160:a ;
397 163:__UG_NAME__ -> 164:a ;
398 184:__UG_NAME__ -> 185:a ;
399 50:__UG_NAME__ -> 191:a ;
400 44:__UG_NAME__ -> 45:a ;
401 47:__UG_NAME__ -> 48:a ;
402 49:__UG_NAME__ -> 50:a ;
403 54:__UG_NAME__ -> 55:a ;
404 59:__UG_NAME__ -> 60:a ;
405 62:__UG_NAME__ -> 63:a ;
406 66:__UG_NAME__ -> 67:a ;
407 76:__UG_NAME__ -> 77:a ;
408 97:__UG_NAME__ -> 98:a ;
409 102:__UG_NAME__ -> 103:a ;
410 112:__UG_NAME__ -> 113:a ;
411 120:__UG_NAME__ -> 121:a ;
412 133:__UG_NAME__ -> 134:a ;
413 137:__UG_NAME__ -> 138:a ;
414 51:__UG_NAME__ -> 150:a ;
415 158:__UG_NAME__ -> 159:a ;
416 162:__UG_NAME__ -> 163:a ;
417 52:__UG_NAME__ -> 184:a ;
418 154:__UG_NAME__ -> 155:decay____time ;
419 147:__UG_NAME__ -> 155:delay____time ;
420 129:__UG_NAME__ -> 155:max____delay____time ;
421 128:__UG_NAME__ -> 155:in ;
422 181:__UG_NAME__ -> 182:decay____time ;
423 180:__UG_NAME__ -> 182:delay____time ;
424 53:__UG_NAME__ -> 182:max____delay____time ;
425 174:__UG_NAME__ -> 182:in ;
426 69:__UG_NAME__ -> 70:gate ;
427 12:__UG_NAME__ -> 70:envelope___control___0 ;
428 12:__UG_NAME__ -> 70:envelope___control___4 ;
429 13:__UG_NAME__ -> 70:envelope___control___5 ;
430 14:__UG_NAME__ -> 70:envelope___control___6 ;
431 15:__UG_NAME__ -> 70:envelope___control___7 ;
432 81:__UG_NAME__ -> 82:gate ;
433 20:__UG_NAME__ -> 82:envelope___control___0 ;
434 20:__UG_NAME__ -> 82:envelope___control___4 ;
435 21:__UG_NAME__ -> 82:envelope___control___5 ;
436 22:__UG_NAME__ -> 82:envelope___control___6 ;
437 23:__UG_NAME__ -> 82:envelope___control___7 ;
438 115:__UG_NAME__ -> 116:gate ;
439 33:__UG_NAME__ -> 116:envelope___control___0 ;
440 33:__UG_NAME__ -> 116:envelope___control___4 ;
441 34:__UG_NAME__ -> 116:envelope___control___5 ;
442 35:__UG_NAME__ -> 116:envelope___control___6 ;
443 36:__UG_NAME__ -> 116:envelope___control___7 ;
444 123:__UG_NAME__ -> 124:gate ;
445 8:__UG_NAME__ -> 124:envelope___control___0 ;
446 8:__UG_NAME__ -> 124:envelope___control___4 ;
447 9:__UG_NAME__ -> 124:envelope___control___5 ;
448 10:__UG_NAME__ -> 124:envelope___control___6 ;
449 11:__UG_NAME__ -> 124:envelope___control___7 ;
450 140:__UG_NAME__ -> 141:gate ;
451 29:__UG_NAME__ -> 141:envelope___control___0 ;
452 29:__UG_NAME__ -> 141:envelope___control___4 ;
453 30:__UG_NAME__ -> 141:envelope___control___5 ;
454 31:__UG_NAME__ -> 141:envelope___control___6 ;
455 32:__UG_NAME__ -> 141:envelope___control___7 ;
456 143:__UG_NAME__ -> 144:gate ;
457 24:__UG_NAME__ -> 144:envelope___control___0 ;
458 24:__UG_NAME__ -> 144:envelope___control___4 ;
459 25:__UG_NAME__ -> 144:envelope___control___5 ;
460 26:__UG_NAME__ -> 144:envelope___control___6 ;
461 27:__UG_NAME__ -> 144:envelope___control___7 ;
462 152:__UG_NAME__ -> 153:gate ;
463 37:__UG_NAME__ -> 153:envelope___control___0 ;
464 37:__UG_NAME__ -> 153:envelope___control___4 ;
465 38:__UG_NAME__ -> 153:envelope___control___5 ;
466 39:__UG_NAME__ -> 153:envelope___control___6 ;
467 40:__UG_NAME__ -> 153:envelope___control___7 ;
468 165:__UG_NAME__ -> 166:gate ;
469 4:__UG_NAME__ -> 166:envelope___control___0 ;
470 4:__UG_NAME__ -> 166:envelope___control___4 ;
471 5:__UG_NAME__ -> 166:envelope___control___5 ;
472 6:__UG_NAME__ -> 166:envelope___control___6 ;
473 7:__UG_NAME__ -> 166:envelope___control___7 ;
474 192:__UG_NAME__ -> 193:gate ;
475 0:__UG_NAME__ -> 193:envelope___control___0 ;
476 0:__UG_NAME__ -> 193:envelope___control___4 ;
477 1:__UG_NAME__ -> 193:envelope___control___5 ;
478 2:__UG_NAME__ -> 193:envelope___control___6 ;
479 3:__UG_NAME__ -> 193:envelope___control___7 ;
480 37:__UG_NAME__ -> 44:in ;
481 33:__UG_NAME__ -> 47:in ;
482 1:__UG_NAME__ -> 49:in ;
483 38:__UG_NAME__ -> 51:in ;
484 0:__UG_NAME__ -> 52:in ;
485 25:__UG_NAME__ -> 54:in ;
486 21:__UG_NAME__ -> 59:in ;
487 12:__UG_NAME__ -> 62:in ;
488 13:__UG_NAME__ -> 66:in ;
489 20:__UG_NAME__ -> 76:in ;
490 24:__UG_NAME__ -> 97:in ;
491 8:__UG_NAME__ -> 102:in ;
492 34:__UG_NAME__ -> 112:in ;
493 9:__UG_NAME__ -> 120:in ;
494 29:__UG_NAME__ -> 133:in ;
495 30:__UG_NAME__ -> 137:in ;
496 4:__UG_NAME__ -> 158:in ;
497 5:__UG_NAME__ -> 162:in ;
498 42:__UG_NAME__ -> 125:bus ;
499 91:__UG_NAME__ -> 92:iphase ;
500 71:__UG_NAME__ -> 92:freq ;
501 82:__UG_NAME__ -> 83:width ;
502 16:__UG_NAME__ -> 83:iphase ;
503 71:__UG_NAME__ -> 83:freq ;
504 73:__UG_NAME__ -> 74:iphase ;
505 71:__UG_NAME__ -> 74:freq ;
506 86:__UG_NAME__ -> 87:iphase ;
507 71:__UG_NAME__ -> 87:freq ;
508 117:__UG_NAME__ -> 118:in ;
509 169:__UG_NAME__ -> 170:in ;
510 189:__UG_NAME__ -> 199:channels____array___binary____op____u____gen___0 ;
511 168:__UG_NAME__ -> 199:channels____array___binary____op____u____gen___1 ;
512 146:__UG_NAME__ -> 147:a ;
513 179:__UG_NAME__ -> 180:a ;
514 145:__UG_NAME__ -> 146:add ;
515 142:__UG_NAME__ -> 146:mul ;
516 131:__UG_NAME__ -> 146:in ;
517 178:__UG_NAME__ -> 179:add ;
518 177:__UG_NAME__ -> 179:mul ;
519 176:__UG_NAME__ -> 179:in ;
520 194:__UG_NAME__ -> 197:signals___x____fade2___0 ;
521 196:__UG_NAME__ -> 197:signals___x____fade2___1 ;
522 43:__UG_NAME__ -> 197:bus ;
523 75:__UG_NAME__ -> 93:array___binary____op____u____gen___0 ;
524 85:__UG_NAME__ -> 93:array___binary____op____u____gen___1 ;
525 87:__UG_NAME__ -> 93:array___lf____tri___2 ;
526 90:__UG_NAME__ -> 93:array___sin____osc___3 ;
527 92:__UG_NAME__ -> 93:array___lf____cub___4 ;
528 17:__UG_NAME__ -> 93:which ;
529 95:__UG_NAME__ -> 131:array___binary____op____u____gen___0 ;
530 130:__UG_NAME__ -> 131:array___binary____op____u____gen___1 ;
531 18:__UG_NAME__ -> 131:which ;
532 131:__UG_NAME__ -> 176:array___select___0 ;
533 175:__UG_NAME__ -> 176:array___binary____op____u____gen___1 ;
534 19:__UG_NAME__ -> 176:which ;
535 89:__UG_NAME__ -> 90:phase ;
536 71:__UG_NAME__ -> 90:freq ;
537 193:__UG_NAME__ -> 194:level ;
538 190:__UG_NAME__ -> 194:pan ;
539 189:__UG_NAME__ -> 194:inb ;
540 172:__UG_NAME__ -> 194:ina ;
541 193:__UG_NAME__ -> 196:level ;
542 195:__UG_NAME__ -> 196:pan ;
543 168:__UG_NAME__ -> 196:inb ;
544 126:__UG_NAME__ -> 196:ina ;
545
546 }
+0
-371
etc/synthdefs/graphviz/sonic-pi-fx_gverb.dot less more
0 digraph synthdef {
1 76 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 100 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 101 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 103 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 117 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 120 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 121 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 123 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 48 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 52 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 59 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 69 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 73 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 80 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 84 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 90 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 94 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 97 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="dashed, rounded" shape=record rankdir=LR];
20 104 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 107 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 112 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 115 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 118 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
25 124 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
26 96 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
27 40 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 47 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 51 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 58 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 62 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 68 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 72 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 79 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 83 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 89 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 93 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 106 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 111 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 114 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 39 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 42 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 46 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 50 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 57 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 61 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 67 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 71 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 78 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 82 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 88 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 92 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 105 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 113 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 0 [label = "control
56 :room
57 default: 10" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
58 1 [label = "control
59 :max_room
60 default: -1" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
61 2 [label = "control
62 :release
63 default: 3" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
64 3 [label = "control
65 :ref_level
66 default: 0.7" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
67 4 [label = "control
68 :tail_level
69 default: 0.5" shape=invhouse style="rounded, dashed, filled, bold" fillcolor=white fontcolor=black ];
70 5 [label = "control
71 :amp
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 6 [label = "control
74 :amp_slide
75 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 7 [label = "control
77 :amp_slide_shape
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 8 [label = "control
80 :amp_slide_curve
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 9 [label = "control
83 :mix
84 default: 0.4" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 10 [label = "control
86 :mix_slide
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 11 [label = "control
89 :mix_slide_shape
90 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 12 [label = "control
92 :mix_slide_curve
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 13 [label = "control
95 :pre_amp
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 14 [label = "control
98 :pre_amp_slide
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 15 [label = "control
101 :pre_amp_slide_shape
102 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 16 [label = "control
104 :pre_amp_slide_curve
105 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 17 [label = "control
107 :spread
108 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 18 [label = "control
110 :spread_slide
111 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 19 [label = "control
113 :spread_slide_shape
114 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 20 [label = "control
116 :spread_slide_curve
117 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 21 [label = "control
119 :damp
120 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 22 [label = "control
122 :damp_slide
123 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 23 [label = "control
125 :damp_slide_shape
126 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 24 [label = "control
128 :damp_slide_curve
129 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 25 [label = "control
131 :pre_damp
132 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 26 [label = "control
134 :pre_damp_slide
135 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 27 [label = "control
137 :pre_damp_slide_shape
138 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 28 [label = "control
140 :pre_damp_slide_curve
141 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
142 29 [label = "control
143 :dry
144 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
145 30 [label = "control
146 :dry_slide
147 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
148 31 [label = "control
149 :dry_slide_shape
150 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
151 32 [label = "control
152 :dry_slide_curve
153 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
154 33 [label = "control
155 :in_bus
156 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
157 34 [label = "control
158 :out_bus
159 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
160 53 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
161 64 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
162 74 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
163 85 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
164 95 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
165 108 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
166 116 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
167 99 [label = "{{ <in> in|<taillevel> taillevel|<earlyreflevel> earlyreflevel|<roomsize> roomsize|<damping> damping|<inputbw> inputbw|<maxroomsize> maxroomsize|<revtime> revtime|<spread> spread 0.0|<drylevel> drylevel} |<__UG_NAME__>g-verb }" style="filled, bold, rounded" shape=record rankdir=LR];
168 102 [label = "{{ <in> in|<taillevel> taillevel|<earlyreflevel> earlyreflevel|<roomsize> roomsize|<damping> damping|<inputbw> inputbw|<maxroomsize> maxroomsize|<revtime> revtime|<spread> spread 0.0|<drylevel> drylevel} |<__UG_NAME__>g-verb }" style="filled, bold, rounded" shape=record rankdir=LR];
169 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
170 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
171 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
172 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
173 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
174 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
175 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
176 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
177 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
178 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
179 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
180 81 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
181 87 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
182 91 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
183 35 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
184 43 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
185 44 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
186 55 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
187 65 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
188 77 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
189 86 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
190 75 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
191 109 [label = "{{ <in> in|<mul> mul 1.0|<add> add -1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
192 126 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
193 98 [label = "{{ <which> which|{{<array___control___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
194 110 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level 1.0} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
195 119 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
196 122 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level 1.0} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
197 125 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
198
199 75:__UG_NAME__ -> 76:b ;
200 74:__UG_NAME__ -> 76:a ;
201 99:__UG_NAME__ -> 100:b ;
202 85:__UG_NAME__ -> 100:a ;
203 75:__UG_NAME__ -> 101:b ;
204 74:__UG_NAME__ -> 101:a ;
205 102:__UG_NAME__ -> 103:b ;
206 85:__UG_NAME__ -> 103:a ;
207 116:__UG_NAME__ -> 117:a ;
208 102:__UG_NAME__ -> 120:b ;
209 85:__UG_NAME__ -> 120:a ;
210 99:__UG_NAME__ -> 121:b ;
211 85:__UG_NAME__ -> 121:a ;
212 116:__UG_NAME__ -> 123:a ;
213 47:__UG_NAME__ -> 48:b ;
214 44:__UG_NAME__ -> 48:a ;
215 51:__UG_NAME__ -> 52:b ;
216 48:__UG_NAME__ -> 52:a ;
217 58:__UG_NAME__ -> 59:b ;
218 55:__UG_NAME__ -> 59:a ;
219 62:__UG_NAME__ -> 63:b ;
220 59:__UG_NAME__ -> 63:a ;
221 68:__UG_NAME__ -> 69:b ;
222 65:__UG_NAME__ -> 69:a ;
223 72:__UG_NAME__ -> 73:b ;
224 69:__UG_NAME__ -> 73:a ;
225 79:__UG_NAME__ -> 80:b ;
226 77:__UG_NAME__ -> 80:a ;
227 83:__UG_NAME__ -> 84:b ;
228 80:__UG_NAME__ -> 84:a ;
229 89:__UG_NAME__ -> 90:b ;
230 86:__UG_NAME__ -> 90:a ;
231 93:__UG_NAME__ -> 94:b ;
232 90:__UG_NAME__ -> 94:a ;
233 0:__UG_NAME__ -> 97:a ;
234 40:__UG_NAME__ -> 104:b ;
235 35:__UG_NAME__ -> 104:a ;
236 106:__UG_NAME__ -> 107:b ;
237 104:__UG_NAME__ -> 107:a ;
238 111:__UG_NAME__ -> 112:b ;
239 43:__UG_NAME__ -> 112:a ;
240 114:__UG_NAME__ -> 115:b ;
241 112:__UG_NAME__ -> 115:a ;
242 117:__UG_NAME__ -> 118:a ;
243 123:__UG_NAME__ -> 124:a ;
244 1:__UG_NAME__ -> 96:b ;
245 39:__UG_NAME__ -> 40:a ;
246 46:__UG_NAME__ -> 47:a ;
247 50:__UG_NAME__ -> 51:a ;
248 57:__UG_NAME__ -> 58:a ;
249 61:__UG_NAME__ -> 62:a ;
250 67:__UG_NAME__ -> 68:a ;
251 71:__UG_NAME__ -> 72:a ;
252 78:__UG_NAME__ -> 79:a ;
253 82:__UG_NAME__ -> 83:a ;
254 88:__UG_NAME__ -> 89:a ;
255 92:__UG_NAME__ -> 93:a ;
256 105:__UG_NAME__ -> 106:a ;
257 42:__UG_NAME__ -> 111:a ;
258 113:__UG_NAME__ -> 114:a ;
259 38:__UG_NAME__ -> 39:a ;
260 41:__UG_NAME__ -> 42:a ;
261 45:__UG_NAME__ -> 46:a ;
262 49:__UG_NAME__ -> 50:a ;
263 56:__UG_NAME__ -> 57:a ;
264 60:__UG_NAME__ -> 61:a ;
265 66:__UG_NAME__ -> 67:a ;
266 70:__UG_NAME__ -> 71:a ;
267 54:__UG_NAME__ -> 78:a ;
268 81:__UG_NAME__ -> 82:a ;
269 87:__UG_NAME__ -> 88:a ;
270 91:__UG_NAME__ -> 92:a ;
271 36:__UG_NAME__ -> 105:a ;
272 37:__UG_NAME__ -> 113:a ;
273 52:__UG_NAME__ -> 53:gate ;
274 21:__UG_NAME__ -> 53:envelope___control___0 ;
275 21:__UG_NAME__ -> 53:envelope___control___4 ;
276 22:__UG_NAME__ -> 53:envelope___control___5 ;
277 23:__UG_NAME__ -> 53:envelope___control___6 ;
278 24:__UG_NAME__ -> 53:envelope___control___7 ;
279 63:__UG_NAME__ -> 64:gate ;
280 29:__UG_NAME__ -> 64:envelope___control___0 ;
281 29:__UG_NAME__ -> 64:envelope___control___4 ;
282 30:__UG_NAME__ -> 64:envelope___control___5 ;
283 31:__UG_NAME__ -> 64:envelope___control___6 ;
284 32:__UG_NAME__ -> 64:envelope___control___7 ;
285 73:__UG_NAME__ -> 74:gate ;
286 13:__UG_NAME__ -> 74:envelope___control___0 ;
287 13:__UG_NAME__ -> 74:envelope___control___4 ;
288 14:__UG_NAME__ -> 74:envelope___control___5 ;
289 15:__UG_NAME__ -> 74:envelope___control___6 ;
290 16:__UG_NAME__ -> 74:envelope___control___7 ;
291 84:__UG_NAME__ -> 85:gate ;
292 5:__UG_NAME__ -> 85:envelope___control___0 ;
293 5:__UG_NAME__ -> 85:envelope___control___4 ;
294 6:__UG_NAME__ -> 85:envelope___control___5 ;
295 7:__UG_NAME__ -> 85:envelope___control___6 ;
296 8:__UG_NAME__ -> 85:envelope___control___7 ;
297 94:__UG_NAME__ -> 95:gate ;
298 25:__UG_NAME__ -> 95:envelope___control___0 ;
299 25:__UG_NAME__ -> 95:envelope___control___4 ;
300 26:__UG_NAME__ -> 95:envelope___control___5 ;
301 27:__UG_NAME__ -> 95:envelope___control___6 ;
302 28:__UG_NAME__ -> 95:envelope___control___7 ;
303 107:__UG_NAME__ -> 108:gate ;
304 17:__UG_NAME__ -> 108:envelope___control___0 ;
305 17:__UG_NAME__ -> 108:envelope___control___4 ;
306 18:__UG_NAME__ -> 108:envelope___control___5 ;
307 19:__UG_NAME__ -> 108:envelope___control___6 ;
308 20:__UG_NAME__ -> 108:envelope___control___7 ;
309 115:__UG_NAME__ -> 116:gate ;
310 9:__UG_NAME__ -> 116:envelope___control___0 ;
311 9:__UG_NAME__ -> 116:envelope___control___4 ;
312 10:__UG_NAME__ -> 116:envelope___control___5 ;
313 11:__UG_NAME__ -> 116:envelope___control___6 ;
314 12:__UG_NAME__ -> 116:envelope___control___7 ;
315 64:__UG_NAME__ -> 99:drylevel ;
316 2:__UG_NAME__ -> 99:revtime ;
317 98:__UG_NAME__ -> 99:maxroomsize ;
318 95:__UG_NAME__ -> 99:inputbw ;
319 53:__UG_NAME__ -> 99:damping ;
320 0:__UG_NAME__ -> 99:roomsize ;
321 3:__UG_NAME__ -> 99:earlyreflevel ;
322 4:__UG_NAME__ -> 99:taillevel ;
323 76:__UG_NAME__ -> 99:in ;
324 64:__UG_NAME__ -> 102:drylevel ;
325 2:__UG_NAME__ -> 102:revtime ;
326 98:__UG_NAME__ -> 102:maxroomsize ;
327 95:__UG_NAME__ -> 102:inputbw ;
328 53:__UG_NAME__ -> 102:damping ;
329 0:__UG_NAME__ -> 102:roomsize ;
330 3:__UG_NAME__ -> 102:earlyreflevel ;
331 4:__UG_NAME__ -> 102:taillevel ;
332 101:__UG_NAME__ -> 102:in ;
333 18:__UG_NAME__ -> 36:in ;
334 10:__UG_NAME__ -> 37:in ;
335 17:__UG_NAME__ -> 38:in ;
336 9:__UG_NAME__ -> 41:in ;
337 21:__UG_NAME__ -> 45:in ;
338 22:__UG_NAME__ -> 49:in ;
339 5:__UG_NAME__ -> 54:in ;
340 29:__UG_NAME__ -> 56:in ;
341 30:__UG_NAME__ -> 60:in ;
342 13:__UG_NAME__ -> 66:in ;
343 14:__UG_NAME__ -> 70:in ;
344 6:__UG_NAME__ -> 81:in ;
345 25:__UG_NAME__ -> 87:in ;
346 26:__UG_NAME__ -> 91:in ;
347 33:__UG_NAME__ -> 75:bus ;
348 108:__UG_NAME__ -> 109:in ;
349 119:__UG_NAME__ -> 126:signals___x____fade2___0 ;
350 125:__UG_NAME__ -> 126:signals___x____fade2___1 ;
351 34:__UG_NAME__ -> 126:bus ;
352 1:__UG_NAME__ -> 98:array___control___0 ;
353 97:__UG_NAME__ -> 98:array___binary____op____u____gen___1 ;
354 96:__UG_NAME__ -> 98:which ;
355 109:__UG_NAME__ -> 110:pan ;
356 103:__UG_NAME__ -> 110:inb ;
357 100:__UG_NAME__ -> 110:ina ;
358 85:__UG_NAME__ -> 119:level ;
359 118:__UG_NAME__ -> 119:pan ;
360 110:__UG_NAME__ -> 119:inb ;
361 76:__UG_NAME__ -> 119:ina ;
362 109:__UG_NAME__ -> 122:pan ;
363 121:__UG_NAME__ -> 122:inb ;
364 120:__UG_NAME__ -> 122:ina ;
365 85:__UG_NAME__ -> 125:level ;
366 124:__UG_NAME__ -> 125:pan ;
367 122:__UG_NAME__ -> 125:inb ;
368 101:__UG_NAME__ -> 125:ina ;
369
370 }
+0
-200
etc/synthdefs/graphviz/sonic-pi-fx_hpf.dot less more
0 digraph synthdef {
1 28 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 59 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 60 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 62 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 22 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 26 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 34 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 41 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 45 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 56 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 65 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 29 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
14 63 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
15 21 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 25 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 33 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 40 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 44 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 52 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 55 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 64 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 20 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 24 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 32 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 36 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 39 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 43 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 54 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 0 [label = "control
32 :amp
33 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 1 [label = "control
35 :amp_slide
36 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 2 [label = "control
38 :amp_slide_shape
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 3 [label = "control
41 :amp_slide_curve
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 4 [label = "control
44 :mix
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 5 [label = "control
47 :mix_slide
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 6 [label = "control
50 :mix_slide_shape
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 7 [label = "control
53 :mix_slide_curve
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 8 [label = "control
56 :pre_amp
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 9 [label = "control
59 :pre_amp_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 10 [label = "control
62 :pre_amp_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 11 [label = "control
65 :pre_amp_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 12 [label = "control
68 :cutoff
69 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 13 [label = "control
71 :cutoff_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 14 [label = "control
74 :cutoff_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 15 [label = "control
77 :cutoff_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 16 [label = "control
80 :in_bus
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 17 [label = "control
83 :out_bus
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 27 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
86 46 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 57 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 66 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 61 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
90 68 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
91 19 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
98 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
99 18 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
100 30 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
101 37 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
102 49 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
103 58 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
104 47 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
105 70 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
106 67 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
107 69 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
108
109 27:__UG_NAME__ -> 28:a ;
110 58:__UG_NAME__ -> 59:b ;
111 57:__UG_NAME__ -> 59:a ;
112 58:__UG_NAME__ -> 60:b ;
113 57:__UG_NAME__ -> 60:a ;
114 27:__UG_NAME__ -> 62:a ;
115 21:__UG_NAME__ -> 22:b ;
116 18:__UG_NAME__ -> 22:a ;
117 25:__UG_NAME__ -> 26:b ;
118 22:__UG_NAME__ -> 26:a ;
119 33:__UG_NAME__ -> 34:b ;
120 30:__UG_NAME__ -> 34:a ;
121 40:__UG_NAME__ -> 41:b ;
122 37:__UG_NAME__ -> 41:a ;
123 44:__UG_NAME__ -> 45:b ;
124 41:__UG_NAME__ -> 45:a ;
125 52:__UG_NAME__ -> 53:b ;
126 49:__UG_NAME__ -> 53:a ;
127 55:__UG_NAME__ -> 56:b ;
128 53:__UG_NAME__ -> 56:a ;
129 64:__UG_NAME__ -> 65:b ;
130 34:__UG_NAME__ -> 65:a ;
131 28:__UG_NAME__ -> 29:a ;
132 62:__UG_NAME__ -> 63:a ;
133 20:__UG_NAME__ -> 21:a ;
134 24:__UG_NAME__ -> 25:a ;
135 32:__UG_NAME__ -> 33:a ;
136 39:__UG_NAME__ -> 40:a ;
137 43:__UG_NAME__ -> 44:a ;
138 51:__UG_NAME__ -> 52:a ;
139 54:__UG_NAME__ -> 55:a ;
140 36:__UG_NAME__ -> 64:a ;
141 19:__UG_NAME__ -> 20:a ;
142 23:__UG_NAME__ -> 24:a ;
143 31:__UG_NAME__ -> 32:a ;
144 35:__UG_NAME__ -> 36:a ;
145 38:__UG_NAME__ -> 39:a ;
146 42:__UG_NAME__ -> 43:a ;
147 50:__UG_NAME__ -> 51:a ;
148 48:__UG_NAME__ -> 54:a ;
149 26:__UG_NAME__ -> 27:gate ;
150 4:__UG_NAME__ -> 27:envelope___control___0 ;
151 4:__UG_NAME__ -> 27:envelope___control___4 ;
152 5:__UG_NAME__ -> 27:envelope___control___5 ;
153 6:__UG_NAME__ -> 27:envelope___control___6 ;
154 7:__UG_NAME__ -> 27:envelope___control___7 ;
155 45:__UG_NAME__ -> 46:gate ;
156 12:__UG_NAME__ -> 46:envelope___control___0 ;
157 12:__UG_NAME__ -> 46:envelope___control___4 ;
158 13:__UG_NAME__ -> 46:envelope___control___5 ;
159 14:__UG_NAME__ -> 46:envelope___control___6 ;
160 15:__UG_NAME__ -> 46:envelope___control___7 ;
161 56:__UG_NAME__ -> 57:gate ;
162 8:__UG_NAME__ -> 57:envelope___control___0 ;
163 8:__UG_NAME__ -> 57:envelope___control___4 ;
164 9:__UG_NAME__ -> 57:envelope___control___5 ;
165 10:__UG_NAME__ -> 57:envelope___control___6 ;
166 11:__UG_NAME__ -> 57:envelope___control___7 ;
167 65:__UG_NAME__ -> 66:gate ;
168 0:__UG_NAME__ -> 66:envelope___control___0 ;
169 0:__UG_NAME__ -> 66:envelope___control___4 ;
170 1:__UG_NAME__ -> 66:envelope___control___5 ;
171 2:__UG_NAME__ -> 66:envelope___control___6 ;
172 3:__UG_NAME__ -> 66:envelope___control___7 ;
173 47:__UG_NAME__ -> 61:freq ;
174 60:__UG_NAME__ -> 61:in ;
175 47:__UG_NAME__ -> 68:freq ;
176 59:__UG_NAME__ -> 68:in ;
177 4:__UG_NAME__ -> 19:in ;
178 5:__UG_NAME__ -> 23:in ;
179 0:__UG_NAME__ -> 31:in ;
180 1:__UG_NAME__ -> 35:in ;
181 12:__UG_NAME__ -> 38:in ;
182 13:__UG_NAME__ -> 42:in ;
183 9:__UG_NAME__ -> 48:in ;
184 8:__UG_NAME__ -> 50:in ;
185 16:__UG_NAME__ -> 58:bus ;
186 46:__UG_NAME__ -> 47:a ;
187 67:__UG_NAME__ -> 70:signals___x____fade2___0 ;
188 69:__UG_NAME__ -> 70:signals___x____fade2___1 ;
189 17:__UG_NAME__ -> 70:bus ;
190 66:__UG_NAME__ -> 67:level ;
191 63:__UG_NAME__ -> 67:pan ;
192 61:__UG_NAME__ -> 67:inb ;
193 60:__UG_NAME__ -> 67:ina ;
194 66:__UG_NAME__ -> 69:level ;
195 29:__UG_NAME__ -> 69:pan ;
196 68:__UG_NAME__ -> 69:inb ;
197 59:__UG_NAME__ -> 69:ina ;
198
199 }
+0
-336
etc/synthdefs/graphviz/sonic-pi-fx_ixi_techno.dot less more
0 digraph synthdef {
1 59 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 81 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 94 [label = "{{ <a> |<b> 6.2831855} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 110 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 117 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 37 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 41 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 52 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 56 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 62 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 66 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 73 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 77 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 86 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 90 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 97 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 101 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 109 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 113 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 93 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
21 111 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
22 118 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
23 92 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
24 36 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 40 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 45 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 51 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 55 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 61 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 65 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 72 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 76 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 85 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 89 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 100 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 108 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 112 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 32 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 35 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 39 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 44 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 47 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 50 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 54 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 64 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 71 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 75 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 80 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 84 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 88 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 99 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 0 [label = "control
53 :amp
54 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 1 [label = "control
56 :amp_slide
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 2 [label = "control
59 :amp_slide_shape
60 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 3 [label = "control
62 :amp_slide_curve
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 4 [label = "control
65 :mix
66 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 5 [label = "control
68 :mix_slide
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 6 [label = "control
71 :mix_slide_shape
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 7 [label = "control
74 :mix_slide_curve
75 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 8 [label = "control
77 :pre_amp
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 9 [label = "control
80 :pre_amp_slide
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 10 [label = "control
83 :pre_amp_slide_shape
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 11 [label = "control
86 :pre_amp_slide_curve
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 12 [label = "control
89 :phase
90 default: 4.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 13 [label = "control
92 :phase_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 14 [label = "control
95 :phase_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 15 [label = "control
98 :phase_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 16 [label = "control
101 :phase_offset
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 17 [label = "control
104 :cutoff_min
105 default: 60.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 18 [label = "control
107 :cutoff_min_slide
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 19 [label = "control
110 :cutoff_min_slide_shape
111 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 20 [label = "control
113 :cutoff_min_slide_curve
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 21 [label = "control
116 :cutoff_max
117 default: 120.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 22 [label = "control
119 :cutoff_max_slide
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 23 [label = "control
122 :cutoff_max_slide_shape
123 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 24 [label = "control
125 :cutoff_max_slide_curve
126 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 25 [label = "control
128 :res
129 default: 0.8" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 26 [label = "control
131 :res_slide
132 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 27 [label = "control
134 :res_slide_shape
135 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 28 [label = "control
137 :res_slide_curve
138 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 29 [label = "control
140 :in_bus
141 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
142 30 [label = "control
143 :out_bus
144 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
145 42 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
146 57 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
147 67 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
148 78 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
149 91 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
150 102 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
151 114 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
152 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
153 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
154 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
155 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
156 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
157 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
158 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
159 63 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
160 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
161 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
162 79 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
163 83 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
164 87 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
165 98 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
166 33 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
167 48 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
168 60 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
169 68 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
170 82 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
171 96 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
172 107 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
173 58 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
174 105 [label = "{{ <in> in|<srclo> srclo -1.0|<srchi> srchi 1.0|<dstlo> dstlo|<dsthi> dsthi} |<__UG_NAME__>lin-exp }" style="bold, rounded" shape=record rankdir=LR];
175 103 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
176 104 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
177 69 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
178 120 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
179 106 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
180 116 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
181 95 [label = "{{ <freq> freq|<phase> phase|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
182 115 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
183 119 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
184
185 58:__UG_NAME__ -> 59:b ;
186 57:__UG_NAME__ -> 59:a ;
187 58:__UG_NAME__ -> 81:b ;
188 57:__UG_NAME__ -> 81:a ;
189 93:__UG_NAME__ -> 94:a ;
190 42:__UG_NAME__ -> 110:a ;
191 42:__UG_NAME__ -> 117:a ;
192 36:__UG_NAME__ -> 37:b ;
193 33:__UG_NAME__ -> 37:a ;
194 40:__UG_NAME__ -> 41:b ;
195 37:__UG_NAME__ -> 41:a ;
196 51:__UG_NAME__ -> 52:b ;
197 48:__UG_NAME__ -> 52:a ;
198 55:__UG_NAME__ -> 56:b ;
199 52:__UG_NAME__ -> 56:a ;
200 61:__UG_NAME__ -> 62:b ;
201 60:__UG_NAME__ -> 62:a ;
202 65:__UG_NAME__ -> 66:b ;
203 62:__UG_NAME__ -> 66:a ;
204 72:__UG_NAME__ -> 73:b ;
205 68:__UG_NAME__ -> 73:a ;
206 76:__UG_NAME__ -> 77:b ;
207 73:__UG_NAME__ -> 77:a ;
208 85:__UG_NAME__ -> 86:b ;
209 82:__UG_NAME__ -> 86:a ;
210 89:__UG_NAME__ -> 90:b ;
211 86:__UG_NAME__ -> 90:a ;
212 45:__UG_NAME__ -> 97:b ;
213 96:__UG_NAME__ -> 97:a ;
214 100:__UG_NAME__ -> 101:b ;
215 97:__UG_NAME__ -> 101:a ;
216 108:__UG_NAME__ -> 109:b ;
217 107:__UG_NAME__ -> 109:a ;
218 112:__UG_NAME__ -> 113:b ;
219 109:__UG_NAME__ -> 113:a ;
220 16:__UG_NAME__ -> 93:a ;
221 110:__UG_NAME__ -> 111:a ;
222 117:__UG_NAME__ -> 118:a ;
223 91:__UG_NAME__ -> 92:b ;
224 35:__UG_NAME__ -> 36:a ;
225 39:__UG_NAME__ -> 40:a ;
226 44:__UG_NAME__ -> 45:a ;
227 50:__UG_NAME__ -> 51:a ;
228 54:__UG_NAME__ -> 55:a ;
229 47:__UG_NAME__ -> 61:a ;
230 64:__UG_NAME__ -> 65:a ;
231 71:__UG_NAME__ -> 72:a ;
232 75:__UG_NAME__ -> 76:a ;
233 84:__UG_NAME__ -> 85:a ;
234 88:__UG_NAME__ -> 89:a ;
235 99:__UG_NAME__ -> 100:a ;
236 32:__UG_NAME__ -> 108:a ;
237 80:__UG_NAME__ -> 112:a ;
238 31:__UG_NAME__ -> 32:a ;
239 34:__UG_NAME__ -> 35:a ;
240 38:__UG_NAME__ -> 39:a ;
241 43:__UG_NAME__ -> 44:a ;
242 46:__UG_NAME__ -> 47:a ;
243 49:__UG_NAME__ -> 50:a ;
244 53:__UG_NAME__ -> 54:a ;
245 63:__UG_NAME__ -> 64:a ;
246 70:__UG_NAME__ -> 71:a ;
247 74:__UG_NAME__ -> 75:a ;
248 79:__UG_NAME__ -> 80:a ;
249 83:__UG_NAME__ -> 84:a ;
250 87:__UG_NAME__ -> 88:a ;
251 98:__UG_NAME__ -> 99:a ;
252 41:__UG_NAME__ -> 42:gate ;
253 4:__UG_NAME__ -> 42:envelope___control___0 ;
254 4:__UG_NAME__ -> 42:envelope___control___4 ;
255 5:__UG_NAME__ -> 42:envelope___control___5 ;
256 6:__UG_NAME__ -> 42:envelope___control___6 ;
257 7:__UG_NAME__ -> 42:envelope___control___7 ;
258 56:__UG_NAME__ -> 57:gate ;
259 8:__UG_NAME__ -> 57:envelope___control___0 ;
260 8:__UG_NAME__ -> 57:envelope___control___4 ;
261 9:__UG_NAME__ -> 57:envelope___control___5 ;
262 10:__UG_NAME__ -> 57:envelope___control___6 ;
263 11:__UG_NAME__ -> 57:envelope___control___7 ;
264 66:__UG_NAME__ -> 67:gate ;
265 21:__UG_NAME__ -> 67:envelope___control___0 ;
266 21:__UG_NAME__ -> 67:envelope___control___4 ;
267 22:__UG_NAME__ -> 67:envelope___control___5 ;
268 23:__UG_NAME__ -> 67:envelope___control___6 ;
269 24:__UG_NAME__ -> 67:envelope___control___7 ;
270 77:__UG_NAME__ -> 78:gate ;
271 69:__UG_NAME__ -> 78:envelope___mul____add___0 ;
272 69:__UG_NAME__ -> 78:envelope___mul____add___4 ;
273 26:__UG_NAME__ -> 78:envelope___control___5 ;
274 27:__UG_NAME__ -> 78:envelope___control___6 ;
275 28:__UG_NAME__ -> 78:envelope___control___7 ;
276 90:__UG_NAME__ -> 91:gate ;
277 12:__UG_NAME__ -> 91:envelope___control___0 ;
278 12:__UG_NAME__ -> 91:envelope___control___4 ;
279 13:__UG_NAME__ -> 91:envelope___control___5 ;
280 14:__UG_NAME__ -> 91:envelope___control___6 ;
281 15:__UG_NAME__ -> 91:envelope___control___7 ;
282 101:__UG_NAME__ -> 102:gate ;
283 17:__UG_NAME__ -> 102:envelope___control___0 ;
284 17:__UG_NAME__ -> 102:envelope___control___4 ;
285 18:__UG_NAME__ -> 102:envelope___control___5 ;
286 19:__UG_NAME__ -> 102:envelope___control___6 ;
287 20:__UG_NAME__ -> 102:envelope___control___7 ;
288 113:__UG_NAME__ -> 114:gate ;
289 0:__UG_NAME__ -> 114:envelope___control___0 ;
290 0:__UG_NAME__ -> 114:envelope___control___4 ;
291 1:__UG_NAME__ -> 114:envelope___control___5 ;
292 2:__UG_NAME__ -> 114:envelope___control___6 ;
293 3:__UG_NAME__ -> 114:envelope___control___7 ;
294 0:__UG_NAME__ -> 31:in ;
295 4:__UG_NAME__ -> 34:in ;
296 5:__UG_NAME__ -> 38:in ;
297 17:__UG_NAME__ -> 43:in ;
298 21:__UG_NAME__ -> 46:in ;
299 8:__UG_NAME__ -> 49:in ;
300 9:__UG_NAME__ -> 53:in ;
301 22:__UG_NAME__ -> 63:in ;
302 69:__UG_NAME__ -> 70:in ;
303 26:__UG_NAME__ -> 74:in ;
304 1:__UG_NAME__ -> 79:in ;
305 12:__UG_NAME__ -> 83:in ;
306 13:__UG_NAME__ -> 87:in ;
307 18:__UG_NAME__ -> 98:in ;
308 29:__UG_NAME__ -> 58:bus ;
309 104:__UG_NAME__ -> 105:dsthi ;
310 103:__UG_NAME__ -> 105:dstlo ;
311 95:__UG_NAME__ -> 105:in ;
312 102:__UG_NAME__ -> 103:a ;
313 67:__UG_NAME__ -> 104:a ;
314 25:__UG_NAME__ -> 69:in ;
315 119:__UG_NAME__ -> 120:signals___x____fade2___0 ;
316 115:__UG_NAME__ -> 120:signals___x____fade2___1 ;
317 30:__UG_NAME__ -> 120:bus ;
318 78:__UG_NAME__ -> 106:rq ;
319 105:__UG_NAME__ -> 106:freq ;
320 81:__UG_NAME__ -> 106:in ;
321 78:__UG_NAME__ -> 116:rq ;
322 105:__UG_NAME__ -> 116:freq ;
323 59:__UG_NAME__ -> 116:in ;
324 94:__UG_NAME__ -> 95:phase ;
325 92:__UG_NAME__ -> 95:freq ;
326 114:__UG_NAME__ -> 115:level ;
327 111:__UG_NAME__ -> 115:pan ;
328 106:__UG_NAME__ -> 115:inb ;
329 81:__UG_NAME__ -> 115:ina ;
330 114:__UG_NAME__ -> 119:level ;
331 118:__UG_NAME__ -> 119:pan ;
332 116:__UG_NAME__ -> 119:inb ;
333 59:__UG_NAME__ -> 119:ina ;
334
335 }
+0
-326
etc/synthdefs/graphviz/sonic-pi-fx_krush.dot less more
0 digraph synthdef {
1 36 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 39 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 60 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 74 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 76 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 79 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 80 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 93 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 30 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 34 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 43 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 47 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 57 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 67 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 71 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 75 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
18 81 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
19 82 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
20 98 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
21 99 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
22 100 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
23 105 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 106 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 109 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 110 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 37 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
28 73 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
29 78 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
30 114 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
31 83 [label = "{{ <a> |<b> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
32 101 [label = "{{ <a> |<b> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
33 29 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 33 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 42 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 46 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 52 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 56 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 66 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 70 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 87 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 92 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 96 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 104 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 28 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 32 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 41 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 55 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 61 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
52 65 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 69 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 77 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
55 86 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 91 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 95 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 103 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 0 [label = "control
60 :amp
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 1 [label = "control
63 :amp_slide
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 2 [label = "control
66 :amp_slide_shape
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 3 [label = "control
69 :amp_slide_curve
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 4 [label = "control
72 :mix
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 5 [label = "control
75 :mix_slide
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 6 [label = "control
78 :mix_slide_shape
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 7 [label = "control
81 :mix_slide_curve
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 8 [label = "control
84 :pre_amp
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 9 [label = "control
87 :pre_amp_slide
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 10 [label = "control
90 :pre_amp_slide_shape
91 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 11 [label = "control
93 :pre_amp_slide_curve
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 12 [label = "control
96 :gain
97 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 13 [label = "control
99 :gain_slide
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 14 [label = "control
102 :gain_slide_shape
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 15 [label = "control
105 :gain_slide_curve
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 16 [label = "control
108 :cutoff
109 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 17 [label = "control
111 :cutoff_slide
112 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 18 [label = "control
114 :cutoff_slide_shape
115 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 19 [label = "control
117 :cutoff_slide_curve
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 20 [label = "control
120 :res
121 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 21 [label = "control
123 :res_slide
124 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 22 [label = "control
126 :res_slide_shape
127 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 23 [label = "control
129 :res_slide_curve
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 24 [label = "control
132 :in_bus
133 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 25 [label = "control
135 :out_bus
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 35 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
138 48 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
139 58 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
140 72 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
141 107 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
142 111 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
143 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
144 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
145 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
146 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
147 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
148 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
149 64 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
150 68 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
151 85 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
152 90 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
153 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
154 97 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
155 26 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
156 40 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
157 49 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
158 63 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
159 102 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
160 108 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
161 59 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
162 89 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
163 84 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
164 117 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
165 112 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
166 113 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
167 62 [label = "{{ <a> |<b> } |<__UG_NAME__>squared }" style="filled, bold, rounded" shape=record rankdir=LR];
168 88 [label = "{{ <a> |<b> } |<__UG_NAME__>squared }" style="filled, bold, rounded" shape=record rankdir=LR];
169 115 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
170 116 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
171
172 35:__UG_NAME__ -> 36:a ;
173 35:__UG_NAME__ -> 39:a ;
174 59:__UG_NAME__ -> 60:b ;
175 58:__UG_NAME__ -> 60:a ;
176 73:__UG_NAME__ -> 74:b ;
177 61:__UG_NAME__ -> 74:a ;
178 59:__UG_NAME__ -> 76:b ;
179 58:__UG_NAME__ -> 76:a ;
180 78:__UG_NAME__ -> 79:b ;
181 77:__UG_NAME__ -> 79:a ;
182 61:__UG_NAME__ -> 80:b ;
183 72:__UG_NAME__ -> 80:a ;
184 77:__UG_NAME__ -> 93:b ;
185 72:__UG_NAME__ -> 93:a ;
186 29:__UG_NAME__ -> 30:b ;
187 26:__UG_NAME__ -> 30:a ;
188 33:__UG_NAME__ -> 34:b ;
189 30:__UG_NAME__ -> 34:a ;
190 42:__UG_NAME__ -> 43:b ;
191 40:__UG_NAME__ -> 43:a ;
192 46:__UG_NAME__ -> 47:b ;
193 43:__UG_NAME__ -> 47:a ;
194 52:__UG_NAME__ -> 53:b ;
195 49:__UG_NAME__ -> 53:a ;
196 56:__UG_NAME__ -> 57:b ;
197 53:__UG_NAME__ -> 57:a ;
198 66:__UG_NAME__ -> 67:b ;
199 63:__UG_NAME__ -> 67:a ;
200 70:__UG_NAME__ -> 71:b ;
201 67:__UG_NAME__ -> 71:a ;
202 74:__UG_NAME__ -> 75:b ;
203 62:__UG_NAME__ -> 75:a ;
204 80:__UG_NAME__ -> 81:b ;
205 62:__UG_NAME__ -> 81:a ;
206 75:__UG_NAME__ -> 82:a ;
207 93:__UG_NAME__ -> 98:b ;
208 88:__UG_NAME__ -> 98:a ;
209 79:__UG_NAME__ -> 99:b ;
210 88:__UG_NAME__ -> 99:a ;
211 99:__UG_NAME__ -> 100:a ;
212 104:__UG_NAME__ -> 105:b ;
213 102:__UG_NAME__ -> 105:a ;
214 92:__UG_NAME__ -> 106:b ;
215 105:__UG_NAME__ -> 106:a ;
216 87:__UG_NAME__ -> 109:b ;
217 108:__UG_NAME__ -> 109:a ;
218 96:__UG_NAME__ -> 110:b ;
219 109:__UG_NAME__ -> 110:a ;
220 36:__UG_NAME__ -> 37:a ;
221 72:__UG_NAME__ -> 73:a ;
222 72:__UG_NAME__ -> 78:a ;
223 39:__UG_NAME__ -> 114:a ;
224 82:__UG_NAME__ -> 83:b ;
225 81:__UG_NAME__ -> 83:a ;
226 100:__UG_NAME__ -> 101:b ;
227 98:__UG_NAME__ -> 101:a ;
228 28:__UG_NAME__ -> 29:a ;
229 32:__UG_NAME__ -> 33:a ;
230 41:__UG_NAME__ -> 42:a ;
231 45:__UG_NAME__ -> 46:a ;
232 51:__UG_NAME__ -> 52:a ;
233 55:__UG_NAME__ -> 56:a ;
234 65:__UG_NAME__ -> 66:a ;
235 69:__UG_NAME__ -> 70:a ;
236 86:__UG_NAME__ -> 87:a ;
237 91:__UG_NAME__ -> 92:a ;
238 95:__UG_NAME__ -> 96:a ;
239 103:__UG_NAME__ -> 104:a ;
240 27:__UG_NAME__ -> 28:a ;
241 31:__UG_NAME__ -> 32:a ;
242 38:__UG_NAME__ -> 41:a ;
243 44:__UG_NAME__ -> 45:a ;
244 50:__UG_NAME__ -> 51:a ;
245 54:__UG_NAME__ -> 55:a ;
246 60:__UG_NAME__ -> 61:a ;
247 64:__UG_NAME__ -> 65:a ;
248 68:__UG_NAME__ -> 69:a ;
249 76:__UG_NAME__ -> 77:a ;
250 85:__UG_NAME__ -> 86:a ;
251 90:__UG_NAME__ -> 91:a ;
252 94:__UG_NAME__ -> 95:a ;
253 97:__UG_NAME__ -> 103:a ;
254 34:__UG_NAME__ -> 35:gate ;
255 4:__UG_NAME__ -> 35:envelope___control___0 ;
256 4:__UG_NAME__ -> 35:envelope___control___4 ;
257 5:__UG_NAME__ -> 35:envelope___control___5 ;
258 6:__UG_NAME__ -> 35:envelope___control___6 ;
259 7:__UG_NAME__ -> 35:envelope___control___7 ;
260 47:__UG_NAME__ -> 48:gate ;
261 16:__UG_NAME__ -> 48:envelope___control___0 ;
262 16:__UG_NAME__ -> 48:envelope___control___4 ;
263 17:__UG_NAME__ -> 48:envelope___control___5 ;
264 18:__UG_NAME__ -> 48:envelope___control___6 ;
265 19:__UG_NAME__ -> 48:envelope___control___7 ;
266 57:__UG_NAME__ -> 58:gate ;
267 8:__UG_NAME__ -> 58:envelope___control___0 ;
268 8:__UG_NAME__ -> 58:envelope___control___4 ;
269 9:__UG_NAME__ -> 58:envelope___control___5 ;
270 10:__UG_NAME__ -> 58:envelope___control___6 ;
271 11:__UG_NAME__ -> 58:envelope___control___7 ;
272 71:__UG_NAME__ -> 72:gate ;
273 12:__UG_NAME__ -> 72:envelope___control___0 ;
274 12:__UG_NAME__ -> 72:envelope___control___4 ;
275 13:__UG_NAME__ -> 72:envelope___control___5 ;
276 14:__UG_NAME__ -> 72:envelope___control___6 ;
277 15:__UG_NAME__ -> 72:envelope___control___7 ;
278 106:__UG_NAME__ -> 107:gate ;
279 0:__UG_NAME__ -> 107:envelope___control___0 ;
280 0:__UG_NAME__ -> 107:envelope___control___4 ;
281 1:__UG_NAME__ -> 107:envelope___control___5 ;
282 2:__UG_NAME__ -> 107:envelope___control___6 ;
283 3:__UG_NAME__ -> 107:envelope___control___7 ;
284 110:__UG_NAME__ -> 111:gate ;
285 84:__UG_NAME__ -> 111:envelope___mul____add___0 ;
286 84:__UG_NAME__ -> 111:envelope___mul____add___4 ;
287 21:__UG_NAME__ -> 111:envelope___control___5 ;
288 22:__UG_NAME__ -> 111:envelope___control___6 ;
289 23:__UG_NAME__ -> 111:envelope___control___7 ;
290 4:__UG_NAME__ -> 27:in ;
291 5:__UG_NAME__ -> 31:in ;
292 16:__UG_NAME__ -> 38:in ;
293 17:__UG_NAME__ -> 44:in ;
294 8:__UG_NAME__ -> 50:in ;
295 9:__UG_NAME__ -> 54:in ;
296 12:__UG_NAME__ -> 64:in ;
297 13:__UG_NAME__ -> 68:in ;
298 84:__UG_NAME__ -> 85:in ;
299 1:__UG_NAME__ -> 90:in ;
300 21:__UG_NAME__ -> 94:in ;
301 0:__UG_NAME__ -> 97:in ;
302 24:__UG_NAME__ -> 59:bus ;
303 48:__UG_NAME__ -> 89:a ;
304 20:__UG_NAME__ -> 84:in ;
305 115:__UG_NAME__ -> 117:signals___x____fade2___0 ;
306 116:__UG_NAME__ -> 117:signals___x____fade2___1 ;
307 25:__UG_NAME__ -> 117:bus ;
308 111:__UG_NAME__ -> 112:rq ;
309 89:__UG_NAME__ -> 112:freq ;
310 101:__UG_NAME__ -> 112:in ;
311 111:__UG_NAME__ -> 113:rq ;
312 89:__UG_NAME__ -> 113:freq ;
313 83:__UG_NAME__ -> 113:in ;
314 61:__UG_NAME__ -> 62:a ;
315 77:__UG_NAME__ -> 88:a ;
316 107:__UG_NAME__ -> 115:level ;
317 114:__UG_NAME__ -> 115:pan ;
318 113:__UG_NAME__ -> 115:inb ;
319 61:__UG_NAME__ -> 115:ina ;
320 107:__UG_NAME__ -> 116:level ;
321 37:__UG_NAME__ -> 116:pan ;
322 112:__UG_NAME__ -> 116:inb ;
323 77:__UG_NAME__ -> 116:ina ;
324
325 }
+0
-60
etc/synthdefs/graphviz/sonic-pi-fx_level.dot less more
0 digraph synthdef {
1 17 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 18 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 11 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 15 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 8 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
6 14 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
7 7 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
8 13 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
9 0 [label = "control
10 :amp
11 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
12 1 [label = "control
13 :amp_slide
14 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
15 2 [label = "control
16 :amp_slide_shape
17 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
18 3 [label = "control
19 :amp_slide_curve
20 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
21 4 [label = "control
22 :in_bus
23 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
24 5 [label = "control
25 :out_bus
26 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
27 16 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
28 6 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
29 12 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
30 10 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
31 9 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
32 19 [label = "{{ <bus> bus|{{<signals___binary____op____u____gen___0>|<signals___binary____op____u____gen___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
33
34 9:__UG_NAME__ -> 17:b ;
35 16:__UG_NAME__ -> 17:a ;
36 9:__UG_NAME__ -> 18:b ;
37 16:__UG_NAME__ -> 18:a ;
38 8:__UG_NAME__ -> 11:b ;
39 10:__UG_NAME__ -> 11:a ;
40 14:__UG_NAME__ -> 15:b ;
41 11:__UG_NAME__ -> 15:a ;
42 7:__UG_NAME__ -> 8:a ;
43 13:__UG_NAME__ -> 14:a ;
44 6:__UG_NAME__ -> 7:a ;
45 12:__UG_NAME__ -> 13:a ;
46 15:__UG_NAME__ -> 16:gate ;
47 0:__UG_NAME__ -> 16:envelope___control___0 ;
48 0:__UG_NAME__ -> 16:envelope___control___4 ;
49 1:__UG_NAME__ -> 16:envelope___control___5 ;
50 2:__UG_NAME__ -> 16:envelope___control___6 ;
51 3:__UG_NAME__ -> 16:envelope___control___7 ;
52 0:__UG_NAME__ -> 6:in ;
53 1:__UG_NAME__ -> 12:in ;
54 4:__UG_NAME__ -> 9:bus ;
55 17:__UG_NAME__ -> 19:signals___binary____op____u____gen___0 ;
56 18:__UG_NAME__ -> 19:signals___binary____op____u____gen___1 ;
57 5:__UG_NAME__ -> 19:bus ;
58
59 }
+0
-200
etc/synthdefs/graphviz/sonic-pi-fx_lpf.dot less more
0 digraph synthdef {
1 32 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 36 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 55 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 67 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 28 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 29 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 41 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 44 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 52 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 61 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 56 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
14 68 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
15 20 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 23 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 27 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 40 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 43 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 51 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 60 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 62 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 19 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 22 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 26 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 35 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 39 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 42 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 50 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 59 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 0 [label = "control
32 :amp
33 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 1 [label = "control
35 :amp_slide
36 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 2 [label = "control
38 :amp_slide_shape
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 3 [label = "control
41 :amp_slide_curve
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 4 [label = "control
44 :mix
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 5 [label = "control
47 :mix_slide
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 6 [label = "control
50 :mix_slide_shape
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 7 [label = "control
53 :mix_slide_curve
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 8 [label = "control
56 :pre_amp
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 9 [label = "control
59 :pre_amp_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 10 [label = "control
62 :pre_amp_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 11 [label = "control
65 :pre_amp_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 12 [label = "control
68 :cutoff
69 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 13 [label = "control
71 :cutoff_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 14 [label = "control
74 :cutoff_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 15 [label = "control
77 :cutoff_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 16 [label = "control
80 :in_bus
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 17 [label = "control
83 :out_bus
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 30 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
86 45 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 54 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 64 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 18 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
90 21 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
91 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 24 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
98 37 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
99 48 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
100 57 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
101 31 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
102 47 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
103 66 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
104 46 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
105 70 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
106 65 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
107 69 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
108
109 31:__UG_NAME__ -> 32:b ;
110 30:__UG_NAME__ -> 32:a ;
111 31:__UG_NAME__ -> 36:b ;
112 30:__UG_NAME__ -> 36:a ;
113 54:__UG_NAME__ -> 55:a ;
114 54:__UG_NAME__ -> 67:a ;
115 27:__UG_NAME__ -> 28:b ;
116 24:__UG_NAME__ -> 28:a ;
117 20:__UG_NAME__ -> 29:b ;
118 28:__UG_NAME__ -> 29:a ;
119 40:__UG_NAME__ -> 41:b ;
120 37:__UG_NAME__ -> 41:a ;
121 43:__UG_NAME__ -> 44:b ;
122 41:__UG_NAME__ -> 44:a ;
123 51:__UG_NAME__ -> 52:b ;
124 48:__UG_NAME__ -> 52:a ;
125 23:__UG_NAME__ -> 53:b ;
126 52:__UG_NAME__ -> 53:a ;
127 60:__UG_NAME__ -> 61:b ;
128 57:__UG_NAME__ -> 61:a ;
129 62:__UG_NAME__ -> 63:b ;
130 61:__UG_NAME__ -> 63:a ;
131 55:__UG_NAME__ -> 56:a ;
132 67:__UG_NAME__ -> 68:a ;
133 19:__UG_NAME__ -> 20:a ;
134 22:__UG_NAME__ -> 23:a ;
135 26:__UG_NAME__ -> 27:a ;
136 39:__UG_NAME__ -> 40:a ;
137 42:__UG_NAME__ -> 43:a ;
138 50:__UG_NAME__ -> 51:a ;
139 59:__UG_NAME__ -> 60:a ;
140 35:__UG_NAME__ -> 62:a ;
141 18:__UG_NAME__ -> 19:a ;
142 21:__UG_NAME__ -> 22:a ;
143 25:__UG_NAME__ -> 26:a ;
144 34:__UG_NAME__ -> 35:a ;
145 38:__UG_NAME__ -> 39:a ;
146 33:__UG_NAME__ -> 42:a ;
147 49:__UG_NAME__ -> 50:a ;
148 58:__UG_NAME__ -> 59:a ;
149 29:__UG_NAME__ -> 30:gate ;
150 8:__UG_NAME__ -> 30:envelope___control___0 ;
151 8:__UG_NAME__ -> 30:envelope___control___4 ;
152 9:__UG_NAME__ -> 30:envelope___control___5 ;
153 10:__UG_NAME__ -> 30:envelope___control___6 ;
154 11:__UG_NAME__ -> 30:envelope___control___7 ;
155 44:__UG_NAME__ -> 45:gate ;
156 12:__UG_NAME__ -> 45:envelope___control___0 ;
157 12:__UG_NAME__ -> 45:envelope___control___4 ;
158 13:__UG_NAME__ -> 45:envelope___control___5 ;
159 14:__UG_NAME__ -> 45:envelope___control___6 ;
160 15:__UG_NAME__ -> 45:envelope___control___7 ;
161 53:__UG_NAME__ -> 54:gate ;
162 4:__UG_NAME__ -> 54:envelope___control___0 ;
163 4:__UG_NAME__ -> 54:envelope___control___4 ;
164 5:__UG_NAME__ -> 54:envelope___control___5 ;
165 6:__UG_NAME__ -> 54:envelope___control___6 ;
166 7:__UG_NAME__ -> 54:envelope___control___7 ;
167 63:__UG_NAME__ -> 64:gate ;
168 0:__UG_NAME__ -> 64:envelope___control___0 ;
169 0:__UG_NAME__ -> 64:envelope___control___4 ;
170 1:__UG_NAME__ -> 64:envelope___control___5 ;
171 2:__UG_NAME__ -> 64:envelope___control___6 ;
172 3:__UG_NAME__ -> 64:envelope___control___7 ;
173 9:__UG_NAME__ -> 18:in ;
174 5:__UG_NAME__ -> 21:in ;
175 8:__UG_NAME__ -> 25:in ;
176 13:__UG_NAME__ -> 33:in ;
177 1:__UG_NAME__ -> 34:in ;
178 12:__UG_NAME__ -> 38:in ;
179 4:__UG_NAME__ -> 49:in ;
180 0:__UG_NAME__ -> 58:in ;
181 16:__UG_NAME__ -> 31:bus ;
182 46:__UG_NAME__ -> 47:freq ;
183 36:__UG_NAME__ -> 47:in ;
184 46:__UG_NAME__ -> 66:freq ;
185 32:__UG_NAME__ -> 66:in ;
186 45:__UG_NAME__ -> 46:a ;
187 65:__UG_NAME__ -> 70:signals___x____fade2___0 ;
188 69:__UG_NAME__ -> 70:signals___x____fade2___1 ;
189 17:__UG_NAME__ -> 70:bus ;
190 64:__UG_NAME__ -> 65:level ;
191 56:__UG_NAME__ -> 65:pan ;
192 47:__UG_NAME__ -> 65:inb ;
193 36:__UG_NAME__ -> 65:ina ;
194 64:__UG_NAME__ -> 69:level ;
195 68:__UG_NAME__ -> 69:pan ;
196 66:__UG_NAME__ -> 69:inb ;
197 32:__UG_NAME__ -> 69:ina ;
198
199 }
+0
-204
etc/synthdefs/graphviz/sonic-pi-fx_nhpf.dot less more
0 digraph synthdef {
1 30 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 58 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 59 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 60 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 23 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 27 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 35 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 39 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 48 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 56 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 68 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 62 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
14 64 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
15 22 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 26 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 34 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 38 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 47 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 52 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 55 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 67 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 21 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 25 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 33 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 37 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 46 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 54 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 66 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 0 [label = "control
32 :amp
33 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 1 [label = "control
35 :amp_slide
36 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 2 [label = "control
38 :amp_slide_shape
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 3 [label = "control
41 :amp_slide_curve
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 4 [label = "control
44 :mix
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 5 [label = "control
47 :mix_slide
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 6 [label = "control
50 :mix_slide_shape
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 7 [label = "control
53 :mix_slide_curve
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 8 [label = "control
56 :pre_amp
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 9 [label = "control
59 :pre_amp_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 10 [label = "control
62 :pre_amp_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 11 [label = "control
65 :pre_amp_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 12 [label = "control
68 :cutoff
69 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 13 [label = "control
71 :cutoff_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 14 [label = "control
74 :cutoff_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 15 [label = "control
77 :cutoff_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 16 [label = "control
80 :in_bus
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 17 [label = "control
83 :out_bus
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 28 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
86 40 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 57 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 69 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 42 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
90 61 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
91 18 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 20 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 24 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
98 65 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
99 19 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
100 31 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
101 44 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
102 49 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
103 29 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
104 41 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
105 43 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
106 63 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
107 72 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
108 70 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
109 71 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
110
111 29:__UG_NAME__ -> 30:b ;
112 28:__UG_NAME__ -> 30:a ;
113 57:__UG_NAME__ -> 58:a ;
114 57:__UG_NAME__ -> 59:a ;
115 29:__UG_NAME__ -> 60:b ;
116 28:__UG_NAME__ -> 60:a ;
117 22:__UG_NAME__ -> 23:b ;
118 19:__UG_NAME__ -> 23:a ;
119 26:__UG_NAME__ -> 27:b ;
120 23:__UG_NAME__ -> 27:a ;
121 34:__UG_NAME__ -> 35:b ;
122 31:__UG_NAME__ -> 35:a ;
123 38:__UG_NAME__ -> 39:b ;
124 35:__UG_NAME__ -> 39:a ;
125 47:__UG_NAME__ -> 48:b ;
126 44:__UG_NAME__ -> 48:a ;
127 52:__UG_NAME__ -> 53:b ;
128 49:__UG_NAME__ -> 53:a ;
129 55:__UG_NAME__ -> 56:b ;
130 53:__UG_NAME__ -> 56:a ;
131 67:__UG_NAME__ -> 68:b ;
132 48:__UG_NAME__ -> 68:a ;
133 59:__UG_NAME__ -> 62:a ;
134 58:__UG_NAME__ -> 64:a ;
135 21:__UG_NAME__ -> 22:a ;
136 25:__UG_NAME__ -> 26:a ;
137 33:__UG_NAME__ -> 34:a ;
138 37:__UG_NAME__ -> 38:a ;
139 46:__UG_NAME__ -> 47:a ;
140 51:__UG_NAME__ -> 52:a ;
141 54:__UG_NAME__ -> 55:a ;
142 66:__UG_NAME__ -> 67:a ;
143 20:__UG_NAME__ -> 21:a ;
144 24:__UG_NAME__ -> 25:a ;
145 32:__UG_NAME__ -> 33:a ;
146 36:__UG_NAME__ -> 37:a ;
147 45:__UG_NAME__ -> 46:a ;
148 50:__UG_NAME__ -> 51:a ;
149 18:__UG_NAME__ -> 54:a ;
150 65:__UG_NAME__ -> 66:a ;
151 27:__UG_NAME__ -> 28:gate ;
152 8:__UG_NAME__ -> 28:envelope___control___0 ;
153 8:__UG_NAME__ -> 28:envelope___control___4 ;
154 9:__UG_NAME__ -> 28:envelope___control___5 ;
155 10:__UG_NAME__ -> 28:envelope___control___6 ;
156 11:__UG_NAME__ -> 28:envelope___control___7 ;
157 39:__UG_NAME__ -> 40:gate ;
158 12:__UG_NAME__ -> 40:envelope___control___0 ;
159 12:__UG_NAME__ -> 40:envelope___control___4 ;
160 13:__UG_NAME__ -> 40:envelope___control___5 ;
161 14:__UG_NAME__ -> 40:envelope___control___6 ;
162 15:__UG_NAME__ -> 40:envelope___control___7 ;
163 56:__UG_NAME__ -> 57:gate ;
164 4:__UG_NAME__ -> 57:envelope___control___0 ;
165 4:__UG_NAME__ -> 57:envelope___control___4 ;
166 5:__UG_NAME__ -> 57:envelope___control___5 ;
167 6:__UG_NAME__ -> 57:envelope___control___6 ;
168 7:__UG_NAME__ -> 57:envelope___control___7 ;
169 68:__UG_NAME__ -> 69:gate ;
170 0:__UG_NAME__ -> 69:envelope___control___0 ;
171 0:__UG_NAME__ -> 69:envelope___control___4 ;
172 1:__UG_NAME__ -> 69:envelope___control___5 ;
173 2:__UG_NAME__ -> 69:envelope___control___6 ;
174 3:__UG_NAME__ -> 69:envelope___control___7 ;
175 41:__UG_NAME__ -> 42:freq ;
176 30:__UG_NAME__ -> 42:in ;
177 41:__UG_NAME__ -> 61:freq ;
178 60:__UG_NAME__ -> 61:in ;
179 5:__UG_NAME__ -> 18:in ;
180 8:__UG_NAME__ -> 20:in ;
181 9:__UG_NAME__ -> 24:in ;
182 12:__UG_NAME__ -> 32:in ;
183 13:__UG_NAME__ -> 36:in ;
184 0:__UG_NAME__ -> 45:in ;
185 4:__UG_NAME__ -> 50:in ;
186 1:__UG_NAME__ -> 65:in ;
187 16:__UG_NAME__ -> 29:bus ;
188 40:__UG_NAME__ -> 41:a ;
189 42:__UG_NAME__ -> 43:in ;
190 61:__UG_NAME__ -> 63:in ;
191 70:__UG_NAME__ -> 72:signals___x____fade2___0 ;
192 71:__UG_NAME__ -> 72:signals___x____fade2___1 ;
193 17:__UG_NAME__ -> 72:bus ;
194 69:__UG_NAME__ -> 70:level ;
195 64:__UG_NAME__ -> 70:pan ;
196 63:__UG_NAME__ -> 70:inb ;
197 60:__UG_NAME__ -> 70:ina ;
198 69:__UG_NAME__ -> 71:level ;
199 62:__UG_NAME__ -> 71:pan ;
200 43:__UG_NAME__ -> 71:inb ;
201 30:__UG_NAME__ -> 71:ina ;
202
203 }
+0
-204
etc/synthdefs/graphviz/sonic-pi-fx_nlpf.dot less more
0 digraph synthdef {
1 37 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 56 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 66 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 69 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 23 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 34 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 41 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 42 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 48 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 51 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 62 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 57 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
14 70 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
15 22 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 26 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 30 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 33 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 40 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 47 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 50 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 61 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 21 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 25 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 29 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 32 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 39 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 46 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 49 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 60 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 0 [label = "control
32 :amp
33 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 1 [label = "control
35 :amp_slide
36 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 2 [label = "control
38 :amp_slide_shape
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 3 [label = "control
41 :amp_slide_curve
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 4 [label = "control
44 :mix
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 5 [label = "control
47 :mix_slide
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 6 [label = "control
50 :mix_slide_shape
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 7 [label = "control
53 :mix_slide_curve
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 8 [label = "control
56 :pre_amp
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 9 [label = "control
59 :pre_amp_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 10 [label = "control
62 :pre_amp_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 11 [label = "control
65 :pre_amp_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 12 [label = "control
68 :cutoff
69 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 13 [label = "control
71 :cutoff_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 14 [label = "control
74 :cutoff_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 15 [label = "control
77 :cutoff_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 16 [label = "control
80 :in_bus
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 17 [label = "control
83 :out_bus
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 35 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
86 43 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 52 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 64 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 18 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
90 20 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
91 24 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 19 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
98 38 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
99 44 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
100 58 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
101 36 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
102 54 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
103 67 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
104 53 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
105 55 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
106 68 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
107 72 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
108 65 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
109 71 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
110
111 36:__UG_NAME__ -> 37:b ;
112 35:__UG_NAME__ -> 37:a ;
113 43:__UG_NAME__ -> 56:a ;
114 36:__UG_NAME__ -> 66:b ;
115 35:__UG_NAME__ -> 66:a ;
116 43:__UG_NAME__ -> 69:a ;
117 22:__UG_NAME__ -> 23:b ;
118 19:__UG_NAME__ -> 23:a ;
119 33:__UG_NAME__ -> 34:b ;
120 23:__UG_NAME__ -> 34:a ;
121 40:__UG_NAME__ -> 41:b ;
122 38:__UG_NAME__ -> 41:a ;
123 26:__UG_NAME__ -> 42:b ;
124 41:__UG_NAME__ -> 42:a ;
125 47:__UG_NAME__ -> 48:b ;
126 44:__UG_NAME__ -> 48:a ;
127 50:__UG_NAME__ -> 51:b ;
128 48:__UG_NAME__ -> 51:a ;
129 61:__UG_NAME__ -> 62:b ;
130 58:__UG_NAME__ -> 62:a ;
131 30:__UG_NAME__ -> 63:b ;
132 62:__UG_NAME__ -> 63:a ;
133 56:__UG_NAME__ -> 57:a ;
134 69:__UG_NAME__ -> 70:a ;
135 21:__UG_NAME__ -> 22:a ;
136 25:__UG_NAME__ -> 26:a ;
137 29:__UG_NAME__ -> 30:a ;
138 32:__UG_NAME__ -> 33:a ;
139 39:__UG_NAME__ -> 40:a ;
140 46:__UG_NAME__ -> 47:a ;
141 49:__UG_NAME__ -> 50:a ;
142 60:__UG_NAME__ -> 61:a ;
143 20:__UG_NAME__ -> 21:a ;
144 24:__UG_NAME__ -> 25:a ;
145 28:__UG_NAME__ -> 29:a ;
146 31:__UG_NAME__ -> 32:a ;
147 18:__UG_NAME__ -> 39:a ;
148 45:__UG_NAME__ -> 46:a ;
149 27:__UG_NAME__ -> 49:a ;
150 59:__UG_NAME__ -> 60:a ;
151 34:__UG_NAME__ -> 35:gate ;
152 8:__UG_NAME__ -> 35:envelope___control___0 ;
153 8:__UG_NAME__ -> 35:envelope___control___4 ;
154 9:__UG_NAME__ -> 35:envelope___control___5 ;
155 10:__UG_NAME__ -> 35:envelope___control___6 ;
156 11:__UG_NAME__ -> 35:envelope___control___7 ;
157 42:__UG_NAME__ -> 43:gate ;
158 4:__UG_NAME__ -> 43:envelope___control___0 ;
159 4:__UG_NAME__ -> 43:envelope___control___4 ;
160 5:__UG_NAME__ -> 43:envelope___control___5 ;
161 6:__UG_NAME__ -> 43:envelope___control___6 ;
162 7:__UG_NAME__ -> 43:envelope___control___7 ;
163 51:__UG_NAME__ -> 52:gate ;
164 12:__UG_NAME__ -> 52:envelope___control___0 ;
165 12:__UG_NAME__ -> 52:envelope___control___4 ;
166 13:__UG_NAME__ -> 52:envelope___control___5 ;
167 14:__UG_NAME__ -> 52:envelope___control___6 ;
168 15:__UG_NAME__ -> 52:envelope___control___7 ;
169 63:__UG_NAME__ -> 64:gate ;
170 0:__UG_NAME__ -> 64:envelope___control___0 ;
171 0:__UG_NAME__ -> 64:envelope___control___4 ;
172 1:__UG_NAME__ -> 64:envelope___control___5 ;
173 2:__UG_NAME__ -> 64:envelope___control___6 ;
174 3:__UG_NAME__ -> 64:envelope___control___7 ;
175 4:__UG_NAME__ -> 18:in ;
176 8:__UG_NAME__ -> 20:in ;
177 5:__UG_NAME__ -> 24:in ;
178 13:__UG_NAME__ -> 27:in ;
179 1:__UG_NAME__ -> 28:in ;
180 9:__UG_NAME__ -> 31:in ;
181 12:__UG_NAME__ -> 45:in ;
182 0:__UG_NAME__ -> 59:in ;
183 16:__UG_NAME__ -> 36:bus ;
184 53:__UG_NAME__ -> 54:freq ;
185 37:__UG_NAME__ -> 54:in ;
186 53:__UG_NAME__ -> 67:freq ;
187 66:__UG_NAME__ -> 67:in ;
188 52:__UG_NAME__ -> 53:a ;
189 54:__UG_NAME__ -> 55:in ;
190 67:__UG_NAME__ -> 68:in ;
191 71:__UG_NAME__ -> 72:signals___x____fade2___0 ;
192 65:__UG_NAME__ -> 72:signals___x____fade2___1 ;
193 17:__UG_NAME__ -> 72:bus ;
194 64:__UG_NAME__ -> 65:level ;
195 57:__UG_NAME__ -> 65:pan ;
196 55:__UG_NAME__ -> 65:inb ;
197 37:__UG_NAME__ -> 65:ina ;
198 64:__UG_NAME__ -> 71:level ;
199 70:__UG_NAME__ -> 71:pan ;
200 68:__UG_NAME__ -> 71:inb ;
201 66:__UG_NAME__ -> 71:ina ;
202
203 }
+0
-198
etc/synthdefs/graphviz/sonic-pi-fx_normaliser.dot less more
0 digraph synthdef {
1 58 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 61 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 64 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 66 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 22 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 26 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 32 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 36 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 43 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 47 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 52 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 56 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 62 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
14 67 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
15 21 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 25 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 31 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 35 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 42 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 46 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 51 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 55 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 20 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 24 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 30 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 34 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 41 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 50 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 54 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 0 [label = "control
32 :amp
33 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 1 [label = "control
35 :amp_slide
36 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 2 [label = "control
38 :amp_slide_shape
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 3 [label = "control
41 :amp_slide_curve
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 4 [label = "control
44 :mix
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 5 [label = "control
47 :mix_slide
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 6 [label = "control
50 :mix_slide_shape
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 7 [label = "control
53 :mix_slide_curve
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 8 [label = "control
56 :pre_amp
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 9 [label = "control
59 :pre_amp_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 10 [label = "control
62 :pre_amp_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 11 [label = "control
65 :pre_amp_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 12 [label = "control
68 :level
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 13 [label = "control
71 :level_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 14 [label = "control
74 :level_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 15 [label = "control
77 :level_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 16 [label = "control
80 :in_bus
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 17 [label = "control
83 :out_bus
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 27 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
86 37 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 57 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 60 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 19 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
90 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
91 29 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 18 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
98 28 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
99 39 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
100 48 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
101 38 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
102 59 [label = "{{ <in> in|<level> level|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
103 65 [label = "{{ <in> in|<level> level|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
104 69 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
105 63 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
106 68 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
107
108 38:__UG_NAME__ -> 58:b ;
109 57:__UG_NAME__ -> 58:a ;
110 60:__UG_NAME__ -> 61:a ;
111 38:__UG_NAME__ -> 64:b ;
112 57:__UG_NAME__ -> 64:a ;
113 60:__UG_NAME__ -> 66:a ;
114 21:__UG_NAME__ -> 22:b ;
115 18:__UG_NAME__ -> 22:a ;
116 25:__UG_NAME__ -> 26:b ;
117 22:__UG_NAME__ -> 26:a ;
118 31:__UG_NAME__ -> 32:b ;
119 28:__UG_NAME__ -> 32:a ;
120 35:__UG_NAME__ -> 36:b ;
121 32:__UG_NAME__ -> 36:a ;
122 42:__UG_NAME__ -> 43:b ;
123 39:__UG_NAME__ -> 43:a ;
124 46:__UG_NAME__ -> 47:b ;
125 43:__UG_NAME__ -> 47:a ;
126 51:__UG_NAME__ -> 52:b ;
127 48:__UG_NAME__ -> 52:a ;
128 55:__UG_NAME__ -> 56:b ;
129 52:__UG_NAME__ -> 56:a ;
130 61:__UG_NAME__ -> 62:a ;
131 66:__UG_NAME__ -> 67:a ;
132 20:__UG_NAME__ -> 21:a ;
133 24:__UG_NAME__ -> 25:a ;
134 30:__UG_NAME__ -> 31:a ;
135 34:__UG_NAME__ -> 35:a ;
136 41:__UG_NAME__ -> 42:a ;
137 45:__UG_NAME__ -> 46:a ;
138 50:__UG_NAME__ -> 51:a ;
139 54:__UG_NAME__ -> 55:a ;
140 19:__UG_NAME__ -> 20:a ;
141 23:__UG_NAME__ -> 24:a ;
142 29:__UG_NAME__ -> 30:a ;
143 33:__UG_NAME__ -> 34:a ;
144 40:__UG_NAME__ -> 41:a ;
145 44:__UG_NAME__ -> 45:a ;
146 49:__UG_NAME__ -> 50:a ;
147 53:__UG_NAME__ -> 54:a ;
148 26:__UG_NAME__ -> 27:gate ;
149 12:__UG_NAME__ -> 27:envelope___control___0 ;
150 12:__UG_NAME__ -> 27:envelope___control___4 ;
151 13:__UG_NAME__ -> 27:envelope___control___5 ;
152 14:__UG_NAME__ -> 27:envelope___control___6 ;
153 15:__UG_NAME__ -> 27:envelope___control___7 ;
154 36:__UG_NAME__ -> 37:gate ;
155 0:__UG_NAME__ -> 37:envelope___control___0 ;
156 0:__UG_NAME__ -> 37:envelope___control___4 ;
157 1:__UG_NAME__ -> 37:envelope___control___5 ;
158 2:__UG_NAME__ -> 37:envelope___control___6 ;
159 3:__UG_NAME__ -> 37:envelope___control___7 ;
160 56:__UG_NAME__ -> 57:gate ;
161 8:__UG_NAME__ -> 57:envelope___control___0 ;
162 8:__UG_NAME__ -> 57:envelope___control___4 ;
163 9:__UG_NAME__ -> 57:envelope___control___5 ;
164 10:__UG_NAME__ -> 57:envelope___control___6 ;
165 11:__UG_NAME__ -> 57:envelope___control___7 ;
166 47:__UG_NAME__ -> 60:gate ;
167 4:__UG_NAME__ -> 60:envelope___control___0 ;
168 4:__UG_NAME__ -> 60:envelope___control___4 ;
169 5:__UG_NAME__ -> 60:envelope___control___5 ;
170 6:__UG_NAME__ -> 60:envelope___control___6 ;
171 7:__UG_NAME__ -> 60:envelope___control___7 ;
172 12:__UG_NAME__ -> 19:in ;
173 13:__UG_NAME__ -> 23:in ;
174 0:__UG_NAME__ -> 29:in ;
175 1:__UG_NAME__ -> 33:in ;
176 4:__UG_NAME__ -> 40:in ;
177 5:__UG_NAME__ -> 44:in ;
178 8:__UG_NAME__ -> 49:in ;
179 9:__UG_NAME__ -> 53:in ;
180 16:__UG_NAME__ -> 38:bus ;
181 27:__UG_NAME__ -> 59:level ;
182 58:__UG_NAME__ -> 59:in ;
183 27:__UG_NAME__ -> 65:level ;
184 64:__UG_NAME__ -> 65:in ;
185 68:__UG_NAME__ -> 69:signals___x____fade2___0 ;
186 63:__UG_NAME__ -> 69:signals___x____fade2___1 ;
187 17:__UG_NAME__ -> 69:bus ;
188 37:__UG_NAME__ -> 63:level ;
189 62:__UG_NAME__ -> 63:pan ;
190 59:__UG_NAME__ -> 63:inb ;
191 58:__UG_NAME__ -> 63:ina ;
192 37:__UG_NAME__ -> 68:level ;
193 67:__UG_NAME__ -> 68:pan ;
194 65:__UG_NAME__ -> 68:inb ;
195 64:__UG_NAME__ -> 68:ina ;
196
197 }
+0
-246
etc/synthdefs/graphviz/sonic-pi-fx_nrbpf.dot less more
0 digraph synthdef {
1 33 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 68 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 81 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 82 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 26 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 30 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 38 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 42 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 50 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 54 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 62 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 66 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 74 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 78 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 69 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
16 85 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 25 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 29 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 37 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 41 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 49 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 53 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 61 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 65 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 73 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 77 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 24 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 28 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 36 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 40 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 48 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 52 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 60 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 64 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 72 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 76 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :amp
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :amp_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :amp_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :amp_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :mix
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :mix_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :mix_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :mix_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pre_amp
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pre_amp_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pre_amp_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pre_amp_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :centre
75 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :centre_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :centre_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :centre_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :res
87 default: 0.6" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :res_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :res_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :res_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :in_bus
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 31 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 43 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 55 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 67 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 79 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 63 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 75 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 22 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 34 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 45 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 58 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 70 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 32 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
124 44 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
125 46 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
126 57 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
127 84 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
128 87 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
129 56 [label = "{{ <in> in|<freq> freq|<bwr> bwr} |<__UG_NAME__>resonz }" style="filled, bold, rounded" shape=record rankdir=LR];
130 83 [label = "{{ <in> in|<freq> freq|<bwr> bwr} |<__UG_NAME__>resonz }" style="filled, bold, rounded" shape=record rankdir=LR];
131 80 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
132 86 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
133
134 32:__UG_NAME__ -> 33:b ;
135 31:__UG_NAME__ -> 33:a ;
136 67:__UG_NAME__ -> 68:a ;
137 67:__UG_NAME__ -> 81:a ;
138 32:__UG_NAME__ -> 82:b ;
139 31:__UG_NAME__ -> 82:a ;
140 25:__UG_NAME__ -> 26:b ;
141 22:__UG_NAME__ -> 26:a ;
142 29:__UG_NAME__ -> 30:b ;
143 26:__UG_NAME__ -> 30:a ;
144 37:__UG_NAME__ -> 38:b ;
145 34:__UG_NAME__ -> 38:a ;
146 41:__UG_NAME__ -> 42:b ;
147 38:__UG_NAME__ -> 42:a ;
148 49:__UG_NAME__ -> 50:b ;
149 45:__UG_NAME__ -> 50:a ;
150 53:__UG_NAME__ -> 54:b ;
151 50:__UG_NAME__ -> 54:a ;
152 61:__UG_NAME__ -> 62:b ;
153 58:__UG_NAME__ -> 62:a ;
154 65:__UG_NAME__ -> 66:b ;
155 62:__UG_NAME__ -> 66:a ;
156 73:__UG_NAME__ -> 74:b ;
157 70:__UG_NAME__ -> 74:a ;
158 77:__UG_NAME__ -> 78:b ;
159 74:__UG_NAME__ -> 78:a ;
160 68:__UG_NAME__ -> 69:a ;
161 81:__UG_NAME__ -> 85:a ;
162 24:__UG_NAME__ -> 25:a ;
163 28:__UG_NAME__ -> 29:a ;
164 36:__UG_NAME__ -> 37:a ;
165 40:__UG_NAME__ -> 41:a ;
166 48:__UG_NAME__ -> 49:a ;
167 52:__UG_NAME__ -> 53:a ;
168 60:__UG_NAME__ -> 61:a ;
169 64:__UG_NAME__ -> 65:a ;
170 72:__UG_NAME__ -> 73:a ;
171 76:__UG_NAME__ -> 77:a ;
172 23:__UG_NAME__ -> 24:a ;
173 27:__UG_NAME__ -> 28:a ;
174 35:__UG_NAME__ -> 36:a ;
175 39:__UG_NAME__ -> 40:a ;
176 47:__UG_NAME__ -> 48:a ;
177 51:__UG_NAME__ -> 52:a ;
178 59:__UG_NAME__ -> 60:a ;
179 63:__UG_NAME__ -> 64:a ;
180 71:__UG_NAME__ -> 72:a ;
181 75:__UG_NAME__ -> 76:a ;
182 30:__UG_NAME__ -> 31:gate ;
183 8:__UG_NAME__ -> 31:envelope___control___0 ;
184 8:__UG_NAME__ -> 31:envelope___control___4 ;
185 9:__UG_NAME__ -> 31:envelope___control___5 ;
186 10:__UG_NAME__ -> 31:envelope___control___6 ;
187 11:__UG_NAME__ -> 31:envelope___control___7 ;
188 42:__UG_NAME__ -> 43:gate ;
189 12:__UG_NAME__ -> 43:envelope___control___0 ;
190 12:__UG_NAME__ -> 43:envelope___control___4 ;
191 13:__UG_NAME__ -> 43:envelope___control___5 ;
192 14:__UG_NAME__ -> 43:envelope___control___6 ;
193 15:__UG_NAME__ -> 43:envelope___control___7 ;
194 54:__UG_NAME__ -> 55:gate ;
195 46:__UG_NAME__ -> 55:envelope___mul____add___0 ;
196 46:__UG_NAME__ -> 55:envelope___mul____add___4 ;
197 17:__UG_NAME__ -> 55:envelope___control___5 ;
198 18:__UG_NAME__ -> 55:envelope___control___6 ;
199 19:__UG_NAME__ -> 55:envelope___control___7 ;
200 66:__UG_NAME__ -> 67:gate ;
201 4:__UG_NAME__ -> 67:envelope___control___0 ;
202 4:__UG_NAME__ -> 67:envelope___control___4 ;
203 5:__UG_NAME__ -> 67:envelope___control___5 ;
204 6:__UG_NAME__ -> 67:envelope___control___6 ;
205 7:__UG_NAME__ -> 67:envelope___control___7 ;
206 78:__UG_NAME__ -> 79:gate ;
207 0:__UG_NAME__ -> 79:envelope___control___0 ;
208 0:__UG_NAME__ -> 79:envelope___control___4 ;
209 1:__UG_NAME__ -> 79:envelope___control___5 ;
210 2:__UG_NAME__ -> 79:envelope___control___6 ;
211 3:__UG_NAME__ -> 79:envelope___control___7 ;
212 8:__UG_NAME__ -> 23:in ;
213 9:__UG_NAME__ -> 27:in ;
214 12:__UG_NAME__ -> 35:in ;
215 13:__UG_NAME__ -> 39:in ;
216 46:__UG_NAME__ -> 47:in ;
217 17:__UG_NAME__ -> 51:in ;
218 4:__UG_NAME__ -> 59:in ;
219 5:__UG_NAME__ -> 63:in ;
220 0:__UG_NAME__ -> 71:in ;
221 1:__UG_NAME__ -> 75:in ;
222 20:__UG_NAME__ -> 32:bus ;
223 43:__UG_NAME__ -> 44:a ;
224 16:__UG_NAME__ -> 46:in ;
225 56:__UG_NAME__ -> 57:in ;
226 83:__UG_NAME__ -> 84:in ;
227 86:__UG_NAME__ -> 87:signals___x____fade2___0 ;
228 80:__UG_NAME__ -> 87:signals___x____fade2___1 ;
229 21:__UG_NAME__ -> 87:bus ;
230 55:__UG_NAME__ -> 56:bwr ;
231 44:__UG_NAME__ -> 56:freq ;
232 33:__UG_NAME__ -> 56:in ;
233 55:__UG_NAME__ -> 83:bwr ;
234 44:__UG_NAME__ -> 83:freq ;
235 82:__UG_NAME__ -> 83:in ;
236 79:__UG_NAME__ -> 80:level ;
237 69:__UG_NAME__ -> 80:pan ;
238 57:__UG_NAME__ -> 80:inb ;
239 33:__UG_NAME__ -> 80:ina ;
240 79:__UG_NAME__ -> 86:level ;
241 85:__UG_NAME__ -> 86:pan ;
242 84:__UG_NAME__ -> 86:inb ;
243 82:__UG_NAME__ -> 86:ina ;
244
245 }
+0
-244
etc/synthdefs/graphviz/sonic-pi-fx_nrhpf.dot less more
0 digraph synthdef {
1 53 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 54 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 68 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 81 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 29 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 33 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 38 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 46 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 50 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 58 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 60 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 74 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 78 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 69 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
16 82 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 28 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 32 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 37 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 45 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 49 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 57 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 59 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 63 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 73 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 77 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 23 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 27 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 31 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 36 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 40 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 44 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 48 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 56 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 72 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 76 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :amp
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :amp_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :amp_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :amp_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :mix
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :mix_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :mix_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :mix_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pre_amp
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pre_amp_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pre_amp_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pre_amp_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :cutoff
75 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :cutoff_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :cutoff_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :cutoff_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :res
87 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :res_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :res_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :res_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :in_bus
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 51 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 61 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 65 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 67 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 79 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 24 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 75 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 25 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 34 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 42 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 55 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 71 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 52 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
124 62 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
125 70 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
126 84 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
127 86 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
128 66 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rhpf }" style="filled, bold, rounded" shape=record rankdir=LR];
129 83 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rhpf }" style="filled, bold, rounded" shape=record rankdir=LR];
130 80 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
131 85 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
132
133 52:__UG_NAME__ -> 53:b ;
134 51:__UG_NAME__ -> 53:a ;
135 52:__UG_NAME__ -> 54:b ;
136 51:__UG_NAME__ -> 54:a ;
137 67:__UG_NAME__ -> 68:a ;
138 67:__UG_NAME__ -> 81:a ;
139 28:__UG_NAME__ -> 29:b ;
140 25:__UG_NAME__ -> 29:a ;
141 32:__UG_NAME__ -> 33:b ;
142 29:__UG_NAME__ -> 33:a ;
143 37:__UG_NAME__ -> 38:b ;
144 34:__UG_NAME__ -> 38:a ;
145 45:__UG_NAME__ -> 46:b ;
146 42:__UG_NAME__ -> 46:a ;
147 49:__UG_NAME__ -> 50:b ;
148 46:__UG_NAME__ -> 50:a ;
149 57:__UG_NAME__ -> 58:b ;
150 55:__UG_NAME__ -> 58:a ;
151 59:__UG_NAME__ -> 60:b ;
152 58:__UG_NAME__ -> 60:a ;
153 63:__UG_NAME__ -> 64:b ;
154 38:__UG_NAME__ -> 64:a ;
155 73:__UG_NAME__ -> 74:b ;
156 71:__UG_NAME__ -> 74:a ;
157 77:__UG_NAME__ -> 78:b ;
158 74:__UG_NAME__ -> 78:a ;
159 68:__UG_NAME__ -> 69:a ;
160 81:__UG_NAME__ -> 82:a ;
161 27:__UG_NAME__ -> 28:a ;
162 31:__UG_NAME__ -> 32:a ;
163 36:__UG_NAME__ -> 37:a ;
164 44:__UG_NAME__ -> 45:a ;
165 48:__UG_NAME__ -> 49:a ;
166 56:__UG_NAME__ -> 57:a ;
167 40:__UG_NAME__ -> 59:a ;
168 23:__UG_NAME__ -> 63:a ;
169 72:__UG_NAME__ -> 73:a ;
170 76:__UG_NAME__ -> 77:a ;
171 22:__UG_NAME__ -> 23:a ;
172 26:__UG_NAME__ -> 27:a ;
173 30:__UG_NAME__ -> 31:a ;
174 35:__UG_NAME__ -> 36:a ;
175 39:__UG_NAME__ -> 40:a ;
176 43:__UG_NAME__ -> 44:a ;
177 47:__UG_NAME__ -> 48:a ;
178 41:__UG_NAME__ -> 56:a ;
179 24:__UG_NAME__ -> 72:a ;
180 75:__UG_NAME__ -> 76:a ;
181 50:__UG_NAME__ -> 51:gate ;
182 8:__UG_NAME__ -> 51:envelope___control___0 ;
183 8:__UG_NAME__ -> 51:envelope___control___4 ;
184 9:__UG_NAME__ -> 51:envelope___control___5 ;
185 10:__UG_NAME__ -> 51:envelope___control___6 ;
186 11:__UG_NAME__ -> 51:envelope___control___7 ;
187 60:__UG_NAME__ -> 61:gate ;
188 12:__UG_NAME__ -> 61:envelope___control___0 ;
189 12:__UG_NAME__ -> 61:envelope___control___4 ;
190 13:__UG_NAME__ -> 61:envelope___control___5 ;
191 14:__UG_NAME__ -> 61:envelope___control___6 ;
192 15:__UG_NAME__ -> 61:envelope___control___7 ;
193 64:__UG_NAME__ -> 65:gate ;
194 16:__UG_NAME__ -> 65:envelope___control___0 ;
195 16:__UG_NAME__ -> 65:envelope___control___4 ;
196 17:__UG_NAME__ -> 65:envelope___control___5 ;
197 18:__UG_NAME__ -> 65:envelope___control___6 ;
198 19:__UG_NAME__ -> 65:envelope___control___7 ;
199 33:__UG_NAME__ -> 67:gate ;
200 4:__UG_NAME__ -> 67:envelope___control___0 ;
201 4:__UG_NAME__ -> 67:envelope___control___4 ;
202 5:__UG_NAME__ -> 67:envelope___control___5 ;
203 6:__UG_NAME__ -> 67:envelope___control___6 ;
204 7:__UG_NAME__ -> 67:envelope___control___7 ;
205 78:__UG_NAME__ -> 79:gate ;
206 0:__UG_NAME__ -> 79:envelope___control___0 ;
207 0:__UG_NAME__ -> 79:envelope___control___4 ;
208 1:__UG_NAME__ -> 79:envelope___control___5 ;
209 2:__UG_NAME__ -> 79:envelope___control___6 ;
210 3:__UG_NAME__ -> 79:envelope___control___7 ;
211 17:__UG_NAME__ -> 22:in ;
212 0:__UG_NAME__ -> 24:in ;
213 4:__UG_NAME__ -> 26:in ;
214 5:__UG_NAME__ -> 30:in ;
215 16:__UG_NAME__ -> 35:in ;
216 13:__UG_NAME__ -> 39:in ;
217 12:__UG_NAME__ -> 41:in ;
218 8:__UG_NAME__ -> 43:in ;
219 9:__UG_NAME__ -> 47:in ;
220 1:__UG_NAME__ -> 75:in ;
221 20:__UG_NAME__ -> 52:bus ;
222 61:__UG_NAME__ -> 62:a ;
223 66:__UG_NAME__ -> 70:in ;
224 83:__UG_NAME__ -> 84:in ;
225 85:__UG_NAME__ -> 86:signals___x____fade2___0 ;
226 80:__UG_NAME__ -> 86:signals___x____fade2___1 ;
227 21:__UG_NAME__ -> 86:bus ;
228 65:__UG_NAME__ -> 66:rq ;
229 62:__UG_NAME__ -> 66:freq ;
230 54:__UG_NAME__ -> 66:in ;
231 65:__UG_NAME__ -> 83:rq ;
232 62:__UG_NAME__ -> 83:freq ;
233 53:__UG_NAME__ -> 83:in ;
234 79:__UG_NAME__ -> 80:level ;
235 69:__UG_NAME__ -> 80:pan ;
236 70:__UG_NAME__ -> 80:inb ;
237 54:__UG_NAME__ -> 80:ina ;
238 79:__UG_NAME__ -> 85:level ;
239 82:__UG_NAME__ -> 85:pan ;
240 84:__UG_NAME__ -> 85:inb ;
241 53:__UG_NAME__ -> 85:ina ;
242
243 }
+0
-246
etc/synthdefs/graphviz/sonic-pi-fx_nrlpf.dot less more
0 digraph synthdef {
1 33 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 47 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 72 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 77 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 27 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 31 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 40 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 44 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 51 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 55 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 62 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 66 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 81 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 82 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 78 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
16 85 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 24 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 30 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 39 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 43 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 50 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 54 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 61 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 65 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 71 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 80 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 23 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 29 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 38 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 42 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 49 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 53 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 60 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 64 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 70 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 79 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :amp
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :amp_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :amp_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :amp_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :mix
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :mix_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :mix_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :mix_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pre_amp
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pre_amp_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pre_amp_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pre_amp_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :cutoff
75 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :cutoff_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :cutoff_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :cutoff_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :res
87 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :res_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :res_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :res_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :in_bus
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 32 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 45 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 56 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 67 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 83 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 63 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 69 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 75 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 25 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 26 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 34 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 35 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 36 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 46 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
124 57 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
125 58 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
126 74 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
127 76 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
128 87 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
129 68 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
130 73 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
131 84 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
132 86 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
133
134 32:__UG_NAME__ -> 33:a ;
135 46:__UG_NAME__ -> 47:b ;
136 45:__UG_NAME__ -> 47:a ;
137 46:__UG_NAME__ -> 72:b ;
138 45:__UG_NAME__ -> 72:a ;
139 32:__UG_NAME__ -> 77:a ;
140 24:__UG_NAME__ -> 27:b ;
141 26:__UG_NAME__ -> 27:a ;
142 30:__UG_NAME__ -> 31:b ;
143 27:__UG_NAME__ -> 31:a ;
144 39:__UG_NAME__ -> 40:b ;
145 36:__UG_NAME__ -> 40:a ;
146 43:__UG_NAME__ -> 44:b ;
147 40:__UG_NAME__ -> 44:a ;
148 50:__UG_NAME__ -> 51:b ;
149 25:__UG_NAME__ -> 51:a ;
150 54:__UG_NAME__ -> 55:b ;
151 51:__UG_NAME__ -> 55:a ;
152 61:__UG_NAME__ -> 62:b ;
153 34:__UG_NAME__ -> 62:a ;
154 65:__UG_NAME__ -> 66:b ;
155 62:__UG_NAME__ -> 66:a ;
156 80:__UG_NAME__ -> 81:b ;
157 35:__UG_NAME__ -> 81:a ;
158 71:__UG_NAME__ -> 82:b ;
159 81:__UG_NAME__ -> 82:a ;
160 77:__UG_NAME__ -> 78:a ;
161 33:__UG_NAME__ -> 85:a ;
162 23:__UG_NAME__ -> 24:a ;
163 29:__UG_NAME__ -> 30:a ;
164 38:__UG_NAME__ -> 39:a ;
165 42:__UG_NAME__ -> 43:a ;
166 49:__UG_NAME__ -> 50:a ;
167 53:__UG_NAME__ -> 54:a ;
168 60:__UG_NAME__ -> 61:a ;
169 64:__UG_NAME__ -> 65:a ;
170 70:__UG_NAME__ -> 71:a ;
171 79:__UG_NAME__ -> 80:a ;
172 22:__UG_NAME__ -> 23:a ;
173 28:__UG_NAME__ -> 29:a ;
174 37:__UG_NAME__ -> 38:a ;
175 41:__UG_NAME__ -> 42:a ;
176 48:__UG_NAME__ -> 49:a ;
177 52:__UG_NAME__ -> 53:a ;
178 59:__UG_NAME__ -> 60:a ;
179 63:__UG_NAME__ -> 64:a ;
180 69:__UG_NAME__ -> 70:a ;
181 75:__UG_NAME__ -> 79:a ;
182 31:__UG_NAME__ -> 32:gate ;
183 4:__UG_NAME__ -> 32:envelope___control___0 ;
184 4:__UG_NAME__ -> 32:envelope___control___4 ;
185 5:__UG_NAME__ -> 32:envelope___control___5 ;
186 6:__UG_NAME__ -> 32:envelope___control___6 ;
187 7:__UG_NAME__ -> 32:envelope___control___7 ;
188 44:__UG_NAME__ -> 45:gate ;
189 8:__UG_NAME__ -> 45:envelope___control___0 ;
190 8:__UG_NAME__ -> 45:envelope___control___4 ;
191 9:__UG_NAME__ -> 45:envelope___control___5 ;
192 10:__UG_NAME__ -> 45:envelope___control___6 ;
193 11:__UG_NAME__ -> 45:envelope___control___7 ;
194 55:__UG_NAME__ -> 56:gate ;
195 12:__UG_NAME__ -> 56:envelope___control___0 ;
196 12:__UG_NAME__ -> 56:envelope___control___4 ;
197 13:__UG_NAME__ -> 56:envelope___control___5 ;
198 14:__UG_NAME__ -> 56:envelope___control___6 ;
199 15:__UG_NAME__ -> 56:envelope___control___7 ;
200 66:__UG_NAME__ -> 67:gate ;
201 58:__UG_NAME__ -> 67:envelope___mul____add___0 ;
202 58:__UG_NAME__ -> 67:envelope___mul____add___4 ;
203 17:__UG_NAME__ -> 67:envelope___control___5 ;
204 18:__UG_NAME__ -> 67:envelope___control___6 ;
205 19:__UG_NAME__ -> 67:envelope___control___7 ;
206 82:__UG_NAME__ -> 83:gate ;
207 0:__UG_NAME__ -> 83:envelope___control___0 ;
208 0:__UG_NAME__ -> 83:envelope___control___4 ;
209 1:__UG_NAME__ -> 83:envelope___control___5 ;
210 2:__UG_NAME__ -> 83:envelope___control___6 ;
211 3:__UG_NAME__ -> 83:envelope___control___7 ;
212 4:__UG_NAME__ -> 22:in ;
213 5:__UG_NAME__ -> 28:in ;
214 8:__UG_NAME__ -> 37:in ;
215 9:__UG_NAME__ -> 41:in ;
216 12:__UG_NAME__ -> 48:in ;
217 13:__UG_NAME__ -> 52:in ;
218 58:__UG_NAME__ -> 59:in ;
219 17:__UG_NAME__ -> 63:in ;
220 1:__UG_NAME__ -> 69:in ;
221 0:__UG_NAME__ -> 75:in ;
222 20:__UG_NAME__ -> 46:bus ;
223 56:__UG_NAME__ -> 57:a ;
224 16:__UG_NAME__ -> 58:in ;
225 73:__UG_NAME__ -> 74:in ;
226 68:__UG_NAME__ -> 76:in ;
227 84:__UG_NAME__ -> 87:signals___x____fade2___0 ;
228 86:__UG_NAME__ -> 87:signals___x____fade2___1 ;
229 21:__UG_NAME__ -> 87:bus ;
230 67:__UG_NAME__ -> 68:rq ;
231 57:__UG_NAME__ -> 68:freq ;
232 47:__UG_NAME__ -> 68:in ;
233 67:__UG_NAME__ -> 73:rq ;
234 57:__UG_NAME__ -> 73:freq ;
235 72:__UG_NAME__ -> 73:in ;
236 83:__UG_NAME__ -> 84:level ;
237 78:__UG_NAME__ -> 84:pan ;
238 76:__UG_NAME__ -> 84:inb ;
239 47:__UG_NAME__ -> 84:ina ;
240 83:__UG_NAME__ -> 86:level ;
241 85:__UG_NAME__ -> 86:pan ;
242 74:__UG_NAME__ -> 86:inb ;
243 72:__UG_NAME__ -> 86:ina ;
244
245 }
+0
-346
etc/synthdefs/graphviz/sonic-pi-fx_octaver.dot less more
0 digraph synthdef {
1 59 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 63 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 64 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 76 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 78 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 79 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 82 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 93 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 101 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 112 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 114 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
12 115 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
13 116 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
14 118 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
15 119 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
16 121 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
17 35 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 40 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 44 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 57 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 70 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 74 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 80 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
24 87 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 91 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 94 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
27 98 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 99 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 105 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 109 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 117 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
32 120 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
33 102 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
34 122 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
35 34 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 39 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 43 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 50 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 56 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 69 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 73 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 86 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 90 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 97 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 104 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 108 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 33 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 38 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 42 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 49 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 55 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 66 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
53 68 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 72 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 85 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 89 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 96 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 103 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 107 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 113 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="filled, bold, rounded" shape=record rankdir=LR];
61 0 [label = "control
62 :amp
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 1 [label = "control
65 :amp_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 2 [label = "control
68 :amp_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 3 [label = "control
71 :amp_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 4 [label = "control
74 :mix
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 5 [label = "control
77 :mix_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 6 [label = "control
80 :mix_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 7 [label = "control
83 :mix_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 8 [label = "control
86 :pre_amp
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 9 [label = "control
89 :pre_amp_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 10 [label = "control
92 :pre_amp_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 11 [label = "control
95 :pre_amp_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 12 [label = "control
98 :amp
99 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 13 [label = "control
101 :amp_slide
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 14 [label = "control
104 :amp_slide_shape
105 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 15 [label = "control
107 :amp_slide_curve
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 16 [label = "control
110 :oct1_amp
111 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 17 [label = "control
113 :oct1_amp_slide
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 18 [label = "control
116 :oct1_amp_slide_shape
117 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 19 [label = "control
119 :oct1_amp_slide_curve
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 20 [label = "control
122 :oct2_amp
123 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 21 [label = "control
125 :oct2_amp_slide
126 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 22 [label = "control
128 :oct2_amp_slide_shape
129 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 23 [label = "control
131 :oct2_amp_slide_curve
132 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 24 [label = "control
134 :oct3_amp
135 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 25 [label = "control
137 :oct3_amp_slide
138 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 26 [label = "control
140 :oct3_amp_slide_shape
141 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
142 27 [label = "control
143 :oct3_amp_slide_curve
144 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
145 28 [label = "control
146 :in_bus
147 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
148 29 [label = "control
149 :out_bus
150 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
151 45 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
152 58 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
153 75 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
154 92 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
155 100 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
156 110 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
157 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
158 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
159 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
160 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
161 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
162 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
163 67 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
164 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
165 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
166 88 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
167 95 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
168 106 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
169 30 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
170 31 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
171 36 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
172 47 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
173 53 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
174 83 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
175 51 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
176 52 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
177 60 [label = "{{ <in> in|<freq> freq 440.0} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
178 65 [label = "{{ <in> in|<freq> freq 440.0} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
179 124 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
180 61 [label = "{{ <trig> trig} |<__UG_NAME__>toggle-ff }" style="filled, bold, rounded" shape=record rankdir=LR];
181 62 [label = "{{ <trig> trig} |<__UG_NAME__>toggle-ff }" style="filled, bold, rounded" shape=record rankdir=LR];
182 77 [label = "{{ <trig> trig} |<__UG_NAME__>toggle-ff }" style="filled, bold, rounded" shape=record rankdir=LR];
183 81 [label = "{{ <trig> trig} |<__UG_NAME__>toggle-ff }" style="filled, bold, rounded" shape=record rankdir=LR];
184 111 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
185 123 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
186
187 51:__UG_NAME__ -> 59:b ;
188 58:__UG_NAME__ -> 59:a ;
189 52:__UG_NAME__ -> 63:b ;
190 58:__UG_NAME__ -> 63:a ;
191 51:__UG_NAME__ -> 64:b ;
192 58:__UG_NAME__ -> 64:a ;
193 75:__UG_NAME__ -> 76:b ;
194 66:__UG_NAME__ -> 76:a ;
195 77:__UG_NAME__ -> 78:b ;
196 65:__UG_NAME__ -> 78:a ;
197 45:__UG_NAME__ -> 79:b ;
198 78:__UG_NAME__ -> 79:a ;
199 81:__UG_NAME__ -> 82:b ;
200 65:__UG_NAME__ -> 82:a ;
201 92:__UG_NAME__ -> 93:b ;
202 82:__UG_NAME__ -> 93:a ;
203 100:__UG_NAME__ -> 101:a ;
204 52:__UG_NAME__ -> 112:b ;
205 58:__UG_NAME__ -> 112:a ;
206 75:__UG_NAME__ -> 114:b ;
207 113:__UG_NAME__ -> 114:a ;
208 61:__UG_NAME__ -> 115:b ;
209 60:__UG_NAME__ -> 115:a ;
210 45:__UG_NAME__ -> 116:b ;
211 115:__UG_NAME__ -> 116:a ;
212 62:__UG_NAME__ -> 118:b ;
213 60:__UG_NAME__ -> 118:a ;
214 92:__UG_NAME__ -> 119:b ;
215 118:__UG_NAME__ -> 119:a ;
216 100:__UG_NAME__ -> 121:a ;
217 34:__UG_NAME__ -> 35:b ;
218 31:__UG_NAME__ -> 35:a ;
219 39:__UG_NAME__ -> 40:b ;
220 36:__UG_NAME__ -> 40:a ;
221 43:__UG_NAME__ -> 44:b ;
222 40:__UG_NAME__ -> 44:a ;
223 56:__UG_NAME__ -> 57:b ;
224 35:__UG_NAME__ -> 57:a ;
225 69:__UG_NAME__ -> 70:b ;
226 30:__UG_NAME__ -> 70:a ;
227 73:__UG_NAME__ -> 74:b ;
228 70:__UG_NAME__ -> 74:a ;
229 79:__UG_NAME__ -> 80:b ;
230 76:__UG_NAME__ -> 80:a ;
231 86:__UG_NAME__ -> 87:b ;
232 83:__UG_NAME__ -> 87:a ;
233 90:__UG_NAME__ -> 91:b ;
234 87:__UG_NAME__ -> 91:a ;
235 93:__UG_NAME__ -> 94:b ;
236 80:__UG_NAME__ -> 94:a ;
237 97:__UG_NAME__ -> 98:b ;
238 47:__UG_NAME__ -> 98:a ;
239 50:__UG_NAME__ -> 99:b ;
240 98:__UG_NAME__ -> 99:a ;
241 104:__UG_NAME__ -> 105:b ;
242 53:__UG_NAME__ -> 105:a ;
243 108:__UG_NAME__ -> 109:b ;
244 105:__UG_NAME__ -> 109:a ;
245 116:__UG_NAME__ -> 117:b ;
246 114:__UG_NAME__ -> 117:a ;
247 119:__UG_NAME__ -> 120:b ;
248 117:__UG_NAME__ -> 120:a ;
249 101:__UG_NAME__ -> 102:a ;
250 121:__UG_NAME__ -> 122:a ;
251 33:__UG_NAME__ -> 34:a ;
252 38:__UG_NAME__ -> 39:a ;
253 42:__UG_NAME__ -> 43:a ;
254 49:__UG_NAME__ -> 50:a ;
255 55:__UG_NAME__ -> 56:a ;
256 68:__UG_NAME__ -> 69:a ;
257 72:__UG_NAME__ -> 73:a ;
258 85:__UG_NAME__ -> 86:a ;
259 89:__UG_NAME__ -> 90:a ;
260 96:__UG_NAME__ -> 97:a ;
261 103:__UG_NAME__ -> 104:a ;
262 107:__UG_NAME__ -> 108:a ;
263 32:__UG_NAME__ -> 33:a ;
264 37:__UG_NAME__ -> 38:a ;
265 41:__UG_NAME__ -> 42:a ;
266 48:__UG_NAME__ -> 49:a ;
267 54:__UG_NAME__ -> 55:a ;
268 65:__UG_NAME__ -> 66:a ;
269 67:__UG_NAME__ -> 68:a ;
270 71:__UG_NAME__ -> 72:a ;
271 84:__UG_NAME__ -> 85:a ;
272 88:__UG_NAME__ -> 89:a ;
273 95:__UG_NAME__ -> 96:a ;
274 46:__UG_NAME__ -> 103:a ;
275 106:__UG_NAME__ -> 107:a ;
276 60:__UG_NAME__ -> 113:a ;
277 44:__UG_NAME__ -> 45:gate ;
278 20:__UG_NAME__ -> 45:envelope___control___0 ;
279 20:__UG_NAME__ -> 45:envelope___control___4 ;
280 21:__UG_NAME__ -> 45:envelope___control___5 ;
281 22:__UG_NAME__ -> 45:envelope___control___6 ;
282 23:__UG_NAME__ -> 45:envelope___control___7 ;
283 57:__UG_NAME__ -> 58:gate ;
284 8:__UG_NAME__ -> 58:envelope___control___0 ;
285 8:__UG_NAME__ -> 58:envelope___control___4 ;
286 9:__UG_NAME__ -> 58:envelope___control___5 ;
287 10:__UG_NAME__ -> 58:envelope___control___6 ;
288 11:__UG_NAME__ -> 58:envelope___control___7 ;
289 74:__UG_NAME__ -> 75:gate ;
290 16:__UG_NAME__ -> 75:envelope___control___0 ;
291 16:__UG_NAME__ -> 75:envelope___control___4 ;
292 17:__UG_NAME__ -> 75:envelope___control___5 ;
293 18:__UG_NAME__ -> 75:envelope___control___6 ;
294 19:__UG_NAME__ -> 75:envelope___control___7 ;
295 91:__UG_NAME__ -> 92:gate ;
296 24:__UG_NAME__ -> 92:envelope___control___0 ;
297 24:__UG_NAME__ -> 92:envelope___control___4 ;
298 25:__UG_NAME__ -> 92:envelope___control___5 ;
299 26:__UG_NAME__ -> 92:envelope___control___6 ;
300 27:__UG_NAME__ -> 92:envelope___control___7 ;
301 99:__UG_NAME__ -> 100:gate ;
302 4:__UG_NAME__ -> 100:envelope___control___0 ;
303 4:__UG_NAME__ -> 100:envelope___control___4 ;
304 5:__UG_NAME__ -> 100:envelope___control___5 ;
305 6:__UG_NAME__ -> 100:envelope___control___6 ;
306 7:__UG_NAME__ -> 100:envelope___control___7 ;
307 109:__UG_NAME__ -> 110:gate ;
308 0:__UG_NAME__ -> 110:envelope___control___0 ;
309 0:__UG_NAME__ -> 110:envelope___control___4 ;
310 1:__UG_NAME__ -> 110:envelope___control___5 ;
311 2:__UG_NAME__ -> 110:envelope___control___6 ;
312 3:__UG_NAME__ -> 110:envelope___control___7 ;
313 8:__UG_NAME__ -> 32:in ;
314 20:__UG_NAME__ -> 37:in ;
315 21:__UG_NAME__ -> 41:in ;
316 0:__UG_NAME__ -> 46:in ;
317 5:__UG_NAME__ -> 48:in ;
318 9:__UG_NAME__ -> 54:in ;
319 16:__UG_NAME__ -> 67:in ;
320 17:__UG_NAME__ -> 71:in ;
321 24:__UG_NAME__ -> 84:in ;
322 25:__UG_NAME__ -> 88:in ;
323 4:__UG_NAME__ -> 95:in ;
324 1:__UG_NAME__ -> 106:in ;
325 28:__UG_NAME__ -> 51:bus ;
326 28:__UG_NAME__ -> 52:bus ;
327 59:__UG_NAME__ -> 60:in ;
328 64:__UG_NAME__ -> 65:in ;
329 123:__UG_NAME__ -> 124:signals___x____fade2___0 ;
330 111:__UG_NAME__ -> 124:signals___x____fade2___1 ;
331 29:__UG_NAME__ -> 124:bus ;
332 60:__UG_NAME__ -> 61:trig ;
333 61:__UG_NAME__ -> 62:trig ;
334 65:__UG_NAME__ -> 77:trig ;
335 77:__UG_NAME__ -> 81:trig ;
336 110:__UG_NAME__ -> 111:level ;
337 102:__UG_NAME__ -> 111:pan ;
338 94:__UG_NAME__ -> 111:inb ;
339 63:__UG_NAME__ -> 111:ina ;
340 110:__UG_NAME__ -> 123:level ;
341 122:__UG_NAME__ -> 123:pan ;
342 120:__UG_NAME__ -> 123:inb ;
343 112:__UG_NAME__ -> 123:ina ;
344
345 }
+0
-197
etc/synthdefs/graphviz/sonic-pi-fx_pan.dot less more
0 digraph synthdef {
1 45 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 46 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 62 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 65 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 22 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 26 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 34 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 38 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 49 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 59 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 60 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 63 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
14 66 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
15 21 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 25 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 29 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 33 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 37 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 42 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 52 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 58 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 20 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 24 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 28 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 32 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 36 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 41 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 57 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 55 [label = "{{ <left> left|<right> right|<pos> pos|<level> level} |<__UG_NAME__>balance2 }" style="filled, bold, rounded" shape=record rankdir=LR];
32 0 [label = "control
33 :amp
34 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
35 1 [label = "control
36 :amp_slide
37 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 2 [label = "control
39 :amp_slide_shape
40 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 3 [label = "control
42 :amp_slide_curve
43 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 4 [label = "control
45 :mix
46 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 5 [label = "control
48 :mix_slide
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 6 [label = "control
51 :mix_slide_shape
52 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 7 [label = "control
54 :mix_slide_curve
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 8 [label = "control
57 :pre_amp
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 9 [label = "control
60 :pre_amp_slide
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 10 [label = "control
63 :pre_amp_slide_shape
64 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 11 [label = "control
66 :pre_amp_slide_curve
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 12 [label = "control
69 :pan
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 13 [label = "control
72 :pan_slide
73 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 14 [label = "control
75 :pan_slide_shape
76 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 15 [label = "control
78 :pan_slide_curve
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 16 [label = "control
81 :in_bus
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 17 [label = "control
84 :out_bus
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 43 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
87 47 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
88 54 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 61 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
90 19 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
91 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
92 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
98 18 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
99 30 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
100 39 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
101 48 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
102 44 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
103 68 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
104 64 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
105 67 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
106
107 44:__UG_NAME__ -> 45:b ;
108 43:__UG_NAME__ -> 45:a ;
109 44:__UG_NAME__ -> 46:b ;
110 43:__UG_NAME__ -> 46:a ;
111 61:__UG_NAME__ -> 62:a ;
112 61:__UG_NAME__ -> 65:a ;
113 21:__UG_NAME__ -> 22:b ;
114 18:__UG_NAME__ -> 22:a ;
115 25:__UG_NAME__ -> 26:b ;
116 22:__UG_NAME__ -> 26:a ;
117 33:__UG_NAME__ -> 34:b ;
118 30:__UG_NAME__ -> 34:a ;
119 37:__UG_NAME__ -> 38:b ;
120 34:__UG_NAME__ -> 38:a ;
121 42:__UG_NAME__ -> 49:b ;
122 48:__UG_NAME__ -> 49:a ;
123 52:__UG_NAME__ -> 53:b ;
124 49:__UG_NAME__ -> 53:a ;
125 58:__UG_NAME__ -> 59:b ;
126 39:__UG_NAME__ -> 59:a ;
127 29:__UG_NAME__ -> 60:b ;
128 59:__UG_NAME__ -> 60:a ;
129 62:__UG_NAME__ -> 63:a ;
130 65:__UG_NAME__ -> 66:a ;
131 20:__UG_NAME__ -> 21:a ;
132 24:__UG_NAME__ -> 25:a ;
133 28:__UG_NAME__ -> 29:a ;
134 32:__UG_NAME__ -> 33:a ;
135 36:__UG_NAME__ -> 37:a ;
136 41:__UG_NAME__ -> 42:a ;
137 51:__UG_NAME__ -> 52:a ;
138 57:__UG_NAME__ -> 58:a ;
139 19:__UG_NAME__ -> 20:a ;
140 23:__UG_NAME__ -> 24:a ;
141 27:__UG_NAME__ -> 28:a ;
142 31:__UG_NAME__ -> 32:a ;
143 35:__UG_NAME__ -> 36:a ;
144 40:__UG_NAME__ -> 41:a ;
145 50:__UG_NAME__ -> 51:a ;
146 56:__UG_NAME__ -> 57:a ;
147 54:__UG_NAME__ -> 55:level ;
148 47:__UG_NAME__ -> 55:pos ;
149 46:__UG_NAME__ -> 55:right ;
150 45:__UG_NAME__ -> 55:left ;
151 38:__UG_NAME__ -> 43:gate ;
152 8:__UG_NAME__ -> 43:envelope___control___0 ;
153 8:__UG_NAME__ -> 43:envelope___control___4 ;
154 9:__UG_NAME__ -> 43:envelope___control___5 ;
155 10:__UG_NAME__ -> 43:envelope___control___6 ;
156 11:__UG_NAME__ -> 43:envelope___control___7 ;
157 26:__UG_NAME__ -> 47:gate ;
158 12:__UG_NAME__ -> 47:envelope___control___0 ;
159 12:__UG_NAME__ -> 47:envelope___control___4 ;
160 13:__UG_NAME__ -> 47:envelope___control___5 ;
161 14:__UG_NAME__ -> 47:envelope___control___6 ;
162 15:__UG_NAME__ -> 47:envelope___control___7 ;
163 53:__UG_NAME__ -> 54:gate ;
164 0:__UG_NAME__ -> 54:envelope___control___0 ;
165 0:__UG_NAME__ -> 54:envelope___control___4 ;
166 1:__UG_NAME__ -> 54:envelope___control___5 ;
167 2:__UG_NAME__ -> 54:envelope___control___6 ;
168 3:__UG_NAME__ -> 54:envelope___control___7 ;
169 60:__UG_NAME__ -> 61:gate ;
170 4:__UG_NAME__ -> 61:envelope___control___0 ;
171 4:__UG_NAME__ -> 61:envelope___control___4 ;
172 5:__UG_NAME__ -> 61:envelope___control___5 ;
173 6:__UG_NAME__ -> 61:envelope___control___6 ;
174 7:__UG_NAME__ -> 61:envelope___control___7 ;
175 12:__UG_NAME__ -> 19:in ;
176 13:__UG_NAME__ -> 23:in ;
177 5:__UG_NAME__ -> 27:in ;
178 8:__UG_NAME__ -> 31:in ;
179 9:__UG_NAME__ -> 35:in ;
180 0:__UG_NAME__ -> 40:in ;
181 1:__UG_NAME__ -> 50:in ;
182 4:__UG_NAME__ -> 56:in ;
183 16:__UG_NAME__ -> 44:bus ;
184 64:__UG_NAME__ -> 68:signals___x____fade2___0 ;
185 67:__UG_NAME__ -> 68:signals___x____fade2___1 ;
186 17:__UG_NAME__ -> 68:bus ;
187 54:__UG_NAME__ -> 64:level ;
188 63:__UG_NAME__ -> 64:pan ;
189 55:__UG_NAME__ -> 64:inb ;
190 45:__UG_NAME__ -> 64:ina ;
191 54:__UG_NAME__ -> 67:level ;
192 66:__UG_NAME__ -> 67:pan ;
193 55:__UG_NAME__ -> 67:inb ;
194 46:__UG_NAME__ -> 67:ina ;
195
196 }
+0
-618
etc/synthdefs/graphviz/sonic-pi-fx_panslicer.dot less more
0 digraph synthdef {
1 69 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 70 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 84 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 86 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 98 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 101 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 113 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 118 [label = "{{ <a> |<b> 6.2831855} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 121 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 165 [label = "{{ <a> |<b> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
11 218 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
12 220 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
13 62 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 66 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 76 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 80 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 91 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 95 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 99 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 106 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 110 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 115 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 117 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 124 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 133 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 137 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 145 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 149 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 156 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 160 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 172 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 176 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 181 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 185 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
35 192 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
36 196 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
37 201 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
38 205 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
39 212 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
40 216 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
41 85 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
42 114 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
43 163 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
44 166 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
45 219 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
46 221 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
47 97 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
48 164 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
49 126 [label = "{{ <a> |<b> } |<__UG_NAME__>\< }" style="bold, rounded" shape=record rankdir=LR];
50 61 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 65 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 75 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 79 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 82 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 83 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 90 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 94 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
58 105 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
59 109 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
60 132 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
61 136 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
62 144 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
63 148 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
64 155 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
65 159 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
66 171 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
67 175 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
68 180 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
69 184 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
70 191 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
71 195 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
72 200 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
73 204 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
74 211 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
75 215 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
76 56 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
77 60 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
78 64 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
79 74 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
80 78 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
81 89 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
82 93 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
83 104 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
84 108 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
85 131 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
86 135 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
87 143 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
88 147 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
89 154 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
90 158 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
91 170 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
92 174 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
93 179 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
94 183 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
95 190 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
96 194 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
97 203 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
98 210 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
99 214 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
100 207 [label = "{{ <left> left|<right> right|<pos> pos|<level> level} |<__UG_NAME__>balance2 }" style="filled, bold, rounded" shape=record rankdir=LR];
101 125 [label = "{{ <num____channels> num-channels 1|<bufnum> bufnum|<phase> phase|<loop> loop 1.0|<interpolation> interpolation 2.0} |<__UG_NAME__>buf-rd }" style="bold, rounded" shape=record rankdir=LR];
102 72 [label = "{{ <in> in|<lo> lo 0.0|<hi> hi 1.0} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
103 128 [label = "{{ <in> in|<lo> lo 0.0|<hi> hi 1.0} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
104 151 [label = "{{ <in> in|<lo> lo -1.0|<hi> hi 1.0} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
105 162 [label = "{{ <in> in|<lo> lo -1.0|<hi> hi 1.0} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
106 0 [label = "control
107 :amp
108 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 1 [label = "control
110 :amp_slide
111 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 2 [label = "control
113 :amp_slide_shape
114 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 3 [label = "control
116 :amp_slide_curve
117 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 4 [label = "control
119 :mix
120 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 5 [label = "control
122 :mix_slide
123 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 6 [label = "control
125 :mix_slide_shape
126 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 7 [label = "control
128 :mix_slide_curve
129 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 8 [label = "control
131 :pre_amp
132 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 9 [label = "control
134 :pre_amp_slide
135 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 10 [label = "control
137 :pre_amp_slide_shape
138 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 11 [label = "control
140 :pre_amp_slide_curve
141 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
142 12 [label = "control
143 :phase
144 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
145 13 [label = "control
146 :phase_slide
147 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
148 14 [label = "control
149 :phase_slide_shape
150 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
151 15 [label = "control
152 :phase_slide_curve
153 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
154 16 [label = "control
155 :pan_min
156 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
157 17 [label = "control
158 :pan_min_slide
159 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
160 18 [label = "control
161 :pan_min_slide_shape
162 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
163 19 [label = "control
164 :pan_min_slide_curve
165 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
166 20 [label = "control
167 :pan_max
168 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
169 21 [label = "control
170 :pan_max_slide
171 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
172 22 [label = "control
173 :pan_max_slide_shape
174 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
175 23 [label = "control
176 :pan_max_slide_curve
177 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
178 24 [label = "control
179 :pulse_width
180 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
181 25 [label = "control
182 :pulse_width_slide
183 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
184 26 [label = "control
185 :pulse_width_slide_shape
186 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
187 27 [label = "control
188 :pulse_width_slide_curve
189 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
190 28 [label = "control
191 :smooth
192 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
193 29 [label = "control
194 :smooth_slide
195 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
196 30 [label = "control
197 :smooth_slide_shape
198 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
199 31 [label = "control
200 :smooth_slide_curve
201 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
202 32 [label = "control
203 :smooth_up
204 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
205 33 [label = "control
206 :smooth_up_slide
207 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
208 34 [label = "control
209 :smooth_up_slide_shape
210 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
211 35 [label = "control
212 :smooth_up_slide_curve
213 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
214 36 [label = "control
215 :smooth_down
216 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
217 37 [label = "control
218 :smooth_down_slide
219 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
220 38 [label = "control
221 :smooth_down_slide_shape
222 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
223 39 [label = "control
224 :smooth_down_slide_curve
225 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
226 40 [label = "control
227 :probability
228 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
229 41 [label = "control
230 :probability_slide
231 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
232 42 [label = "control
233 :probability_slide_shape
234 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
235 43 [label = "control
236 :probability_slide_curve
237 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
238 44 [label = "control
239 :prob_pos
240 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
241 45 [label = "control
242 :prob_pos_slide
243 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
244 46 [label = "control
245 :prob_pos_slide_shape
246 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
247 47 [label = "control
248 :prob_pos_slide_curve
249 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
250 48 [label = "control
251 :phase_offset
252 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
253 49 [label = "control
254 :wave
255 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
256 50 [label = "control
257 :invert_wave
258 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
259 51 [label = "control
260 :seed
261 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
262 52 [label = "control
263 :rand_buf
264 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
265 53 [label = "control
266 :in_bus
267 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
268 54 [label = "control
269 :out_bus
270 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
271 67 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
272 81 [label = "{{ {{<envelope___clip___0>|1.0|-99|-99|<envelope___clip___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
273 96 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
274 111 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
275 138 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
276 150 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
277 161 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
278 177 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
279 186 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
280 197 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
281 206 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
282 217 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
283 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
284 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
285 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
286 63 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
287 73 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
288 77 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
289 88 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
290 92 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
291 103 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
292 107 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
293 130 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
294 134 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
295 142 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
296 146 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
297 153 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
298 157 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
299 169 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
300 173 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
301 182 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
302 189 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
303 193 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
304 202 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
305 209 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
306 213 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
307 58 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
308 71 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
309 87 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
310 102 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
311 122 [label = "{{ <freq> freq|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
312 127 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
313 141 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
314 152 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
315 168 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
316 178 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
317 188 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
318 199 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
319 208 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
320 68 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
321 198 [label = "{{ <in> in|<lag____time> lag-time} |<__UG_NAME__>lag }" style="bold, rounded" shape=record rankdir=LR];
322 187 [label = "{{ <in> in|<lag____time____up> lag-time-up|<lag____time____down> lag-time-down} |<__UG_NAME__>lag-ud }" style="bold, rounded" shape=record rankdir=LR];
323 112 [label = "{{ <freq> freq|<iphase> iphase|<width> width} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
324 100 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
325 116 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
326 129 [label = "{{ <in> in|<mul> mul 2.0|<add> add -1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
327 167 [label = "{{ <in> in|<mul> mul|<add> add} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
328 224 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
329 123 [label = "{{ <trig> trig|<reset> reset 0.0} |<__UG_NAME__>pulse-count }" style="bold, rounded" shape=record rankdir=LR];
330 120 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
331 139 [label = "{{ <which> which|{{<array___env____gen___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
332 140 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
333 119 [label = "{{ <freq> freq|<phase> phase|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
334 222 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
335 223 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
336
337 68:__UG_NAME__ -> 69:b ;
338 67:__UG_NAME__ -> 69:a ;
339 68:__UG_NAME__ -> 70:b ;
340 67:__UG_NAME__ -> 70:a ;
341 83:__UG_NAME__ -> 84:b ;
342 85:__UG_NAME__ -> 86:b ;
343 48:__UG_NAME__ -> 98:b ;
344 100:__UG_NAME__ -> 101:b ;
345 112:__UG_NAME__ -> 113:b ;
346 117:__UG_NAME__ -> 118:a ;
347 120:__UG_NAME__ -> 121:b ;
348 86:__UG_NAME__ -> 121:a ;
349 164:__UG_NAME__ -> 165:a ;
350 217:__UG_NAME__ -> 218:a ;
351 217:__UG_NAME__ -> 220:a ;
352 61:__UG_NAME__ -> 62:b ;
353 58:__UG_NAME__ -> 62:a ;
354 65:__UG_NAME__ -> 66:b ;
355 62:__UG_NAME__ -> 66:a ;
356 75:__UG_NAME__ -> 76:b ;
357 71:__UG_NAME__ -> 76:a ;
358 79:__UG_NAME__ -> 80:b ;
359 76:__UG_NAME__ -> 80:a ;
360 90:__UG_NAME__ -> 91:b ;
361 87:__UG_NAME__ -> 91:a ;
362 94:__UG_NAME__ -> 95:b ;
363 91:__UG_NAME__ -> 95:a ;
364 98:__UG_NAME__ -> 99:a ;
365 105:__UG_NAME__ -> 106:b ;
366 102:__UG_NAME__ -> 106:a ;
367 109:__UG_NAME__ -> 110:b ;
368 106:__UG_NAME__ -> 110:a ;
369 98:__UG_NAME__ -> 115:a ;
370 48:__UG_NAME__ -> 117:a ;
371 123:__UG_NAME__ -> 124:b ;
372 51:__UG_NAME__ -> 124:a ;
373 132:__UG_NAME__ -> 133:b ;
374 127:__UG_NAME__ -> 133:a ;
375 136:__UG_NAME__ -> 137:b ;
376 133:__UG_NAME__ -> 137:a ;
377 144:__UG_NAME__ -> 145:b ;
378 141:__UG_NAME__ -> 145:a ;
379 148:__UG_NAME__ -> 149:b ;
380 145:__UG_NAME__ -> 149:a ;
381 155:__UG_NAME__ -> 156:b ;
382 152:__UG_NAME__ -> 156:a ;
383 159:__UG_NAME__ -> 160:b ;
384 156:__UG_NAME__ -> 160:a ;
385 171:__UG_NAME__ -> 172:b ;
386 168:__UG_NAME__ -> 172:a ;
387 175:__UG_NAME__ -> 176:b ;
388 172:__UG_NAME__ -> 176:a ;
389 180:__UG_NAME__ -> 181:b ;
390 178:__UG_NAME__ -> 181:a ;
391 184:__UG_NAME__ -> 185:b ;
392 181:__UG_NAME__ -> 185:a ;
393 191:__UG_NAME__ -> 192:b ;
394 188:__UG_NAME__ -> 192:a ;
395 195:__UG_NAME__ -> 196:b ;
396 192:__UG_NAME__ -> 196:a ;
397 200:__UG_NAME__ -> 201:b ;
398 199:__UG_NAME__ -> 201:a ;
399 204:__UG_NAME__ -> 205:b ;
400 201:__UG_NAME__ -> 205:a ;
401 211:__UG_NAME__ -> 212:b ;
402 208:__UG_NAME__ -> 212:a ;
403 215:__UG_NAME__ -> 216:b ;
404 212:__UG_NAME__ -> 216:a ;
405 84:__UG_NAME__ -> 85:a ;
406 113:__UG_NAME__ -> 114:a ;
407 162:__UG_NAME__ -> 163:b ;
408 151:__UG_NAME__ -> 163:a ;
409 165:__UG_NAME__ -> 166:b ;
410 162:__UG_NAME__ -> 166:a ;
411 218:__UG_NAME__ -> 219:a ;
412 220:__UG_NAME__ -> 221:a ;
413 96:__UG_NAME__ -> 97:b ;
414 163:__UG_NAME__ -> 164:a ;
415 81:__UG_NAME__ -> 126:b ;
416 125:__UG_NAME__ -> 126:a ;
417 60:__UG_NAME__ -> 61:a ;
418 64:__UG_NAME__ -> 65:a ;
419 74:__UG_NAME__ -> 75:a ;
420 78:__UG_NAME__ -> 79:a ;
421 81:__UG_NAME__ -> 82:a ;
422 50:__UG_NAME__ -> 83:a ;
423 89:__UG_NAME__ -> 90:a ;
424 93:__UG_NAME__ -> 94:a ;
425 104:__UG_NAME__ -> 105:a ;
426 108:__UG_NAME__ -> 109:a ;
427 131:__UG_NAME__ -> 132:a ;
428 135:__UG_NAME__ -> 136:a ;
429 143:__UG_NAME__ -> 144:a ;
430 147:__UG_NAME__ -> 148:a ;
431 154:__UG_NAME__ -> 155:a ;
432 158:__UG_NAME__ -> 159:a ;
433 170:__UG_NAME__ -> 171:a ;
434 174:__UG_NAME__ -> 175:a ;
435 179:__UG_NAME__ -> 180:a ;
436 183:__UG_NAME__ -> 184:a ;
437 190:__UG_NAME__ -> 191:a ;
438 194:__UG_NAME__ -> 195:a ;
439 56:__UG_NAME__ -> 200:a ;
440 203:__UG_NAME__ -> 204:a ;
441 210:__UG_NAME__ -> 211:a ;
442 214:__UG_NAME__ -> 215:a ;
443 55:__UG_NAME__ -> 56:a ;
444 59:__UG_NAME__ -> 60:a ;
445 63:__UG_NAME__ -> 64:a ;
446 73:__UG_NAME__ -> 74:a ;
447 77:__UG_NAME__ -> 78:a ;
448 88:__UG_NAME__ -> 89:a ;
449 92:__UG_NAME__ -> 93:a ;
450 103:__UG_NAME__ -> 104:a ;
451 107:__UG_NAME__ -> 108:a ;
452 130:__UG_NAME__ -> 131:a ;
453 134:__UG_NAME__ -> 135:a ;
454 142:__UG_NAME__ -> 143:a ;
455 146:__UG_NAME__ -> 147:a ;
456 153:__UG_NAME__ -> 154:a ;
457 157:__UG_NAME__ -> 158:a ;
458 169:__UG_NAME__ -> 170:a ;
459 173:__UG_NAME__ -> 174:a ;
460 57:__UG_NAME__ -> 179:a ;
461 182:__UG_NAME__ -> 183:a ;
462 189:__UG_NAME__ -> 190:a ;
463 193:__UG_NAME__ -> 194:a ;
464 202:__UG_NAME__ -> 203:a ;
465 209:__UG_NAME__ -> 210:a ;
466 213:__UG_NAME__ -> 214:a ;
467 206:__UG_NAME__ -> 207:level ;
468 198:__UG_NAME__ -> 207:pos ;
469 70:__UG_NAME__ -> 207:right ;
470 69:__UG_NAME__ -> 207:left ;
471 124:__UG_NAME__ -> 125:phase ;
472 52:__UG_NAME__ -> 125:bufnum ;
473 40:__UG_NAME__ -> 72:in ;
474 44:__UG_NAME__ -> 128:in ;
475 150:__UG_NAME__ -> 151:in ;
476 161:__UG_NAME__ -> 162:in ;
477 66:__UG_NAME__ -> 67:gate ;
478 8:__UG_NAME__ -> 67:envelope___control___0 ;
479 8:__UG_NAME__ -> 67:envelope___control___4 ;
480 9:__UG_NAME__ -> 67:envelope___control___5 ;
481 10:__UG_NAME__ -> 67:envelope___control___6 ;
482 11:__UG_NAME__ -> 67:envelope___control___7 ;
483 80:__UG_NAME__ -> 81:gate ;
484 72:__UG_NAME__ -> 81:envelope___clip___0 ;
485 72:__UG_NAME__ -> 81:envelope___clip___4 ;
486 41:__UG_NAME__ -> 81:envelope___control___5 ;
487 42:__UG_NAME__ -> 81:envelope___control___6 ;
488 43:__UG_NAME__ -> 81:envelope___control___7 ;
489 95:__UG_NAME__ -> 96:gate ;
490 12:__UG_NAME__ -> 96:envelope___control___0 ;
491 12:__UG_NAME__ -> 96:envelope___control___4 ;
492 13:__UG_NAME__ -> 96:envelope___control___5 ;
493 14:__UG_NAME__ -> 96:envelope___control___6 ;
494 15:__UG_NAME__ -> 96:envelope___control___7 ;
495 110:__UG_NAME__ -> 111:gate ;
496 24:__UG_NAME__ -> 111:envelope___control___0 ;
497 24:__UG_NAME__ -> 111:envelope___control___4 ;
498 25:__UG_NAME__ -> 111:envelope___control___5 ;
499 26:__UG_NAME__ -> 111:envelope___control___6 ;
500 27:__UG_NAME__ -> 111:envelope___control___7 ;
501 137:__UG_NAME__ -> 138:gate ;
502 129:__UG_NAME__ -> 138:envelope___mul____add___0 ;
503 129:__UG_NAME__ -> 138:envelope___mul____add___4 ;
504 45:__UG_NAME__ -> 138:envelope___control___5 ;
505 46:__UG_NAME__ -> 138:envelope___control___6 ;
506 47:__UG_NAME__ -> 138:envelope___control___7 ;
507 149:__UG_NAME__ -> 150:gate ;
508 20:__UG_NAME__ -> 150:envelope___control___0 ;
509 20:__UG_NAME__ -> 150:envelope___control___4 ;
510 21:__UG_NAME__ -> 150:envelope___control___5 ;
511 22:__UG_NAME__ -> 150:envelope___control___6 ;
512 23:__UG_NAME__ -> 150:envelope___control___7 ;
513 160:__UG_NAME__ -> 161:gate ;
514 16:__UG_NAME__ -> 161:envelope___control___0 ;
515 16:__UG_NAME__ -> 161:envelope___control___4 ;
516 17:__UG_NAME__ -> 161:envelope___control___5 ;
517 18:__UG_NAME__ -> 161:envelope___control___6 ;
518 19:__UG_NAME__ -> 161:envelope___control___7 ;
519 176:__UG_NAME__ -> 177:gate ;
520 32:__UG_NAME__ -> 177:envelope___control___0 ;
521 32:__UG_NAME__ -> 177:envelope___control___4 ;
522 33:__UG_NAME__ -> 177:envelope___control___5 ;
523 34:__UG_NAME__ -> 177:envelope___control___6 ;
524 35:__UG_NAME__ -> 177:envelope___control___7 ;
525 185:__UG_NAME__ -> 186:gate ;
526 36:__UG_NAME__ -> 186:envelope___control___0 ;
527 36:__UG_NAME__ -> 186:envelope___control___4 ;
528 37:__UG_NAME__ -> 186:envelope___control___5 ;
529 38:__UG_NAME__ -> 186:envelope___control___6 ;
530 39:__UG_NAME__ -> 186:envelope___control___7 ;
531 196:__UG_NAME__ -> 197:gate ;
532 28:__UG_NAME__ -> 197:envelope___control___0 ;
533 28:__UG_NAME__ -> 197:envelope___control___4 ;
534 29:__UG_NAME__ -> 197:envelope___control___5 ;
535 30:__UG_NAME__ -> 197:envelope___control___6 ;
536 31:__UG_NAME__ -> 197:envelope___control___7 ;
537 205:__UG_NAME__ -> 206:gate ;
538 0:__UG_NAME__ -> 206:envelope___control___0 ;
539 0:__UG_NAME__ -> 206:envelope___control___4 ;
540 1:__UG_NAME__ -> 206:envelope___control___5 ;
541 2:__UG_NAME__ -> 206:envelope___control___6 ;
542 3:__UG_NAME__ -> 206:envelope___control___7 ;
543 216:__UG_NAME__ -> 217:gate ;
544 4:__UG_NAME__ -> 217:envelope___control___0 ;
545 4:__UG_NAME__ -> 217:envelope___control___4 ;
546 5:__UG_NAME__ -> 217:envelope___control___5 ;
547 6:__UG_NAME__ -> 217:envelope___control___6 ;
548 7:__UG_NAME__ -> 217:envelope___control___7 ;
549 0:__UG_NAME__ -> 55:in ;
550 36:__UG_NAME__ -> 57:in ;
551 8:__UG_NAME__ -> 59:in ;
552 9:__UG_NAME__ -> 63:in ;
553 72:__UG_NAME__ -> 73:in ;
554 41:__UG_NAME__ -> 77:in ;
555 12:__UG_NAME__ -> 88:in ;
556 13:__UG_NAME__ -> 92:in ;
557 24:__UG_NAME__ -> 103:in ;
558 25:__UG_NAME__ -> 107:in ;
559 129:__UG_NAME__ -> 130:in ;
560 45:__UG_NAME__ -> 134:in ;
561 20:__UG_NAME__ -> 142:in ;
562 21:__UG_NAME__ -> 146:in ;
563 16:__UG_NAME__ -> 153:in ;
564 17:__UG_NAME__ -> 157:in ;
565 32:__UG_NAME__ -> 169:in ;
566 33:__UG_NAME__ -> 173:in ;
567 37:__UG_NAME__ -> 182:in ;
568 28:__UG_NAME__ -> 189:in ;
569 29:__UG_NAME__ -> 193:in ;
570 1:__UG_NAME__ -> 202:in ;
571 4:__UG_NAME__ -> 209:in ;
572 5:__UG_NAME__ -> 213:in ;
573 97:__UG_NAME__ -> 122:freq ;
574 53:__UG_NAME__ -> 68:bus ;
575 197:__UG_NAME__ -> 198:lag____time ;
576 187:__UG_NAME__ -> 198:in ;
577 186:__UG_NAME__ -> 187:lag____time____down ;
578 177:__UG_NAME__ -> 187:lag____time____up ;
579 167:__UG_NAME__ -> 187:in ;
580 111:__UG_NAME__ -> 112:width ;
581 48:__UG_NAME__ -> 112:iphase ;
582 97:__UG_NAME__ -> 112:freq ;
583 99:__UG_NAME__ -> 100:iphase ;
584 97:__UG_NAME__ -> 100:freq ;
585 115:__UG_NAME__ -> 116:iphase ;
586 97:__UG_NAME__ -> 116:freq ;
587 128:__UG_NAME__ -> 129:in ;
588 166:__UG_NAME__ -> 167:add ;
589 164:__UG_NAME__ -> 167:mul ;
590 140:__UG_NAME__ -> 167:in ;
591 222:__UG_NAME__ -> 224:signals___x____fade2___0 ;
592 223:__UG_NAME__ -> 224:signals___x____fade2___1 ;
593 54:__UG_NAME__ -> 224:bus ;
594 122:__UG_NAME__ -> 123:trig ;
595 101:__UG_NAME__ -> 120:array___binary____op____u____gen___0 ;
596 114:__UG_NAME__ -> 120:array___binary____op____u____gen___1 ;
597 116:__UG_NAME__ -> 120:array___lf____tri___2 ;
598 119:__UG_NAME__ -> 120:array___sin____osc___3 ;
599 49:__UG_NAME__ -> 120:which ;
600 138:__UG_NAME__ -> 139:array___env____gen___0 ;
601 121:__UG_NAME__ -> 139:array___binary____op____u____gen___1 ;
602 126:__UG_NAME__ -> 139:which ;
603 121:__UG_NAME__ -> 140:array___binary____op____u____gen___0 ;
604 139:__UG_NAME__ -> 140:array___select___1 ;
605 82:__UG_NAME__ -> 140:which ;
606 118:__UG_NAME__ -> 119:phase ;
607 97:__UG_NAME__ -> 119:freq ;
608 206:__UG_NAME__ -> 222:level ;
609 221:__UG_NAME__ -> 222:pan ;
610 207:__UG_NAME__ -> 222:inb ;
611 69:__UG_NAME__ -> 222:ina ;
612 206:__UG_NAME__ -> 223:level ;
613 219:__UG_NAME__ -> 223:pan ;
614 207:__UG_NAME__ -> 223:inb ;
615 70:__UG_NAME__ -> 223:ina ;
616
617 }
+0
-320
etc/synthdefs/graphviz/sonic-pi-fx_pitch_shift.dot less more
0 digraph synthdef {
1 44 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 55 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 77 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 109 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 37 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 41 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 49 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 66 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 67 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 75 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 86 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 87 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 91 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 97 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 99 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 102 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 106 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 56 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
20 78 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
21 32 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 36 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 40 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 48 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 52 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 59 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 65 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 69 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 74 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 81 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 85 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 90 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 96 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 105 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 31 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 35 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 39 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 47 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 58 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 61 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 64 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 73 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 80 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 84 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 89 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 95 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 104 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 0 [label = "control
50 :amp
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 1 [label = "control
53 :amp_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 2 [label = "control
56 :amp_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 3 [label = "control
59 :amp_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 4 [label = "control
62 :mix
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 5 [label = "control
65 :mix_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 6 [label = "control
68 :mix_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 7 [label = "control
71 :mix_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 8 [label = "control
74 :pre_amp
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 9 [label = "control
77 :pre_amp_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 10 [label = "control
80 :pre_amp_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 11 [label = "control
83 :pre_amp_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 12 [label = "control
86 :pitch
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 13 [label = "control
89 :pitch_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 14 [label = "control
92 :pitch_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 15 [label = "control
95 :pitch_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 16 [label = "control
98 :window_size
99 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 17 [label = "control
101 :window_size_slide
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 18 [label = "control
104 :window_size_slide_shape
105 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 19 [label = "control
107 :window_size_slide_curve
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 20 [label = "control
110 :pitch_dis
111 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 21 [label = "control
113 :pitch_dis_slide
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 22 [label = "control
116 :pitch_dis_slide_shape
117 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 23 [label = "control
119 :pitch_dis_slide_curve
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 24 [label = "control
122 :time_dis
123 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 25 [label = "control
125 :time_dis_slide
126 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 26 [label = "control
128 :time_dis_slide_shape
129 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 27 [label = "control
131 :time_dis_slide_curve
132 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 28 [label = "control
134 :in_bus
135 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 29 [label = "control
137 :out_bus
138 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 42 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
140 54 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
141 68 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
142 92 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
143 98 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
144 100 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
145 107 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
146 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
147 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
148 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
149 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
150 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
151 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
152 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
153 63 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
154 72 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
155 79 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
156 83 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
157 88 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
158 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
159 103 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
160 33 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
161 45 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
162 62 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
163 70 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
164 71 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
165 76 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
166 82 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
167 43 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
168 93 [label = "{{ <a> |<b> } |<__UG_NAME__>midiratio }" style="bold, rounded" shape=record rankdir=LR];
169 112 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
170 101 [label = "{{ <in> in|<window____size> window-size|<pitch____ratio> pitch-ratio|<pitch____dispersion> pitch-dispersion|<time____dispersion> time-dispersion} |<__UG_NAME__>pitch-shift }" style="filled, bold, rounded" shape=record rankdir=LR];
171 110 [label = "{{ <in> in|<window____size> window-size|<pitch____ratio> pitch-ratio|<pitch____dispersion> pitch-dispersion|<time____dispersion> time-dispersion} |<__UG_NAME__>pitch-shift }" style="filled, bold, rounded" shape=record rankdir=LR];
172 108 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
173 111 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
174
175 43:__UG_NAME__ -> 44:b ;
176 42:__UG_NAME__ -> 44:a ;
177 54:__UG_NAME__ -> 55:a ;
178 54:__UG_NAME__ -> 77:a ;
179 43:__UG_NAME__ -> 109:b ;
180 42:__UG_NAME__ -> 109:a ;
181 36:__UG_NAME__ -> 37:b ;
182 33:__UG_NAME__ -> 37:a ;
183 40:__UG_NAME__ -> 41:b ;
184 37:__UG_NAME__ -> 41:a ;
185 48:__UG_NAME__ -> 49:b ;
186 45:__UG_NAME__ -> 49:a ;
187 52:__UG_NAME__ -> 53:b ;
188 49:__UG_NAME__ -> 53:a ;
189 65:__UG_NAME__ -> 66:b ;
190 62:__UG_NAME__ -> 66:a ;
191 59:__UG_NAME__ -> 67:b ;
192 66:__UG_NAME__ -> 67:a ;
193 74:__UG_NAME__ -> 75:b ;
194 71:__UG_NAME__ -> 75:a ;
195 85:__UG_NAME__ -> 86:b ;
196 82:__UG_NAME__ -> 86:a ;
197 69:__UG_NAME__ -> 87:b ;
198 76:__UG_NAME__ -> 87:a ;
199 90:__UG_NAME__ -> 91:b ;
200 87:__UG_NAME__ -> 91:a ;
201 96:__UG_NAME__ -> 97:b ;
202 86:__UG_NAME__ -> 97:a ;
203 32:__UG_NAME__ -> 99:b ;
204 75:__UG_NAME__ -> 99:a ;
205 81:__UG_NAME__ -> 102:b ;
206 70:__UG_NAME__ -> 102:a ;
207 105:__UG_NAME__ -> 106:b ;
208 102:__UG_NAME__ -> 106:a ;
209 55:__UG_NAME__ -> 56:a ;
210 77:__UG_NAME__ -> 78:a ;
211 31:__UG_NAME__ -> 32:a ;
212 35:__UG_NAME__ -> 36:a ;
213 39:__UG_NAME__ -> 40:a ;
214 47:__UG_NAME__ -> 48:a ;
215 51:__UG_NAME__ -> 52:a ;
216 58:__UG_NAME__ -> 59:a ;
217 64:__UG_NAME__ -> 65:a ;
218 61:__UG_NAME__ -> 69:a ;
219 73:__UG_NAME__ -> 74:a ;
220 80:__UG_NAME__ -> 81:a ;
221 84:__UG_NAME__ -> 85:a ;
222 89:__UG_NAME__ -> 90:a ;
223 95:__UG_NAME__ -> 96:a ;
224 104:__UG_NAME__ -> 105:a ;
225 30:__UG_NAME__ -> 31:a ;
226 34:__UG_NAME__ -> 35:a ;
227 38:__UG_NAME__ -> 39:a ;
228 46:__UG_NAME__ -> 47:a ;
229 50:__UG_NAME__ -> 51:a ;
230 57:__UG_NAME__ -> 58:a ;
231 60:__UG_NAME__ -> 61:a ;
232 63:__UG_NAME__ -> 64:a ;
233 72:__UG_NAME__ -> 73:a ;
234 79:__UG_NAME__ -> 80:a ;
235 83:__UG_NAME__ -> 84:a ;
236 88:__UG_NAME__ -> 89:a ;
237 94:__UG_NAME__ -> 95:a ;
238 103:__UG_NAME__ -> 104:a ;
239 41:__UG_NAME__ -> 42:gate ;
240 8:__UG_NAME__ -> 42:envelope___control___0 ;
241 8:__UG_NAME__ -> 42:envelope___control___4 ;
242 9:__UG_NAME__ -> 42:envelope___control___5 ;
243 10:__UG_NAME__ -> 42:envelope___control___6 ;
244 11:__UG_NAME__ -> 42:envelope___control___7 ;
245 53:__UG_NAME__ -> 54:gate ;
246 4:__UG_NAME__ -> 54:envelope___control___0 ;
247 4:__UG_NAME__ -> 54:envelope___control___4 ;
248 5:__UG_NAME__ -> 54:envelope___control___5 ;
249 6:__UG_NAME__ -> 54:envelope___control___6 ;
250 7:__UG_NAME__ -> 54:envelope___control___7 ;
251 67:__UG_NAME__ -> 68:gate ;
252 16:__UG_NAME__ -> 68:envelope___control___0 ;
253 16:__UG_NAME__ -> 68:envelope___control___4 ;
254 17:__UG_NAME__ -> 68:envelope___control___5 ;
255 18:__UG_NAME__ -> 68:envelope___control___6 ;
256 19:__UG_NAME__ -> 68:envelope___control___7 ;
257 91:__UG_NAME__ -> 92:gate ;
258 12:__UG_NAME__ -> 92:envelope___control___0 ;
259 12:__UG_NAME__ -> 92:envelope___control___4 ;
260 13:__UG_NAME__ -> 92:envelope___control___5 ;
261 14:__UG_NAME__ -> 92:envelope___control___6 ;
262 15:__UG_NAME__ -> 92:envelope___control___7 ;
263 97:__UG_NAME__ -> 98:gate ;
264 20:__UG_NAME__ -> 98:envelope___control___0 ;
265 20:__UG_NAME__ -> 98:envelope___control___4 ;
266 21:__UG_NAME__ -> 98:envelope___control___5 ;
267 22:__UG_NAME__ -> 98:envelope___control___6 ;
268 23:__UG_NAME__ -> 98:envelope___control___7 ;
269 99:__UG_NAME__ -> 100:gate ;
270 24:__UG_NAME__ -> 100:envelope___control___0 ;
271 24:__UG_NAME__ -> 100:envelope___control___4 ;
272 25:__UG_NAME__ -> 100:envelope___control___5 ;
273 26:__UG_NAME__ -> 100:envelope___control___6 ;
274 27:__UG_NAME__ -> 100:envelope___control___7 ;
275 106:__UG_NAME__ -> 107:gate ;
276 0:__UG_NAME__ -> 107:envelope___control___0 ;
277 0:__UG_NAME__ -> 107:envelope___control___4 ;
278 1:__UG_NAME__ -> 107:envelope___control___5 ;
279 2:__UG_NAME__ -> 107:envelope___control___6 ;
280 3:__UG_NAME__ -> 107:envelope___control___7 ;
281 25:__UG_NAME__ -> 30:in ;
282 8:__UG_NAME__ -> 34:in ;
283 9:__UG_NAME__ -> 38:in ;
284 4:__UG_NAME__ -> 46:in ;
285 5:__UG_NAME__ -> 50:in ;
286 17:__UG_NAME__ -> 57:in ;
287 12:__UG_NAME__ -> 60:in ;
288 16:__UG_NAME__ -> 63:in ;
289 24:__UG_NAME__ -> 72:in ;
290 0:__UG_NAME__ -> 79:in ;
291 20:__UG_NAME__ -> 83:in ;
292 13:__UG_NAME__ -> 88:in ;
293 21:__UG_NAME__ -> 94:in ;
294 1:__UG_NAME__ -> 103:in ;
295 28:__UG_NAME__ -> 43:bus ;
296 92:__UG_NAME__ -> 93:a ;
297 108:__UG_NAME__ -> 112:signals___x____fade2___0 ;
298 111:__UG_NAME__ -> 112:signals___x____fade2___1 ;
299 29:__UG_NAME__ -> 112:bus ;
300 100:__UG_NAME__ -> 101:time____dispersion ;
301 98:__UG_NAME__ -> 101:pitch____dispersion ;
302 93:__UG_NAME__ -> 101:pitch____ratio ;
303 68:__UG_NAME__ -> 101:window____size ;
304 44:__UG_NAME__ -> 101:in ;
305 100:__UG_NAME__ -> 110:time____dispersion ;
306 98:__UG_NAME__ -> 110:pitch____dispersion ;
307 93:__UG_NAME__ -> 110:pitch____ratio ;
308 68:__UG_NAME__ -> 110:window____size ;
309 109:__UG_NAME__ -> 110:in ;
310 107:__UG_NAME__ -> 108:level ;
311 56:__UG_NAME__ -> 108:pan ;
312 101:__UG_NAME__ -> 108:inb ;
313 44:__UG_NAME__ -> 108:ina ;
314 107:__UG_NAME__ -> 111:level ;
315 78:__UG_NAME__ -> 111:pan ;
316 110:__UG_NAME__ -> 111:inb ;
317 109:__UG_NAME__ -> 111:ina ;
318
319 }
+0
-242
etc/synthdefs/graphviz/sonic-pi-fx_rbpf.dot less more
0 digraph synthdef {
1 42 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 67 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 80 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 81 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 26 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 30 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 35 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 39 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 47 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 51 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 59 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 73 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 77 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 68 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
16 83 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 25 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 29 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 34 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 38 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 46 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 50 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 58 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 62 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 72 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 76 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 24 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 28 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 33 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 37 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 49 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 57 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 61 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 71 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 75 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :amp
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :amp_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :amp_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :amp_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :mix
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :mix_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :mix_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :mix_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pre_amp
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pre_amp_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pre_amp_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pre_amp_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :centre
75 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :centre_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :centre_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :centre_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :res
87 default: 0.6" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :res_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :res_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :res_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :in_bus
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 40 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 52 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 64 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 66 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 78 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 22 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 31 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 43 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 54 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 69 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 41 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
124 53 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
125 55 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
126 85 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
127 65 [label = "{{ <in> in|<freq> freq|<bwr> bwr} |<__UG_NAME__>resonz }" style="filled, bold, rounded" shape=record rankdir=LR];
128 82 [label = "{{ <in> in|<freq> freq|<bwr> bwr} |<__UG_NAME__>resonz }" style="filled, bold, rounded" shape=record rankdir=LR];
129 79 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
130 84 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
131
132 41:__UG_NAME__ -> 42:b ;
133 40:__UG_NAME__ -> 42:a ;
134 66:__UG_NAME__ -> 67:a ;
135 66:__UG_NAME__ -> 80:a ;
136 41:__UG_NAME__ -> 81:b ;
137 40:__UG_NAME__ -> 81:a ;
138 25:__UG_NAME__ -> 26:b ;
139 22:__UG_NAME__ -> 26:a ;
140 29:__UG_NAME__ -> 30:b ;
141 26:__UG_NAME__ -> 30:a ;
142 34:__UG_NAME__ -> 35:b ;
143 31:__UG_NAME__ -> 35:a ;
144 38:__UG_NAME__ -> 39:b ;
145 35:__UG_NAME__ -> 39:a ;
146 46:__UG_NAME__ -> 47:b ;
147 43:__UG_NAME__ -> 47:a ;
148 50:__UG_NAME__ -> 51:b ;
149 47:__UG_NAME__ -> 51:a ;
150 58:__UG_NAME__ -> 59:b ;
151 54:__UG_NAME__ -> 59:a ;
152 62:__UG_NAME__ -> 63:b ;
153 59:__UG_NAME__ -> 63:a ;
154 72:__UG_NAME__ -> 73:b ;
155 69:__UG_NAME__ -> 73:a ;
156 76:__UG_NAME__ -> 77:b ;
157 73:__UG_NAME__ -> 77:a ;
158 67:__UG_NAME__ -> 68:a ;
159 80:__UG_NAME__ -> 83:a ;
160 24:__UG_NAME__ -> 25:a ;
161 28:__UG_NAME__ -> 29:a ;
162 33:__UG_NAME__ -> 34:a ;
163 37:__UG_NAME__ -> 38:a ;
164 45:__UG_NAME__ -> 46:a ;
165 49:__UG_NAME__ -> 50:a ;
166 57:__UG_NAME__ -> 58:a ;
167 61:__UG_NAME__ -> 62:a ;
168 71:__UG_NAME__ -> 72:a ;
169 75:__UG_NAME__ -> 76:a ;
170 23:__UG_NAME__ -> 24:a ;
171 27:__UG_NAME__ -> 28:a ;
172 32:__UG_NAME__ -> 33:a ;
173 36:__UG_NAME__ -> 37:a ;
174 44:__UG_NAME__ -> 45:a ;
175 48:__UG_NAME__ -> 49:a ;
176 56:__UG_NAME__ -> 57:a ;
177 60:__UG_NAME__ -> 61:a ;
178 70:__UG_NAME__ -> 71:a ;
179 74:__UG_NAME__ -> 75:a ;
180 39:__UG_NAME__ -> 40:gate ;
181 8:__UG_NAME__ -> 40:envelope___control___0 ;
182 8:__UG_NAME__ -> 40:envelope___control___4 ;
183 9:__UG_NAME__ -> 40:envelope___control___5 ;
184 10:__UG_NAME__ -> 40:envelope___control___6 ;
185 11:__UG_NAME__ -> 40:envelope___control___7 ;
186 51:__UG_NAME__ -> 52:gate ;
187 12:__UG_NAME__ -> 52:envelope___control___0 ;
188 12:__UG_NAME__ -> 52:envelope___control___4 ;
189 13:__UG_NAME__ -> 52:envelope___control___5 ;
190 14:__UG_NAME__ -> 52:envelope___control___6 ;
191 15:__UG_NAME__ -> 52:envelope___control___7 ;
192 63:__UG_NAME__ -> 64:gate ;
193 55:__UG_NAME__ -> 64:envelope___mul____add___0 ;
194 55:__UG_NAME__ -> 64:envelope___mul____add___4 ;
195 17:__UG_NAME__ -> 64:envelope___control___5 ;
196 18:__UG_NAME__ -> 64:envelope___control___6 ;
197 19:__UG_NAME__ -> 64:envelope___control___7 ;
198 30:__UG_NAME__ -> 66:gate ;
199 4:__UG_NAME__ -> 66:envelope___control___0 ;
200 4:__UG_NAME__ -> 66:envelope___control___4 ;
201 5:__UG_NAME__ -> 66:envelope___control___5 ;
202 6:__UG_NAME__ -> 66:envelope___control___6 ;
203 7:__UG_NAME__ -> 66:envelope___control___7 ;
204 77:__UG_NAME__ -> 78:gate ;
205 0:__UG_NAME__ -> 78:envelope___control___0 ;
206 0:__UG_NAME__ -> 78:envelope___control___4 ;
207 1:__UG_NAME__ -> 78:envelope___control___5 ;
208 2:__UG_NAME__ -> 78:envelope___control___6 ;
209 3:__UG_NAME__ -> 78:envelope___control___7 ;
210 4:__UG_NAME__ -> 23:in ;
211 5:__UG_NAME__ -> 27:in ;
212 8:__UG_NAME__ -> 32:in ;
213 9:__UG_NAME__ -> 36:in ;
214 12:__UG_NAME__ -> 44:in ;
215 13:__UG_NAME__ -> 48:in ;
216 55:__UG_NAME__ -> 56:in ;
217 17:__UG_NAME__ -> 60:in ;
218 0:__UG_NAME__ -> 70:in ;
219 1:__UG_NAME__ -> 74:in ;
220 20:__UG_NAME__ -> 41:bus ;
221 52:__UG_NAME__ -> 53:a ;
222 16:__UG_NAME__ -> 55:in ;
223 84:__UG_NAME__ -> 85:signals___x____fade2___0 ;
224 79:__UG_NAME__ -> 85:signals___x____fade2___1 ;
225 21:__UG_NAME__ -> 85:bus ;
226 64:__UG_NAME__ -> 65:bwr ;
227 53:__UG_NAME__ -> 65:freq ;
228 42:__UG_NAME__ -> 65:in ;
229 64:__UG_NAME__ -> 82:bwr ;
230 53:__UG_NAME__ -> 82:freq ;
231 81:__UG_NAME__ -> 82:in ;
232 78:__UG_NAME__ -> 79:level ;
233 68:__UG_NAME__ -> 79:pan ;
234 65:__UG_NAME__ -> 79:inb ;
235 42:__UG_NAME__ -> 79:ina ;
236 78:__UG_NAME__ -> 84:level ;
237 83:__UG_NAME__ -> 84:pan ;
238 82:__UG_NAME__ -> 84:inb ;
239 81:__UG_NAME__ -> 84:ina ;
240
241 }
+0
-224
etc/synthdefs/graphviz/sonic-pi-fx_reverb.dot less more
0 digraph synthdef {
1 60 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 61 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 76 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 77 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 43 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 47 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 52 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 56 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 57 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 65 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 72 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 73 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 24 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 27 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 30 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 34 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 39 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 42 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 46 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 51 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 64 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 71 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 23 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 26 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 29 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 33 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 36 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 38 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 40 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 50 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 70 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 0 [label = "control
36 :amp
37 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 1 [label = "control
39 :amp_slide
40 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 2 [label = "control
42 :amp_slide_shape
43 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 3 [label = "control
45 :amp_slide_curve
46 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 4 [label = "control
48 :mix
49 default: 0.4" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 5 [label = "control
51 :mix_slide
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 6 [label = "control
54 :mix_slide_shape
55 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 7 [label = "control
57 :mix_slide_curve
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 8 [label = "control
60 :pre_amp
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 9 [label = "control
63 :pre_amp_slide
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 10 [label = "control
66 :pre_amp_slide_shape
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 11 [label = "control
69 :pre_amp_slide_curve
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 12 [label = "control
72 :room
73 default: 0.6" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 13 [label = "control
75 :room_slide
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 14 [label = "control
78 :room_slide_shape
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 15 [label = "control
81 :room_slide_curve
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 16 [label = "control
84 :damp
85 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 17 [label = "control
87 :damp_slide
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 18 [label = "control
90 :damp_slide_shape
91 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 19 [label = "control
93 :damp_slide_curve
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 20 [label = "control
96 :in_bus
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 21 [label = "control
99 :out_bus
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 54 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
102 58 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
103 66 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 67 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 74 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 75 [label = "{{ <in> in|<in2> in2|<mix> mix|<room> room|<damp> damp} |<__UG_NAME__>free-verb2 }" style="filled, bold, rounded" shape=record rankdir=LR];
107 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
108 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 69 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 41 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 48 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 55 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 62 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 68 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 59 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
123 78 [label = "{{ <bus> bus|{{<signals___binary____op____u____gen___0>|<signals___binary____op____u____gen___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
124
125 59:__UG_NAME__ -> 60:b ;
126 54:__UG_NAME__ -> 60:a ;
127 59:__UG_NAME__ -> 61:b ;
128 54:__UG_NAME__ -> 61:a ;
129 75:__UG_NAME__ -> 76:b ;
130 58:__UG_NAME__ -> 76:a ;
131 75:__UG_NAME__ -> 77:b ;
132 58:__UG_NAME__ -> 77:a ;
133 42:__UG_NAME__ -> 43:b ;
134 41:__UG_NAME__ -> 43:a ;
135 46:__UG_NAME__ -> 47:b ;
136 43:__UG_NAME__ -> 47:a ;
137 51:__UG_NAME__ -> 52:b ;
138 48:__UG_NAME__ -> 52:a ;
139 34:__UG_NAME__ -> 53:b ;
140 52:__UG_NAME__ -> 53:a ;
141 30:__UG_NAME__ -> 56:b ;
142 55:__UG_NAME__ -> 56:a ;
143 24:__UG_NAME__ -> 57:b ;
144 56:__UG_NAME__ -> 57:a ;
145 27:__UG_NAME__ -> 63:b ;
146 62:__UG_NAME__ -> 63:a ;
147 64:__UG_NAME__ -> 65:b ;
148 63:__UG_NAME__ -> 65:a ;
149 71:__UG_NAME__ -> 72:b ;
150 68:__UG_NAME__ -> 72:a ;
151 39:__UG_NAME__ -> 73:b ;
152 72:__UG_NAME__ -> 73:a ;
153 23:__UG_NAME__ -> 24:a ;
154 26:__UG_NAME__ -> 27:a ;
155 29:__UG_NAME__ -> 30:a ;
156 33:__UG_NAME__ -> 34:a ;
157 38:__UG_NAME__ -> 39:a ;
158 36:__UG_NAME__ -> 42:a ;
159 45:__UG_NAME__ -> 46:a ;
160 50:__UG_NAME__ -> 51:a ;
161 40:__UG_NAME__ -> 64:a ;
162 70:__UG_NAME__ -> 71:a ;
163 22:__UG_NAME__ -> 23:a ;
164 25:__UG_NAME__ -> 26:a ;
165 28:__UG_NAME__ -> 29:a ;
166 32:__UG_NAME__ -> 33:a ;
167 35:__UG_NAME__ -> 36:a ;
168 37:__UG_NAME__ -> 38:a ;
169 31:__UG_NAME__ -> 40:a ;
170 44:__UG_NAME__ -> 45:a ;
171 49:__UG_NAME__ -> 50:a ;
172 69:__UG_NAME__ -> 70:a ;
173 53:__UG_NAME__ -> 54:gate ;
174 8:__UG_NAME__ -> 54:envelope___control___0 ;
175 8:__UG_NAME__ -> 54:envelope___control___4 ;
176 9:__UG_NAME__ -> 54:envelope___control___5 ;
177 10:__UG_NAME__ -> 54:envelope___control___6 ;
178 11:__UG_NAME__ -> 54:envelope___control___7 ;
179 57:__UG_NAME__ -> 58:gate ;
180 0:__UG_NAME__ -> 58:envelope___control___0 ;
181 0:__UG_NAME__ -> 58:envelope___control___4 ;
182 1:__UG_NAME__ -> 58:envelope___control___5 ;
183 2:__UG_NAME__ -> 58:envelope___control___6 ;
184 3:__UG_NAME__ -> 58:envelope___control___7 ;
185 65:__UG_NAME__ -> 66:gate ;
186 4:__UG_NAME__ -> 66:envelope___control___0 ;
187 4:__UG_NAME__ -> 66:envelope___control___4 ;
188 5:__UG_NAME__ -> 66:envelope___control___5 ;
189 6:__UG_NAME__ -> 66:envelope___control___6 ;
190 7:__UG_NAME__ -> 66:envelope___control___7 ;
191 47:__UG_NAME__ -> 67:gate ;
192 12:__UG_NAME__ -> 67:envelope___control___0 ;
193 12:__UG_NAME__ -> 67:envelope___control___4 ;
194 13:__UG_NAME__ -> 67:envelope___control___5 ;
195 14:__UG_NAME__ -> 67:envelope___control___6 ;
196 15:__UG_NAME__ -> 67:envelope___control___7 ;
197 73:__UG_NAME__ -> 74:gate ;
198 16:__UG_NAME__ -> 74:envelope___control___0 ;
199 16:__UG_NAME__ -> 74:envelope___control___4 ;
200 17:__UG_NAME__ -> 74:envelope___control___5 ;
201 18:__UG_NAME__ -> 74:envelope___control___6 ;
202 19:__UG_NAME__ -> 74:envelope___control___7 ;
203 74:__UG_NAME__ -> 75:damp ;
204 67:__UG_NAME__ -> 75:room ;
205 66:__UG_NAME__ -> 75:mix ;
206 61:__UG_NAME__ -> 75:in2 ;
207 60:__UG_NAME__ -> 75:in ;
208 1:__UG_NAME__ -> 22:in ;
209 4:__UG_NAME__ -> 25:in ;
210 0:__UG_NAME__ -> 28:in ;
211 5:__UG_NAME__ -> 31:in ;
212 9:__UG_NAME__ -> 32:in ;
213 12:__UG_NAME__ -> 35:in ;
214 17:__UG_NAME__ -> 37:in ;
215 13:__UG_NAME__ -> 44:in ;
216 8:__UG_NAME__ -> 49:in ;
217 16:__UG_NAME__ -> 69:in ;
218 20:__UG_NAME__ -> 59:bus ;
219 76:__UG_NAME__ -> 78:signals___binary____op____u____gen___0 ;
220 77:__UG_NAME__ -> 78:signals___binary____op____u____gen___1 ;
221 21:__UG_NAME__ -> 78:bus ;
222
223 }
+0
-242
etc/synthdefs/graphviz/sonic-pi-fx_rhpf.dot less more
0 digraph synthdef {
1 53 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 69 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 71 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 82 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 31 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 32 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 36 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 40 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 45 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 49 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 60 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 77 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 79 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 72 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
16 83 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 26 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 30 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 35 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 39 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 44 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 48 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 59 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 63 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 76 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 78 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 23 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 25 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 29 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 38 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 43 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 47 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 58 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 62 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 68 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 75 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :amp
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :amp_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :amp_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :amp_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :mix
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :mix_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :mix_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :mix_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pre_amp
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pre_amp_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pre_amp_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pre_amp_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :cutoff
75 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :cutoff_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :cutoff_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :cutoff_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :res
87 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :res_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :res_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :res_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :in_bus
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 33 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 50 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 51 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 65 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 80 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 24 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 67 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 27 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 34 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 41 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 55 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 73 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 52 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
124 54 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
125 56 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
126 85 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
127 66 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rhpf }" style="filled, bold, rounded" shape=record rankdir=LR];
128 70 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rhpf }" style="filled, bold, rounded" shape=record rankdir=LR];
129 81 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
130 84 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
131
132 52:__UG_NAME__ -> 53:b ;
133 51:__UG_NAME__ -> 53:a ;
134 52:__UG_NAME__ -> 69:b ;
135 51:__UG_NAME__ -> 69:a ;
136 33:__UG_NAME__ -> 71:a ;
137 33:__UG_NAME__ -> 82:a ;
138 30:__UG_NAME__ -> 31:b ;
139 27:__UG_NAME__ -> 31:a ;
140 26:__UG_NAME__ -> 32:b ;
141 31:__UG_NAME__ -> 32:a ;
142 35:__UG_NAME__ -> 36:b ;
143 34:__UG_NAME__ -> 36:a ;
144 39:__UG_NAME__ -> 40:b ;
145 36:__UG_NAME__ -> 40:a ;
146 44:__UG_NAME__ -> 45:b ;
147 41:__UG_NAME__ -> 45:a ;
148 48:__UG_NAME__ -> 49:b ;
149 45:__UG_NAME__ -> 49:a ;
150 59:__UG_NAME__ -> 60:b ;
151 55:__UG_NAME__ -> 60:a ;
152 63:__UG_NAME__ -> 64:b ;
153 60:__UG_NAME__ -> 64:a ;
154 76:__UG_NAME__ -> 77:b ;
155 73:__UG_NAME__ -> 77:a ;
156 78:__UG_NAME__ -> 79:b ;
157 77:__UG_NAME__ -> 79:a ;
158 71:__UG_NAME__ -> 72:a ;
159 82:__UG_NAME__ -> 83:a ;
160 25:__UG_NAME__ -> 26:a ;
161 29:__UG_NAME__ -> 30:a ;
162 23:__UG_NAME__ -> 35:a ;
163 38:__UG_NAME__ -> 39:a ;
164 43:__UG_NAME__ -> 44:a ;
165 47:__UG_NAME__ -> 48:a ;
166 58:__UG_NAME__ -> 59:a ;
167 62:__UG_NAME__ -> 63:a ;
168 75:__UG_NAME__ -> 76:a ;
169 68:__UG_NAME__ -> 78:a ;
170 22:__UG_NAME__ -> 23:a ;
171 24:__UG_NAME__ -> 25:a ;
172 28:__UG_NAME__ -> 29:a ;
173 37:__UG_NAME__ -> 38:a ;
174 42:__UG_NAME__ -> 43:a ;
175 46:__UG_NAME__ -> 47:a ;
176 57:__UG_NAME__ -> 58:a ;
177 61:__UG_NAME__ -> 62:a ;
178 67:__UG_NAME__ -> 68:a ;
179 74:__UG_NAME__ -> 75:a ;
180 32:__UG_NAME__ -> 33:gate ;
181 4:__UG_NAME__ -> 33:envelope___control___0 ;
182 4:__UG_NAME__ -> 33:envelope___control___4 ;
183 5:__UG_NAME__ -> 33:envelope___control___5 ;
184 6:__UG_NAME__ -> 33:envelope___control___6 ;
185 7:__UG_NAME__ -> 33:envelope___control___7 ;
186 49:__UG_NAME__ -> 50:gate ;
187 12:__UG_NAME__ -> 50:envelope___control___0 ;
188 12:__UG_NAME__ -> 50:envelope___control___4 ;
189 13:__UG_NAME__ -> 50:envelope___control___5 ;
190 14:__UG_NAME__ -> 50:envelope___control___6 ;
191 15:__UG_NAME__ -> 50:envelope___control___7 ;
192 40:__UG_NAME__ -> 51:gate ;
193 8:__UG_NAME__ -> 51:envelope___control___0 ;
194 8:__UG_NAME__ -> 51:envelope___control___4 ;
195 9:__UG_NAME__ -> 51:envelope___control___5 ;
196 10:__UG_NAME__ -> 51:envelope___control___6 ;
197 11:__UG_NAME__ -> 51:envelope___control___7 ;
198 64:__UG_NAME__ -> 65:gate ;
199 56:__UG_NAME__ -> 65:envelope___mul____add___0 ;
200 56:__UG_NAME__ -> 65:envelope___mul____add___4 ;
201 17:__UG_NAME__ -> 65:envelope___control___5 ;
202 18:__UG_NAME__ -> 65:envelope___control___6 ;
203 19:__UG_NAME__ -> 65:envelope___control___7 ;
204 79:__UG_NAME__ -> 80:gate ;
205 0:__UG_NAME__ -> 80:envelope___control___0 ;
206 0:__UG_NAME__ -> 80:envelope___control___4 ;
207 1:__UG_NAME__ -> 80:envelope___control___5 ;
208 2:__UG_NAME__ -> 80:envelope___control___6 ;
209 3:__UG_NAME__ -> 80:envelope___control___7 ;
210 8:__UG_NAME__ -> 22:in ;
211 5:__UG_NAME__ -> 24:in ;
212 4:__UG_NAME__ -> 28:in ;
213 9:__UG_NAME__ -> 37:in ;
214 12:__UG_NAME__ -> 42:in ;
215 13:__UG_NAME__ -> 46:in ;
216 56:__UG_NAME__ -> 57:in ;
217 17:__UG_NAME__ -> 61:in ;
218 1:__UG_NAME__ -> 67:in ;
219 0:__UG_NAME__ -> 74:in ;
220 20:__UG_NAME__ -> 52:bus ;
221 50:__UG_NAME__ -> 54:a ;
222 16:__UG_NAME__ -> 56:in ;
223 84:__UG_NAME__ -> 85:signals___x____fade2___0 ;
224 81:__UG_NAME__ -> 85:signals___x____fade2___1 ;
225 21:__UG_NAME__ -> 85:bus ;
226 65:__UG_NAME__ -> 66:rq ;
227 54:__UG_NAME__ -> 66:freq ;
228 53:__UG_NAME__ -> 66:in ;
229 65:__UG_NAME__ -> 70:rq ;
230 54:__UG_NAME__ -> 70:freq ;
231 69:__UG_NAME__ -> 70:in ;
232 80:__UG_NAME__ -> 81:level ;
233 72:__UG_NAME__ -> 81:pan ;
234 70:__UG_NAME__ -> 81:inb ;
235 69:__UG_NAME__ -> 81:ina ;
236 80:__UG_NAME__ -> 84:level ;
237 83:__UG_NAME__ -> 84:pan ;
238 66:__UG_NAME__ -> 84:inb ;
239 53:__UG_NAME__ -> 84:ina ;
240
241 }
+0
-247
etc/synthdefs/graphviz/sonic-pi-fx_ring_mod.dot less more
0 digraph synthdef {
1 61 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 75 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 78 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 82 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 85 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 28 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 32 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 36 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 40 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 51 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 55 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 58 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 67 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 71 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 79 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 86 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
18 27 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 31 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 35 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 39 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 43 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 50 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 52 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 57 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 66 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 70 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 23 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 26 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 30 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 38 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 42 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 47 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 56 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 65 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 69 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 0 [label = "control
39 :amp
40 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 1 [label = "control
42 :amp_slide
43 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 2 [label = "control
45 :amp_slide_shape
46 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 3 [label = "control
48 :amp_slide_curve
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 4 [label = "control
51 :mix
52 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 5 [label = "control
54 :mix_slide
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 6 [label = "control
57 :mix_slide_shape
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 7 [label = "control
60 :mix_slide_curve
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 8 [label = "control
63 :pre_amp
64 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 9 [label = "control
66 :pre_amp_slide
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 10 [label = "control
69 :pre_amp_slide_shape
70 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 11 [label = "control
72 :pre_amp_slide_curve
73 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 12 [label = "control
75 :freq
76 default: 30.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 13 [label = "control
78 :freq_slide
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 14 [label = "control
81 :freq_slide_shape
82 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 15 [label = "control
84 :freq_slide_curve
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 16 [label = "control
87 :mod_amp
88 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 17 [label = "control
90 :mod_amp_slide
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 18 [label = "control
93 :mod_amp_slide_shape
94 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 19 [label = "control
96 :mod_amp_slide_curve
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 20 [label = "control
99 :in_bus
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 21 [label = "control
102 :out_bus
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 33 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 59 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 62 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 72 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 77 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
109 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 29 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 64 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 68 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
119 24 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 34 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 49 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 54 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 63 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
124 60 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
125 80 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>limiter }" style="filled, bold, rounded" shape=record rankdir=LR];
126 84 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>limiter }" style="filled, bold, rounded" shape=record rankdir=LR];
127 73 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
128 88 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
129 76 [label = "{{ <a> |<b> } |<__UG_NAME__>ring1 }" style="filled, bold, rounded" shape=record rankdir=LR];
130 83 [label = "{{ <a> |<b> } |<__UG_NAME__>ring1 }" style="filled, bold, rounded" shape=record rankdir=LR];
131 74 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
132 81 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
133 87 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
134
135 60:__UG_NAME__ -> 61:b ;
136 59:__UG_NAME__ -> 61:a ;
137 74:__UG_NAME__ -> 75:b ;
138 62:__UG_NAME__ -> 75:a ;
139 77:__UG_NAME__ -> 78:a ;
140 60:__UG_NAME__ -> 82:b ;
141 59:__UG_NAME__ -> 82:a ;
142 77:__UG_NAME__ -> 85:a ;
143 27:__UG_NAME__ -> 28:b ;
144 24:__UG_NAME__ -> 28:a ;
145 31:__UG_NAME__ -> 32:b ;
146 28:__UG_NAME__ -> 32:a ;
147 35:__UG_NAME__ -> 36:b ;
148 34:__UG_NAME__ -> 36:a ;
149 39:__UG_NAME__ -> 40:b ;
150 36:__UG_NAME__ -> 40:a ;
151 50:__UG_NAME__ -> 51:b ;
152 49:__UG_NAME__ -> 51:a ;
153 52:__UG_NAME__ -> 53:b ;
154 51:__UG_NAME__ -> 53:a ;
155 43:__UG_NAME__ -> 55:b ;
156 54:__UG_NAME__ -> 55:a ;
157 57:__UG_NAME__ -> 58:b ;
158 55:__UG_NAME__ -> 58:a ;
159 66:__UG_NAME__ -> 67:b ;
160 63:__UG_NAME__ -> 67:a ;
161 70:__UG_NAME__ -> 71:b ;
162 67:__UG_NAME__ -> 71:a ;
163 78:__UG_NAME__ -> 79:a ;
164 85:__UG_NAME__ -> 86:a ;
165 26:__UG_NAME__ -> 27:a ;
166 30:__UG_NAME__ -> 31:a ;
167 23:__UG_NAME__ -> 35:a ;
168 38:__UG_NAME__ -> 39:a ;
169 42:__UG_NAME__ -> 43:a ;
170 45:__UG_NAME__ -> 50:a ;
171 47:__UG_NAME__ -> 52:a ;
172 56:__UG_NAME__ -> 57:a ;
173 65:__UG_NAME__ -> 66:a ;
174 69:__UG_NAME__ -> 70:a ;
175 22:__UG_NAME__ -> 23:a ;
176 25:__UG_NAME__ -> 26:a ;
177 29:__UG_NAME__ -> 30:a ;
178 37:__UG_NAME__ -> 38:a ;
179 41:__UG_NAME__ -> 42:a ;
180 44:__UG_NAME__ -> 45:a ;
181 46:__UG_NAME__ -> 47:a ;
182 48:__UG_NAME__ -> 56:a ;
183 64:__UG_NAME__ -> 65:a ;
184 68:__UG_NAME__ -> 69:a ;
185 32:__UG_NAME__ -> 33:gate ;
186 0:__UG_NAME__ -> 33:envelope___control___0 ;
187 0:__UG_NAME__ -> 33:envelope___control___4 ;
188 1:__UG_NAME__ -> 33:envelope___control___5 ;
189 2:__UG_NAME__ -> 33:envelope___control___6 ;
190 3:__UG_NAME__ -> 33:envelope___control___7 ;
191 58:__UG_NAME__ -> 59:gate ;
192 8:__UG_NAME__ -> 59:envelope___control___0 ;
193 8:__UG_NAME__ -> 59:envelope___control___4 ;
194 9:__UG_NAME__ -> 59:envelope___control___5 ;
195 10:__UG_NAME__ -> 59:envelope___control___6 ;
196 11:__UG_NAME__ -> 59:envelope___control___7 ;
197 40:__UG_NAME__ -> 62:gate ;
198 16:__UG_NAME__ -> 62:envelope___control___0 ;
199 16:__UG_NAME__ -> 62:envelope___control___4 ;
200 17:__UG_NAME__ -> 62:envelope___control___5 ;
201 18:__UG_NAME__ -> 62:envelope___control___6 ;
202 19:__UG_NAME__ -> 62:envelope___control___7 ;
203 71:__UG_NAME__ -> 72:gate ;
204 12:__UG_NAME__ -> 72:envelope___control___0 ;
205 12:__UG_NAME__ -> 72:envelope___control___4 ;
206 13:__UG_NAME__ -> 72:envelope___control___5 ;
207 14:__UG_NAME__ -> 72:envelope___control___6 ;
208 15:__UG_NAME__ -> 72:envelope___control___7 ;
209 53:__UG_NAME__ -> 77:gate ;
210 4:__UG_NAME__ -> 77:envelope___control___0 ;
211 4:__UG_NAME__ -> 77:envelope___control___4 ;
212 5:__UG_NAME__ -> 77:envelope___control___5 ;
213 6:__UG_NAME__ -> 77:envelope___control___6 ;
214 7:__UG_NAME__ -> 77:envelope___control___7 ;
215 16:__UG_NAME__ -> 22:in ;
216 0:__UG_NAME__ -> 25:in ;
217 1:__UG_NAME__ -> 29:in ;
218 17:__UG_NAME__ -> 37:in ;
219 8:__UG_NAME__ -> 41:in ;
220 4:__UG_NAME__ -> 44:in ;
221 5:__UG_NAME__ -> 46:in ;
222 9:__UG_NAME__ -> 48:in ;
223 12:__UG_NAME__ -> 64:in ;
224 13:__UG_NAME__ -> 68:in ;
225 20:__UG_NAME__ -> 60:bus ;
226 76:__UG_NAME__ -> 80:in ;
227 83:__UG_NAME__ -> 84:in ;
228 72:__UG_NAME__ -> 73:a ;
229 81:__UG_NAME__ -> 88:signals___x____fade2___0 ;
230 87:__UG_NAME__ -> 88:signals___x____fade2___1 ;
231 21:__UG_NAME__ -> 88:bus ;
232 75:__UG_NAME__ -> 76:b ;
233 61:__UG_NAME__ -> 76:a ;
234 75:__UG_NAME__ -> 83:b ;
235 82:__UG_NAME__ -> 83:a ;
236 73:__UG_NAME__ -> 74:freq ;
237 33:__UG_NAME__ -> 81:level ;
238 79:__UG_NAME__ -> 81:pan ;
239 80:__UG_NAME__ -> 81:inb ;
240 61:__UG_NAME__ -> 81:ina ;
241 33:__UG_NAME__ -> 87:level ;
242 86:__UG_NAME__ -> 87:pan ;
243 84:__UG_NAME__ -> 87:inb ;
244 82:__UG_NAME__ -> 87:ina ;
245
246 }
+0
-242
etc/synthdefs/graphviz/sonic-pi-fx_rlpf.dot less more
0 digraph synthdef {
1 49 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 63 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 72 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 82 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 32 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 36 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 42 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 46 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 56 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 60 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 67 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 70 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 78 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 79 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 73 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
16 83 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
17 24 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 31 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 35 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 41 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 45 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 55 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 59 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 66 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 69 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 77 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 23 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 27 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 30 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 34 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 40 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 44 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 54 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 58 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 68 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 76 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 0 [label = "control
38 :amp
39 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 1 [label = "control
41 :amp_slide
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 2 [label = "control
44 :amp_slide_shape
45 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 3 [label = "control
47 :amp_slide_curve
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 4 [label = "control
50 :mix
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 5 [label = "control
53 :mix_slide
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 6 [label = "control
56 :mix_slide_shape
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 7 [label = "control
59 :mix_slide_curve
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 8 [label = "control
62 :pre_amp
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 9 [label = "control
65 :pre_amp_slide
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 10 [label = "control
68 :pre_amp_slide_shape
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 11 [label = "control
71 :pre_amp_slide_curve
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 12 [label = "control
74 :cutoff
75 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 13 [label = "control
77 :cutoff_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 14 [label = "control
80 :cutoff_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 15 [label = "control
83 :cutoff_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 16 [label = "control
86 :res
87 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 17 [label = "control
89 :res_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 18 [label = "control
92 :res_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 19 [label = "control
95 :res_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 20 [label = "control
98 :in_bus
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 21 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 37 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 47 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 61 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 71 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 80 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 22 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 29 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 75 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 28 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 38 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 51 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 65 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
122 74 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
123 48 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
124 50 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
125 52 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
126 85 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
127 62 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
128 64 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
129 81 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
130 84 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
131
132 48:__UG_NAME__ -> 49:b ;
133 47:__UG_NAME__ -> 49:a ;
134 48:__UG_NAME__ -> 63:b ;
135 47:__UG_NAME__ -> 63:a ;
136 71:__UG_NAME__ -> 72:a ;
137 71:__UG_NAME__ -> 82:a ;
138 31:__UG_NAME__ -> 32:b ;
139 28:__UG_NAME__ -> 32:a ;
140 35:__UG_NAME__ -> 36:b ;
141 32:__UG_NAME__ -> 36:a ;
142 41:__UG_NAME__ -> 42:b ;
143 38:__UG_NAME__ -> 42:a ;
144 45:__UG_NAME__ -> 46:b ;
145 42:__UG_NAME__ -> 46:a ;
146 55:__UG_NAME__ -> 56:b ;
147 51:__UG_NAME__ -> 56:a ;
148 59:__UG_NAME__ -> 60:b ;
149 56:__UG_NAME__ -> 60:a ;
150 66:__UG_NAME__ -> 67:b ;
151 65:__UG_NAME__ -> 67:a ;
152 69:__UG_NAME__ -> 70:b ;
153 67:__UG_NAME__ -> 70:a ;
154 77:__UG_NAME__ -> 78:b ;
155 74:__UG_NAME__ -> 78:a ;
156 24:__UG_NAME__ -> 79:b ;
157 78:__UG_NAME__ -> 79:a ;
158 72:__UG_NAME__ -> 73:a ;
159 82:__UG_NAME__ -> 83:a ;
160 23:__UG_NAME__ -> 24:a ;
161 30:__UG_NAME__ -> 31:a ;
162 34:__UG_NAME__ -> 35:a ;
163 40:__UG_NAME__ -> 41:a ;
164 44:__UG_NAME__ -> 45:a ;
165 54:__UG_NAME__ -> 55:a ;
166 58:__UG_NAME__ -> 59:a ;
167 27:__UG_NAME__ -> 66:a ;
168 68:__UG_NAME__ -> 69:a ;
169 76:__UG_NAME__ -> 77:a ;
170 22:__UG_NAME__ -> 23:a ;
171 26:__UG_NAME__ -> 27:a ;
172 29:__UG_NAME__ -> 30:a ;
173 33:__UG_NAME__ -> 34:a ;
174 39:__UG_NAME__ -> 40:a ;
175 43:__UG_NAME__ -> 44:a ;
176 53:__UG_NAME__ -> 54:a ;
177 57:__UG_NAME__ -> 58:a ;
178 25:__UG_NAME__ -> 68:a ;
179 75:__UG_NAME__ -> 76:a ;
180 36:__UG_NAME__ -> 37:gate ;
181 12:__UG_NAME__ -> 37:envelope___control___0 ;
182 12:__UG_NAME__ -> 37:envelope___control___4 ;
183 13:__UG_NAME__ -> 37:envelope___control___5 ;
184 14:__UG_NAME__ -> 37:envelope___control___6 ;
185 15:__UG_NAME__ -> 37:envelope___control___7 ;
186 46:__UG_NAME__ -> 47:gate ;
187 8:__UG_NAME__ -> 47:envelope___control___0 ;
188 8:__UG_NAME__ -> 47:envelope___control___4 ;
189 9:__UG_NAME__ -> 47:envelope___control___5 ;
190 10:__UG_NAME__ -> 47:envelope___control___6 ;
191 11:__UG_NAME__ -> 47:envelope___control___7 ;
192 60:__UG_NAME__ -> 61:gate ;
193 52:__UG_NAME__ -> 61:envelope___mul____add___0 ;
194 52:__UG_NAME__ -> 61:envelope___mul____add___4 ;
195 17:__UG_NAME__ -> 61:envelope___control___5 ;
196 18:__UG_NAME__ -> 61:envelope___control___6 ;
197 19:__UG_NAME__ -> 61:envelope___control___7 ;
198 70:__UG_NAME__ -> 71:gate ;
199 4:__UG_NAME__ -> 71:envelope___control___0 ;
200 4:__UG_NAME__ -> 71:envelope___control___4 ;
201 5:__UG_NAME__ -> 71:envelope___control___5 ;
202 6:__UG_NAME__ -> 71:envelope___control___6 ;
203 7:__UG_NAME__ -> 71:envelope___control___7 ;
204 79:__UG_NAME__ -> 80:gate ;
205 0:__UG_NAME__ -> 80:envelope___control___0 ;
206 0:__UG_NAME__ -> 80:envelope___control___4 ;
207 1:__UG_NAME__ -> 80:envelope___control___5 ;
208 2:__UG_NAME__ -> 80:envelope___control___6 ;
209 3:__UG_NAME__ -> 80:envelope___control___7 ;
210 1:__UG_NAME__ -> 22:in ;
211 5:__UG_NAME__ -> 25:in ;
212 4:__UG_NAME__ -> 26:in ;
213 12:__UG_NAME__ -> 29:in ;
214 13:__UG_NAME__ -> 33:in ;
215 8:__UG_NAME__ -> 39:in ;
216 9:__UG_NAME__ -> 43:in ;
217 52:__UG_NAME__ -> 53:in ;
218 17:__UG_NAME__ -> 57:in ;
219 0:__UG_NAME__ -> 75:in ;
220 20:__UG_NAME__ -> 48:bus ;
221 37:__UG_NAME__ -> 50:a ;
222 16:__UG_NAME__ -> 52:in ;
223 84:__UG_NAME__ -> 85:signals___x____fade2___0 ;
224 81:__UG_NAME__ -> 85:signals___x____fade2___1 ;
225 21:__UG_NAME__ -> 85:bus ;
226 61:__UG_NAME__ -> 62:rq ;
227 50:__UG_NAME__ -> 62:freq ;
228 49:__UG_NAME__ -> 62:in ;
229 61:__UG_NAME__ -> 64:rq ;
230 50:__UG_NAME__ -> 64:freq ;
231 63:__UG_NAME__ -> 64:in ;
232 80:__UG_NAME__ -> 81:level ;
233 73:__UG_NAME__ -> 81:pan ;
234 64:__UG_NAME__ -> 81:inb ;
235 63:__UG_NAME__ -> 81:ina ;
236 80:__UG_NAME__ -> 84:level ;
237 83:__UG_NAME__ -> 84:pan ;
238 62:__UG_NAME__ -> 84:inb ;
239 49:__UG_NAME__ -> 84:ina ;
240
241 }
+0
-615
etc/synthdefs/graphviz/sonic-pi-fx_slicer.dot less more
0 digraph synthdef {
1 111 [label = "{{ <a> |<b> 6.2831855} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 136 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 148 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 150 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 153 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 155 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 160 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 199 [label = "{{ <a> |<b> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 203 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
10 214 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 215 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
12 218 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
13 219 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
14 220 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
15 59 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 65 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 69 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 77 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 81 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 91 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 95 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 104 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 108 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 110 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 121 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 125 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 131 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 135 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 138 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 142 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 145 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 151 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 157 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 167 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
35 171 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
36 177 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
37 182 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
38 186 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
39 192 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
40 194 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
41 208 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
42 211 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
43 149 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
44 156 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
45 197 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
46 200 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
47 216 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
48 221 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
49 97 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
50 198 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
51 140 [label = "{{ <a> |<b> } |<__UG_NAME__>\< }" style="bold, rounded" shape=record rankdir=LR];
52 58 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 64 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 68 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 76 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 80 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 87 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
58 90 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
59 94 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
60 101 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
61 107 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
62 114 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
63 117 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
64 120 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
65 124 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
66 130 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
67 134 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
68 144 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
69 147 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
70 166 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
71 170 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
72 176 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
73 181 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
74 185 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
75 193 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
76 207 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
77 210 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
78 57 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
79 63 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
80 67 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
81 75 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
82 79 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
83 86 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
84 89 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
85 93 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
86 100 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
87 106 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
88 116 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
89 119 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
90 123 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
91 129 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
92 133 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
93 143 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
94 165 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
95 169 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
96 174 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
97 175 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
98 180 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
99 184 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
100 206 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
101 209 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
102 139 [label = "{{ <num____channels> num-channels 1|<bufnum> bufnum|<phase> phase|<loop> loop 1.0|<interpolation> interpolation 2.0} |<__UG_NAME__>buf-rd }" style="bold, rounded" shape=record rankdir=LR];
103 61 [label = "{{ <in> in|<lo> lo 0.0|<hi> hi 1.0} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
104 83 [label = "{{ <in> in|<lo> lo 0.0|<hi> hi 1.0} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
105 0 [label = "control
106 :amp
107 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 1 [label = "control
109 :amp_slide
110 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 2 [label = "control
112 :amp_slide_shape
113 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 3 [label = "control
115 :amp_slide_curve
116 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 4 [label = "control
118 :mix
119 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 5 [label = "control
121 :mix_slide
122 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 6 [label = "control
124 :mix_slide_shape
125 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 7 [label = "control
127 :mix_slide_curve
128 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 8 [label = "control
130 :pre_amp
131 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 9 [label = "control
133 :pre_amp_slide
134 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 10 [label = "control
136 :pre_amp_slide_shape
137 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 11 [label = "control
139 :pre_amp_slide_curve
140 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 12 [label = "control
142 :phase
143 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 13 [label = "control
145 :phase_slide
146 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 14 [label = "control
148 :phase_slide_shape
149 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
150 15 [label = "control
151 :phase_slide_curve
152 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
153 16 [label = "control
154 :amp_min
155 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
156 17 [label = "control
157 :amp_min_slide
158 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
159 18 [label = "control
160 :amp_min_slide_shape
161 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
162 19 [label = "control
163 :amp_min_slide_curve
164 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
165 20 [label = "control
166 :amp_max
167 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
168 21 [label = "control
169 :amp_max_slide
170 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
171 22 [label = "control
172 :amp_max_slide_shape
173 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
174 23 [label = "control
175 :amp_max_slide_curve
176 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
177 24 [label = "control
178 :pulse_width
179 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
180 25 [label = "control
181 :pulse_width_slide
182 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
183 26 [label = "control
184 :pulse_width_slide_shape
185 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
186 27 [label = "control
187 :pulse_width_slide_curve
188 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
189 28 [label = "control
190 :smooth
191 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
192 29 [label = "control
193 :smooth_slide
194 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
195 30 [label = "control
196 :smooth_slide_shape
197 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
198 31 [label = "control
199 :smooth_slide_curve
200 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
201 32 [label = "control
202 :smooth_up
203 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
204 33 [label = "control
205 :smooth_up_slide
206 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
207 34 [label = "control
208 :smooth_up_slide_shape
209 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
210 35 [label = "control
211 :smooth_up_slide_curve
212 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
213 36 [label = "control
214 :smooth_down
215 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
216 37 [label = "control
217 :smooth_down_slide
218 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
219 38 [label = "control
220 :smooth_down_slide_shape
221 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
222 39 [label = "control
223 :smooth_down_slide_curve
224 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
225 40 [label = "control
226 :probability
227 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
228 41 [label = "control
229 :probability_slide
230 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
231 42 [label = "control
232 :probability_slide_shape
233 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
234 43 [label = "control
235 :probability_slide_curve
236 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
237 44 [label = "control
238 :prob_pos
239 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
240 45 [label = "control
241 :prob_pos_slide
242 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
243 46 [label = "control
244 :prob_pos_slide_shape
245 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
246 47 [label = "control
247 :prob_pos_slide_curve
248 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
249 48 [label = "control
250 :phase_offset
251 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
252 49 [label = "control
253 :wave
254 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
255 50 [label = "control
256 :invert_wave
257 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
258 51 [label = "control
259 :seed
260 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
261 52 [label = "control
262 :rand_buf
263 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
264 53 [label = "control
265 :in_bus
266 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
267 54 [label = "control
268 :out_bus
269 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
270 82 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
271 96 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
272 109 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
273 113 [label = "{{ {{<envelope___clip___0>|1.0|-99|-99|<envelope___clip___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
274 146 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
275 172 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
276 178 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
277 187 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
278 189 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
279 195 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
280 196 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
281 212 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
282 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
283 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
284 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
285 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
286 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
287 78 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
288 85 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
289 88 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
290 92 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
291 99 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
292 102 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
293 105 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
294 115 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
295 118 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
296 122 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
297 126 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
298 128 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
299 132 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
300 162 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
301 164 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
302 168 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
303 183 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
304 188 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
305 205 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
306 55 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
307 60 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
308 70 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
309 72 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
310 73 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
311 98 [label = "{{ <freq> freq|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
312 103 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
313 127 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
314 141 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
315 163 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
316 173 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
317 179 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
318 190 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
319 202 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
320 213 [label = "{{ <in> in|<lag____time> lag-time} |<__UG_NAME__>lag }" style="bold, rounded" shape=record rankdir=LR];
321 204 [label = "{{ <in> in|<lag____time____up> lag-time-up|<lag____time____down> lag-time-down} |<__UG_NAME__>lag-ud }" style="bold, rounded" shape=record rankdir=LR];
322 154 [label = "{{ <freq> freq|<iphase> iphase|<width> width} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
323 152 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
324 158 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
325 84 [label = "{{ <in> in|<mul> mul 2.0|<add> add -1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
326 201 [label = "{{ <in> in|<mul> mul|<add> add} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
327 223 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
328 137 [label = "{{ <trig> trig|<reset> reset 0.0} |<__UG_NAME__>pulse-count }" style="bold, rounded" shape=record rankdir=LR];
329 159 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
330 161 [label = "{{ <which> which|{{<array___env____gen___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
331 191 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
332 112 [label = "{{ <freq> freq|<phase> phase|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
333 217 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
334 222 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
335
336 110:__UG_NAME__ -> 111:a ;
337 48:__UG_NAME__ -> 136:b ;
338 147:__UG_NAME__ -> 148:b ;
339 149:__UG_NAME__ -> 150:b ;
340 152:__UG_NAME__ -> 153:b ;
341 154:__UG_NAME__ -> 155:b ;
342 159:__UG_NAME__ -> 160:b ;
343 150:__UG_NAME__ -> 160:a ;
344 198:__UG_NAME__ -> 199:a ;
345 202:__UG_NAME__ -> 203:b ;
346 82:__UG_NAME__ -> 203:a ;
347 203:__UG_NAME__ -> 214:b ;
348 213:__UG_NAME__ -> 214:a ;
349 187:__UG_NAME__ -> 215:a ;
350 202:__UG_NAME__ -> 218:b ;
351 82:__UG_NAME__ -> 218:a ;
352 218:__UG_NAME__ -> 219:b ;
353 213:__UG_NAME__ -> 219:a ;
354 187:__UG_NAME__ -> 220:a ;
355 58:__UG_NAME__ -> 59:b ;
356 55:__UG_NAME__ -> 59:a ;
357 64:__UG_NAME__ -> 65:b ;
358 60:__UG_NAME__ -> 65:a ;
359 68:__UG_NAME__ -> 69:b ;
360 65:__UG_NAME__ -> 69:a ;
361 76:__UG_NAME__ -> 77:b ;
362 73:__UG_NAME__ -> 77:a ;
363 80:__UG_NAME__ -> 81:b ;
364 77:__UG_NAME__ -> 81:a ;
365 90:__UG_NAME__ -> 91:b ;
366 70:__UG_NAME__ -> 91:a ;
367 94:__UG_NAME__ -> 95:b ;
368 91:__UG_NAME__ -> 95:a ;
369 101:__UG_NAME__ -> 104:b ;
370 103:__UG_NAME__ -> 104:a ;
371 107:__UG_NAME__ -> 108:b ;
372 104:__UG_NAME__ -> 108:a ;
373 48:__UG_NAME__ -> 110:a ;
374 120:__UG_NAME__ -> 121:b ;
375 72:__UG_NAME__ -> 121:a ;
376 124:__UG_NAME__ -> 125:b ;
377 121:__UG_NAME__ -> 125:a ;
378 130:__UG_NAME__ -> 131:b ;
379 127:__UG_NAME__ -> 131:a ;
380 134:__UG_NAME__ -> 135:b ;
381 131:__UG_NAME__ -> 135:a ;
382 137:__UG_NAME__ -> 138:b ;
383 51:__UG_NAME__ -> 138:a ;
384 87:__UG_NAME__ -> 142:b ;
385 141:__UG_NAME__ -> 142:a ;
386 144:__UG_NAME__ -> 145:b ;
387 142:__UG_NAME__ -> 145:a ;
388 136:__UG_NAME__ -> 151:a ;
389 136:__UG_NAME__ -> 157:a ;
390 166:__UG_NAME__ -> 167:b ;
391 163:__UG_NAME__ -> 167:a ;
392 170:__UG_NAME__ -> 171:b ;
393 167:__UG_NAME__ -> 171:a ;
394 176:__UG_NAME__ -> 177:b ;
395 59:__UG_NAME__ -> 177:a ;
396 181:__UG_NAME__ -> 182:b ;
397 179:__UG_NAME__ -> 182:a ;
398 185:__UG_NAME__ -> 186:b ;
399 182:__UG_NAME__ -> 186:a ;
400 117:__UG_NAME__ -> 192:b ;
401 173:__UG_NAME__ -> 192:a ;
402 193:__UG_NAME__ -> 194:b ;
403 192:__UG_NAME__ -> 194:a ;
404 207:__UG_NAME__ -> 208:b ;
405 190:__UG_NAME__ -> 208:a ;
406 210:__UG_NAME__ -> 211:b ;
407 208:__UG_NAME__ -> 211:a ;
408 148:__UG_NAME__ -> 149:a ;
409 155:__UG_NAME__ -> 156:a ;
410 196:__UG_NAME__ -> 197:b ;
411 195:__UG_NAME__ -> 197:a ;
412 199:__UG_NAME__ -> 200:b ;
413 196:__UG_NAME__ -> 200:a ;
414 215:__UG_NAME__ -> 216:a ;
415 220:__UG_NAME__ -> 221:a ;
416 96:__UG_NAME__ -> 97:b ;
417 197:__UG_NAME__ -> 198:a ;
418 113:__UG_NAME__ -> 140:b ;
419 139:__UG_NAME__ -> 140:a ;
420 57:__UG_NAME__ -> 58:a ;
421 63:__UG_NAME__ -> 64:a ;
422 67:__UG_NAME__ -> 68:a ;
423 75:__UG_NAME__ -> 76:a ;
424 79:__UG_NAME__ -> 80:a ;
425 86:__UG_NAME__ -> 87:a ;
426 89:__UG_NAME__ -> 90:a ;
427 93:__UG_NAME__ -> 94:a ;
428 100:__UG_NAME__ -> 101:a ;
429 106:__UG_NAME__ -> 107:a ;
430 113:__UG_NAME__ -> 114:a ;
431 116:__UG_NAME__ -> 117:a ;
432 119:__UG_NAME__ -> 120:a ;
433 123:__UG_NAME__ -> 124:a ;
434 129:__UG_NAME__ -> 130:a ;
435 133:__UG_NAME__ -> 134:a ;
436 143:__UG_NAME__ -> 144:a ;
437 50:__UG_NAME__ -> 147:a ;
438 165:__UG_NAME__ -> 166:a ;
439 169:__UG_NAME__ -> 170:a ;
440 175:__UG_NAME__ -> 176:a ;
441 180:__UG_NAME__ -> 181:a ;
442 184:__UG_NAME__ -> 185:a ;
443 174:__UG_NAME__ -> 193:a ;
444 206:__UG_NAME__ -> 207:a ;
445 209:__UG_NAME__ -> 210:a ;
446 56:__UG_NAME__ -> 57:a ;
447 62:__UG_NAME__ -> 63:a ;
448 66:__UG_NAME__ -> 67:a ;
449 74:__UG_NAME__ -> 75:a ;
450 78:__UG_NAME__ -> 79:a ;
451 85:__UG_NAME__ -> 86:a ;
452 88:__UG_NAME__ -> 89:a ;
453 92:__UG_NAME__ -> 93:a ;
454 99:__UG_NAME__ -> 100:a ;
455 105:__UG_NAME__ -> 106:a ;
456 115:__UG_NAME__ -> 116:a ;
457 118:__UG_NAME__ -> 119:a ;
458 122:__UG_NAME__ -> 123:a ;
459 128:__UG_NAME__ -> 129:a ;
460 132:__UG_NAME__ -> 133:a ;
461 126:__UG_NAME__ -> 143:a ;
462 164:__UG_NAME__ -> 165:a ;
463 168:__UG_NAME__ -> 169:a ;
464 71:__UG_NAME__ -> 174:a ;
465 102:__UG_NAME__ -> 175:a ;
466 162:__UG_NAME__ -> 180:a ;
467 183:__UG_NAME__ -> 184:a ;
468 205:__UG_NAME__ -> 206:a ;
469 188:__UG_NAME__ -> 209:a ;
470 138:__UG_NAME__ -> 139:phase ;
471 52:__UG_NAME__ -> 139:bufnum ;
472 40:__UG_NAME__ -> 61:in ;
473 44:__UG_NAME__ -> 83:in ;
474 81:__UG_NAME__ -> 82:gate ;
475 8:__UG_NAME__ -> 82:envelope___control___0 ;
476 8:__UG_NAME__ -> 82:envelope___control___4 ;
477 9:__UG_NAME__ -> 82:envelope___control___5 ;
478 10:__UG_NAME__ -> 82:envelope___control___6 ;
479 11:__UG_NAME__ -> 82:envelope___control___7 ;
480 95:__UG_NAME__ -> 96:gate ;
481 12:__UG_NAME__ -> 96:envelope___control___0 ;
482 12:__UG_NAME__ -> 96:envelope___control___4 ;
483 13:__UG_NAME__ -> 96:envelope___control___5 ;
484 14:__UG_NAME__ -> 96:envelope___control___6 ;
485 15:__UG_NAME__ -> 96:envelope___control___7 ;
486 108:__UG_NAME__ -> 109:gate ;
487 24:__UG_NAME__ -> 109:envelope___control___0 ;
488 24:__UG_NAME__ -> 109:envelope___control___4 ;
489 25:__UG_NAME__ -> 109:envelope___control___5 ;
490 26:__UG_NAME__ -> 109:envelope___control___6 ;
491 27:__UG_NAME__ -> 109:envelope___control___7 ;
492 69:__UG_NAME__ -> 113:gate ;
493 61:__UG_NAME__ -> 113:envelope___clip___0 ;
494 61:__UG_NAME__ -> 113:envelope___clip___4 ;
495 41:__UG_NAME__ -> 113:envelope___control___5 ;
496 42:__UG_NAME__ -> 113:envelope___control___6 ;
497 43:__UG_NAME__ -> 113:envelope___control___7 ;
498 145:__UG_NAME__ -> 146:gate ;
499 84:__UG_NAME__ -> 146:envelope___mul____add___0 ;
500 84:__UG_NAME__ -> 146:envelope___mul____add___4 ;
501 45:__UG_NAME__ -> 146:envelope___control___5 ;
502 46:__UG_NAME__ -> 146:envelope___control___6 ;
503 47:__UG_NAME__ -> 146:envelope___control___7 ;
504 171:__UG_NAME__ -> 172:gate ;
505 36:__UG_NAME__ -> 172:envelope___control___0 ;
506 36:__UG_NAME__ -> 172:envelope___control___4 ;
507 37:__UG_NAME__ -> 172:envelope___control___5 ;
508 38:__UG_NAME__ -> 172:envelope___control___6 ;
509 39:__UG_NAME__ -> 172:envelope___control___7 ;
510 177:__UG_NAME__ -> 178:gate ;
511 32:__UG_NAME__ -> 178:envelope___control___0 ;
512 32:__UG_NAME__ -> 178:envelope___control___4 ;
513 33:__UG_NAME__ -> 178:envelope___control___5 ;
514 34:__UG_NAME__ -> 178:envelope___control___6 ;
515 35:__UG_NAME__ -> 178:envelope___control___7 ;
516 186:__UG_NAME__ -> 187:gate ;
517 4:__UG_NAME__ -> 187:envelope___control___0 ;
518 4:__UG_NAME__ -> 187:envelope___control___4 ;
519 5:__UG_NAME__ -> 187:envelope___control___5 ;
520 6:__UG_NAME__ -> 187:envelope___control___6 ;
521 7:__UG_NAME__ -> 187:envelope___control___7 ;
522 125:__UG_NAME__ -> 189:gate ;
523 0:__UG_NAME__ -> 189:envelope___control___0 ;
524 0:__UG_NAME__ -> 189:envelope___control___4 ;
525 1:__UG_NAME__ -> 189:envelope___control___5 ;
526 2:__UG_NAME__ -> 189:envelope___control___6 ;
527 3:__UG_NAME__ -> 189:envelope___control___7 ;
528 194:__UG_NAME__ -> 195:gate ;
529 20:__UG_NAME__ -> 195:envelope___control___0 ;
530 20:__UG_NAME__ -> 195:envelope___control___4 ;
531 21:__UG_NAME__ -> 195:envelope___control___5 ;
532 22:__UG_NAME__ -> 195:envelope___control___6 ;
533 23:__UG_NAME__ -> 195:envelope___control___7 ;
534 135:__UG_NAME__ -> 196:gate ;
535 16:__UG_NAME__ -> 196:envelope___control___0 ;
536 16:__UG_NAME__ -> 196:envelope___control___4 ;
537 17:__UG_NAME__ -> 196:envelope___control___5 ;
538 18:__UG_NAME__ -> 196:envelope___control___6 ;
539 19:__UG_NAME__ -> 196:envelope___control___7 ;
540 211:__UG_NAME__ -> 212:gate ;
541 28:__UG_NAME__ -> 212:envelope___control___0 ;
542 28:__UG_NAME__ -> 212:envelope___control___4 ;
543 29:__UG_NAME__ -> 212:envelope___control___5 ;
544 30:__UG_NAME__ -> 212:envelope___control___6 ;
545 31:__UG_NAME__ -> 212:envelope___control___7 ;
546 32:__UG_NAME__ -> 56:in ;
547 61:__UG_NAME__ -> 62:in ;
548 41:__UG_NAME__ -> 66:in ;
549 21:__UG_NAME__ -> 71:in ;
550 8:__UG_NAME__ -> 74:in ;
551 9:__UG_NAME__ -> 78:in ;
552 84:__UG_NAME__ -> 85:in ;
553 12:__UG_NAME__ -> 88:in ;
554 13:__UG_NAME__ -> 92:in ;
555 24:__UG_NAME__ -> 99:in ;
556 33:__UG_NAME__ -> 102:in ;
557 25:__UG_NAME__ -> 105:in ;
558 20:__UG_NAME__ -> 115:in ;
559 0:__UG_NAME__ -> 118:in ;
560 1:__UG_NAME__ -> 122:in ;
561 45:__UG_NAME__ -> 126:in ;
562 16:__UG_NAME__ -> 128:in ;
563 17:__UG_NAME__ -> 132:in ;
564 4:__UG_NAME__ -> 162:in ;
565 36:__UG_NAME__ -> 164:in ;
566 37:__UG_NAME__ -> 168:in ;
567 5:__UG_NAME__ -> 183:in ;
568 29:__UG_NAME__ -> 188:in ;
569 28:__UG_NAME__ -> 205:in ;
570 97:__UG_NAME__ -> 98:freq ;
571 53:__UG_NAME__ -> 202:bus ;
572 212:__UG_NAME__ -> 213:lag____time ;
573 204:__UG_NAME__ -> 213:in ;
574 172:__UG_NAME__ -> 204:lag____time____down ;
575 178:__UG_NAME__ -> 204:lag____time____up ;
576 201:__UG_NAME__ -> 204:in ;
577 109:__UG_NAME__ -> 154:width ;
578 48:__UG_NAME__ -> 154:iphase ;
579 97:__UG_NAME__ -> 154:freq ;
580 151:__UG_NAME__ -> 152:iphase ;
581 97:__UG_NAME__ -> 152:freq ;
582 157:__UG_NAME__ -> 158:iphase ;
583 97:__UG_NAME__ -> 158:freq ;
584 83:__UG_NAME__ -> 84:in ;
585 200:__UG_NAME__ -> 201:add ;
586 198:__UG_NAME__ -> 201:mul ;
587 191:__UG_NAME__ -> 201:in ;
588 217:__UG_NAME__ -> 223:signals___x____fade2___0 ;
589 222:__UG_NAME__ -> 223:signals___x____fade2___1 ;
590 54:__UG_NAME__ -> 223:bus ;
591 98:__UG_NAME__ -> 137:trig ;
592 153:__UG_NAME__ -> 159:array___binary____op____u____gen___0 ;
593 156:__UG_NAME__ -> 159:array___binary____op____u____gen___1 ;
594 158:__UG_NAME__ -> 159:array___lf____tri___2 ;
595 112:__UG_NAME__ -> 159:array___sin____osc___3 ;
596 49:__UG_NAME__ -> 159:which ;
597 146:__UG_NAME__ -> 161:array___env____gen___0 ;
598 160:__UG_NAME__ -> 161:array___binary____op____u____gen___1 ;
599 140:__UG_NAME__ -> 161:which ;
600 160:__UG_NAME__ -> 191:array___binary____op____u____gen___0 ;
601 161:__UG_NAME__ -> 191:array___select___1 ;
602 114:__UG_NAME__ -> 191:which ;
603 111:__UG_NAME__ -> 112:phase ;
604 97:__UG_NAME__ -> 112:freq ;
605 189:__UG_NAME__ -> 217:level ;
606 216:__UG_NAME__ -> 217:pan ;
607 214:__UG_NAME__ -> 217:inb ;
608 203:__UG_NAME__ -> 217:ina ;
609 189:__UG_NAME__ -> 222:level ;
610 221:__UG_NAME__ -> 222:pan ;
611 219:__UG_NAME__ -> 222:inb ;
612 218:__UG_NAME__ -> 222:ina ;
613
614 }
+0
-223
etc/synthdefs/graphviz/sonic-pi-fx_tanh.dot less more
0 digraph synthdef {
1 43 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 44 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 45 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 46 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 51 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 60 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 63 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 64 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 24 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 28 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 36 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 40 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 50 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 56 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 58 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 70 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 74 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 65 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
19 77 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
20 48 [label = "{{ <a> |<b> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
21 49 [label = "{{ <a> |<b> 8.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
22 62 [label = "{{ <a> |<b> } |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
23 30 [label = "{{ <a> 0.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
24 23 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 27 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 35 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 39 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 55 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 57 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 69 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 73 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 19 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 22 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 26 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 34 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 38 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 54 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 68 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 72 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 0 [label = "control
41 :amp
42 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 1 [label = "control
44 :amp_slide
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 2 [label = "control
47 :amp_slide_shape
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 3 [label = "control
50 :amp_slide_curve
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 4 [label = "control
53 :mix
54 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 5 [label = "control
56 :mix_slide
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 6 [label = "control
59 :mix_slide_shape
60 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 7 [label = "control
62 :mix_slide_curve
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 8 [label = "control
65 :krunch
66 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 9 [label = "control
68 :krunch_slide
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 10 [label = "control
71 :krunch_slide_shape
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 11 [label = "control
74 :krunch_slide_curve
75 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 12 [label = "control
77 :pre_amp
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 13 [label = "control
80 :pre_amp_slide
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 14 [label = "control
83 :pre_amp_slide_shape
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 15 [label = "control
86 :pre_amp_slide_curve
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 16 [label = "control
89 :in_bus
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 17 [label = "control
92 :out_bus
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 29 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
95 41 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
96 59 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
97 75 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
98 18 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
99 21 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
100 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
101 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
102 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
103 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
104 67 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
105 71 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
106 20 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
107 32 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
108 52 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
109 66 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
110 42 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
111 79 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
112 31 [label = "{{ <which> which|{{<array___env____gen___0>|1.0E-4}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
113 47 [label = "{{ <a> |<b> } |<__UG_NAME__>tanh }" style="filled, bold, rounded" shape=record rankdir=LR];
114 61 [label = "{{ <a> |<b> } |<__UG_NAME__>tanh }" style="filled, bold, rounded" shape=record rankdir=LR];
115 76 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
116 78 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
117
118 42:__UG_NAME__ -> 43:b ;
119 41:__UG_NAME__ -> 43:a ;
120 43:__UG_NAME__ -> 44:b ;
121 31:__UG_NAME__ -> 44:a ;
122 42:__UG_NAME__ -> 45:b ;
123 41:__UG_NAME__ -> 45:a ;
124 45:__UG_NAME__ -> 46:b ;
125 31:__UG_NAME__ -> 46:a ;
126 50:__UG_NAME__ -> 51:b ;
127 48:__UG_NAME__ -> 51:a ;
128 59:__UG_NAME__ -> 60:a ;
129 50:__UG_NAME__ -> 63:b ;
130 62:__UG_NAME__ -> 63:a ;
131 59:__UG_NAME__ -> 64:a ;
132 23:__UG_NAME__ -> 24:b ;
133 20:__UG_NAME__ -> 24:a ;
134 27:__UG_NAME__ -> 28:b ;
135 24:__UG_NAME__ -> 28:a ;
136 35:__UG_NAME__ -> 36:b ;
137 32:__UG_NAME__ -> 36:a ;
138 39:__UG_NAME__ -> 40:b ;
139 36:__UG_NAME__ -> 40:a ;
140 49:__UG_NAME__ -> 50:b ;
141 55:__UG_NAME__ -> 56:b ;
142 52:__UG_NAME__ -> 56:a ;
143 57:__UG_NAME__ -> 58:b ;
144 56:__UG_NAME__ -> 58:a ;
145 69:__UG_NAME__ -> 70:b ;
146 66:__UG_NAME__ -> 70:a ;
147 73:__UG_NAME__ -> 74:b ;
148 70:__UG_NAME__ -> 74:a ;
149 64:__UG_NAME__ -> 65:a ;
150 60:__UG_NAME__ -> 77:a ;
151 31:__UG_NAME__ -> 48:b ;
152 47:__UG_NAME__ -> 48:a ;
153 31:__UG_NAME__ -> 49:a ;
154 31:__UG_NAME__ -> 62:b ;
155 61:__UG_NAME__ -> 62:a ;
156 29:__UG_NAME__ -> 30:b ;
157 22:__UG_NAME__ -> 23:a ;
158 26:__UG_NAME__ -> 27:a ;
159 34:__UG_NAME__ -> 35:a ;
160 38:__UG_NAME__ -> 39:a ;
161 54:__UG_NAME__ -> 55:a ;
162 19:__UG_NAME__ -> 57:a ;
163 68:__UG_NAME__ -> 69:a ;
164 72:__UG_NAME__ -> 73:a ;
165 18:__UG_NAME__ -> 19:a ;
166 21:__UG_NAME__ -> 22:a ;
167 25:__UG_NAME__ -> 26:a ;
168 33:__UG_NAME__ -> 34:a ;
169 37:__UG_NAME__ -> 38:a ;
170 53:__UG_NAME__ -> 54:a ;
171 67:__UG_NAME__ -> 68:a ;
172 71:__UG_NAME__ -> 72:a ;
173 28:__UG_NAME__ -> 29:gate ;
174 8:__UG_NAME__ -> 29:envelope___control___0 ;
175 8:__UG_NAME__ -> 29:envelope___control___4 ;
176 9:__UG_NAME__ -> 29:envelope___control___5 ;
177 10:__UG_NAME__ -> 29:envelope___control___6 ;
178 11:__UG_NAME__ -> 29:envelope___control___7 ;
179 40:__UG_NAME__ -> 41:gate ;
180 12:__UG_NAME__ -> 41:envelope___control___0 ;
181 12:__UG_NAME__ -> 41:envelope___control___4 ;
182 13:__UG_NAME__ -> 41:envelope___control___5 ;
183 14:__UG_NAME__ -> 41:envelope___control___6 ;
184 15:__UG_NAME__ -> 41:envelope___control___7 ;
185 58:__UG_NAME__ -> 59:gate ;
186 4:__UG_NAME__ -> 59:envelope___control___0 ;
187 4:__UG_NAME__ -> 59:envelope___control___4 ;
188 5:__UG_NAME__ -> 59:envelope___control___5 ;
189 6:__UG_NAME__ -> 59:envelope___control___6 ;
190 7:__UG_NAME__ -> 59:envelope___control___7 ;
191 74:__UG_NAME__ -> 75:gate ;
192 0:__UG_NAME__ -> 75:envelope___control___0 ;
193 0:__UG_NAME__ -> 75:envelope___control___4 ;
194 1:__UG_NAME__ -> 75:envelope___control___5 ;
195 2:__UG_NAME__ -> 75:envelope___control___6 ;
196 3:__UG_NAME__ -> 75:envelope___control___7 ;
197 5:__UG_NAME__ -> 18:in ;
198 8:__UG_NAME__ -> 21:in ;
199 9:__UG_NAME__ -> 25:in ;
200 12:__UG_NAME__ -> 33:in ;
201 13:__UG_NAME__ -> 37:in ;
202 4:__UG_NAME__ -> 53:in ;
203 0:__UG_NAME__ -> 67:in ;
204 1:__UG_NAME__ -> 71:in ;
205 16:__UG_NAME__ -> 42:bus ;
206 76:__UG_NAME__ -> 79:signals___x____fade2___0 ;
207 78:__UG_NAME__ -> 79:signals___x____fade2___1 ;
208 17:__UG_NAME__ -> 79:bus ;
209 29:__UG_NAME__ -> 31:array___env____gen___0 ;
210 30:__UG_NAME__ -> 31:which ;
211 46:__UG_NAME__ -> 47:a ;
212 44:__UG_NAME__ -> 61:a ;
213 75:__UG_NAME__ -> 76:level ;
214 65:__UG_NAME__ -> 76:pan ;
215 63:__UG_NAME__ -> 76:inb ;
216 43:__UG_NAME__ -> 76:ina ;
217 75:__UG_NAME__ -> 78:level ;
218 77:__UG_NAME__ -> 78:pan ;
219 51:__UG_NAME__ -> 78:inb ;
220 45:__UG_NAME__ -> 78:ina ;
221
222 }
+0
-670
etc/synthdefs/graphviz/sonic-pi-fx_wobble.dot less more
0 digraph synthdef {
1 80 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 83 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 97 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 111 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 113 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 125 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 130 [label = "{{ <a> |<b> 6.2831855} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 133 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 221 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 234 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 238 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
12 65 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 69 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 77 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 81 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 93 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 94 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 103 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 107 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 118 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 122 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 127 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 129 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 135 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 143 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 147 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 155 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 159 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 164 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 168 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 176 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 180 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 186 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 190 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
35 197 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
36 201 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
37 209 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
38 213 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
39 219 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
40 226 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
41 229 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
42 112 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
43 126 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
44 222 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
45 239 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
46 71 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
47 137 [label = "{{ <a> |<b> } |<__UG_NAME__>\< }" style="bold, rounded" shape=record rankdir=LR];
48 64 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 68 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 76 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 86 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 92 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 102 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 106 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 109 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 110 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 117 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
58 121 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
59 142 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
60 146 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
61 154 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
62 158 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
63 163 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
64 167 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
65 175 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
66 179 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
67 185 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
68 189 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
69 196 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
70 200 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
71 208 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
72 212 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
73 218 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
74 225 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
75 228 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
76 63 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
77 67 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
78 75 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
79 79 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
80 85 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
81 88 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
82 91 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
83 101 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
84 105 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
85 116 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
86 120 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
87 141 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
88 145 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
89 153 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
90 157 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
91 166 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
92 174 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
93 178 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
94 184 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
95 188 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
96 195 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
97 199 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
98 207 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
99 211 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
100 224 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
101 227 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
102 136 [label = "{{ <num____channels> num-channels 1|<bufnum> bufnum|<phase> phase|<loop> loop 1.0|<interpolation> interpolation 2.0} |<__UG_NAME__>buf-rd }" style="bold, rounded" shape=record rankdir=LR];
103 60 [label = "{{ <in> in|<lo> lo 0.0|<hi> hi 1.0} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
104 99 [label = "{{ <in> in|<lo> lo 0.0|<hi> hi 1.0} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
105 0 [label = "control
106 :amp
107 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 1 [label = "control
109 :amp_slide
110 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 2 [label = "control
112 :amp_slide_shape
113 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 3 [label = "control
115 :amp_slide_curve
116 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 4 [label = "control
118 :mix
119 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 5 [label = "control
121 :mix_slide
122 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 6 [label = "control
124 :mix_slide_shape
125 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 7 [label = "control
127 :mix_slide_curve
128 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 8 [label = "control
130 :pre_amp
131 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 9 [label = "control
133 :pre_amp_slide
134 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 10 [label = "control
136 :pre_amp_slide_shape
137 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 11 [label = "control
139 :pre_amp_slide_curve
140 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 12 [label = "control
142 :phase
143 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 13 [label = "control
145 :phase_slide
146 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 14 [label = "control
148 :phase_slide_shape
149 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
150 15 [label = "control
151 :phase_slide_curve
152 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
153 16 [label = "control
154 :cutoff_min
155 default: 60.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
156 17 [label = "control
157 :cutoff_min_slide
158 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
159 18 [label = "control
160 :cutoff_min_slide_shape
161 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
162 19 [label = "control
163 :cutoff_min_slide_curve
164 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
165 20 [label = "control
166 :cutoff_max
167 default: 120.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
168 21 [label = "control
169 :cutoff_max_slide
170 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
171 22 [label = "control
172 :cutoff_max_slide_shape
173 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
174 23 [label = "control
175 :cutoff_max_slide_curve
176 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
177 24 [label = "control
178 :res
179 default: 0.8" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
180 25 [label = "control
181 :res_slide
182 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
183 26 [label = "control
184 :res_slide_shape
185 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
186 27 [label = "control
187 :res_slide_curve
188 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
189 28 [label = "control
190 :pulse_width
191 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
192 29 [label = "control
193 :pulse_width_slide
194 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
195 30 [label = "control
196 :pulse_width_slide_shape
197 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
198 31 [label = "control
199 :pulse_width_slide_curve
200 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
201 32 [label = "control
202 :filter
203 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
204 33 [label = "control
205 :smooth
206 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
207 34 [label = "control
208 :smooth_slide
209 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
210 35 [label = "control
211 :smooth_slide_shape
212 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
213 36 [label = "control
214 :smooth_slide_curve
215 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
216 37 [label = "control
217 :smooth_up
218 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
219 38 [label = "control
220 :smooth_up_slide
221 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
222 39 [label = "control
223 :smooth_up_slide_shape
224 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
225 40 [label = "control
226 :smooth_up_slide_curve
227 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
228 41 [label = "control
229 :smooth_down
230 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
231 42 [label = "control
232 :smooth_down_slide
233 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
234 43 [label = "control
235 :smooth_down_slide_shape
236 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
237 44 [label = "control
238 :smooth_down_slide_curve
239 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
240 45 [label = "control
241 :phase_offset
242 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
243 46 [label = "control
244 :wave
245 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
246 47 [label = "control
247 :invert_wave
248 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
249 48 [label = "control
250 :probability
251 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
252 49 [label = "control
253 :probability_slide
254 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
255 50 [label = "control
256 :probability_slide_shape
257 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
258 51 [label = "control
259 :probability_slide_curve
260 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
261 52 [label = "control
262 :prob_pos
263 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
264 53 [label = "control
265 :prob_pos_slide
266 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
267 54 [label = "control
268 :prob_pos_slide_shape
269 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
270 55 [label = "control
271 :prob_pos_slide_curve
272 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
273 56 [label = "control
274 :seed
275 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
276 57 [label = "control
277 :rand_buf
278 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
279 58 [label = "control
280 :in_bus
281 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
282 59 [label = "control
283 :out_bus
284 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
285 70 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
286 95 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
287 108 [label = "{{ {{<envelope___clip___0>|1.0|-99|-99|<envelope___clip___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
288 123 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
289 148 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
290 160 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
291 169 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
292 181 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
293 191 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
294 202 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
295 214 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
296 220 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
297 230 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
298 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
299 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
300 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
301 78 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
302 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
303 87 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
304 90 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
305 100 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
306 104 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
307 115 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
308 119 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
309 140 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
310 144 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
311 152 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
312 156 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
313 165 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
314 173 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
315 177 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
316 183 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
317 187 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
318 194 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
319 198 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
320 206 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
321 210 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
322 216 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
323 217 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
324 61 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
325 72 [label = "{{ <freq> freq|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
326 73 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
327 89 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
328 98 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
329 114 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
330 138 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
331 151 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
332 162 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
333 172 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
334 182 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
335 193 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
336 204 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
337 223 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
338 96 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
339 203 [label = "{{ <in> in|<lag____time> lag-time} |<__UG_NAME__>lag }" style="bold, rounded" shape=record rankdir=LR];
340 192 [label = "{{ <in> in|<lag____time____up> lag-time-up|<lag____time____down> lag-time-down} |<__UG_NAME__>lag-ud }" style="bold, rounded" shape=record rankdir=LR];
341 124 [label = "{{ <freq> freq|<iphase> iphase|<width> width} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
342 82 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
343 128 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
344 171 [label = "{{ <in> in|<srclo> srclo -1.0|<srchi> srchi 1.0|<dstlo> dstlo|<dsthi> dsthi} |<__UG_NAME__>lin-exp }" style="bold, rounded" shape=record rankdir=LR];
345 161 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
346 170 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
347 139 [label = "{{ <in> in|<mul> mul 2.0|<add> add -1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
348 205 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
349 241 [label = "{{ <bus> bus|{{<signals___x____fade2___0>|<signals___x____fade2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
350 134 [label = "{{ <trig> trig|<reset> reset 0.0} |<__UG_NAME__>pulse-count }" style="bold, rounded" shape=record rankdir=LR];
351 215 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rhpf }" style="filled, bold, rounded" shape=record rankdir=LR];
352 236 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rhpf }" style="filled, bold, rounded" shape=record rankdir=LR];
353 231 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
354 235 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
355 132 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
356 149 [label = "{{ <which> which|{{<array___env____gen___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
357 150 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
358 232 [label = "{{ <which> which|{{<array___rlpf___0>|<array___rhpf___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
359 237 [label = "{{ <which> which|{{<array___rlpf___0>|<array___rhpf___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
360 131 [label = "{{ <freq> freq|<phase> phase|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
361 233 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
362 240 [label = "{{ <ina> inA|<inb> inB|<pan> pan|<level> level} |<__UG_NAME__>x-fade2 }" style="filled, bold, rounded" shape=record rankdir=LR];
363
364 45:__UG_NAME__ -> 80:b ;
365 82:__UG_NAME__ -> 83:b ;
366 96:__UG_NAME__ -> 97:b ;
367 95:__UG_NAME__ -> 97:a ;
368 110:__UG_NAME__ -> 111:b ;
369 112:__UG_NAME__ -> 113:b ;
370 124:__UG_NAME__ -> 125:b ;
371 129:__UG_NAME__ -> 130:a ;
372 132:__UG_NAME__ -> 133:b ;
373 113:__UG_NAME__ -> 133:a ;
374 220:__UG_NAME__ -> 221:a ;
375 96:__UG_NAME__ -> 234:b ;
376 95:__UG_NAME__ -> 234:a ;
377 220:__UG_NAME__ -> 238:a ;
378 64:__UG_NAME__ -> 65:b ;
379 61:__UG_NAME__ -> 65:a ;
380 68:__UG_NAME__ -> 69:b ;
381 65:__UG_NAME__ -> 69:a ;
382 76:__UG_NAME__ -> 77:b ;
383 73:__UG_NAME__ -> 77:a ;
384 80:__UG_NAME__ -> 81:a ;
385 92:__UG_NAME__ -> 93:b ;
386 89:__UG_NAME__ -> 93:a ;
387 86:__UG_NAME__ -> 94:b ;
388 93:__UG_NAME__ -> 94:a ;
389 102:__UG_NAME__ -> 103:b ;
390 98:__UG_NAME__ -> 103:a ;
391 106:__UG_NAME__ -> 107:b ;
392 103:__UG_NAME__ -> 107:a ;
393 117:__UG_NAME__ -> 118:b ;
394 114:__UG_NAME__ -> 118:a ;
395 121:__UG_NAME__ -> 122:b ;
396 118:__UG_NAME__ -> 122:a ;
397 80:__UG_NAME__ -> 127:a ;
398 45:__UG_NAME__ -> 129:a ;
399 134:__UG_NAME__ -> 135:b ;
400 56:__UG_NAME__ -> 135:a ;
401 142:__UG_NAME__ -> 143:b ;
402 138:__UG_NAME__ -> 143:a ;
403 146:__UG_NAME__ -> 147:b ;
404 143:__UG_NAME__ -> 147:a ;
405 154:__UG_NAME__ -> 155:b ;
406 151:__UG_NAME__ -> 155:a ;
407 158:__UG_NAME__ -> 159:b ;
408 155:__UG_NAME__ -> 159:a ;
409 163:__UG_NAME__ -> 164:b ;
410 162:__UG_NAME__ -> 164:a ;
411 167:__UG_NAME__ -> 168:b ;
412 164:__UG_NAME__ -> 168:a ;
413 175:__UG_NAME__ -> 176:b ;
414 172:__UG_NAME__ -> 176:a ;
415 179:__UG_NAME__ -> 180:b ;
416 176:__UG_NAME__ -> 180:a ;
417 185:__UG_NAME__ -> 186:b ;
418 182:__UG_NAME__ -> 186:a ;
419 189:__UG_NAME__ -> 190:b ;
420 186:__UG_NAME__ -> 190:a ;
421 196:__UG_NAME__ -> 197:b ;
422 193:__UG_NAME__ -> 197:a ;
423 200:__UG_NAME__ -> 201:b ;
424 197:__UG_NAME__ -> 201:a ;
425 208:__UG_NAME__ -> 209:b ;
426 204:__UG_NAME__ -> 209:a ;
427 212:__UG_NAME__ -> 213:b ;
428 209:__UG_NAME__ -> 213:a ;
429 218:__UG_NAME__ -> 219:b ;
430 77:__UG_NAME__ -> 219:a ;
431 225:__UG_NAME__ -> 226:b ;
432 223:__UG_NAME__ -> 226:a ;
433 228:__UG_NAME__ -> 229:b ;
434 226:__UG_NAME__ -> 229:a ;
435 111:__UG_NAME__ -> 112:a ;
436 125:__UG_NAME__ -> 126:a ;
437 221:__UG_NAME__ -> 222:a ;
438 238:__UG_NAME__ -> 239:a ;
439 70:__UG_NAME__ -> 71:b ;
440 108:__UG_NAME__ -> 137:b ;
441 136:__UG_NAME__ -> 137:a ;
442 63:__UG_NAME__ -> 64:a ;
443 67:__UG_NAME__ -> 68:a ;
444 75:__UG_NAME__ -> 76:a ;
445 85:__UG_NAME__ -> 86:a ;
446 91:__UG_NAME__ -> 92:a ;
447 101:__UG_NAME__ -> 102:a ;
448 105:__UG_NAME__ -> 106:a ;
449 108:__UG_NAME__ -> 109:a ;
450 47:__UG_NAME__ -> 110:a ;
451 116:__UG_NAME__ -> 117:a ;
452 120:__UG_NAME__ -> 121:a ;
453 141:__UG_NAME__ -> 142:a ;
454 145:__UG_NAME__ -> 146:a ;
455 153:__UG_NAME__ -> 154:a ;
456 157:__UG_NAME__ -> 158:a ;
457 79:__UG_NAME__ -> 163:a ;
458 166:__UG_NAME__ -> 167:a ;
459 174:__UG_NAME__ -> 175:a ;
460 178:__UG_NAME__ -> 179:a ;
461 184:__UG_NAME__ -> 185:a ;
462 188:__UG_NAME__ -> 189:a ;
463 195:__UG_NAME__ -> 196:a ;
464 199:__UG_NAME__ -> 200:a ;
465 207:__UG_NAME__ -> 208:a ;
466 211:__UG_NAME__ -> 212:a ;
467 88:__UG_NAME__ -> 218:a ;
468 224:__UG_NAME__ -> 225:a ;
469 227:__UG_NAME__ -> 228:a ;
470 62:__UG_NAME__ -> 63:a ;
471 66:__UG_NAME__ -> 67:a ;
472 74:__UG_NAME__ -> 75:a ;
473 78:__UG_NAME__ -> 79:a ;
474 84:__UG_NAME__ -> 85:a ;
475 87:__UG_NAME__ -> 88:a ;
476 90:__UG_NAME__ -> 91:a ;
477 100:__UG_NAME__ -> 101:a ;
478 104:__UG_NAME__ -> 105:a ;
479 115:__UG_NAME__ -> 116:a ;
480 119:__UG_NAME__ -> 120:a ;
481 140:__UG_NAME__ -> 141:a ;
482 144:__UG_NAME__ -> 145:a ;
483 152:__UG_NAME__ -> 153:a ;
484 156:__UG_NAME__ -> 157:a ;
485 165:__UG_NAME__ -> 166:a ;
486 173:__UG_NAME__ -> 174:a ;
487 177:__UG_NAME__ -> 178:a ;
488 183:__UG_NAME__ -> 184:a ;
489 187:__UG_NAME__ -> 188:a ;
490 194:__UG_NAME__ -> 195:a ;
491 198:__UG_NAME__ -> 199:a ;
492 206:__UG_NAME__ -> 207:a ;
493 210:__UG_NAME__ -> 211:a ;
494 216:__UG_NAME__ -> 224:a ;
495 217:__UG_NAME__ -> 227:a ;
496 135:__UG_NAME__ -> 136:phase ;
497 57:__UG_NAME__ -> 136:bufnum ;
498 52:__UG_NAME__ -> 60:in ;
499 48:__UG_NAME__ -> 99:in ;
500 69:__UG_NAME__ -> 70:gate ;
501 12:__UG_NAME__ -> 70:envelope___control___0 ;
502 12:__UG_NAME__ -> 70:envelope___control___4 ;
503 13:__UG_NAME__ -> 70:envelope___control___5 ;
504 14:__UG_NAME__ -> 70:envelope___control___6 ;
505 15:__UG_NAME__ -> 70:envelope___control___7 ;
506 94:__UG_NAME__ -> 95:gate ;
507 8:__UG_NAME__ -> 95:envelope___control___0 ;
508 8:__UG_NAME__ -> 95:envelope___control___4 ;
509 9:__UG_NAME__ -> 95:envelope___control___5 ;
510 10:__UG_NAME__ -> 95:envelope___control___6 ;
511 11:__UG_NAME__ -> 95:envelope___control___7 ;
512 107:__UG_NAME__ -> 108:gate ;
513 99:__UG_NAME__ -> 108:envelope___clip___0 ;
514 99:__UG_NAME__ -> 108:envelope___clip___4 ;
515 49:__UG_NAME__ -> 108:envelope___control___5 ;
516 50:__UG_NAME__ -> 108:envelope___control___6 ;
517 51:__UG_NAME__ -> 108:envelope___control___7 ;
518 122:__UG_NAME__ -> 123:gate ;
519 28:__UG_NAME__ -> 123:envelope___control___0 ;
520 28:__UG_NAME__ -> 123:envelope___control___4 ;
521 29:__UG_NAME__ -> 123:envelope___control___5 ;
522 30:__UG_NAME__ -> 123:envelope___control___6 ;
523 31:__UG_NAME__ -> 123:envelope___control___7 ;
524 147:__UG_NAME__ -> 148:gate ;
525 139:__UG_NAME__ -> 148:envelope___mul____add___0 ;
526 139:__UG_NAME__ -> 148:envelope___mul____add___4 ;
527 53:__UG_NAME__ -> 148:envelope___control___5 ;
528 54:__UG_NAME__ -> 148:envelope___control___6 ;
529 55:__UG_NAME__ -> 148:envelope___control___7 ;
530 159:__UG_NAME__ -> 160:gate ;
531 16:__UG_NAME__ -> 160:envelope___control___0 ;
532 16:__UG_NAME__ -> 160:envelope___control___4 ;
533 17:__UG_NAME__ -> 160:envelope___control___5 ;
534 18:__UG_NAME__ -> 160:envelope___control___6 ;
535 19:__UG_NAME__ -> 160:envelope___control___7 ;
536 168:__UG_NAME__ -> 169:gate ;
537 20:__UG_NAME__ -> 169:envelope___control___0 ;
538 20:__UG_NAME__ -> 169:envelope___control___4 ;
539 21:__UG_NAME__ -> 169:envelope___control___5 ;
540 22:__UG_NAME__ -> 169:envelope___control___6 ;
541 23:__UG_NAME__ -> 169:envelope___control___7 ;
542 180:__UG_NAME__ -> 181:gate ;
543 37:__UG_NAME__ -> 181:envelope___control___0 ;
544 37:__UG_NAME__ -> 181:envelope___control___4 ;
545 38:__UG_NAME__ -> 181:envelope___control___5 ;
546 39:__UG_NAME__ -> 181:envelope___control___6 ;
547 40:__UG_NAME__ -> 181:envelope___control___7 ;
548 190:__UG_NAME__ -> 191:gate ;
549 41:__UG_NAME__ -> 191:envelope___control___0 ;
550 41:__UG_NAME__ -> 191:envelope___control___4 ;
551 42:__UG_NAME__ -> 191:envelope___control___5 ;
552 43:__UG_NAME__ -> 191:envelope___control___6 ;
553 44:__UG_NAME__ -> 191:envelope___control___7 ;
554 201:__UG_NAME__ -> 202:gate ;
555 33:__UG_NAME__ -> 202:envelope___control___0 ;
556 33:__UG_NAME__ -> 202:envelope___control___4 ;
557 34:__UG_NAME__ -> 202:envelope___control___5 ;
558 35:__UG_NAME__ -> 202:envelope___control___6 ;
559 36:__UG_NAME__ -> 202:envelope___control___7 ;
560 213:__UG_NAME__ -> 214:gate ;
561 205:__UG_NAME__ -> 214:envelope___mul____add___0 ;
562 205:__UG_NAME__ -> 214:envelope___mul____add___4 ;
563 25:__UG_NAME__ -> 214:envelope___control___5 ;
564 26:__UG_NAME__ -> 214:envelope___control___6 ;
565 27:__UG_NAME__ -> 214:envelope___control___7 ;
566 219:__UG_NAME__ -> 220:gate ;
567 4:__UG_NAME__ -> 220:envelope___control___0 ;
568 4:__UG_NAME__ -> 220:envelope___control___4 ;
569 5:__UG_NAME__ -> 220:envelope___control___5 ;
570 6:__UG_NAME__ -> 220:envelope___control___6 ;
571 7:__UG_NAME__ -> 220:envelope___control___7 ;
572 229:__UG_NAME__ -> 230:gate ;
573 0:__UG_NAME__ -> 230:envelope___control___0 ;
574 0:__UG_NAME__ -> 230:envelope___control___4 ;
575 1:__UG_NAME__ -> 230:envelope___control___5 ;
576 2:__UG_NAME__ -> 230:envelope___control___6 ;
577 3:__UG_NAME__ -> 230:envelope___control___7 ;
578 12:__UG_NAME__ -> 62:in ;
579 13:__UG_NAME__ -> 66:in ;
580 4:__UG_NAME__ -> 74:in ;
581 20:__UG_NAME__ -> 78:in ;
582 9:__UG_NAME__ -> 84:in ;
583 5:__UG_NAME__ -> 87:in ;
584 8:__UG_NAME__ -> 90:in ;
585 99:__UG_NAME__ -> 100:in ;
586 49:__UG_NAME__ -> 104:in ;
587 28:__UG_NAME__ -> 115:in ;
588 29:__UG_NAME__ -> 119:in ;
589 139:__UG_NAME__ -> 140:in ;
590 53:__UG_NAME__ -> 144:in ;
591 16:__UG_NAME__ -> 152:in ;
592 17:__UG_NAME__ -> 156:in ;
593 21:__UG_NAME__ -> 165:in ;
594 37:__UG_NAME__ -> 173:in ;
595 38:__UG_NAME__ -> 177:in ;
596 41:__UG_NAME__ -> 183:in ;
597 42:__UG_NAME__ -> 187:in ;
598 33:__UG_NAME__ -> 194:in ;
599 34:__UG_NAME__ -> 198:in ;
600 205:__UG_NAME__ -> 206:in ;
601 25:__UG_NAME__ -> 210:in ;
602 0:__UG_NAME__ -> 216:in ;
603 1:__UG_NAME__ -> 217:in ;
604 71:__UG_NAME__ -> 72:freq ;
605 58:__UG_NAME__ -> 96:bus ;
606 202:__UG_NAME__ -> 203:lag____time ;
607 192:__UG_NAME__ -> 203:in ;
608 191:__UG_NAME__ -> 192:lag____time____down ;
609 181:__UG_NAME__ -> 192:lag____time____up ;
610 171:__UG_NAME__ -> 192:in ;
611 123:__UG_NAME__ -> 124:width ;
612 45:__UG_NAME__ -> 124:iphase ;
613 71:__UG_NAME__ -> 124:freq ;
614 81:__UG_NAME__ -> 82:iphase ;
615 71:__UG_NAME__ -> 82:freq ;
616 127:__UG_NAME__ -> 128:iphase ;
617 71:__UG_NAME__ -> 128:freq ;
618 170:__UG_NAME__ -> 171:dsthi ;
619 161:__UG_NAME__ -> 171:dstlo ;
620 150:__UG_NAME__ -> 171:in ;
621 160:__UG_NAME__ -> 161:a ;
622 169:__UG_NAME__ -> 170:a ;
623 60:__UG_NAME__ -> 139:in ;
624 24:__UG_NAME__ -> 205:in ;
625 233:__UG_NAME__ -> 241:signals___x____fade2___0 ;
626 240:__UG_NAME__ -> 241:signals___x____fade2___1 ;
627 59:__UG_NAME__ -> 241:bus ;
628 72:__UG_NAME__ -> 134:trig ;
629 214:__UG_NAME__ -> 215:rq ;
630 203:__UG_NAME__ -> 215:freq ;
631 97:__UG_NAME__ -> 215:in ;
632 214:__UG_NAME__ -> 236:rq ;
633 203:__UG_NAME__ -> 236:freq ;
634 234:__UG_NAME__ -> 236:in ;
635 214:__UG_NAME__ -> 231:rq ;
636 203:__UG_NAME__ -> 231:freq ;
637 97:__UG_NAME__ -> 231:in ;
638 214:__UG_NAME__ -> 235:rq ;
639 203:__UG_NAME__ -> 235:freq ;
640 234:__UG_NAME__ -> 235:in ;
641 83:__UG_NAME__ -> 132:array___binary____op____u____gen___0 ;
642 126:__UG_NAME__ -> 132:array___binary____op____u____gen___1 ;
643 128:__UG_NAME__ -> 132:array___lf____tri___2 ;
644 131:__UG_NAME__ -> 132:array___sin____osc___3 ;
645 46:__UG_NAME__ -> 132:which ;
646 148:__UG_NAME__ -> 149:array___env____gen___0 ;
647 133:__UG_NAME__ -> 149:array___binary____op____u____gen___1 ;
648 137:__UG_NAME__ -> 149:which ;
649 133:__UG_NAME__ -> 150:array___binary____op____u____gen___0 ;
650 149:__UG_NAME__ -> 150:array___select___1 ;
651 109:__UG_NAME__ -> 150:which ;
652 231:__UG_NAME__ -> 232:array___rlpf___0 ;
653 215:__UG_NAME__ -> 232:array___rhpf___1 ;
654 32:__UG_NAME__ -> 232:which ;
655 235:__UG_NAME__ -> 237:array___rlpf___0 ;
656 236:__UG_NAME__ -> 237:array___rhpf___1 ;
657 32:__UG_NAME__ -> 237:which ;
658 130:__UG_NAME__ -> 131:phase ;
659 71:__UG_NAME__ -> 131:freq ;
660 230:__UG_NAME__ -> 233:level ;
661 222:__UG_NAME__ -> 233:pan ;
662 232:__UG_NAME__ -> 233:inb ;
663 97:__UG_NAME__ -> 233:ina ;
664 230:__UG_NAME__ -> 240:level ;
665 239:__UG_NAME__ -> 240:pan ;
666 237:__UG_NAME__ -> 240:inb ;
667 234:__UG_NAME__ -> 240:ina ;
668
669 }
+0
-223
etc/synthdefs/graphviz/sonic-pi-gnoise.dot less more
0 digraph synthdef {
1 71 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 72 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 32 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 36 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 47 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 51 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 60 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 65 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 68 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 38 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 27 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 31 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 35 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 46 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 50 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 55 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 59 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 63 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 26 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 30 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 34 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 45 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 49 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 54 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 58 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 62 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 0 [label = "control
29 :amp
30 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 1 [label = "control
32 :amp_slide
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 2 [label = "control
35 :amp_slide_shape
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 3 [label = "control
38 :amp_slide_curve
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 4 [label = "control
41 :pan
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 5 [label = "control
44 :pan_slide
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 6 [label = "control
47 :pan_slide_shape
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 7 [label = "control
50 :pan_slide_curve
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 8 [label = "control
53 :attack
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 9 [label = "control
56 :sustain
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 10 [label = "control
59 :decay
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 11 [label = "control
62 :release
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 12 [label = "control
65 :attack_level
66 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 13 [label = "control
68 :decay_level
69 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 14 [label = "control
71 :sustain_level
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 15 [label = "control
74 :env_curve
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 16 [label = "control
77 :cutoff
78 default: 110.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 17 [label = "control
80 :cutoff_slide
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 18 [label = "control
83 :cutoff_slide_shape
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 19 [label = "control
86 :cutoff_slide_curve
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 20 [label = "control
89 :res
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 21 [label = "control
92 :res_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 22 [label = "control
95 :res_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 23 [label = "control
98 :res_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 24 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 37 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 40 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 52 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 66 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 73 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 69 [label = "{<__UG_NAME__>gray-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
109 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 29 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 44 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 28 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 42 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 53 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 56 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
121 67 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
122 43 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
123 75 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
124 74 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
125 70 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
126 39 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
127
128 70:__UG_NAME__ -> 71:b ;
129 40:__UG_NAME__ -> 72:b ;
130 71:__UG_NAME__ -> 72:a ;
131 31:__UG_NAME__ -> 32:b ;
132 28:__UG_NAME__ -> 32:a ;
133 35:__UG_NAME__ -> 36:b ;
134 32:__UG_NAME__ -> 36:a ;
135 46:__UG_NAME__ -> 47:b ;
136 42:__UG_NAME__ -> 47:a ;
137 50:__UG_NAME__ -> 51:b ;
138 47:__UG_NAME__ -> 51:a ;
139 59:__UG_NAME__ -> 60:b ;
140 56:__UG_NAME__ -> 60:a ;
141 63:__UG_NAME__ -> 64:b ;
142 53:__UG_NAME__ -> 64:a ;
143 55:__UG_NAME__ -> 65:b ;
144 64:__UG_NAME__ -> 65:a ;
145 27:__UG_NAME__ -> 68:b ;
146 60:__UG_NAME__ -> 68:a ;
147 13:__UG_NAME__ -> 38:b ;
148 26:__UG_NAME__ -> 27:a ;
149 30:__UG_NAME__ -> 31:a ;
150 34:__UG_NAME__ -> 35:a ;
151 45:__UG_NAME__ -> 46:a ;
152 49:__UG_NAME__ -> 50:a ;
153 54:__UG_NAME__ -> 55:a ;
154 58:__UG_NAME__ -> 59:a ;
155 62:__UG_NAME__ -> 63:a ;
156 25:__UG_NAME__ -> 26:a ;
157 29:__UG_NAME__ -> 30:a ;
158 33:__UG_NAME__ -> 34:a ;
159 44:__UG_NAME__ -> 45:a ;
160 48:__UG_NAME__ -> 49:a ;
161 41:__UG_NAME__ -> 54:a ;
162 57:__UG_NAME__ -> 58:a ;
163 61:__UG_NAME__ -> 62:a ;
164 36:__UG_NAME__ -> 37:gate ;
165 0:__UG_NAME__ -> 37:envelope___control___0 ;
166 0:__UG_NAME__ -> 37:envelope___control___4 ;
167 1:__UG_NAME__ -> 37:envelope___control___5 ;
168 2:__UG_NAME__ -> 37:envelope___control___6 ;
169 3:__UG_NAME__ -> 37:envelope___control___7 ;
170 12:__UG_NAME__ -> 40:envelope___control___4 ;
171 8:__UG_NAME__ -> 40:envelope___control___5 ;
172 15:__UG_NAME__ -> 40:envelope___control___6 ;
173 39:__UG_NAME__ -> 40:envelope___select___8 ;
174 10:__UG_NAME__ -> 40:envelope___control___9 ;
175 15:__UG_NAME__ -> 40:envelope___control___10 ;
176 14:__UG_NAME__ -> 40:envelope___control___12 ;
177 9:__UG_NAME__ -> 40:envelope___control___13 ;
178 15:__UG_NAME__ -> 40:envelope___control___14 ;
179 11:__UG_NAME__ -> 40:envelope___control___17 ;
180 15:__UG_NAME__ -> 40:envelope___control___18 ;
181 51:__UG_NAME__ -> 52:gate ;
182 43:__UG_NAME__ -> 52:envelope___mul____add___0 ;
183 43:__UG_NAME__ -> 52:envelope___mul____add___4 ;
184 21:__UG_NAME__ -> 52:envelope___control___5 ;
185 22:__UG_NAME__ -> 52:envelope___control___6 ;
186 23:__UG_NAME__ -> 52:envelope___control___7 ;
187 65:__UG_NAME__ -> 66:gate ;
188 16:__UG_NAME__ -> 66:envelope___control___0 ;
189 16:__UG_NAME__ -> 66:envelope___control___4 ;
190 17:__UG_NAME__ -> 66:envelope___control___5 ;
191 18:__UG_NAME__ -> 66:envelope___control___6 ;
192 19:__UG_NAME__ -> 66:envelope___control___7 ;
193 68:__UG_NAME__ -> 73:gate ;
194 4:__UG_NAME__ -> 73:envelope___control___0 ;
195 4:__UG_NAME__ -> 73:envelope___control___4 ;
196 5:__UG_NAME__ -> 73:envelope___control___5 ;
197 6:__UG_NAME__ -> 73:envelope___control___6 ;
198 7:__UG_NAME__ -> 73:envelope___control___7 ;
199 5:__UG_NAME__ -> 25:in ;
200 0:__UG_NAME__ -> 29:in ;
201 1:__UG_NAME__ -> 33:in ;
202 17:__UG_NAME__ -> 41:in ;
203 43:__UG_NAME__ -> 44:in ;
204 21:__UG_NAME__ -> 48:in ;
205 4:__UG_NAME__ -> 57:in ;
206 16:__UG_NAME__ -> 61:in ;
207 66:__UG_NAME__ -> 67:a ;
208 20:__UG_NAME__ -> 43:in ;
209 74:__UG_NAME__ -> 75:signals___pan2___0 ;
210 74:__UG_NAME__ -> 75:signals___pan2___1 ;
211 24:__UG_NAME__ -> 75:bus ;
212 37:__UG_NAME__ -> 74:level ;
213 73:__UG_NAME__ -> 74:pos ;
214 72:__UG_NAME__ -> 74:in ;
215 52:__UG_NAME__ -> 70:rq ;
216 67:__UG_NAME__ -> 70:freq ;
217 69:__UG_NAME__ -> 70:in ;
218 13:__UG_NAME__ -> 39:array___control___0 ;
219 14:__UG_NAME__ -> 39:array___control___1 ;
220 38:__UG_NAME__ -> 39:which ;
221
222 }
+0
-282
etc/synthdefs/graphviz/sonic-pi-growl.dot less more
0 digraph synthdef {
1 43 [label = "{{ <a> 0.25|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 45 [label = "{{ <a> 1.01|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 48 [label = "{{ <a> |<b> 0.5} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 75 [label = "{{ <a> 3.0|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 96 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 97 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 36 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 40 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 47 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
10 60 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 68 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 72 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 77 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 81 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 89 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 93 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 31 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
19 35 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 39 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 52 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 55 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 59 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 63 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 71 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 80 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 88 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 92 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 34 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 38 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 54 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 58 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 62 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 70 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 79 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 87 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 91 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 0 [label = "control
40 :out_bus
41 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
42 1 [label = "control
43 :note
44 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
45 2 [label = "control
46 :note_slide
47 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
48 3 [label = "control
49 :note_slide_shape
50 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
51 4 [label = "control
52 :note_slide_curve
53 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
54 5 [label = "control
55 :pan
56 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
57 6 [label = "control
58 :pan_slide
59 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
60 7 [label = "control
61 :pan_slide_shape
62 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 8 [label = "control
64 :pan_slide_curve
65 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 9 [label = "control
67 :amp
68 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 10 [label = "control
70 :amp_slide
71 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 11 [label = "control
73 :amp_slide_shape
74 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 12 [label = "control
76 :amp_slide_curve
77 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 13 [label = "control
79 :attack
80 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 14 [label = "control
82 :decay
83 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 15 [label = "control
85 :sustain
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 16 [label = "control
88 :release
89 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 17 [label = "control
91 :attack_level
92 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 18 [label = "control
94 :decay_level
95 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 19 [label = "control
97 :sustain_level
98 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 20 [label = "control
100 :env_curve
101 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 21 [label = "control
103 :cutoff
104 default: 130.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 22 [label = "control
106 :cutoff_slide
107 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 23 [label = "control
109 :cutoff_slide_shape
110 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 24 [label = "control
112 :cutoff_slide_curve
113 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 25 [label = "control
115 :res
116 default: 0.7" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 26 [label = "control
118 :res_slide
119 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 27 [label = "control
121 :res_slide_shape
122 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 28 [label = "control
124 :res_slide_curve
125 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 41 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
127 65 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
128 73 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
129 82 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
130 84 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
131 94 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
132 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
133 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
134 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
135 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
136 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
137 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
138 69 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
139 78 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
140 86 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
141 90 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
142 32 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
143 56 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
144 67 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
145 76 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
146 85 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
147 49 [label = "{{ <in> in|<freq> freq 440.0} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
148 42 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
149 66 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
150 29 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
151 98 [label = "{{ <bus> bus|{{<signals___binary____op____u____gen___0>|<signals___binary____op____u____gen___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
152 95 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
153 50 [label = "{{ <in> in|<window____size> window-size 0.5|<pitch____ratio> pitch-ratio 1.0|<pitch____dispersion> pitch-dispersion 0.0|<time____dispersion> time-dispersion 0.001} |<__UG_NAME__>pitch-shift }" style="filled, bold, rounded" shape=record rankdir=LR];
154 74 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
155 44 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
156 83 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
157 46 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
158
159 42:__UG_NAME__ -> 43:b ;
160 42:__UG_NAME__ -> 45:b ;
161 47:__UG_NAME__ -> 48:a ;
162 74:__UG_NAME__ -> 75:b ;
163 95:__UG_NAME__ -> 96:b ;
164 84:__UG_NAME__ -> 96:a ;
165 95:__UG_NAME__ -> 97:b ;
166 84:__UG_NAME__ -> 97:a ;
167 35:__UG_NAME__ -> 36:b ;
168 32:__UG_NAME__ -> 36:a ;
169 39:__UG_NAME__ -> 40:b ;
170 36:__UG_NAME__ -> 40:a ;
171 46:__UG_NAME__ -> 47:b ;
172 44:__UG_NAME__ -> 47:a ;
173 59:__UG_NAME__ -> 60:b ;
174 56:__UG_NAME__ -> 60:a ;
175 63:__UG_NAME__ -> 64:b ;
176 60:__UG_NAME__ -> 64:a ;
177 52:__UG_NAME__ -> 68:b ;
178 67:__UG_NAME__ -> 68:a ;
179 71:__UG_NAME__ -> 72:b ;
180 68:__UG_NAME__ -> 72:a ;
181 55:__UG_NAME__ -> 77:b ;
182 76:__UG_NAME__ -> 77:a ;
183 80:__UG_NAME__ -> 81:b ;
184 77:__UG_NAME__ -> 81:a ;
185 88:__UG_NAME__ -> 89:b ;
186 85:__UG_NAME__ -> 89:a ;
187 92:__UG_NAME__ -> 93:b ;
188 89:__UG_NAME__ -> 93:a ;
189 18:__UG_NAME__ -> 31:b ;
190 34:__UG_NAME__ -> 35:a ;
191 38:__UG_NAME__ -> 39:a ;
192 51:__UG_NAME__ -> 52:a ;
193 54:__UG_NAME__ -> 55:a ;
194 58:__UG_NAME__ -> 59:a ;
195 62:__UG_NAME__ -> 63:a ;
196 70:__UG_NAME__ -> 71:a ;
197 79:__UG_NAME__ -> 80:a ;
198 87:__UG_NAME__ -> 88:a ;
199 91:__UG_NAME__ -> 92:a ;
200 33:__UG_NAME__ -> 34:a ;
201 37:__UG_NAME__ -> 38:a ;
202 30:__UG_NAME__ -> 51:a ;
203 53:__UG_NAME__ -> 54:a ;
204 57:__UG_NAME__ -> 58:a ;
205 61:__UG_NAME__ -> 62:a ;
206 69:__UG_NAME__ -> 70:a ;
207 78:__UG_NAME__ -> 79:a ;
208 86:__UG_NAME__ -> 87:a ;
209 90:__UG_NAME__ -> 91:a ;
210 40:__UG_NAME__ -> 41:gate ;
211 1:__UG_NAME__ -> 41:envelope___control___0 ;
212 1:__UG_NAME__ -> 41:envelope___control___4 ;
213 2:__UG_NAME__ -> 41:envelope___control___5 ;
214 3:__UG_NAME__ -> 41:envelope___control___6 ;
215 4:__UG_NAME__ -> 41:envelope___control___7 ;
216 64:__UG_NAME__ -> 65:gate ;
217 21:__UG_NAME__ -> 65:envelope___control___0 ;
218 21:__UG_NAME__ -> 65:envelope___control___4 ;
219 22:__UG_NAME__ -> 65:envelope___control___5 ;
220 23:__UG_NAME__ -> 65:envelope___control___6 ;
221 24:__UG_NAME__ -> 65:envelope___control___7 ;
222 72:__UG_NAME__ -> 73:gate ;
223 29:__UG_NAME__ -> 73:envelope___mul____add___0 ;
224 29:__UG_NAME__ -> 73:envelope___mul____add___4 ;
225 26:__UG_NAME__ -> 73:envelope___control___5 ;
226 27:__UG_NAME__ -> 73:envelope___control___6 ;
227 28:__UG_NAME__ -> 73:envelope___control___7 ;
228 81:__UG_NAME__ -> 82:gate ;
229 9:__UG_NAME__ -> 82:envelope___control___0 ;
230 9:__UG_NAME__ -> 82:envelope___control___4 ;
231 10:__UG_NAME__ -> 82:envelope___control___5 ;
232 11:__UG_NAME__ -> 82:envelope___control___6 ;
233 12:__UG_NAME__ -> 82:envelope___control___7 ;
234 17:__UG_NAME__ -> 84:envelope___control___4 ;
235 13:__UG_NAME__ -> 84:envelope___control___5 ;
236 20:__UG_NAME__ -> 84:envelope___control___6 ;
237 83:__UG_NAME__ -> 84:envelope___select___8 ;
238 14:__UG_NAME__ -> 84:envelope___control___9 ;
239 20:__UG_NAME__ -> 84:envelope___control___10 ;
240 19:__UG_NAME__ -> 84:envelope___control___12 ;
241 15:__UG_NAME__ -> 84:envelope___control___13 ;
242 20:__UG_NAME__ -> 84:envelope___control___14 ;
243 16:__UG_NAME__ -> 84:envelope___control___17 ;
244 20:__UG_NAME__ -> 84:envelope___control___18 ;
245 93:__UG_NAME__ -> 94:gate ;
246 5:__UG_NAME__ -> 94:envelope___control___0 ;
247 5:__UG_NAME__ -> 94:envelope___control___4 ;
248 6:__UG_NAME__ -> 94:envelope___control___5 ;
249 7:__UG_NAME__ -> 94:envelope___control___6 ;
250 8:__UG_NAME__ -> 94:envelope___control___7 ;
251 29:__UG_NAME__ -> 30:in ;
252 1:__UG_NAME__ -> 33:in ;
253 2:__UG_NAME__ -> 37:in ;
254 9:__UG_NAME__ -> 53:in ;
255 21:__UG_NAME__ -> 57:in ;
256 22:__UG_NAME__ -> 61:in ;
257 26:__UG_NAME__ -> 69:in ;
258 10:__UG_NAME__ -> 78:in ;
259 5:__UG_NAME__ -> 86:in ;
260 6:__UG_NAME__ -> 90:in ;
261 48:__UG_NAME__ -> 49:in ;
262 41:__UG_NAME__ -> 42:a ;
263 65:__UG_NAME__ -> 66:a ;
264 25:__UG_NAME__ -> 29:in ;
265 96:__UG_NAME__ -> 98:signals___binary____op____u____gen___0 ;
266 97:__UG_NAME__ -> 98:signals___binary____op____u____gen___1 ;
267 0:__UG_NAME__ -> 98:bus ;
268 82:__UG_NAME__ -> 95:level ;
269 94:__UG_NAME__ -> 95:pos ;
270 75:__UG_NAME__ -> 95:in ;
271 49:__UG_NAME__ -> 50:in ;
272 73:__UG_NAME__ -> 74:rq ;
273 66:__UG_NAME__ -> 74:freq ;
274 50:__UG_NAME__ -> 74:in ;
275 43:__UG_NAME__ -> 44:freq ;
276 18:__UG_NAME__ -> 83:array___control___0 ;
277 19:__UG_NAME__ -> 83:array___control___1 ;
278 31:__UG_NAME__ -> 83:which ;
279 45:__UG_NAME__ -> 46:freq ;
280
281 }
+0
-330
etc/synthdefs/graphviz/sonic-pi-hollow.dot less more
0 digraph synthdef {
1 36 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 38 [label = "{{ <a> 0.4|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 40 [label = "{{ <a> 0.5|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 41 [label = "{{ <a> 0.2|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 43 [label = "{{ <a> 0.2|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 48 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 53 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 73 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 74 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 76 [label = "{{ <a> 0.5|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 78 [label = "{{ <a> |<b> 4.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
12 80 [label = "{{ <a> 0.125|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
13 96 [label = "{{ <a> 15.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
14 97 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
15 58 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 62 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 66 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 70 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 77 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
20 81 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
21 86 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 90 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 102 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 106 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 109 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 113 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 45 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
28 34 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 52 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 57 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 61 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 69 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 85 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 89 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 101 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 105 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 112 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 33 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 56 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 60 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 68 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 84 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 88 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 100 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 104 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 111 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 72 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
49 75 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
50 79 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
51 37 [label = "{<__UG_NAME__>brown-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
52 31 [label = "{<__UG_NAME__>clip-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
53 0 [label = "control
54 :note
55 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 1 [label = "control
57 :note_slide
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 2 [label = "control
60 :note_slide_shape
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 3 [label = "control
63 :note_slide_curve
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 4 [label = "control
66 :pan
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 5 [label = "control
69 :pan_slide
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 6 [label = "control
72 :pan_slide_shape
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 7 [label = "control
75 :pan_slide_curve
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 8 [label = "control
78 :amp
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 9 [label = "control
81 :amp_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 10 [label = "control
84 :amp_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 11 [label = "control
87 :amp_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 12 [label = "control
90 :attack
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 13 [label = "control
93 :decay
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 14 [label = "control
96 :sustain
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 15 [label = "control
99 :release
100 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 16 [label = "control
102 :attack_level
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 17 [label = "control
105 :decay_level
106 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 18 [label = "control
108 :sustain_level
109 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 19 [label = "control
111 :env_curve
112 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 20 [label = "control
114 :cutoff
115 default: 90.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 21 [label = "control
117 :cutoff_slide
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 22 [label = "control
120 :cutoff_slide_shape
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 23 [label = "control
123 :cutoff_slide_curve
124 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 24 [label = "control
126 :res
127 default: 0.99" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 25 [label = "control
129 :res_slide
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 26 [label = "control
132 :res_slide_shape
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 27 [label = "control
135 :res_slide_curve
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 28 [label = "control
138 :noise
139 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 29 [label = "control
141 :norm
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 30 [label = "control
144 :out_bus
145 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 47 [label = "{{ {{0.0|4.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
147 63 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
148 71 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
149 91 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
150 107 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
151 114 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
152 42 [label = "{<__UG_NAME__>gray-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
153 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
154 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
155 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
156 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
157 67 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
158 83 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
159 87 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
160 99 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
161 103 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
162 110 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
163 54 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
164 65 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
165 82 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
166 98 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
167 108 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
168 93 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
169 64 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
170 92 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
171 49 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
172 94 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
173 116 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
174 115 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
175 35 [label = "{<__UG_NAME__>pink-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
176 44 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___binary____op____u____gen___2>|<array___binary____op____u____gen___3>|<array___binary____op____u____gen___4>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
177 46 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
178 95 [label = "{{ <which> which|{{<array___lpf___0>|<array___normalizer___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
179 39 [label = "{<__UG_NAME__>white-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
180
181 35:__UG_NAME__ -> 36:b ;
182 37:__UG_NAME__ -> 38:b ;
183 39:__UG_NAME__ -> 40:b ;
184 31:__UG_NAME__ -> 41:b ;
185 42:__UG_NAME__ -> 43:b ;
186 47:__UG_NAME__ -> 48:b ;
187 44:__UG_NAME__ -> 48:a ;
188 47:__UG_NAME__ -> 53:b ;
189 44:__UG_NAME__ -> 53:a ;
190 47:__UG_NAME__ -> 73:b ;
191 44:__UG_NAME__ -> 73:a ;
192 64:__UG_NAME__ -> 74:a ;
193 75:__UG_NAME__ -> 76:b ;
194 64:__UG_NAME__ -> 78:a ;
195 79:__UG_NAME__ -> 80:b ;
196 47:__UG_NAME__ -> 96:b ;
197 95:__UG_NAME__ -> 97:b ;
198 96:__UG_NAME__ -> 97:a ;
199 57:__UG_NAME__ -> 58:b ;
200 54:__UG_NAME__ -> 58:a ;
201 61:__UG_NAME__ -> 62:b ;
202 58:__UG_NAME__ -> 62:a ;
203 52:__UG_NAME__ -> 66:b ;
204 65:__UG_NAME__ -> 66:a ;
205 69:__UG_NAME__ -> 70:b ;
206 66:__UG_NAME__ -> 70:a ;
207 76:__UG_NAME__ -> 77:b ;
208 72:__UG_NAME__ -> 77:a ;
209 80:__UG_NAME__ -> 81:b ;
210 77:__UG_NAME__ -> 81:a ;
211 85:__UG_NAME__ -> 86:b ;
212 82:__UG_NAME__ -> 86:a ;
213 89:__UG_NAME__ -> 90:b ;
214 86:__UG_NAME__ -> 90:a ;
215 101:__UG_NAME__ -> 102:b ;
216 98:__UG_NAME__ -> 102:a ;
217 105:__UG_NAME__ -> 106:b ;
218 102:__UG_NAME__ -> 106:a ;
219 34:__UG_NAME__ -> 109:b ;
220 108:__UG_NAME__ -> 109:a ;
221 112:__UG_NAME__ -> 113:b ;
222 109:__UG_NAME__ -> 113:a ;
223 17:__UG_NAME__ -> 45:b ;
224 33:__UG_NAME__ -> 34:a ;
225 51:__UG_NAME__ -> 52:a ;
226 56:__UG_NAME__ -> 57:a ;
227 60:__UG_NAME__ -> 61:a ;
228 68:__UG_NAME__ -> 69:a ;
229 84:__UG_NAME__ -> 85:a ;
230 88:__UG_NAME__ -> 89:a ;
231 100:__UG_NAME__ -> 101:a ;
232 104:__UG_NAME__ -> 105:a ;
233 111:__UG_NAME__ -> 112:a ;
234 32:__UG_NAME__ -> 33:a ;
235 50:__UG_NAME__ -> 51:a ;
236 55:__UG_NAME__ -> 56:a ;
237 59:__UG_NAME__ -> 60:a ;
238 67:__UG_NAME__ -> 68:a ;
239 83:__UG_NAME__ -> 84:a ;
240 87:__UG_NAME__ -> 88:a ;
241 99:__UG_NAME__ -> 100:a ;
242 103:__UG_NAME__ -> 104:a ;
243 110:__UG_NAME__ -> 111:a ;
244 71:__UG_NAME__ -> 72:rq ;
245 64:__UG_NAME__ -> 72:freq ;
246 53:__UG_NAME__ -> 72:in ;
247 71:__UG_NAME__ -> 75:rq ;
248 74:__UG_NAME__ -> 75:freq ;
249 73:__UG_NAME__ -> 75:in ;
250 71:__UG_NAME__ -> 79:rq ;
251 78:__UG_NAME__ -> 79:freq ;
252 48:__UG_NAME__ -> 79:in ;
253 16:__UG_NAME__ -> 47:envelope___control___4 ;
254 12:__UG_NAME__ -> 47:envelope___control___5 ;
255 19:__UG_NAME__ -> 47:envelope___control___6 ;
256 46:__UG_NAME__ -> 47:envelope___select___8 ;
257 13:__UG_NAME__ -> 47:envelope___control___9 ;
258 19:__UG_NAME__ -> 47:envelope___control___10 ;
259 18:__UG_NAME__ -> 47:envelope___control___12 ;
260 14:__UG_NAME__ -> 47:envelope___control___13 ;
261 19:__UG_NAME__ -> 47:envelope___control___14 ;
262 15:__UG_NAME__ -> 47:envelope___control___17 ;
263 19:__UG_NAME__ -> 47:envelope___control___18 ;
264 62:__UG_NAME__ -> 63:gate ;
265 0:__UG_NAME__ -> 63:envelope___control___0 ;
266 0:__UG_NAME__ -> 63:envelope___control___4 ;
267 1:__UG_NAME__ -> 63:envelope___control___5 ;
268 2:__UG_NAME__ -> 63:envelope___control___6 ;
269 3:__UG_NAME__ -> 63:envelope___control___7 ;
270 70:__UG_NAME__ -> 71:gate ;
271 49:__UG_NAME__ -> 71:envelope___mul____add___0 ;
272 49:__UG_NAME__ -> 71:envelope___mul____add___4 ;
273 25:__UG_NAME__ -> 71:envelope___control___5 ;
274 26:__UG_NAME__ -> 71:envelope___control___6 ;
275 27:__UG_NAME__ -> 71:envelope___control___7 ;
276 90:__UG_NAME__ -> 91:gate ;
277 20:__UG_NAME__ -> 91:envelope___control___0 ;
278 20:__UG_NAME__ -> 91:envelope___control___4 ;
279 21:__UG_NAME__ -> 91:envelope___control___5 ;
280 22:__UG_NAME__ -> 91:envelope___control___6 ;
281 23:__UG_NAME__ -> 91:envelope___control___7 ;
282 106:__UG_NAME__ -> 107:gate ;
283 4:__UG_NAME__ -> 107:envelope___control___0 ;
284 4:__UG_NAME__ -> 107:envelope___control___4 ;
285 5:__UG_NAME__ -> 107:envelope___control___5 ;
286 6:__UG_NAME__ -> 107:envelope___control___6 ;
287 7:__UG_NAME__ -> 107:envelope___control___7 ;
288 113:__UG_NAME__ -> 114:gate ;
289 8:__UG_NAME__ -> 114:envelope___control___0 ;
290 8:__UG_NAME__ -> 114:envelope___control___4 ;
291 9:__UG_NAME__ -> 114:envelope___control___5 ;
292 10:__UG_NAME__ -> 114:envelope___control___6 ;
293 11:__UG_NAME__ -> 114:envelope___control___7 ;
294 8:__UG_NAME__ -> 32:in ;
295 49:__UG_NAME__ -> 50:in ;
296 0:__UG_NAME__ -> 55:in ;
297 1:__UG_NAME__ -> 59:in ;
298 25:__UG_NAME__ -> 67:in ;
299 20:__UG_NAME__ -> 83:in ;
300 21:__UG_NAME__ -> 87:in ;
301 4:__UG_NAME__ -> 99:in ;
302 5:__UG_NAME__ -> 103:in ;
303 9:__UG_NAME__ -> 110:in ;
304 92:__UG_NAME__ -> 93:freq ;
305 81:__UG_NAME__ -> 93:in ;
306 63:__UG_NAME__ -> 64:a ;
307 91:__UG_NAME__ -> 92:a ;
308 24:__UG_NAME__ -> 49:in ;
309 93:__UG_NAME__ -> 94:in ;
310 115:__UG_NAME__ -> 116:signals___pan2___0 ;
311 115:__UG_NAME__ -> 116:signals___pan2___1 ;
312 30:__UG_NAME__ -> 116:bus ;
313 114:__UG_NAME__ -> 115:level ;
314 107:__UG_NAME__ -> 115:pos ;
315 97:__UG_NAME__ -> 115:in ;
316 36:__UG_NAME__ -> 44:array___binary____op____u____gen___0 ;
317 38:__UG_NAME__ -> 44:array___binary____op____u____gen___1 ;
318 40:__UG_NAME__ -> 44:array___binary____op____u____gen___2 ;
319 41:__UG_NAME__ -> 44:array___binary____op____u____gen___3 ;
320 43:__UG_NAME__ -> 44:array___binary____op____u____gen___4 ;
321 28:__UG_NAME__ -> 44:which ;
322 17:__UG_NAME__ -> 46:array___control___0 ;
323 18:__UG_NAME__ -> 46:array___control___1 ;
324 45:__UG_NAME__ -> 46:which ;
325 93:__UG_NAME__ -> 95:array___lpf___0 ;
326 94:__UG_NAME__ -> 95:array___normalizer___1 ;
327 29:__UG_NAME__ -> 95:which ;
328
329 }
+0
-456
etc/synthdefs/graphviz/sonic-pi-hoover.dot less more
0 digraph synthdef {
1 44 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 45 [label = "{{ <a> 0.25|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 48 [label = "{{ <a> |<b> 0.5} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 53 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 56 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 57 [label = "{{ <a> 0.5|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 60 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 65 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 69 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 70 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
11 73 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
12 78 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
13 80 [label = "{{ <a> 0.1|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
14 81 [label = "{{ <a> 0.25|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
15 90 [label = "{{ <a> 0.5|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
16 91 [label = "{{ <a> 0.25|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
17 100 [label = "{{ <a> 0.5|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
18 102 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
19 106 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
20 131 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
21 132 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
22 154 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
23 157 [label = "{{ <a> 0.25|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
24 164 [label = "{{ <a> 0.5|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
25 166 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
26 167 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
27 35 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 39 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 66 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
30 79 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
31 83 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
32 93 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
33 101 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
34 111 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
35 115 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
36 123 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
37 127 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
38 130 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
39 138 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
40 142 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
41 148 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
42 152 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
43 159 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
44 165 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
45 52 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
46 64 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
47 77 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
48 103 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
49 34 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 38 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 110 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 114 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 122 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 126 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 137 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 141 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 147 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
58 151 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
59 33 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 37 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 109 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 113 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 121 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 125 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 136 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
66 140 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
67 146 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
68 150 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
69 85 [label = "{{ <in> in|<freq> freq 6000.0|<rq> rq 1.0|<db> db 3.0} |<__UG_NAME__>b-peak-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
70 86 [label = "{{ <in> in|<freq> freq 3500.0|<rq> rq 1.0|<db> db 6.0} |<__UG_NAME__>b-peak-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
71 95 [label = "{{ <in> in|<freq> freq 6000.0|<rq> rq 1.0|<db> db 3.0} |<__UG_NAME__>b-peak-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
72 96 [label = "{{ <in> in|<freq> freq 3500.0|<rq> rq 1.0|<db> db 6.0} |<__UG_NAME__>b-peak-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
73 161 [label = "{{ <in> in|<freq> freq 6000.0|<rq> rq 1.0|<db> db 3.0} |<__UG_NAME__>b-peak-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
74 162 [label = "{{ <in> in|<freq> freq 3500.0|<rq> rq 1.0|<db> db 6.0} |<__UG_NAME__>b-peak-eq }" style="filled, bold, rounded" shape=record rankdir=LR];
75 89 [label = "{{ <in> in|<max____delay____time> max-delay-time 0.005|<delay____time> delay-time|<decay____time> decay-time 0.0} |<__UG_NAME__>comb-c }" style="filled, bold, rounded" shape=record rankdir=LR];
76 99 [label = "{{ <in> in|<max____delay____time> max-delay-time 0.005|<delay____time> delay-time|<decay____time> decay-time 0.0} |<__UG_NAME__>comb-c }" style="filled, bold, rounded" shape=record rankdir=LR];
77 163 [label = "{{ <in> in|<max____delay____time> max-delay-time 0.005|<delay____time> delay-time|<decay____time> decay-time 0.0} |<__UG_NAME__>comb-c }" style="filled, bold, rounded" shape=record rankdir=LR];
78 0 [label = "control
79 :note
80 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 1 [label = "control
82 :note_slide
83 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 2 [label = "control
85 :note_slide_shape
86 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 3 [label = "control
88 :note_slide_curve
89 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 4 [label = "control
91 :amp
92 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 5 [label = "control
94 :amp_slide
95 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 6 [label = "control
97 :amp_slide_shape
98 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 7 [label = "control
100 :amp_slide_curve
101 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 8 [label = "control
103 :pan
104 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 9 [label = "control
106 :pan_slide
107 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 10 [label = "control
109 :pan_slide_shape
110 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 11 [label = "control
112 :pan_slide_curve
113 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 12 [label = "control
115 :attack
116 default: 0.05" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 13 [label = "control
118 :decay
119 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 14 [label = "control
121 :sustain
122 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 15 [label = "control
124 :release
125 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 16 [label = "control
127 :attack_level
128 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 17 [label = "control
130 :decay_level
131 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 18 [label = "control
133 :sustain_level
134 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 19 [label = "control
136 :env_curve
137 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 20 [label = "control
139 :cutoff
140 default: 130.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 21 [label = "control
142 :cutoff_slide
143 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 22 [label = "control
145 :cutoff_slide_shape
146 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 23 [label = "control
148 :cutoff_slide_curve
149 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
150 24 [label = "control
151 :res
152 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
153 25 [label = "control
154 :res_slide
155 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
156 26 [label = "control
157 :res_slide_shape
158 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
159 27 [label = "control
160 :res_slide_curve
161 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
162 28 [label = "control
163 :pre_amp
164 default: 10.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
165 29 [label = "control
166 :amp-fudge
167 default: 2.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
168 30 [label = "control
169 :out_bus
170 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
171 40 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
172 105 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
173 116 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
174 128 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
175 143 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
176 153 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
177 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
178 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
179 108 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
180 112 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
181 120 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
182 124 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
183 135 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
184 139 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
185 145 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
186 149 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
187 31 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
188 107 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
189 118 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
190 134 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
191 144 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
192 82 [label = "{{ <freq> freq|<iphase> iphase 0.0} |<__UG_NAME__>lf-par }" style="filled, bold, rounded" shape=record rankdir=LR];
193 92 [label = "{{ <freq> freq|<iphase> iphase 0.0} |<__UG_NAME__>lf-par }" style="filled, bold, rounded" shape=record rankdir=LR];
194 158 [label = "{{ <freq> freq|<iphase> iphase 0.0} |<__UG_NAME__>lf-par }" style="filled, bold, rounded" shape=record rankdir=LR];
195 51 [label = "{{ <freq> freq|<iphase> iphase 0.0|<width> width} |<__UG_NAME__>lf-pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
196 63 [label = "{{ <freq> freq|<iphase> iphase 0.0|<width> width} |<__UG_NAME__>lf-pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
197 76 [label = "{{ <freq> freq|<iphase> iphase 0.0|<width> width} |<__UG_NAME__>lf-pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
198 46 [label = "{{ <freq> freq|<iphase> iphase 1.0} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
199 58 [label = "{{ <freq> freq|<iphase> iphase 1.0} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
200 71 [label = "{{ <freq> freq|<iphase> iphase 1.0} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
201 43 [label = "{{ <in> in|<srclo> srclo -1.0|<srchi> srchi 1.0|<dstlo> dstlo 0.995|<dsthi> dsthi 1.005} |<__UG_NAME__>lin-exp }" style="bold, rounded" shape=record rankdir=LR];
202 55 [label = "{{ <in> in|<srclo> srclo -1.0|<srchi> srchi 1.0|<dstlo> dstlo 0.995|<dsthi> dsthi 1.005} |<__UG_NAME__>lin-exp }" style="bold, rounded" shape=record rankdir=LR];
203 68 [label = "{{ <in> in|<srclo> srclo -1.0|<srchi> srchi 1.0|<dstlo> dstlo 0.995|<dsthi> dsthi 1.005} |<__UG_NAME__>lin-exp }" style="bold, rounded" shape=record rankdir=LR];
204 41 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
205 117 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
206 47 [label = "{{ <in> in|<mul> mul 0.5|<add> add 0.5} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
207 50 [label = "{{ <in> in|<mul> mul 0.375|<add> add 0.5} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
208 59 [label = "{{ <in> in|<mul> mul 0.5|<add> add 0.5} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
209 62 [label = "{{ <in> in|<mul> mul 0.375|<add> add 0.5} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
210 72 [label = "{{ <in> in|<mul> mul 0.5|<add> add 0.5} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
211 75 [label = "{{ <in> in|<mul> mul 0.375|<add> add 0.5} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
212 84 [label = "{{ <in> in|<mul> mul 0.1|<add> add 0.0} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
213 88 [label = "{{ <in> in|<mul> mul 8.3333335E-4|<add> add 0.004166667} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
214 94 [label = "{{ <in> in|<mul> mul 0.1|<add> add 0.0} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
215 98 [label = "{{ <in> in|<mul> mul 8.3333335E-4|<add> add 0.004166667} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
216 119 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
217 160 [label = "{{ <in> in|<mul> mul 0.1|<add> add 0.0} |<__UG_NAME__>mul-add }" style="filled, bold, rounded" shape=record rankdir=LR];
218 170 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>|<signals___pan2___2>|<signals___pan2___3>|<signals___pan2___4>|<signals___pan2___5>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
219 155 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
220 156 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
221 169 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
222 129 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
223 133 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
224 168 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
225 104 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
226 42 [label = "{{ <freq> freq 2.9495428|<phase> phase 3.0215828|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
227 49 [label = "{{ <freq> freq 2.7397006|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
228 54 [label = "{{ <freq> freq 2.9825559|<phase> phase 4.7889028|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
229 61 [label = "{{ <freq> freq 2.2917612|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
230 67 [label = "{{ <freq> freq 2.9804978|<phase> phase 2.7581153|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
231 74 [label = "{{ <freq> freq 2.8854527|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
232 87 [label = "{{ <freq> freq 3.0|<phase> phase 1.5707964|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
233 97 [label = "{{ <freq> freq 3.0|<phase> phase 4.712389|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
234
235 43:__UG_NAME__ -> 44:b ;
236 41:__UG_NAME__ -> 44:a ;
237 44:__UG_NAME__ -> 45:b ;
238 44:__UG_NAME__ -> 48:a ;
239 52:__UG_NAME__ -> 53:b ;
240 47:__UG_NAME__ -> 53:a ;
241 55:__UG_NAME__ -> 56:b ;
242 41:__UG_NAME__ -> 56:a ;
243 56:__UG_NAME__ -> 57:b ;
244 56:__UG_NAME__ -> 60:a ;
245 64:__UG_NAME__ -> 65:b ;
246 59:__UG_NAME__ -> 65:a ;
247 68:__UG_NAME__ -> 69:b ;
248 41:__UG_NAME__ -> 69:a ;
249 69:__UG_NAME__ -> 70:b ;
250 69:__UG_NAME__ -> 73:a ;
251 77:__UG_NAME__ -> 78:b ;
252 72:__UG_NAME__ -> 78:a ;
253 79:__UG_NAME__ -> 80:b ;
254 44:__UG_NAME__ -> 81:b ;
255 89:__UG_NAME__ -> 90:b ;
256 56:__UG_NAME__ -> 91:b ;
257 99:__UG_NAME__ -> 100:b ;
258 101:__UG_NAME__ -> 102:b ;
259 28:__UG_NAME__ -> 102:a ;
260 105:__UG_NAME__ -> 106:b ;
261 102:__UG_NAME__ -> 106:a ;
262 130:__UG_NAME__ -> 131:b ;
263 28:__UG_NAME__ -> 131:a ;
264 105:__UG_NAME__ -> 132:b ;
265 131:__UG_NAME__ -> 132:a ;
266 153:__UG_NAME__ -> 154:b ;
267 29:__UG_NAME__ -> 154:a ;
268 69:__UG_NAME__ -> 157:b ;
269 163:__UG_NAME__ -> 164:b ;
270 165:__UG_NAME__ -> 166:b ;
271 28:__UG_NAME__ -> 166:a ;
272 105:__UG_NAME__ -> 167:b ;
273 166:__UG_NAME__ -> 167:a ;
274 34:__UG_NAME__ -> 35:b ;
275 31:__UG_NAME__ -> 35:a ;
276 38:__UG_NAME__ -> 39:b ;
277 35:__UG_NAME__ -> 39:a ;
278 65:__UG_NAME__ -> 66:b ;
279 53:__UG_NAME__ -> 66:a ;
280 78:__UG_NAME__ -> 79:b ;
281 66:__UG_NAME__ -> 79:a ;
282 82:__UG_NAME__ -> 83:b ;
283 80:__UG_NAME__ -> 83:a ;
284 92:__UG_NAME__ -> 93:b ;
285 80:__UG_NAME__ -> 93:a ;
286 100:__UG_NAME__ -> 101:b ;
287 96:__UG_NAME__ -> 101:a ;
288 110:__UG_NAME__ -> 111:b ;
289 107:__UG_NAME__ -> 111:a ;
290 114:__UG_NAME__ -> 115:b ;
291 111:__UG_NAME__ -> 115:a ;
292 122:__UG_NAME__ -> 123:b ;
293 118:__UG_NAME__ -> 123:a ;
294 126:__UG_NAME__ -> 127:b ;
295 123:__UG_NAME__ -> 127:a ;
296 90:__UG_NAME__ -> 130:b ;
297 86:__UG_NAME__ -> 130:a ;
298 137:__UG_NAME__ -> 138:b ;
299 134:__UG_NAME__ -> 138:a ;
300 141:__UG_NAME__ -> 142:b ;
301 138:__UG_NAME__ -> 142:a ;
302 147:__UG_NAME__ -> 148:b ;
303 144:__UG_NAME__ -> 148:a ;
304 151:__UG_NAME__ -> 152:b ;
305 148:__UG_NAME__ -> 152:a ;
306 158:__UG_NAME__ -> 159:b ;
307 80:__UG_NAME__ -> 159:a ;
308 164:__UG_NAME__ -> 165:b ;
309 162:__UG_NAME__ -> 165:a ;
310 51:__UG_NAME__ -> 52:b ;
311 63:__UG_NAME__ -> 64:b ;
312 76:__UG_NAME__ -> 77:b ;
313 17:__UG_NAME__ -> 103:b ;
314 33:__UG_NAME__ -> 34:a ;
315 37:__UG_NAME__ -> 38:a ;
316 109:__UG_NAME__ -> 110:a ;
317 113:__UG_NAME__ -> 114:a ;
318 121:__UG_NAME__ -> 122:a ;
319 125:__UG_NAME__ -> 126:a ;
320 136:__UG_NAME__ -> 137:a ;
321 140:__UG_NAME__ -> 141:a ;
322 146:__UG_NAME__ -> 147:a ;
323 150:__UG_NAME__ -> 151:a ;
324 32:__UG_NAME__ -> 33:a ;
325 36:__UG_NAME__ -> 37:a ;
326 108:__UG_NAME__ -> 109:a ;
327 112:__UG_NAME__ -> 113:a ;
328 120:__UG_NAME__ -> 121:a ;
329 124:__UG_NAME__ -> 125:a ;
330 135:__UG_NAME__ -> 136:a ;
331 139:__UG_NAME__ -> 140:a ;
332 145:__UG_NAME__ -> 146:a ;
333 149:__UG_NAME__ -> 150:a ;
334 84:__UG_NAME__ -> 85:in ;
335 85:__UG_NAME__ -> 86:in ;
336 94:__UG_NAME__ -> 95:in ;
337 95:__UG_NAME__ -> 96:in ;
338 160:__UG_NAME__ -> 161:in ;
339 161:__UG_NAME__ -> 162:in ;
340 88:__UG_NAME__ -> 89:delay____time ;
341 86:__UG_NAME__ -> 89:in ;
342 98:__UG_NAME__ -> 99:delay____time ;
343 96:__UG_NAME__ -> 99:in ;
344 88:__UG_NAME__ -> 163:delay____time ;
345 162:__UG_NAME__ -> 163:in ;
346 39:__UG_NAME__ -> 40:gate ;
347 0:__UG_NAME__ -> 40:envelope___control___0 ;
348 0:__UG_NAME__ -> 40:envelope___control___4 ;
349 1:__UG_NAME__ -> 40:envelope___control___5 ;
350 2:__UG_NAME__ -> 40:envelope___control___6 ;
351 3:__UG_NAME__ -> 40:envelope___control___7 ;
352 16:__UG_NAME__ -> 105:envelope___control___4 ;
353 12:__UG_NAME__ -> 105:envelope___control___5 ;
354 19:__UG_NAME__ -> 105:envelope___control___6 ;
355 104:__UG_NAME__ -> 105:envelope___select___8 ;
356 13:__UG_NAME__ -> 105:envelope___control___9 ;
357 19:__UG_NAME__ -> 105:envelope___control___10 ;
358 18:__UG_NAME__ -> 105:envelope___control___12 ;
359 14:__UG_NAME__ -> 105:envelope___control___13 ;
360 19:__UG_NAME__ -> 105:envelope___control___14 ;
361 15:__UG_NAME__ -> 105:envelope___control___17 ;
362 19:__UG_NAME__ -> 105:envelope___control___18 ;
363 115:__UG_NAME__ -> 116:gate ;
364 20:__UG_NAME__ -> 116:envelope___control___0 ;
365 20:__UG_NAME__ -> 116:envelope___control___4 ;
366 21:__UG_NAME__ -> 116:envelope___control___5 ;
367 22:__UG_NAME__ -> 116:envelope___control___6 ;
368 23:__UG_NAME__ -> 116:envelope___control___7 ;
369 127:__UG_NAME__ -> 128:gate ;
370 119:__UG_NAME__ -> 128:envelope___mul____add___0 ;
371 119:__UG_NAME__ -> 128:envelope___mul____add___4 ;
372 25:__UG_NAME__ -> 128:envelope___control___5 ;
373 26:__UG_NAME__ -> 128:envelope___control___6 ;
374 27:__UG_NAME__ -> 128:envelope___control___7 ;
375 142:__UG_NAME__ -> 143:gate ;
376 8:__UG_NAME__ -> 143:envelope___control___0 ;
377 8:__UG_NAME__ -> 143:envelope___control___4 ;
378 9:__UG_NAME__ -> 143:envelope___control___5 ;
379 10:__UG_NAME__ -> 143:envelope___control___6 ;
380 11:__UG_NAME__ -> 143:envelope___control___7 ;
381 152:__UG_NAME__ -> 153:gate ;
382 4:__UG_NAME__ -> 153:envelope___control___0 ;
383 4:__UG_NAME__ -> 153:envelope___control___4 ;
384 5:__UG_NAME__ -> 153:envelope___control___5 ;
385 6:__UG_NAME__ -> 153:envelope___control___6 ;
386 7:__UG_NAME__ -> 153:envelope___control___7 ;
387 0:__UG_NAME__ -> 32:in ;
388 1:__UG_NAME__ -> 36:in ;
389 20:__UG_NAME__ -> 108:in ;
390 21:__UG_NAME__ -> 112:in ;
391 119:__UG_NAME__ -> 120:in ;
392 25:__UG_NAME__ -> 124:in ;
393 8:__UG_NAME__ -> 135:in ;
394 9:__UG_NAME__ -> 139:in ;
395 4:__UG_NAME__ -> 145:in ;
396 5:__UG_NAME__ -> 149:in ;
397 81:__UG_NAME__ -> 82:freq ;
398 91:__UG_NAME__ -> 92:freq ;
399 157:__UG_NAME__ -> 158:freq ;
400 50:__UG_NAME__ -> 51:width ;
401 48:__UG_NAME__ -> 51:freq ;
402 62:__UG_NAME__ -> 63:width ;
403 60:__UG_NAME__ -> 63:freq ;
404 75:__UG_NAME__ -> 76:width ;
405 73:__UG_NAME__ -> 76:freq ;
406 45:__UG_NAME__ -> 46:freq ;
407 57:__UG_NAME__ -> 58:freq ;
408 70:__UG_NAME__ -> 71:freq ;
409 42:__UG_NAME__ -> 43:in ;
410 54:__UG_NAME__ -> 55:in ;
411 67:__UG_NAME__ -> 68:in ;
412 40:__UG_NAME__ -> 41:a ;
413 116:__UG_NAME__ -> 117:a ;
414 46:__UG_NAME__ -> 47:in ;
415 49:__UG_NAME__ -> 50:in ;
416 58:__UG_NAME__ -> 59:in ;
417 61:__UG_NAME__ -> 62:in ;
418 71:__UG_NAME__ -> 72:in ;
419 74:__UG_NAME__ -> 75:in ;
420 83:__UG_NAME__ -> 84:in ;
421 87:__UG_NAME__ -> 88:in ;
422 93:__UG_NAME__ -> 94:in ;
423 97:__UG_NAME__ -> 98:in ;
424 24:__UG_NAME__ -> 119:in ;
425 159:__UG_NAME__ -> 160:in ;
426 155:__UG_NAME__ -> 170:signals___pan2___0 ;
427 155:__UG_NAME__ -> 170:signals___pan2___1 ;
428 156:__UG_NAME__ -> 170:signals___pan2___2 ;
429 156:__UG_NAME__ -> 170:signals___pan2___3 ;
430 169:__UG_NAME__ -> 170:signals___pan2___4 ;
431 169:__UG_NAME__ -> 170:signals___pan2___5 ;
432 30:__UG_NAME__ -> 170:bus ;
433 154:__UG_NAME__ -> 155:level ;
434 143:__UG_NAME__ -> 155:pos ;
435 133:__UG_NAME__ -> 155:in ;
436 154:__UG_NAME__ -> 156:level ;
437 143:__UG_NAME__ -> 156:pos ;
438 129:__UG_NAME__ -> 156:in ;
439 154:__UG_NAME__ -> 169:level ;
440 143:__UG_NAME__ -> 169:pos ;
441 168:__UG_NAME__ -> 169:in ;
442 128:__UG_NAME__ -> 129:rq ;
443 117:__UG_NAME__ -> 129:freq ;
444 106:__UG_NAME__ -> 129:in ;
445 128:__UG_NAME__ -> 133:rq ;
446 117:__UG_NAME__ -> 133:freq ;
447 132:__UG_NAME__ -> 133:in ;
448 128:__UG_NAME__ -> 168:rq ;
449 117:__UG_NAME__ -> 168:freq ;
450 167:__UG_NAME__ -> 168:in ;
451 17:__UG_NAME__ -> 104:array___control___0 ;
452 18:__UG_NAME__ -> 104:array___control___1 ;
453 103:__UG_NAME__ -> 104:which ;
454
455 }
+0
-292
etc/synthdefs/graphviz/sonic-pi-mixer.dot less more
0 digraph synthdef {
1 56 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 75 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 89 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 98 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 32 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 36 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 39 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 43 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 48 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 52 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 54 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 60 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 80 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
15 81 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="filled, bold, rounded" shape=record rankdir=LR];
16 31 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 35 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 38 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 42 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 47 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 51 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 59 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 63 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 25 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 30 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 34 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 41 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 46 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 50 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 58 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 62 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 70 [label = "{{ <in> in|<lo> lo 0.0|<hi> hi 135.5} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
33 90 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>clip2 }" style="filled, bold, rounded" shape=record rankdir=LR];
34 99 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>clip2 }" style="filled, bold, rounded" shape=record rankdir=LR];
35 0 [label = "control
36 :in_bus
37 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 1 [label = "control
39 :pre_amp
40 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 2 [label = "control
42 :pre_amp_slide
43 default: 0.02" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 3 [label = "control
45 :pre_amp_slide_shape
46 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 4 [label = "control
48 :pre_amp_slide_curve
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 5 [label = "control
51 :amp
52 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 6 [label = "control
54 :amp_slide
55 default: 0.02" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 7 [label = "control
57 :amp_slide_shape
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 8 [label = "control
60 :amp_slide_curve
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 9 [label = "control
63 :safe-recovery-time
64 default: 3.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 10 [label = "control
66 :hpf
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 11 [label = "control
69 :hpf_bypass
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 12 [label = "control
72 :hpf_slide
73 default: 0.02" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 13 [label = "control
75 :hpf_slide_shape
76 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 14 [label = "control
78 :hpf_slide_curve
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 15 [label = "control
81 :lpf
82 default: 135.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 16 [label = "control
84 :lpf_bypass
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 17 [label = "control
87 :lpf_slide
88 default: 0.02" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 18 [label = "control
90 :lpf_slide_shape
91 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 19 [label = "control
93 :lpf_slide_curve
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 20 [label = "control
96 :force_mono
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 21 [label = "control
99 :invert_stereo
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 22 [label = "control
102 :limiter_bypass
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 23 [label = "control
105 :leak_dc_bypass
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 44 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 53 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
109 65 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
110 69 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
111 67 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
112 76 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
113 91 [label = "{{ <in> in|<freq> freq 10.0} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
114 100 [label = "{{ <in> in|<freq> freq 10.0} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
115 24 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
117 29 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
118 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
119 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
120 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
121 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
122 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
123 26 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
124 28 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
125 37 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
126 57 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
127 55 [label = "{{ <bus> bus|<num____channels> num-channels 1} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
128 74 [label = "{{ <bus> bus|<num____channels> num-channels 1} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
129 87 [label = "{{ <in> in|<coef> coef 0.995} |<__UG_NAME__>leak-dc }" style="filled, bold, rounded" shape=record rankdir=LR];
130 96 [label = "{{ <in> in|<coef> coef 0.995} |<__UG_NAME__>leak-dc }" style="filled, bold, rounded" shape=record rankdir=LR];
131 85 [label = "{{ <in> in|<level> level 0.99|<dur> dur 0.01} |<__UG_NAME__>limiter }" style="filled, bold, rounded" shape=record rankdir=LR];
132 94 [label = "{{ <in> in|<level> level 0.99|<dur> dur 0.01} |<__UG_NAME__>limiter }" style="filled, bold, rounded" shape=record rankdir=LR];
133 72 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
134 78 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
135 92 [label = "{{ <in> in|<freq> freq 20500.0} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
136 101 [label = "{{ <in> in|<freq> freq 20500.0} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
137 66 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
138 71 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
139 102 [label = "{{ <bus> bus 0.0|{{<signals___lpf___0>|<signals___lpf___1>}|signals}} |<__UG_NAME__>replace-out }" style="filled, bold, rounded" shape=record rankdir=LR];
140 68 [label = "{{ <which> which|{{<array___hpf___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
141 73 [label = "{{ <which> which|{{<array___lpf___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
142 77 [label = "{{ <which> which|{{<array___hpf___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
143 79 [label = "{{ <which> which|{{<array___lpf___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
144 82 [label = "{{ <which> which|{{<array___select___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
145 83 [label = "{{ <which> which|{{<array___select___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
146 84 [label = "{{ <which> which|{{<array___select___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
147 86 [label = "{{ <which> which|{{<array___limiter___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
148 88 [label = "{{ <which> which|{{<array___leak____dc___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
149 93 [label = "{{ <which> which|{{<array___select___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
150 95 [label = "{{ <which> which|{{<array___limiter___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
151 97 [label = "{{ <which> which|{{<array___leak____dc___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
152
153 55:__UG_NAME__ -> 56:b ;
154 53:__UG_NAME__ -> 56:a ;
155 74:__UG_NAME__ -> 75:b ;
156 53:__UG_NAME__ -> 75:a ;
157 88:__UG_NAME__ -> 89:b ;
158 44:__UG_NAME__ -> 89:a ;
159 97:__UG_NAME__ -> 98:b ;
160 44:__UG_NAME__ -> 98:a ;
161 31:__UG_NAME__ -> 32:b ;
162 28:__UG_NAME__ -> 32:a ;
163 35:__UG_NAME__ -> 36:b ;
164 32:__UG_NAME__ -> 36:a ;
165 38:__UG_NAME__ -> 39:b ;
166 37:__UG_NAME__ -> 39:a ;
167 42:__UG_NAME__ -> 43:b ;
168 39:__UG_NAME__ -> 43:a ;
169 47:__UG_NAME__ -> 48:b ;
170 26:__UG_NAME__ -> 48:a ;
171 51:__UG_NAME__ -> 52:b ;
172 48:__UG_NAME__ -> 52:a ;
173 0:__UG_NAME__ -> 54:a ;
174 59:__UG_NAME__ -> 60:b ;
175 57:__UG_NAME__ -> 60:a ;
176 63:__UG_NAME__ -> 64:b ;
177 60:__UG_NAME__ -> 64:a ;
178 73:__UG_NAME__ -> 80:b ;
179 79:__UG_NAME__ -> 80:a ;
180 80:__UG_NAME__ -> 81:a ;
181 30:__UG_NAME__ -> 31:a ;
182 34:__UG_NAME__ -> 35:a ;
183 25:__UG_NAME__ -> 38:a ;
184 41:__UG_NAME__ -> 42:a ;
185 46:__UG_NAME__ -> 47:a ;
186 50:__UG_NAME__ -> 51:a ;
187 58:__UG_NAME__ -> 59:a ;
188 62:__UG_NAME__ -> 63:a ;
189 24:__UG_NAME__ -> 25:a ;
190 29:__UG_NAME__ -> 30:a ;
191 33:__UG_NAME__ -> 34:a ;
192 40:__UG_NAME__ -> 41:a ;
193 45:__UG_NAME__ -> 46:a ;
194 49:__UG_NAME__ -> 50:a ;
195 27:__UG_NAME__ -> 58:a ;
196 61:__UG_NAME__ -> 62:a ;
197 69:__UG_NAME__ -> 70:in ;
198 89:__UG_NAME__ -> 90:a ;
199 98:__UG_NAME__ -> 99:a ;
200 43:__UG_NAME__ -> 44:gate ;
201 5:__UG_NAME__ -> 44:envelope___control___0 ;
202 5:__UG_NAME__ -> 44:envelope___control___4 ;
203 6:__UG_NAME__ -> 44:envelope___control___5 ;
204 7:__UG_NAME__ -> 44:envelope___control___6 ;
205 8:__UG_NAME__ -> 44:envelope___control___7 ;
206 52:__UG_NAME__ -> 53:gate ;
207 1:__UG_NAME__ -> 53:envelope___control___0 ;
208 1:__UG_NAME__ -> 53:envelope___control___4 ;
209 2:__UG_NAME__ -> 53:envelope___control___5 ;
210 3:__UG_NAME__ -> 53:envelope___control___6 ;
211 4:__UG_NAME__ -> 53:envelope___control___7 ;
212 64:__UG_NAME__ -> 65:gate ;
213 10:__UG_NAME__ -> 65:envelope___control___0 ;
214 10:__UG_NAME__ -> 65:envelope___control___4 ;
215 12:__UG_NAME__ -> 65:envelope___control___5 ;
216 13:__UG_NAME__ -> 65:envelope___control___6 ;
217 14:__UG_NAME__ -> 65:envelope___control___7 ;
218 36:__UG_NAME__ -> 69:gate ;
219 15:__UG_NAME__ -> 69:envelope___control___0 ;
220 15:__UG_NAME__ -> 69:envelope___control___4 ;
221 17:__UG_NAME__ -> 69:envelope___control___5 ;
222 18:__UG_NAME__ -> 69:envelope___control___6 ;
223 19:__UG_NAME__ -> 69:envelope___control___7 ;
224 66:__UG_NAME__ -> 67:freq ;
225 56:__UG_NAME__ -> 67:in ;
226 66:__UG_NAME__ -> 76:freq ;
227 75:__UG_NAME__ -> 76:in ;
228 90:__UG_NAME__ -> 91:in ;
229 99:__UG_NAME__ -> 100:in ;
230 5:__UG_NAME__ -> 24:in ;
231 10:__UG_NAME__ -> 27:in ;
232 15:__UG_NAME__ -> 29:in ;
233 17:__UG_NAME__ -> 33:in ;
234 6:__UG_NAME__ -> 40:in ;
235 1:__UG_NAME__ -> 45:in ;
236 2:__UG_NAME__ -> 49:in ;
237 12:__UG_NAME__ -> 61:in ;
238 54:__UG_NAME__ -> 55:bus ;
239 0:__UG_NAME__ -> 74:bus ;
240 86:__UG_NAME__ -> 87:in ;
241 95:__UG_NAME__ -> 96:in ;
242 84:__UG_NAME__ -> 85:in ;
243 93:__UG_NAME__ -> 94:in ;
244 71:__UG_NAME__ -> 72:freq ;
245 68:__UG_NAME__ -> 72:in ;
246 71:__UG_NAME__ -> 78:freq ;
247 77:__UG_NAME__ -> 78:in ;
248 91:__UG_NAME__ -> 92:in ;
249 100:__UG_NAME__ -> 101:in ;
250 65:__UG_NAME__ -> 66:a ;
251 70:__UG_NAME__ -> 71:a ;
252 101:__UG_NAME__ -> 102:signals___lpf___0 ;
253 92:__UG_NAME__ -> 102:signals___lpf___1 ;
254 67:__UG_NAME__ -> 68:array___hpf___0 ;
255 56:__UG_NAME__ -> 68:array___binary____op____u____gen___1 ;
256 11:__UG_NAME__ -> 68:which ;
257 72:__UG_NAME__ -> 73:array___lpf___0 ;
258 68:__UG_NAME__ -> 73:array___select___1 ;
259 16:__UG_NAME__ -> 73:which ;
260 76:__UG_NAME__ -> 77:array___hpf___0 ;
261 75:__UG_NAME__ -> 77:array___binary____op____u____gen___1 ;
262 11:__UG_NAME__ -> 77:which ;
263 78:__UG_NAME__ -> 79:array___lpf___0 ;
264 77:__UG_NAME__ -> 79:array___select___1 ;
265 16:__UG_NAME__ -> 79:which ;
266 79:__UG_NAME__ -> 82:array___select___0 ;
267 81:__UG_NAME__ -> 82:array___binary____op____u____gen___1 ;
268 20:__UG_NAME__ -> 82:which ;
269 73:__UG_NAME__ -> 83:array___select___0 ;
270 82:__UG_NAME__ -> 83:array___select___1 ;
271 20:__UG_NAME__ -> 83:which ;
272 83:__UG_NAME__ -> 84:array___select___0 ;
273 82:__UG_NAME__ -> 84:array___select___1 ;
274 21:__UG_NAME__ -> 84:which ;
275 85:__UG_NAME__ -> 86:array___limiter___0 ;
276 84:__UG_NAME__ -> 86:array___select___1 ;
277 22:__UG_NAME__ -> 86:which ;
278 87:__UG_NAME__ -> 88:array___leak____dc___0 ;
279 86:__UG_NAME__ -> 88:array___select___1 ;
280 23:__UG_NAME__ -> 88:which ;
281 82:__UG_NAME__ -> 93:array___select___0 ;
282 83:__UG_NAME__ -> 93:array___select___1 ;
283 21:__UG_NAME__ -> 93:which ;
284 94:__UG_NAME__ -> 95:array___limiter___0 ;
285 93:__UG_NAME__ -> 95:array___select___1 ;
286 22:__UG_NAME__ -> 95:which ;
287 96:__UG_NAME__ -> 97:array___leak____dc___0 ;
288 95:__UG_NAME__ -> 97:array___select___1 ;
289 23:__UG_NAME__ -> 97:which ;
290
291 }
+0
-461
etc/synthdefs/graphviz/sonic-pi-mod_dsaw.dot less more
0 digraph synthdef {
1 60 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 74 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 86 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 91 [label = "{{ <a> |<b> 6.2831855} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 94 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 96 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 98 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 122 [label = "{{ <a> |<b> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 141 [label = "{{ <a> |<b> 0.5} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
10 157 [label = "{{ <a> 1.3|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
11 158 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
12 48 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 57 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 65 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 69 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 72 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 79 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 83 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 88 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 90 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 103 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 107 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 113 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 117 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 119 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 131 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 135 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 137 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 140 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
31 148 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 152 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 162 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 87 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
35 97 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
36 120 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
37 123 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
38 71 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
39 121 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
40 154 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
41 47 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 51 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 56 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 64 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 68 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 78 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 82 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 95 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 102 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 106 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 112 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 116 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 130 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 134 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 147 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 151 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 161 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
58 46 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 50 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 55 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 63 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 67 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 77 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 81 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 101 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
66 105 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
67 111 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
68 115 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
69 129 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
70 133 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
71 146 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
72 150 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
73 160 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
74 0 [label = "control
75 :note
76 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 1 [label = "control
78 :note_slide
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 2 [label = "control
81 :note_slide_shape
82 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 3 [label = "control
84 :note_slide_curve
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 4 [label = "control
87 :amp
88 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 5 [label = "control
90 :amp_slide
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 6 [label = "control
93 :amp_slide_shape
94 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 7 [label = "control
96 :amp_slide_curve
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 8 [label = "control
99 :pan
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 9 [label = "control
102 :pan_slide
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 10 [label = "control
105 :pan_slide_shape
106 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 11 [label = "control
108 :pan_slide_curve
109 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 12 [label = "control
111 :attack
112 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 13 [label = "control
114 :decay
115 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 14 [label = "control
117 :sustain
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 15 [label = "control
120 :release
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 16 [label = "control
123 :attack_level
124 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 17 [label = "control
126 :decay_level
127 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 18 [label = "control
129 :sustain_level
130 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 19 [label = "control
132 :env_curve
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 20 [label = "control
135 :cutoff
136 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 21 [label = "control
138 :cutoff_slide
139 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 22 [label = "control
141 :cutoff_slide_shape
142 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 23 [label = "control
144 :cutoff_slide_curve
145 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 24 [label = "control
147 :mod_phase
148 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 25 [label = "control
150 :mod_phase_slide
151 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 26 [label = "control
153 :mod_phase_slide_shape
154 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 27 [label = "control
156 :mod_phase_slide_curve
157 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 28 [label = "control
159 :mod_range
160 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 29 [label = "control
162 :mod_range_slide
163 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 30 [label = "control
165 :mod_range_slide_shape
166 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
167 31 [label = "control
168 :mod_range_slide_curve
169 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
170 32 [label = "control
171 :mod_pulse_width
172 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
173 33 [label = "control
174 :mod_pulse_width_slide
175 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
176 34 [label = "control
177 :mod_pulse_width_slide_shape
178 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
179 35 [label = "control
180 :mod_pulse_width_slide_curve
181 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
182 36 [label = "control
183 :mod_phase_offset
184 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
185 37 [label = "control
186 :mod_wave
187 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
188 38 [label = "control
189 :mod_invert_wave
190 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
191 39 [label = "control
192 :detune
193 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
194 40 [label = "control
195 :detune_slide
196 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
197 41 [label = "control
198 :detune_slide_shape
199 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
200 42 [label = "control
201 :detune_slide_curve
202 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
203 43 [label = "control
204 :out_bus
205 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
206 58 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
207 70 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
208 84 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
209 108 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|5|0.0}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
210 118 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
211 136 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
212 153 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
213 156 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
214 163 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
215 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
216 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
217 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
218 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
219 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
220 76 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
221 80 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
222 100 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
223 104 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
224 110 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
225 114 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
226 128 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
227 132 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
228 145 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
229 149 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
230 159 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
231 44 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
232 52 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
233 61 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
234 75 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
235 99 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
236 109 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
237 127 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
238 144 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
239 85 [label = "{{ <freq> freq|<iphase> iphase|<width> width} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
240 73 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
241 89 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
242 142 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
243 59 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
244 125 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
245 138 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
246 124 [label = "{{ <in> in|<mul> mul|<add> add} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
247 143 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
248 165 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
249 164 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
250 126 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
251 139 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
252 93 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
253 155 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
254 92 [label = "{{ <freq> freq|<phase> phase|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
255
256 36:__UG_NAME__ -> 60:b ;
257 73:__UG_NAME__ -> 74:b ;
258 85:__UG_NAME__ -> 86:b ;
259 90:__UG_NAME__ -> 91:a ;
260 93:__UG_NAME__ -> 94:b ;
261 95:__UG_NAME__ -> 96:b ;
262 97:__UG_NAME__ -> 98:b ;
263 94:__UG_NAME__ -> 98:a ;
264 121:__UG_NAME__ -> 122:a ;
265 140:__UG_NAME__ -> 141:a ;
266 156:__UG_NAME__ -> 157:b ;
267 143:__UG_NAME__ -> 158:b ;
268 157:__UG_NAME__ -> 158:a ;
269 47:__UG_NAME__ -> 48:b ;
270 44:__UG_NAME__ -> 48:a ;
271 51:__UG_NAME__ -> 53:b ;
272 52:__UG_NAME__ -> 53:a ;
273 56:__UG_NAME__ -> 57:b ;
274 53:__UG_NAME__ -> 57:a ;
275 64:__UG_NAME__ -> 65:b ;
276 61:__UG_NAME__ -> 65:a ;
277 68:__UG_NAME__ -> 69:b ;
278 65:__UG_NAME__ -> 69:a ;
279 60:__UG_NAME__ -> 72:a ;
280 78:__UG_NAME__ -> 79:b ;
281 75:__UG_NAME__ -> 79:a ;
282 82:__UG_NAME__ -> 83:b ;
283 79:__UG_NAME__ -> 83:a ;
284 60:__UG_NAME__ -> 88:a ;
285 36:__UG_NAME__ -> 90:a ;
286 102:__UG_NAME__ -> 103:b ;
287 99:__UG_NAME__ -> 103:a ;
288 106:__UG_NAME__ -> 107:b ;
289 103:__UG_NAME__ -> 107:a ;
290 112:__UG_NAME__ -> 113:b ;
291 109:__UG_NAME__ -> 113:a ;
292 116:__UG_NAME__ -> 117:b ;
293 113:__UG_NAME__ -> 117:a ;
294 118:__UG_NAME__ -> 119:b ;
295 108:__UG_NAME__ -> 119:a ;
296 130:__UG_NAME__ -> 131:b ;
297 127:__UG_NAME__ -> 131:a ;
298 134:__UG_NAME__ -> 135:b ;
299 131:__UG_NAME__ -> 135:a ;
300 136:__UG_NAME__ -> 137:b ;
301 124:__UG_NAME__ -> 137:a ;
302 139:__UG_NAME__ -> 140:b ;
303 126:__UG_NAME__ -> 140:a ;
304 147:__UG_NAME__ -> 148:b ;
305 144:__UG_NAME__ -> 148:a ;
306 151:__UG_NAME__ -> 152:b ;
307 148:__UG_NAME__ -> 152:a ;
308 161:__UG_NAME__ -> 162:b ;
309 48:__UG_NAME__ -> 162:a ;
310 86:__UG_NAME__ -> 87:a ;
311 96:__UG_NAME__ -> 97:a ;
312 118:__UG_NAME__ -> 120:b ;
313 119:__UG_NAME__ -> 120:a ;
314 122:__UG_NAME__ -> 123:b ;
315 118:__UG_NAME__ -> 123:a ;
316 70:__UG_NAME__ -> 71:b ;
317 120:__UG_NAME__ -> 121:a ;
318 17:__UG_NAME__ -> 154:b ;
319 46:__UG_NAME__ -> 47:a ;
320 50:__UG_NAME__ -> 51:a ;
321 55:__UG_NAME__ -> 56:a ;
322 63:__UG_NAME__ -> 64:a ;
323 67:__UG_NAME__ -> 68:a ;
324 77:__UG_NAME__ -> 78:a ;
325 81:__UG_NAME__ -> 82:a ;
326 38:__UG_NAME__ -> 95:a ;
327 101:__UG_NAME__ -> 102:a ;
328 105:__UG_NAME__ -> 106:a ;
329 111:__UG_NAME__ -> 112:a ;
330 115:__UG_NAME__ -> 116:a ;
331 129:__UG_NAME__ -> 130:a ;
332 133:__UG_NAME__ -> 134:a ;
333 146:__UG_NAME__ -> 147:a ;
334 150:__UG_NAME__ -> 151:a ;
335 160:__UG_NAME__ -> 161:a ;
336 45:__UG_NAME__ -> 46:a ;
337 49:__UG_NAME__ -> 50:a ;
338 54:__UG_NAME__ -> 55:a ;
339 62:__UG_NAME__ -> 63:a ;
340 66:__UG_NAME__ -> 67:a ;
341 76:__UG_NAME__ -> 77:a ;
342 80:__UG_NAME__ -> 81:a ;
343 100:__UG_NAME__ -> 101:a ;
344 104:__UG_NAME__ -> 105:a ;
345 110:__UG_NAME__ -> 111:a ;
346 114:__UG_NAME__ -> 115:a ;
347 128:__UG_NAME__ -> 129:a ;
348 132:__UG_NAME__ -> 133:a ;
349 145:__UG_NAME__ -> 146:a ;
350 149:__UG_NAME__ -> 150:a ;
351 159:__UG_NAME__ -> 160:a ;
352 57:__UG_NAME__ -> 58:gate ;
353 20:__UG_NAME__ -> 58:envelope___control___0 ;
354 20:__UG_NAME__ -> 58:envelope___control___4 ;
355 21:__UG_NAME__ -> 58:envelope___control___5 ;
356 22:__UG_NAME__ -> 58:envelope___control___6 ;
357 23:__UG_NAME__ -> 58:envelope___control___7 ;
358 69:__UG_NAME__ -> 70:gate ;
359 24:__UG_NAME__ -> 70:envelope___control___0 ;
360 24:__UG_NAME__ -> 70:envelope___control___4 ;
361 25:__UG_NAME__ -> 70:envelope___control___5 ;
362 26:__UG_NAME__ -> 70:envelope___control___6 ;
363 27:__UG_NAME__ -> 70:envelope___control___7 ;
364 83:__UG_NAME__ -> 84:gate ;
365 32:__UG_NAME__ -> 84:envelope___control___0 ;
366 32:__UG_NAME__ -> 84:envelope___control___4 ;
367 33:__UG_NAME__ -> 84:envelope___control___5 ;
368 34:__UG_NAME__ -> 84:envelope___control___6 ;
369 35:__UG_NAME__ -> 84:envelope___control___7 ;
370 107:__UG_NAME__ -> 108:gate ;
371 28:__UG_NAME__ -> 108:envelope___control___0 ;
372 28:__UG_NAME__ -> 108:envelope___control___4 ;
373 29:__UG_NAME__ -> 108:envelope___control___5 ;
374 117:__UG_NAME__ -> 118:gate ;
375 0:__UG_NAME__ -> 118:envelope___control___0 ;
376 0:__UG_NAME__ -> 118:envelope___control___4 ;
377 1:__UG_NAME__ -> 118:envelope___control___5 ;
378 2:__UG_NAME__ -> 118:envelope___control___6 ;
379 3:__UG_NAME__ -> 118:envelope___control___7 ;
380 135:__UG_NAME__ -> 136:gate ;
381 39:__UG_NAME__ -> 136:envelope___control___0 ;
382 39:__UG_NAME__ -> 136:envelope___control___4 ;
383 40:__UG_NAME__ -> 136:envelope___control___5 ;
384 41:__UG_NAME__ -> 136:envelope___control___6 ;
385 42:__UG_NAME__ -> 136:envelope___control___7 ;
386 152:__UG_NAME__ -> 153:gate ;
387 8:__UG_NAME__ -> 153:envelope___control___0 ;
388 8:__UG_NAME__ -> 153:envelope___control___4 ;
389 9:__UG_NAME__ -> 153:envelope___control___5 ;
390 10:__UG_NAME__ -> 153:envelope___control___6 ;
391 11:__UG_NAME__ -> 153:envelope___control___7 ;
392 16:__UG_NAME__ -> 156:envelope___control___4 ;
393 12:__UG_NAME__ -> 156:envelope___control___5 ;
394 19:__UG_NAME__ -> 156:envelope___control___6 ;
395 155:__UG_NAME__ -> 156:envelope___select___8 ;
396 13:__UG_NAME__ -> 156:envelope___control___9 ;
397 19:__UG_NAME__ -> 156:envelope___control___10 ;
398 18:__UG_NAME__ -> 156:envelope___control___12 ;
399 14:__UG_NAME__ -> 156:envelope___control___13 ;
400 19:__UG_NAME__ -> 156:envelope___control___14 ;
401 15:__UG_NAME__ -> 156:envelope___control___17 ;
402 19:__UG_NAME__ -> 156:envelope___control___18 ;
403 162:__UG_NAME__ -> 163:gate ;
404 4:__UG_NAME__ -> 163:envelope___control___0 ;
405 4:__UG_NAME__ -> 163:envelope___control___4 ;
406 5:__UG_NAME__ -> 163:envelope___control___5 ;
407 6:__UG_NAME__ -> 163:envelope___control___6 ;
408 7:__UG_NAME__ -> 163:envelope___control___7 ;
409 4:__UG_NAME__ -> 45:in ;
410 20:__UG_NAME__ -> 49:in ;
411 21:__UG_NAME__ -> 54:in ;
412 24:__UG_NAME__ -> 62:in ;
413 25:__UG_NAME__ -> 66:in ;
414 32:__UG_NAME__ -> 76:in ;
415 33:__UG_NAME__ -> 80:in ;
416 28:__UG_NAME__ -> 100:in ;
417 29:__UG_NAME__ -> 104:in ;
418 0:__UG_NAME__ -> 110:in ;
419 1:__UG_NAME__ -> 114:in ;
420 39:__UG_NAME__ -> 128:in ;
421 40:__UG_NAME__ -> 132:in ;
422 8:__UG_NAME__ -> 145:in ;
423 9:__UG_NAME__ -> 149:in ;
424 5:__UG_NAME__ -> 159:in ;
425 84:__UG_NAME__ -> 85:width ;
426 36:__UG_NAME__ -> 85:iphase ;
427 71:__UG_NAME__ -> 85:freq ;
428 72:__UG_NAME__ -> 73:iphase ;
429 71:__UG_NAME__ -> 73:freq ;
430 88:__UG_NAME__ -> 89:iphase ;
431 71:__UG_NAME__ -> 89:freq ;
432 59:__UG_NAME__ -> 142:freq ;
433 141:__UG_NAME__ -> 142:in ;
434 58:__UG_NAME__ -> 59:a ;
435 124:__UG_NAME__ -> 125:a ;
436 137:__UG_NAME__ -> 138:a ;
437 123:__UG_NAME__ -> 124:add ;
438 121:__UG_NAME__ -> 124:mul ;
439 98:__UG_NAME__ -> 124:in ;
440 142:__UG_NAME__ -> 143:in ;
441 164:__UG_NAME__ -> 165:signals___pan2___0 ;
442 164:__UG_NAME__ -> 165:signals___pan2___1 ;
443 43:__UG_NAME__ -> 165:bus ;
444 163:__UG_NAME__ -> 164:level ;
445 153:__UG_NAME__ -> 164:pos ;
446 158:__UG_NAME__ -> 164:in ;
447 125:__UG_NAME__ -> 126:freq ;
448 138:__UG_NAME__ -> 139:freq ;
449 74:__UG_NAME__ -> 93:array___binary____op____u____gen___0 ;
450 87:__UG_NAME__ -> 93:array___binary____op____u____gen___1 ;
451 89:__UG_NAME__ -> 93:array___lf____tri___2 ;
452 92:__UG_NAME__ -> 93:array___sin____osc___3 ;
453 37:__UG_NAME__ -> 93:which ;
454 17:__UG_NAME__ -> 155:array___control___0 ;
455 18:__UG_NAME__ -> 155:array___control___1 ;
456 154:__UG_NAME__ -> 155:which ;
457 91:__UG_NAME__ -> 92:phase ;
458 71:__UG_NAME__ -> 92:freq ;
459
460 }
+0
-504
etc/synthdefs/graphviz/sonic-pi-mod_fm.dot less more
0 digraph synthdef {
1 74 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 77 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 87 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 92 [label = "{{ <a> |<b> 6.2831855} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 95 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 97 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 99 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 123 [label = "{{ <a> |<b> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 127 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 128 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
11 141 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
12 156 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
13 157 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
14 52 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 56 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 67 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 71 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 75 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 80 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 84 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 89 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 91 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 104 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 108 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 114 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 118 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 120 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 133 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 137 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 142 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
31 148 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 152 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 162 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
34 166 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
35 172 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
36 176 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
37 88 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
38 98 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
39 121 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
40 124 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
41 73 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
42 122 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
43 139 [label = "{{ <a> |<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
44 60 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
45 50 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 55 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 66 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 70 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 79 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 83 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 96 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 103 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 107 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 113 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 117 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 132 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 136 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
58 147 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
59 151 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
60 161 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
61 165 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
62 171 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
63 175 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
64 49 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 54 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
66 59 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
67 65 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
68 69 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
69 82 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
70 102 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
71 106 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
72 112 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
73 116 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
74 131 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
75 135 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
76 146 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
77 150 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
78 160 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
79 164 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
80 170 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
81 174 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
82 0 [label = "control
83 :note
84 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 1 [label = "control
86 :note_slide
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 2 [label = "control
89 :note_slide_shape
90 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 3 [label = "control
92 :note_slide_curve
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 4 [label = "control
95 :amp
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 5 [label = "control
98 :amp_slide
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 6 [label = "control
101 :amp_slide_shape
102 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 7 [label = "control
104 :amp_slide_curve
105 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 8 [label = "control
107 :pan
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 9 [label = "control
110 :pan_slide
111 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 10 [label = "control
113 :pan_slide_shape
114 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 11 [label = "control
116 :pan_slide_curve
117 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 12 [label = "control
119 :attack
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 13 [label = "control
122 :decay
123 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 14 [label = "control
125 :sustain
126 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 15 [label = "control
128 :release
129 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 16 [label = "control
131 :attack_level
132 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 17 [label = "control
134 :decay_level
135 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 18 [label = "control
137 :sustain_level
138 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 19 [label = "control
140 :env_curve
141 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
142 20 [label = "control
143 :cutoff
144 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
145 21 [label = "control
146 :cutoff_slide
147 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
148 22 [label = "control
149 :cutoff_slide_shape
150 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
151 23 [label = "control
152 :cutoff_slide_curve
153 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
154 24 [label = "control
155 :mod_phase
156 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
157 25 [label = "control
158 :mod_phase_slide
159 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
160 26 [label = "control
161 :mod_phase_slide_shape
162 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
163 27 [label = "control
164 :mod_phase_slide_curve
165 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
166 28 [label = "control
167 :mod_range
168 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
169 29 [label = "control
170 :mod_range_slide
171 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
172 30 [label = "control
173 :mod_range_slide_shape
174 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
175 31 [label = "control
176 :mod_range_slide_curve
177 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
178 32 [label = "control
179 :mod_pulse_width
180 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
181 33 [label = "control
182 :mod_pulse_width_slide
183 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
184 34 [label = "control
185 :mod_pulse_width_slide_shape
186 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
187 35 [label = "control
188 :mod_pulse_width_slide_curve
189 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
190 36 [label = "control
191 :mod_phase_offset
192 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
193 37 [label = "control
194 :mod_wave
195 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
196 38 [label = "control
197 :mod_invert_wave
198 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
199 39 [label = "control
200 :divisor
201 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
202 40 [label = "control
203 :divisor_slide
204 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
205 41 [label = "control
206 :divisor_slide_shape
207 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
208 42 [label = "control
209 :divisor_slide_curve
210 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
211 43 [label = "control
212 :depth
213 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
214 44 [label = "control
215 :depth_slide
216 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
217 45 [label = "control
218 :depth_slide_shape
219 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
220 46 [label = "control
221 :depth_slide_curve
222 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
223 47 [label = "control
224 :out_bus
225 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
226 57 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
227 62 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
228 72 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
229 85 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
230 109 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
231 119 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
232 138 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
233 153 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
234 167 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
235 177 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
236 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
237 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
238 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
239 64 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
240 68 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
241 81 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
242 101 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
243 105 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
244 111 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
245 115 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
246 130 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
247 134 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
248 145 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
249 149 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
250 159 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
251 163 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
252 169 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
253 173 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
254 51 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
255 63 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
256 78 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
257 100 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
258 110 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
259 129 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
260 144 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
261 158 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
262 168 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
263 86 [label = "{{ <freq> freq|<iphase> iphase|<width> width} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
264 76 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
265 90 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
266 155 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
267 126 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
268 154 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
269 125 [label = "{{ <in> in|<mul> mul|<add> add} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
270 179 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
271 178 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
272 61 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
273 94 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
274 93 [label = "{{ <freq> freq|<phase> phase|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
275 140 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
276 143 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
277
278 36:__UG_NAME__ -> 74:b ;
279 76:__UG_NAME__ -> 77:b ;
280 86:__UG_NAME__ -> 87:b ;
281 91:__UG_NAME__ -> 92:a ;
282 94:__UG_NAME__ -> 95:b ;
283 96:__UG_NAME__ -> 97:b ;
284 98:__UG_NAME__ -> 99:b ;
285 95:__UG_NAME__ -> 99:a ;
286 122:__UG_NAME__ -> 123:a ;
287 57:__UG_NAME__ -> 127:b ;
288 126:__UG_NAME__ -> 127:a ;
289 127:__UG_NAME__ -> 128:b ;
290 62:__UG_NAME__ -> 128:a ;
291 140:__UG_NAME__ -> 141:b ;
292 128:__UG_NAME__ -> 141:a ;
293 155:__UG_NAME__ -> 156:b ;
294 62:__UG_NAME__ -> 156:a ;
295 156:__UG_NAME__ -> 157:b ;
296 50:__UG_NAME__ -> 52:b ;
297 51:__UG_NAME__ -> 52:a ;
298 55:__UG_NAME__ -> 56:b ;
299 52:__UG_NAME__ -> 56:a ;
300 66:__UG_NAME__ -> 67:b ;
301 63:__UG_NAME__ -> 67:a ;
302 70:__UG_NAME__ -> 71:b ;
303 67:__UG_NAME__ -> 71:a ;
304 74:__UG_NAME__ -> 75:a ;
305 79:__UG_NAME__ -> 80:b ;
306 78:__UG_NAME__ -> 80:a ;
307 83:__UG_NAME__ -> 84:b ;
308 80:__UG_NAME__ -> 84:a ;
309 74:__UG_NAME__ -> 89:a ;
310 36:__UG_NAME__ -> 91:a ;
311 103:__UG_NAME__ -> 104:b ;
312 100:__UG_NAME__ -> 104:a ;
313 107:__UG_NAME__ -> 108:b ;
314 104:__UG_NAME__ -> 108:a ;
315 113:__UG_NAME__ -> 114:b ;
316 110:__UG_NAME__ -> 114:a ;
317 117:__UG_NAME__ -> 118:b ;
318 114:__UG_NAME__ -> 118:a ;
319 119:__UG_NAME__ -> 120:b ;
320 109:__UG_NAME__ -> 120:a ;
321 132:__UG_NAME__ -> 133:b ;
322 129:__UG_NAME__ -> 133:a ;
323 136:__UG_NAME__ -> 137:b ;
324 133:__UG_NAME__ -> 137:a ;
325 141:__UG_NAME__ -> 142:b ;
326 126:__UG_NAME__ -> 142:a ;
327 147:__UG_NAME__ -> 148:b ;
328 144:__UG_NAME__ -> 148:a ;
329 151:__UG_NAME__ -> 152:b ;
330 148:__UG_NAME__ -> 152:a ;
331 161:__UG_NAME__ -> 162:b ;
332 158:__UG_NAME__ -> 162:a ;
333 165:__UG_NAME__ -> 166:b ;
334 162:__UG_NAME__ -> 166:a ;
335 171:__UG_NAME__ -> 172:b ;
336 168:__UG_NAME__ -> 172:a ;
337 175:__UG_NAME__ -> 176:b ;
338 172:__UG_NAME__ -> 176:a ;
339 87:__UG_NAME__ -> 88:a ;
340 97:__UG_NAME__ -> 98:a ;
341 119:__UG_NAME__ -> 121:b ;
342 120:__UG_NAME__ -> 121:a ;
343 123:__UG_NAME__ -> 124:b ;
344 119:__UG_NAME__ -> 124:a ;
345 72:__UG_NAME__ -> 73:b ;
346 121:__UG_NAME__ -> 122:a ;
347 138:__UG_NAME__ -> 139:b ;
348 126:__UG_NAME__ -> 139:a ;
349 17:__UG_NAME__ -> 60:b ;
350 49:__UG_NAME__ -> 50:a ;
351 54:__UG_NAME__ -> 55:a ;
352 65:__UG_NAME__ -> 66:a ;
353 69:__UG_NAME__ -> 70:a ;
354 59:__UG_NAME__ -> 79:a ;
355 82:__UG_NAME__ -> 83:a ;
356 38:__UG_NAME__ -> 96:a ;
357 102:__UG_NAME__ -> 103:a ;
358 106:__UG_NAME__ -> 107:a ;
359 112:__UG_NAME__ -> 113:a ;
360 116:__UG_NAME__ -> 117:a ;
361 131:__UG_NAME__ -> 132:a ;
362 135:__UG_NAME__ -> 136:a ;
363 146:__UG_NAME__ -> 147:a ;
364 150:__UG_NAME__ -> 151:a ;
365 160:__UG_NAME__ -> 161:a ;
366 164:__UG_NAME__ -> 165:a ;
367 170:__UG_NAME__ -> 171:a ;
368 174:__UG_NAME__ -> 175:a ;
369 48:__UG_NAME__ -> 49:a ;
370 53:__UG_NAME__ -> 54:a ;
371 58:__UG_NAME__ -> 59:a ;
372 64:__UG_NAME__ -> 65:a ;
373 68:__UG_NAME__ -> 69:a ;
374 81:__UG_NAME__ -> 82:a ;
375 101:__UG_NAME__ -> 102:a ;
376 105:__UG_NAME__ -> 106:a ;
377 111:__UG_NAME__ -> 112:a ;
378 115:__UG_NAME__ -> 116:a ;
379 130:__UG_NAME__ -> 131:a ;
380 134:__UG_NAME__ -> 135:a ;
381 145:__UG_NAME__ -> 146:a ;
382 149:__UG_NAME__ -> 150:a ;
383 159:__UG_NAME__ -> 160:a ;
384 163:__UG_NAME__ -> 164:a ;
385 169:__UG_NAME__ -> 170:a ;
386 173:__UG_NAME__ -> 174:a ;
387 56:__UG_NAME__ -> 57:gate ;
388 43:__UG_NAME__ -> 57:envelope___control___0 ;
389 43:__UG_NAME__ -> 57:envelope___control___4 ;
390 44:__UG_NAME__ -> 57:envelope___control___5 ;
391 45:__UG_NAME__ -> 57:envelope___control___6 ;
392 46:__UG_NAME__ -> 57:envelope___control___7 ;
393 16:__UG_NAME__ -> 62:envelope___control___4 ;
394 12:__UG_NAME__ -> 62:envelope___control___5 ;
395 19:__UG_NAME__ -> 62:envelope___control___6 ;
396 61:__UG_NAME__ -> 62:envelope___select___8 ;
397 13:__UG_NAME__ -> 62:envelope___control___9 ;
398 19:__UG_NAME__ -> 62:envelope___control___10 ;
399 18:__UG_NAME__ -> 62:envelope___control___12 ;
400 14:__UG_NAME__ -> 62:envelope___control___13 ;
401 19:__UG_NAME__ -> 62:envelope___control___14 ;
402 15:__UG_NAME__ -> 62:envelope___control___17 ;
403 19:__UG_NAME__ -> 62:envelope___control___18 ;
404 71:__UG_NAME__ -> 72:gate ;
405 24:__UG_NAME__ -> 72:envelope___control___0 ;
406 24:__UG_NAME__ -> 72:envelope___control___4 ;
407 25:__UG_NAME__ -> 72:envelope___control___5 ;
408 26:__UG_NAME__ -> 72:envelope___control___6 ;
409 27:__UG_NAME__ -> 72:envelope___control___7 ;
410 84:__UG_NAME__ -> 85:gate ;
411 32:__UG_NAME__ -> 85:envelope___control___0 ;
412 32:__UG_NAME__ -> 85:envelope___control___4 ;
413 33:__UG_NAME__ -> 85:envelope___control___5 ;
414 34:__UG_NAME__ -> 85:envelope___control___6 ;
415 35:__UG_NAME__ -> 85:envelope___control___7 ;
416 108:__UG_NAME__ -> 109:gate ;
417 28:__UG_NAME__ -> 109:envelope___control___0 ;
418 28:__UG_NAME__ -> 109:envelope___control___4 ;
419 29:__UG_NAME__ -> 109:envelope___control___5 ;
420 30:__UG_NAME__ -> 109:envelope___control___6 ;
421 31:__UG_NAME__ -> 109:envelope___control___7 ;
422 118:__UG_NAME__ -> 119:gate ;
423 0:__UG_NAME__ -> 119:envelope___control___0 ;
424 0:__UG_NAME__ -> 119:envelope___control___4 ;
425 1:__UG_NAME__ -> 119:envelope___control___5 ;
426 2:__UG_NAME__ -> 119:envelope___control___6 ;
427 3:__UG_NAME__ -> 119:envelope___control___7 ;
428 137:__UG_NAME__ -> 138:gate ;
429 39:__UG_NAME__ -> 138:envelope___control___0 ;
430 39:__UG_NAME__ -> 138:envelope___control___4 ;
431 40:__UG_NAME__ -> 138:envelope___control___5 ;
432 41:__UG_NAME__ -> 138:envelope___control___6 ;
433 42:__UG_NAME__ -> 138:envelope___control___7 ;
434 152:__UG_NAME__ -> 153:gate ;
435 20:__UG_NAME__ -> 153:envelope___control___0 ;
436 20:__UG_NAME__ -> 153:envelope___control___4 ;
437 21:__UG_NAME__ -> 153:envelope___control___5 ;
438 22:__UG_NAME__ -> 153:envelope___control___6 ;
439 23:__UG_NAME__ -> 153:envelope___control___7 ;
440 166:__UG_NAME__ -> 167:gate ;
441 8:__UG_NAME__ -> 167:envelope___control___0 ;
442 8:__UG_NAME__ -> 167:envelope___control___4 ;
443 9:__UG_NAME__ -> 167:envelope___control___5 ;
444 10:__UG_NAME__ -> 167:envelope___control___6 ;
445 11:__UG_NAME__ -> 167:envelope___control___7 ;
446 176:__UG_NAME__ -> 177:gate ;
447 4:__UG_NAME__ -> 177:envelope___control___0 ;
448 4:__UG_NAME__ -> 177:envelope___control___4 ;
449 5:__UG_NAME__ -> 177:envelope___control___5 ;
450 6:__UG_NAME__ -> 177:envelope___control___6 ;
451 7:__UG_NAME__ -> 177:envelope___control___7 ;
452 43:__UG_NAME__ -> 48:in ;
453 44:__UG_NAME__ -> 53:in ;
454 32:__UG_NAME__ -> 58:in ;
455 24:__UG_NAME__ -> 64:in ;
456 25:__UG_NAME__ -> 68:in ;
457 33:__UG_NAME__ -> 81:in ;
458 28:__UG_NAME__ -> 101:in ;
459 29:__UG_NAME__ -> 105:in ;
460 0:__UG_NAME__ -> 111:in ;
461 1:__UG_NAME__ -> 115:in ;
462 39:__UG_NAME__ -> 130:in ;
463 40:__UG_NAME__ -> 134:in ;
464 20:__UG_NAME__ -> 145:in ;
465 21:__UG_NAME__ -> 149:in ;
466 8:__UG_NAME__ -> 159:in ;
467 9:__UG_NAME__ -> 163:in ;
468 4:__UG_NAME__ -> 169:in ;
469 5:__UG_NAME__ -> 173:in ;
470 85:__UG_NAME__ -> 86:width ;
471 36:__UG_NAME__ -> 86:iphase ;
472 73:__UG_NAME__ -> 86:freq ;
473 75:__UG_NAME__ -> 76:iphase ;
474 73:__UG_NAME__ -> 76:freq ;
475 89:__UG_NAME__ -> 90:iphase ;
476 73:__UG_NAME__ -> 90:freq ;
477 154:__UG_NAME__ -> 155:freq ;
478 143:__UG_NAME__ -> 155:in ;
479 125:__UG_NAME__ -> 126:a ;
480 153:__UG_NAME__ -> 154:a ;
481 124:__UG_NAME__ -> 125:add ;
482 122:__UG_NAME__ -> 125:mul ;
483 99:__UG_NAME__ -> 125:in ;
484 178:__UG_NAME__ -> 179:signals___pan2___0 ;
485 178:__UG_NAME__ -> 179:signals___pan2___1 ;
486 47:__UG_NAME__ -> 179:bus ;
487 177:__UG_NAME__ -> 178:level ;
488 167:__UG_NAME__ -> 178:pos ;
489 157:__UG_NAME__ -> 178:in ;
490 17:__UG_NAME__ -> 61:array___control___0 ;
491 18:__UG_NAME__ -> 61:array___control___1 ;
492 60:__UG_NAME__ -> 61:which ;
493 77:__UG_NAME__ -> 94:array___binary____op____u____gen___0 ;
494 88:__UG_NAME__ -> 94:array___binary____op____u____gen___1 ;
495 90:__UG_NAME__ -> 94:array___lf____tri___2 ;
496 93:__UG_NAME__ -> 94:array___sin____osc___3 ;
497 37:__UG_NAME__ -> 94:which ;
498 92:__UG_NAME__ -> 93:phase ;
499 73:__UG_NAME__ -> 93:freq ;
500 139:__UG_NAME__ -> 140:freq ;
501 142:__UG_NAME__ -> 143:freq ;
502
503 }
+0
-452
etc/synthdefs/graphviz/sonic-pi-mod_pulse.dot less more
0 digraph synthdef {
1 66 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 68 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 71 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 75 [label = "{{ <a> |<b> 6.2831855} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 78 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 80 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 82 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 106 [label = "{{ <a> |<b> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 153 [label = "{{ <a> 0.8|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 158 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 48 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 52 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 59 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 69 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 72 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 74 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 87 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 91 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 97 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 101 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 103 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 113 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 117 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 130 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 134 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 141 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 144 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 147 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 151 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 67 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
32 81 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
33 104 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
34 107 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
35 54 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
36 105 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
37 122 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
38 47 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 51 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 58 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 62 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 79 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 86 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 90 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 96 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 100 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 112 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 116 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 121 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 129 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 133 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 140 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 143 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 150 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 46 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 50 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 57 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 61 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 85 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 89 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 95 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 99 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 111 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 115 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 120 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
66 128 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
67 132 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
68 139 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
69 142 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
70 149 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
71 0 [label = "control
72 :note
73 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 1 [label = "control
75 :note_slide
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 2 [label = "control
78 :note_slide_shape
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 3 [label = "control
81 :note_slide_curve
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 4 [label = "control
84 :amp
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 5 [label = "control
87 :amp_slide
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 6 [label = "control
90 :amp_slide_shape
91 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 7 [label = "control
93 :amp_slide_curve
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 8 [label = "control
96 :pan
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 9 [label = "control
99 :pan_slide
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 10 [label = "control
102 :pan_slide_shape
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 11 [label = "control
105 :pan_slide_curve
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 12 [label = "control
108 :attack
109 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 13 [label = "control
111 :decay
112 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 14 [label = "control
114 :sustain
115 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 15 [label = "control
117 :release
118 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 16 [label = "control
120 :attack_level
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 17 [label = "control
123 :decay_level
124 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 18 [label = "control
126 :sustain_level
127 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 19 [label = "control
129 :env_curve
130 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 20 [label = "control
132 :cutoff
133 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 21 [label = "control
135 :cutoff_slide
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 22 [label = "control
138 :cutoff_slide_shape
139 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 23 [label = "control
141 :cutoff_slide_curve
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 24 [label = "control
144 :mod_phase
145 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 25 [label = "control
147 :mod_phase_slide
148 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 26 [label = "control
150 :mod_phase_slide_shape
151 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 27 [label = "control
153 :mod_phase_slide_curve
154 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 28 [label = "control
156 :mod_range
157 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 29 [label = "control
159 :mod_range_slide
160 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 30 [label = "control
162 :mod_range_slide_shape
163 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 31 [label = "control
165 :mod_range_slide_curve
166 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
167 32 [label = "control
168 :mod_pulse_width
169 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
170 33 [label = "control
171 :mod_pulse_width_slide
172 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
173 34 [label = "control
174 :mod_pulse_width_slide_shape
175 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
176 35 [label = "control
177 :mod_pulse_width_slide_curve
178 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
179 36 [label = "control
180 :mod_phase_offset
181 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
182 37 [label = "control
183 :mod_wave
184 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
185 38 [label = "control
186 :mod_invert_wave
187 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
188 39 [label = "control
189 :pulse_width
190 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
191 40 [label = "control
192 :pulse_width_slide
193 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
194 41 [label = "control
195 :pulse_width_slide_shape
196 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
197 42 [label = "control
198 :pulse_width_slide_curve
199 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
200 43 [label = "control
201 :out_bus
202 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
203 53 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
204 64 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
205 92 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
206 102 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
207 124 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
208 135 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
209 145 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
210 152 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
211 154 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
212 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
213 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
214 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
215 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
216 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
217 88 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
218 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
219 98 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
220 110 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
221 114 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
222 118 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
223 119 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
224 127 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
225 131 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
226 138 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
227 148 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
228 44 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
229 55 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
230 83 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
231 93 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
232 109 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
233 125 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
234 137 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
235 146 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
236 65 [label = "{{ <freq> freq|<iphase> iphase|<width> width} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
237 70 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
238 73 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
239 156 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
240 126 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
241 155 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
242 108 [label = "{{ <in> in|<mul> mul|<add> add} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
243 157 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
244 160 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
245 159 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
246 136 [label = "{{ <freq> freq|<width> width} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
247 77 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
248 123 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
249 76 [label = "{{ <freq> freq|<phase> phase|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
250
251 65:__UG_NAME__ -> 66:b ;
252 36:__UG_NAME__ -> 68:b ;
253 70:__UG_NAME__ -> 71:b ;
254 74:__UG_NAME__ -> 75:a ;
255 77:__UG_NAME__ -> 78:b ;
256 79:__UG_NAME__ -> 80:b ;
257 81:__UG_NAME__ -> 82:b ;
258 78:__UG_NAME__ -> 82:a ;
259 105:__UG_NAME__ -> 106:a ;
260 124:__UG_NAME__ -> 153:b ;
261 157:__UG_NAME__ -> 158:b ;
262 153:__UG_NAME__ -> 158:a ;
263 47:__UG_NAME__ -> 48:b ;
264 44:__UG_NAME__ -> 48:a ;
265 51:__UG_NAME__ -> 52:b ;
266 48:__UG_NAME__ -> 52:a ;
267 58:__UG_NAME__ -> 59:b ;
268 55:__UG_NAME__ -> 59:a ;
269 62:__UG_NAME__ -> 63:b ;
270 59:__UG_NAME__ -> 63:a ;
271 68:__UG_NAME__ -> 69:a ;
272 68:__UG_NAME__ -> 72:a ;
273 36:__UG_NAME__ -> 74:a ;
274 86:__UG_NAME__ -> 87:b ;
275 83:__UG_NAME__ -> 87:a ;
276 90:__UG_NAME__ -> 91:b ;
277 87:__UG_NAME__ -> 91:a ;
278 96:__UG_NAME__ -> 97:b ;
279 93:__UG_NAME__ -> 97:a ;
280 100:__UG_NAME__ -> 101:b ;
281 97:__UG_NAME__ -> 101:a ;
282 102:__UG_NAME__ -> 103:b ;
283 92:__UG_NAME__ -> 103:a ;
284 112:__UG_NAME__ -> 113:b ;
285 109:__UG_NAME__ -> 113:a ;
286 116:__UG_NAME__ -> 117:b ;
287 113:__UG_NAME__ -> 117:a ;
288 129:__UG_NAME__ -> 130:b ;
289 125:__UG_NAME__ -> 130:a ;
290 133:__UG_NAME__ -> 134:b ;
291 130:__UG_NAME__ -> 134:a ;
292 140:__UG_NAME__ -> 141:b ;
293 137:__UG_NAME__ -> 141:a ;
294 143:__UG_NAME__ -> 144:b ;
295 141:__UG_NAME__ -> 144:a ;
296 121:__UG_NAME__ -> 147:b ;
297 146:__UG_NAME__ -> 147:a ;
298 150:__UG_NAME__ -> 151:b ;
299 147:__UG_NAME__ -> 151:a ;
300 66:__UG_NAME__ -> 67:a ;
301 80:__UG_NAME__ -> 81:a ;
302 102:__UG_NAME__ -> 104:b ;
303 103:__UG_NAME__ -> 104:a ;
304 106:__UG_NAME__ -> 107:b ;
305 102:__UG_NAME__ -> 107:a ;
306 53:__UG_NAME__ -> 54:b ;
307 104:__UG_NAME__ -> 105:a ;
308 17:__UG_NAME__ -> 122:b ;
309 46:__UG_NAME__ -> 47:a ;
310 50:__UG_NAME__ -> 51:a ;
311 57:__UG_NAME__ -> 58:a ;
312 61:__UG_NAME__ -> 62:a ;
313 38:__UG_NAME__ -> 79:a ;
314 85:__UG_NAME__ -> 86:a ;
315 89:__UG_NAME__ -> 90:a ;
316 95:__UG_NAME__ -> 96:a ;
317 99:__UG_NAME__ -> 100:a ;
318 111:__UG_NAME__ -> 112:a ;
319 115:__UG_NAME__ -> 116:a ;
320 120:__UG_NAME__ -> 121:a ;
321 128:__UG_NAME__ -> 129:a ;
322 132:__UG_NAME__ -> 133:a ;
323 139:__UG_NAME__ -> 140:a ;
324 142:__UG_NAME__ -> 143:a ;
325 149:__UG_NAME__ -> 150:a ;
326 45:__UG_NAME__ -> 46:a ;
327 49:__UG_NAME__ -> 50:a ;
328 56:__UG_NAME__ -> 57:a ;
329 60:__UG_NAME__ -> 61:a ;
330 84:__UG_NAME__ -> 85:a ;
331 88:__UG_NAME__ -> 89:a ;
332 94:__UG_NAME__ -> 95:a ;
333 98:__UG_NAME__ -> 99:a ;
334 110:__UG_NAME__ -> 111:a ;
335 114:__UG_NAME__ -> 115:a ;
336 119:__UG_NAME__ -> 120:a ;
337 127:__UG_NAME__ -> 128:a ;
338 131:__UG_NAME__ -> 132:a ;
339 138:__UG_NAME__ -> 139:a ;
340 118:__UG_NAME__ -> 142:a ;
341 148:__UG_NAME__ -> 149:a ;
342 52:__UG_NAME__ -> 53:gate ;
343 24:__UG_NAME__ -> 53:envelope___control___0 ;
344 24:__UG_NAME__ -> 53:envelope___control___4 ;
345 25:__UG_NAME__ -> 53:envelope___control___5 ;
346 26:__UG_NAME__ -> 53:envelope___control___6 ;
347 27:__UG_NAME__ -> 53:envelope___control___7 ;
348 63:__UG_NAME__ -> 64:gate ;
349 32:__UG_NAME__ -> 64:envelope___control___0 ;
350 32:__UG_NAME__ -> 64:envelope___control___4 ;
351 33:__UG_NAME__ -> 64:envelope___control___5 ;
352 34:__UG_NAME__ -> 64:envelope___control___6 ;
353 35:__UG_NAME__ -> 64:envelope___control___7 ;
354 91:__UG_NAME__ -> 92:gate ;
355 28:__UG_NAME__ -> 92:envelope___control___0 ;
356 28:__UG_NAME__ -> 92:envelope___control___4 ;
357 29:__UG_NAME__ -> 92:envelope___control___5 ;
358 30:__UG_NAME__ -> 92:envelope___control___6 ;
359 31:__UG_NAME__ -> 92:envelope___control___7 ;
360 101:__UG_NAME__ -> 102:gate ;
361 0:__UG_NAME__ -> 102:envelope___control___0 ;
362 0:__UG_NAME__ -> 102:envelope___control___4 ;
363 1:__UG_NAME__ -> 102:envelope___control___5 ;
364 2:__UG_NAME__ -> 102:envelope___control___6 ;
365 3:__UG_NAME__ -> 102:envelope___control___7 ;
366 16:__UG_NAME__ -> 124:envelope___control___4 ;
367 12:__UG_NAME__ -> 124:envelope___control___5 ;
368 19:__UG_NAME__ -> 124:envelope___control___6 ;
369 123:__UG_NAME__ -> 124:envelope___select___8 ;
370 13:__UG_NAME__ -> 124:envelope___control___9 ;
371 19:__UG_NAME__ -> 124:envelope___control___10 ;
372 18:__UG_NAME__ -> 124:envelope___control___12 ;
373 14:__UG_NAME__ -> 124:envelope___control___13 ;
374 19:__UG_NAME__ -> 124:envelope___control___14 ;
375 15:__UG_NAME__ -> 124:envelope___control___17 ;
376 19:__UG_NAME__ -> 124:envelope___control___18 ;
377 134:__UG_NAME__ -> 135:gate ;
378 39:__UG_NAME__ -> 135:envelope___control___0 ;
379 39:__UG_NAME__ -> 135:envelope___control___4 ;
380 40:__UG_NAME__ -> 135:envelope___control___5 ;
381 41:__UG_NAME__ -> 135:envelope___control___6 ;
382 42:__UG_NAME__ -> 135:envelope___control___7 ;
383 144:__UG_NAME__ -> 145:gate ;
384 20:__UG_NAME__ -> 145:envelope___control___0 ;
385 20:__UG_NAME__ -> 145:envelope___control___4 ;
386 21:__UG_NAME__ -> 145:envelope___control___5 ;
387 22:__UG_NAME__ -> 145:envelope___control___6 ;
388 23:__UG_NAME__ -> 145:envelope___control___7 ;
389 151:__UG_NAME__ -> 152:gate ;
390 8:__UG_NAME__ -> 152:envelope___control___0 ;
391 8:__UG_NAME__ -> 152:envelope___control___4 ;
392 9:__UG_NAME__ -> 152:envelope___control___5 ;
393 10:__UG_NAME__ -> 152:envelope___control___6 ;
394 11:__UG_NAME__ -> 152:envelope___control___7 ;
395 117:__UG_NAME__ -> 154:gate ;
396 4:__UG_NAME__ -> 154:envelope___control___0 ;
397 4:__UG_NAME__ -> 154:envelope___control___4 ;
398 5:__UG_NAME__ -> 154:envelope___control___5 ;
399 6:__UG_NAME__ -> 154:envelope___control___6 ;
400 7:__UG_NAME__ -> 154:envelope___control___7 ;
401 24:__UG_NAME__ -> 45:in ;
402 25:__UG_NAME__ -> 49:in ;
403 32:__UG_NAME__ -> 56:in ;
404 33:__UG_NAME__ -> 60:in ;
405 28:__UG_NAME__ -> 84:in ;
406 29:__UG_NAME__ -> 88:in ;
407 0:__UG_NAME__ -> 94:in ;
408 1:__UG_NAME__ -> 98:in ;
409 4:__UG_NAME__ -> 110:in ;
410 5:__UG_NAME__ -> 114:in ;
411 21:__UG_NAME__ -> 118:in ;
412 8:__UG_NAME__ -> 119:in ;
413 39:__UG_NAME__ -> 127:in ;
414 40:__UG_NAME__ -> 131:in ;
415 20:__UG_NAME__ -> 138:in ;
416 9:__UG_NAME__ -> 148:in ;
417 64:__UG_NAME__ -> 65:width ;
418 36:__UG_NAME__ -> 65:iphase ;
419 54:__UG_NAME__ -> 65:freq ;
420 69:__UG_NAME__ -> 70:iphase ;
421 54:__UG_NAME__ -> 70:freq ;
422 72:__UG_NAME__ -> 73:iphase ;
423 54:__UG_NAME__ -> 73:freq ;
424 155:__UG_NAME__ -> 156:freq ;
425 136:__UG_NAME__ -> 156:in ;
426 108:__UG_NAME__ -> 126:a ;
427 145:__UG_NAME__ -> 155:a ;
428 107:__UG_NAME__ -> 108:add ;
429 105:__UG_NAME__ -> 108:mul ;
430 82:__UG_NAME__ -> 108:in ;
431 156:__UG_NAME__ -> 157:in ;
432 159:__UG_NAME__ -> 160:signals___pan2___0 ;
433 159:__UG_NAME__ -> 160:signals___pan2___1 ;
434 43:__UG_NAME__ -> 160:bus ;
435 154:__UG_NAME__ -> 159:level ;
436 152:__UG_NAME__ -> 159:pos ;
437 158:__UG_NAME__ -> 159:in ;
438 135:__UG_NAME__ -> 136:width ;
439 126:__UG_NAME__ -> 136:freq ;
440 71:__UG_NAME__ -> 77:array___binary____op____u____gen___0 ;
441 67:__UG_NAME__ -> 77:array___binary____op____u____gen___1 ;
442 73:__UG_NAME__ -> 77:array___lf____tri___2 ;
443 76:__UG_NAME__ -> 77:array___sin____osc___3 ;
444 37:__UG_NAME__ -> 77:which ;
445 17:__UG_NAME__ -> 123:array___control___0 ;
446 18:__UG_NAME__ -> 123:array___control___1 ;
447 122:__UG_NAME__ -> 123:which ;
448 75:__UG_NAME__ -> 76:phase ;
449 54:__UG_NAME__ -> 76:freq ;
450
451 }
+0
-413
etc/synthdefs/graphviz/sonic-pi-mod_saw.dot less more
0 digraph synthdef {
1 51 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 79 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 82 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 94 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 99 [label = "{{ <a> |<b> 6.2831855} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 102 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 103 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 109 [label = "{{ <a> 0.8|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 131 [label = "{{ <a> |<b> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 144 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 44 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 48 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 57 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 62 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 67 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 71 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 76 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 80 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 87 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 91 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 96 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 98 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 112 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 116 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 122 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 126 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 128 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 139 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 52 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
30 95 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
31 129 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
32 132 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
33 78 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
34 130 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
35 106 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
36 43 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 47 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 50 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 56 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 61 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 66 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 70 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 75 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 86 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 90 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 111 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 115 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 121 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 125 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 138 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 42 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 46 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 55 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 60 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 65 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 69 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 74 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 85 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 89 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 105 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 114 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 120 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 124 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 137 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 0 [label = "control
66 :note
67 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 1 [label = "control
69 :note_slide
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 2 [label = "control
72 :note_slide_shape
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 3 [label = "control
75 :note_slide_curve
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 4 [label = "control
78 :amp
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 5 [label = "control
81 :amp_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 6 [label = "control
84 :amp_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 7 [label = "control
87 :amp_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 8 [label = "control
90 :pan
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 9 [label = "control
93 :pan_slide
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 10 [label = "control
96 :pan_slide_shape
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 11 [label = "control
99 :pan_slide_curve
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 12 [label = "control
102 :attack
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 13 [label = "control
105 :decay
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 14 [label = "control
108 :sustain
109 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 15 [label = "control
111 :release
112 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 16 [label = "control
114 :attack_level
115 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 17 [label = "control
117 :decay_level
118 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 18 [label = "control
120 :sustain_level
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 19 [label = "control
123 :env_curve
124 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 20 [label = "control
126 :cutoff
127 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 21 [label = "control
129 :cutoff_slide
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 22 [label = "control
132 :cutoff_slide_shape
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 23 [label = "control
135 :cutoff_slide_curve
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 24 [label = "control
138 :mod_phase
139 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 25 [label = "control
141 :mod_phase_slide
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 26 [label = "control
144 :mod_phase_slide_shape
145 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 27 [label = "control
147 :mod_phase_slide_curve
148 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 28 [label = "control
150 :mod_range
151 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 29 [label = "control
153 :mod_range_slide
154 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 30 [label = "control
156 :mod_range_slide_shape
157 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 31 [label = "control
159 :mod_range_slide_curve
160 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 32 [label = "control
162 :mod_pulse_width
163 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 33 [label = "control
165 :mod_pulse_width_slide
166 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
167 34 [label = "control
168 :mod_pulse_width_slide_shape
169 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
170 35 [label = "control
171 :mod_pulse_width_slide_curve
172 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
173 36 [label = "control
174 :mod_phase_offset
175 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
176 37 [label = "control
177 :mod_wave
178 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
179 38 [label = "control
180 :mod_invert_wave
181 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
182 39 [label = "control
183 :out_bus
184 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
185 49 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
186 72 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
187 77 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
188 92 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
189 108 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
190 117 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
191 127 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
192 140 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
193 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
194 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
195 54 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
196 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
197 64 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
198 68 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
199 73 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
200 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
201 88 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
202 104 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
203 113 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
204 119 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
205 123 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
206 136 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
207 40 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
208 53 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
209 58 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
210 63 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
211 83 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
212 110 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
213 118 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
214 93 [label = "{{ <freq> freq|<iphase> iphase|<width> width} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
215 81 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
216 97 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
217 142 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
218 134 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
219 141 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
220 133 [label = "{{ <in> in|<mul> mul|<add> add} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
221 143 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
222 146 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
223 145 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
224 135 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
225 101 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
226 107 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
227 100 [label = "{{ <freq> freq|<phase> phase|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
228
229 50:__UG_NAME__ -> 51:b ;
230 36:__UG_NAME__ -> 79:b ;
231 81:__UG_NAME__ -> 82:b ;
232 93:__UG_NAME__ -> 94:b ;
233 98:__UG_NAME__ -> 99:a ;
234 101:__UG_NAME__ -> 102:b ;
235 52:__UG_NAME__ -> 103:b ;
236 102:__UG_NAME__ -> 103:a ;
237 108:__UG_NAME__ -> 109:b ;
238 130:__UG_NAME__ -> 131:a ;
239 143:__UG_NAME__ -> 144:b ;
240 109:__UG_NAME__ -> 144:a ;
241 43:__UG_NAME__ -> 44:b ;
242 40:__UG_NAME__ -> 44:a ;
243 47:__UG_NAME__ -> 48:b ;
244 44:__UG_NAME__ -> 48:a ;
245 56:__UG_NAME__ -> 57:b ;
246 53:__UG_NAME__ -> 57:a ;
247 61:__UG_NAME__ -> 62:b ;
248 58:__UG_NAME__ -> 62:a ;
249 66:__UG_NAME__ -> 67:b ;
250 63:__UG_NAME__ -> 67:a ;
251 70:__UG_NAME__ -> 71:b ;
252 67:__UG_NAME__ -> 71:a ;
253 75:__UG_NAME__ -> 76:b ;
254 62:__UG_NAME__ -> 76:a ;
255 79:__UG_NAME__ -> 80:a ;
256 86:__UG_NAME__ -> 87:b ;
257 83:__UG_NAME__ -> 87:a ;
258 90:__UG_NAME__ -> 91:b ;
259 87:__UG_NAME__ -> 91:a ;
260 79:__UG_NAME__ -> 96:a ;
261 36:__UG_NAME__ -> 98:a ;
262 111:__UG_NAME__ -> 112:b ;
263 110:__UG_NAME__ -> 112:a ;
264 115:__UG_NAME__ -> 116:b ;
265 112:__UG_NAME__ -> 116:a ;
266 121:__UG_NAME__ -> 122:b ;
267 118:__UG_NAME__ -> 122:a ;
268 125:__UG_NAME__ -> 126:b ;
269 122:__UG_NAME__ -> 126:a ;
270 127:__UG_NAME__ -> 128:b ;
271 117:__UG_NAME__ -> 128:a ;
272 138:__UG_NAME__ -> 139:b ;
273 57:__UG_NAME__ -> 139:a ;
274 51:__UG_NAME__ -> 52:a ;
275 94:__UG_NAME__ -> 95:a ;
276 127:__UG_NAME__ -> 129:b ;
277 128:__UG_NAME__ -> 129:a ;
278 131:__UG_NAME__ -> 132:b ;
279 127:__UG_NAME__ -> 132:a ;
280 77:__UG_NAME__ -> 78:b ;
281 129:__UG_NAME__ -> 130:a ;
282 17:__UG_NAME__ -> 106:b ;
283 42:__UG_NAME__ -> 43:a ;
284 46:__UG_NAME__ -> 47:a ;
285 38:__UG_NAME__ -> 50:a ;
286 55:__UG_NAME__ -> 56:a ;
287 60:__UG_NAME__ -> 61:a ;
288 65:__UG_NAME__ -> 66:a ;
289 69:__UG_NAME__ -> 70:a ;
290 74:__UG_NAME__ -> 75:a ;
291 85:__UG_NAME__ -> 86:a ;
292 89:__UG_NAME__ -> 90:a ;
293 105:__UG_NAME__ -> 111:a ;
294 114:__UG_NAME__ -> 115:a ;
295 120:__UG_NAME__ -> 121:a ;
296 124:__UG_NAME__ -> 125:a ;
297 137:__UG_NAME__ -> 138:a ;
298 41:__UG_NAME__ -> 42:a ;
299 45:__UG_NAME__ -> 46:a ;
300 54:__UG_NAME__ -> 55:a ;
301 59:__UG_NAME__ -> 60:a ;
302 64:__UG_NAME__ -> 65:a ;
303 68:__UG_NAME__ -> 69:a ;
304 73:__UG_NAME__ -> 74:a ;
305 84:__UG_NAME__ -> 85:a ;
306 88:__UG_NAME__ -> 89:a ;
307 104:__UG_NAME__ -> 105:a ;
308 113:__UG_NAME__ -> 114:a ;
309 119:__UG_NAME__ -> 120:a ;
310 123:__UG_NAME__ -> 124:a ;
311 136:__UG_NAME__ -> 137:a ;
312 48:__UG_NAME__ -> 49:gate ;
313 8:__UG_NAME__ -> 49:envelope___control___0 ;
314 8:__UG_NAME__ -> 49:envelope___control___4 ;
315 9:__UG_NAME__ -> 49:envelope___control___5 ;
316 10:__UG_NAME__ -> 49:envelope___control___6 ;
317 11:__UG_NAME__ -> 49:envelope___control___7 ;
318 71:__UG_NAME__ -> 72:gate ;
319 4:__UG_NAME__ -> 72:envelope___control___0 ;
320 4:__UG_NAME__ -> 72:envelope___control___4 ;
321 5:__UG_NAME__ -> 72:envelope___control___5 ;
322 6:__UG_NAME__ -> 72:envelope___control___6 ;
323 7:__UG_NAME__ -> 72:envelope___control___7 ;
324 76:__UG_NAME__ -> 77:gate ;
325 24:__UG_NAME__ -> 77:envelope___control___0 ;
326 24:__UG_NAME__ -> 77:envelope___control___4 ;
327 25:__UG_NAME__ -> 77:envelope___control___5 ;
328 26:__UG_NAME__ -> 77:envelope___control___6 ;
329 27:__UG_NAME__ -> 77:envelope___control___7 ;
330 91:__UG_NAME__ -> 92:gate ;
331 32:__UG_NAME__ -> 92:envelope___control___0 ;
332 32:__UG_NAME__ -> 92:envelope___control___4 ;
333 33:__UG_NAME__ -> 92:envelope___control___5 ;
334 34:__UG_NAME__ -> 92:envelope___control___6 ;
335 35:__UG_NAME__ -> 92:envelope___control___7 ;
336 16:__UG_NAME__ -> 108:envelope___control___4 ;
337 12:__UG_NAME__ -> 108:envelope___control___5 ;
338 19:__UG_NAME__ -> 108:envelope___control___6 ;
339 107:__UG_NAME__ -> 108:envelope___select___8 ;
340 13:__UG_NAME__ -> 108:envelope___control___9 ;
341 19:__UG_NAME__ -> 108:envelope___control___10 ;
342 18:__UG_NAME__ -> 108:envelope___control___12 ;
343 14:__UG_NAME__ -> 108:envelope___control___13 ;
344 19:__UG_NAME__ -> 108:envelope___control___14 ;
345 15:__UG_NAME__ -> 108:envelope___control___17 ;
346 19:__UG_NAME__ -> 108:envelope___control___18 ;
347 116:__UG_NAME__ -> 117:gate ;
348 28:__UG_NAME__ -> 117:envelope___control___0 ;
349 28:__UG_NAME__ -> 117:envelope___control___4 ;
350 29:__UG_NAME__ -> 117:envelope___control___5 ;
351 30:__UG_NAME__ -> 117:envelope___control___6 ;
352 31:__UG_NAME__ -> 117:envelope___control___7 ;
353 126:__UG_NAME__ -> 127:gate ;
354 0:__UG_NAME__ -> 127:envelope___control___0 ;
355 0:__UG_NAME__ -> 127:envelope___control___4 ;
356 1:__UG_NAME__ -> 127:envelope___control___5 ;
357 2:__UG_NAME__ -> 127:envelope___control___6 ;
358 3:__UG_NAME__ -> 127:envelope___control___7 ;
359 139:__UG_NAME__ -> 140:gate ;
360 20:__UG_NAME__ -> 140:envelope___control___0 ;
361 20:__UG_NAME__ -> 140:envelope___control___4 ;
362 21:__UG_NAME__ -> 140:envelope___control___5 ;
363 22:__UG_NAME__ -> 140:envelope___control___6 ;
364 23:__UG_NAME__ -> 140:envelope___control___7 ;
365 8:__UG_NAME__ -> 41:in ;
366 9:__UG_NAME__ -> 45:in ;
367 20:__UG_NAME__ -> 54:in ;
368 24:__UG_NAME__ -> 59:in ;
369 4:__UG_NAME__ -> 64:in ;
370 5:__UG_NAME__ -> 68:in ;
371 25:__UG_NAME__ -> 73:in ;
372 32:__UG_NAME__ -> 84:in ;
373 33:__UG_NAME__ -> 88:in ;
374 28:__UG_NAME__ -> 104:in ;
375 29:__UG_NAME__ -> 113:in ;
376 0:__UG_NAME__ -> 119:in ;
377 1:__UG_NAME__ -> 123:in ;
378 21:__UG_NAME__ -> 136:in ;
379 92:__UG_NAME__ -> 93:width ;
380 36:__UG_NAME__ -> 93:iphase ;
381 78:__UG_NAME__ -> 93:freq ;
382 80:__UG_NAME__ -> 81:iphase ;
383 78:__UG_NAME__ -> 81:freq ;
384 96:__UG_NAME__ -> 97:iphase ;
385 78:__UG_NAME__ -> 97:freq ;
386 141:__UG_NAME__ -> 142:freq ;
387 135:__UG_NAME__ -> 142:in ;
388 133:__UG_NAME__ -> 134:a ;
389 140:__UG_NAME__ -> 141:a ;
390 132:__UG_NAME__ -> 133:add ;
391 130:__UG_NAME__ -> 133:mul ;
392 103:__UG_NAME__ -> 133:in ;
393 142:__UG_NAME__ -> 143:in ;
394 145:__UG_NAME__ -> 146:signals___pan2___0 ;
395 145:__UG_NAME__ -> 146:signals___pan2___1 ;
396 39:__UG_NAME__ -> 146:bus ;
397 72:__UG_NAME__ -> 145:level ;
398 49:__UG_NAME__ -> 145:pos ;
399 144:__UG_NAME__ -> 145:in ;
400 134:__UG_NAME__ -> 135:freq ;
401 82:__UG_NAME__ -> 101:array___binary____op____u____gen___0 ;
402 95:__UG_NAME__ -> 101:array___binary____op____u____gen___1 ;
403 97:__UG_NAME__ -> 101:array___lf____tri___2 ;
404 100:__UG_NAME__ -> 101:array___sin____osc___3 ;
405 37:__UG_NAME__ -> 101:which ;
406 17:__UG_NAME__ -> 107:array___control___0 ;
407 18:__UG_NAME__ -> 107:array___control___1 ;
408 106:__UG_NAME__ -> 107:which ;
409 99:__UG_NAME__ -> 100:phase ;
410 78:__UG_NAME__ -> 100:freq ;
411
412 }
+0
-413
etc/synthdefs/graphviz/sonic-pi-mod_sine.dot less more
0 digraph synthdef {
1 51 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 54 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 66 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 71 [label = "{{ <a> |<b> 6.2831855} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 74 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 76 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 78 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 102 [label = "{{ <a> |<b> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 134 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 136 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 44 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 48 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 52 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 59 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 68 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 70 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 83 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 87 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 93 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 97 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 99 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 111 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 115 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 124 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 128 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 141 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 143 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 67 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
30 77 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
31 100 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
32 103 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
33 50 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
34 101 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
35 131 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
36 43 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 47 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 58 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 62 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 75 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 82 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 86 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 92 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 96 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 110 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 114 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 123 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 127 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 140 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 142 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 42 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 46 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 57 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 61 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 81 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 85 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 91 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 95 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 109 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 113 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 122 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 126 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 130 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 139 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 0 [label = "control
66 :note
67 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 1 [label = "control
69 :note_slide
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 2 [label = "control
72 :note_slide_shape
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 3 [label = "control
75 :note_slide_curve
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 4 [label = "control
78 :amp
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 5 [label = "control
81 :amp_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 6 [label = "control
84 :amp_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 7 [label = "control
87 :amp_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 8 [label = "control
90 :pan
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 9 [label = "control
93 :pan_slide
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 10 [label = "control
96 :pan_slide_shape
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 11 [label = "control
99 :pan_slide_curve
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 12 [label = "control
102 :attack
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 13 [label = "control
105 :decay
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 14 [label = "control
108 :sustain
109 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 15 [label = "control
111 :release
112 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 16 [label = "control
114 :attack_level
115 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 17 [label = "control
117 :decay_level
118 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 18 [label = "control
120 :sustain_level
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 19 [label = "control
123 :env_curve
124 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 20 [label = "control
126 :cutoff
127 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 21 [label = "control
129 :cutoff_slide
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 22 [label = "control
132 :cutoff_slide_shape
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 23 [label = "control
135 :cutoff_slide_curve
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 24 [label = "control
138 :mod_phase
139 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 25 [label = "control
141 :mod_phase_slide
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 26 [label = "control
144 :mod_phase_slide_shape
145 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 27 [label = "control
147 :mod_phase_slide_curve
148 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 28 [label = "control
150 :mod_range
151 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 29 [label = "control
153 :mod_range_slide
154 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 30 [label = "control
156 :mod_range_slide_shape
157 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 31 [label = "control
159 :mod_range_slide_curve
160 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 32 [label = "control
162 :mod_pulse_width
163 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 33 [label = "control
165 :mod_pulse_width_slide
166 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
167 34 [label = "control
168 :mod_pulse_width_slide_shape
169 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
170 35 [label = "control
171 :mod_pulse_width_slide_curve
172 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
173 36 [label = "control
174 :mod_phase_offset
175 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
176 37 [label = "control
177 :mod_wave
178 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
179 38 [label = "control
180 :mod_invert_wave
181 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
182 39 [label = "control
183 :out_bus
184 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
185 49 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
186 64 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
187 88 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
188 98 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
189 116 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
190 129 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
191 133 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
192 144 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
193 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
194 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
195 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
196 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
197 80 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
198 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
199 90 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
200 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
201 108 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
202 112 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
203 119 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
204 120 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
205 125 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
206 137 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
207 40 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
208 55 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
209 79 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
210 89 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
211 107 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
212 121 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
213 138 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
214 65 [label = "{{ <freq> freq|<iphase> iphase|<width> width} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
215 53 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
216 69 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
217 118 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
218 105 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
219 117 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
220 104 [label = "{{ <in> in|<mul> mul|<add> add} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
221 135 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
222 146 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
223 145 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
224 73 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
225 132 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
226 72 [label = "{{ <freq> freq|<phase> phase|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
227 106 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
228
229 36:__UG_NAME__ -> 51:b ;
230 53:__UG_NAME__ -> 54:b ;
231 65:__UG_NAME__ -> 66:b ;
232 70:__UG_NAME__ -> 71:a ;
233 73:__UG_NAME__ -> 74:b ;
234 75:__UG_NAME__ -> 76:b ;
235 77:__UG_NAME__ -> 78:b ;
236 74:__UG_NAME__ -> 78:a ;
237 101:__UG_NAME__ -> 102:a ;
238 133:__UG_NAME__ -> 134:b ;
239 135:__UG_NAME__ -> 136:b ;
240 134:__UG_NAME__ -> 136:a ;
241 43:__UG_NAME__ -> 44:b ;
242 40:__UG_NAME__ -> 44:a ;
243 47:__UG_NAME__ -> 48:b ;
244 44:__UG_NAME__ -> 48:a ;
245 51:__UG_NAME__ -> 52:a ;
246 58:__UG_NAME__ -> 59:b ;
247 55:__UG_NAME__ -> 59:a ;
248 62:__UG_NAME__ -> 63:b ;
249 59:__UG_NAME__ -> 63:a ;
250 51:__UG_NAME__ -> 68:a ;
251 36:__UG_NAME__ -> 70:a ;
252 82:__UG_NAME__ -> 83:b ;
253 79:__UG_NAME__ -> 83:a ;
254 86:__UG_NAME__ -> 87:b ;
255 83:__UG_NAME__ -> 87:a ;
256 92:__UG_NAME__ -> 93:b ;
257 89:__UG_NAME__ -> 93:a ;
258 96:__UG_NAME__ -> 97:b ;
259 93:__UG_NAME__ -> 97:a ;
260 98:__UG_NAME__ -> 99:b ;
261 88:__UG_NAME__ -> 99:a ;
262 110:__UG_NAME__ -> 111:b ;
263 107:__UG_NAME__ -> 111:a ;
264 114:__UG_NAME__ -> 115:b ;
265 111:__UG_NAME__ -> 115:a ;
266 123:__UG_NAME__ -> 124:b ;
267 121:__UG_NAME__ -> 124:a ;
268 127:__UG_NAME__ -> 128:b ;
269 124:__UG_NAME__ -> 128:a ;
270 140:__UG_NAME__ -> 141:b ;
271 138:__UG_NAME__ -> 141:a ;
272 142:__UG_NAME__ -> 143:b ;
273 141:__UG_NAME__ -> 143:a ;
274 66:__UG_NAME__ -> 67:a ;
275 76:__UG_NAME__ -> 77:a ;
276 98:__UG_NAME__ -> 100:b ;
277 99:__UG_NAME__ -> 100:a ;
278 102:__UG_NAME__ -> 103:b ;
279 98:__UG_NAME__ -> 103:a ;
280 49:__UG_NAME__ -> 50:b ;
281 100:__UG_NAME__ -> 101:a ;
282 17:__UG_NAME__ -> 131:b ;
283 42:__UG_NAME__ -> 43:a ;
284 46:__UG_NAME__ -> 47:a ;
285 57:__UG_NAME__ -> 58:a ;
286 61:__UG_NAME__ -> 62:a ;
287 38:__UG_NAME__ -> 75:a ;
288 81:__UG_NAME__ -> 82:a ;
289 85:__UG_NAME__ -> 86:a ;
290 91:__UG_NAME__ -> 92:a ;
291 95:__UG_NAME__ -> 96:a ;
292 109:__UG_NAME__ -> 110:a ;
293 113:__UG_NAME__ -> 114:a ;
294 122:__UG_NAME__ -> 123:a ;
295 126:__UG_NAME__ -> 127:a ;
296 139:__UG_NAME__ -> 140:a ;
297 130:__UG_NAME__ -> 142:a ;
298 41:__UG_NAME__ -> 42:a ;
299 45:__UG_NAME__ -> 46:a ;
300 56:__UG_NAME__ -> 57:a ;
301 60:__UG_NAME__ -> 61:a ;
302 80:__UG_NAME__ -> 81:a ;
303 84:__UG_NAME__ -> 85:a ;
304 90:__UG_NAME__ -> 91:a ;
305 94:__UG_NAME__ -> 95:a ;
306 108:__UG_NAME__ -> 109:a ;
307 112:__UG_NAME__ -> 113:a ;
308 120:__UG_NAME__ -> 122:a ;
309 125:__UG_NAME__ -> 126:a ;
310 119:__UG_NAME__ -> 130:a ;
311 137:__UG_NAME__ -> 139:a ;
312 48:__UG_NAME__ -> 49:gate ;
313 24:__UG_NAME__ -> 49:envelope___control___0 ;
314 24:__UG_NAME__ -> 49:envelope___control___4 ;
315 25:__UG_NAME__ -> 49:envelope___control___5 ;
316 26:__UG_NAME__ -> 49:envelope___control___6 ;
317 27:__UG_NAME__ -> 49:envelope___control___7 ;
318 63:__UG_NAME__ -> 64:gate ;
319 32:__UG_NAME__ -> 64:envelope___control___0 ;
320 32:__UG_NAME__ -> 64:envelope___control___4 ;
321 33:__UG_NAME__ -> 64:envelope___control___5 ;
322 34:__UG_NAME__ -> 64:envelope___control___6 ;
323 35:__UG_NAME__ -> 64:envelope___control___7 ;
324 87:__UG_NAME__ -> 88:gate ;
325 28:__UG_NAME__ -> 88:envelope___control___0 ;
326 28:__UG_NAME__ -> 88:envelope___control___4 ;
327 29:__UG_NAME__ -> 88:envelope___control___5 ;
328 30:__UG_NAME__ -> 88:envelope___control___6 ;
329 31:__UG_NAME__ -> 88:envelope___control___7 ;
330 97:__UG_NAME__ -> 98:gate ;
331 0:__UG_NAME__ -> 98:envelope___control___0 ;
332 0:__UG_NAME__ -> 98:envelope___control___4 ;
333 1:__UG_NAME__ -> 98:envelope___control___5 ;
334 2:__UG_NAME__ -> 98:envelope___control___6 ;
335 3:__UG_NAME__ -> 98:envelope___control___7 ;
336 115:__UG_NAME__ -> 116:gate ;
337 20:__UG_NAME__ -> 116:envelope___control___0 ;
338 20:__UG_NAME__ -> 116:envelope___control___4 ;
339 21:__UG_NAME__ -> 116:envelope___control___5 ;
340 22:__UG_NAME__ -> 116:envelope___control___6 ;
341 23:__UG_NAME__ -> 116:envelope___control___7 ;
342 128:__UG_NAME__ -> 129:gate ;
343 4:__UG_NAME__ -> 129:envelope___control___0 ;
344 4:__UG_NAME__ -> 129:envelope___control___4 ;
345 5:__UG_NAME__ -> 129:envelope___control___5 ;
346 6:__UG_NAME__ -> 129:envelope___control___6 ;
347 7:__UG_NAME__ -> 129:envelope___control___7 ;
348 16:__UG_NAME__ -> 133:envelope___control___4 ;
349 12:__UG_NAME__ -> 133:envelope___control___5 ;
350 19:__UG_NAME__ -> 133:envelope___control___6 ;
351 132:__UG_NAME__ -> 133:envelope___select___8 ;
352 13:__UG_NAME__ -> 133:envelope___control___9 ;
353 19:__UG_NAME__ -> 133:envelope___control___10 ;
354 18:__UG_NAME__ -> 133:envelope___control___12 ;
355 14:__UG_NAME__ -> 133:envelope___control___13 ;
356 19:__UG_NAME__ -> 133:envelope___control___14 ;
357 15:__UG_NAME__ -> 133:envelope___control___17 ;
358 19:__UG_NAME__ -> 133:envelope___control___18 ;
359 143:__UG_NAME__ -> 144:gate ;
360 8:__UG_NAME__ -> 144:envelope___control___0 ;
361 8:__UG_NAME__ -> 144:envelope___control___4 ;
362 9:__UG_NAME__ -> 144:envelope___control___5 ;
363 10:__UG_NAME__ -> 144:envelope___control___6 ;
364 11:__UG_NAME__ -> 144:envelope___control___7 ;
365 24:__UG_NAME__ -> 41:in ;
366 25:__UG_NAME__ -> 45:in ;
367 32:__UG_NAME__ -> 56:in ;
368 33:__UG_NAME__ -> 60:in ;
369 28:__UG_NAME__ -> 80:in ;
370 29:__UG_NAME__ -> 84:in ;
371 0:__UG_NAME__ -> 90:in ;
372 1:__UG_NAME__ -> 94:in ;
373 20:__UG_NAME__ -> 108:in ;
374 21:__UG_NAME__ -> 112:in ;
375 9:__UG_NAME__ -> 119:in ;
376 4:__UG_NAME__ -> 120:in ;
377 5:__UG_NAME__ -> 125:in ;
378 8:__UG_NAME__ -> 137:in ;
379 64:__UG_NAME__ -> 65:width ;
380 36:__UG_NAME__ -> 65:iphase ;
381 50:__UG_NAME__ -> 65:freq ;
382 52:__UG_NAME__ -> 53:iphase ;
383 50:__UG_NAME__ -> 53:freq ;
384 68:__UG_NAME__ -> 69:iphase ;
385 50:__UG_NAME__ -> 69:freq ;
386 117:__UG_NAME__ -> 118:freq ;
387 106:__UG_NAME__ -> 118:in ;
388 104:__UG_NAME__ -> 105:a ;
389 116:__UG_NAME__ -> 117:a ;
390 103:__UG_NAME__ -> 104:add ;
391 101:__UG_NAME__ -> 104:mul ;
392 78:__UG_NAME__ -> 104:in ;
393 118:__UG_NAME__ -> 135:in ;
394 145:__UG_NAME__ -> 146:signals___pan2___0 ;
395 145:__UG_NAME__ -> 146:signals___pan2___1 ;
396 39:__UG_NAME__ -> 146:bus ;
397 129:__UG_NAME__ -> 145:level ;
398 144:__UG_NAME__ -> 145:pos ;
399 136:__UG_NAME__ -> 145:in ;
400 54:__UG_NAME__ -> 73:array___binary____op____u____gen___0 ;
401 67:__UG_NAME__ -> 73:array___binary____op____u____gen___1 ;
402 69:__UG_NAME__ -> 73:array___lf____tri___2 ;
403 72:__UG_NAME__ -> 73:array___sin____osc___3 ;
404 37:__UG_NAME__ -> 73:which ;
405 17:__UG_NAME__ -> 132:array___control___0 ;
406 18:__UG_NAME__ -> 132:array___control___1 ;
407 131:__UG_NAME__ -> 132:which ;
408 71:__UG_NAME__ -> 72:phase ;
409 50:__UG_NAME__ -> 72:freq ;
410 105:__UG_NAME__ -> 106:freq ;
411
412 }
+0
-413
etc/synthdefs/graphviz/sonic-pi-mod_tri.dot less more
0 digraph synthdef {
1 55 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 58 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 70 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 75 [label = "{{ <a> |<b> 6.2831855} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 78 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 80 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 82 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 104 [label = "{{ <a> |<b> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 143 [label = "{{ <a> 1.5|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 144 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 48 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 52 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 56 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 67 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 72 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 74 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 87 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 91 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 97 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 99 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 101 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 113 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 115 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 127 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 131 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 139 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 140 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 71 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
30 81 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
31 102 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
32 105 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
33 54 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
34 103 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
35 134 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
36 47 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 51 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 62 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 66 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 79 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 86 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 90 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 96 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 98 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 112 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 114 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 122 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 126 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 130 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 138 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 41 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 43 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 46 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 50 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 61 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 65 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 85 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 89 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 95 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 111 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 121 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 125 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 129 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 137 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 0 [label = "control
66 :note
67 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 1 [label = "control
69 :note_slide
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 2 [label = "control
72 :note_slide_shape
73 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 3 [label = "control
75 :note_slide_curve
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 4 [label = "control
78 :amp
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 5 [label = "control
81 :amp_slide
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 6 [label = "control
84 :amp_slide_shape
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 7 [label = "control
87 :amp_slide_curve
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 8 [label = "control
90 :pan
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 9 [label = "control
93 :pan_slide
94 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 10 [label = "control
96 :pan_slide_shape
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 11 [label = "control
99 :pan_slide_curve
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 12 [label = "control
102 :attack
103 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 13 [label = "control
105 :decay
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 14 [label = "control
108 :sustain
109 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 15 [label = "control
111 :release
112 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 16 [label = "control
114 :attack_level
115 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 17 [label = "control
117 :decay_level
118 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 18 [label = "control
120 :sustain_level
121 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 19 [label = "control
123 :env_curve
124 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 20 [label = "control
126 :cutoff
127 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 21 [label = "control
129 :cutoff_slide
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 22 [label = "control
132 :cutoff_slide_shape
133 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 23 [label = "control
135 :cutoff_slide_curve
136 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 24 [label = "control
138 :mod_phase
139 default: 0.25" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 25 [label = "control
141 :mod_phase_slide
142 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 26 [label = "control
144 :mod_phase_slide_shape
145 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 27 [label = "control
147 :mod_phase_slide_curve
148 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 28 [label = "control
150 :mod_range
151 default: 5.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 29 [label = "control
153 :mod_range_slide
154 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 30 [label = "control
156 :mod_range_slide_shape
157 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 31 [label = "control
159 :mod_range_slide_curve
160 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 32 [label = "control
162 :mod_pulse_width
163 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 33 [label = "control
165 :mod_pulse_width_slide
166 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
167 34 [label = "control
168 :mod_pulse_width_slide_shape
169 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
170 35 [label = "control
171 :mod_pulse_width_slide_curve
172 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
173 36 [label = "control
174 :mod_phase_offset
175 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
176 37 [label = "control
177 :mod_wave
178 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
179 38 [label = "control
180 :mod_invert_wave
181 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
182 39 [label = "control
183 :out_bus
184 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
185 53 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
186 68 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
187 92 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
188 100 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
189 116 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
190 136 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
191 141 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
192 142 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
193 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
194 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
195 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
196 49 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
197 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
198 64 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
199 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
200 88 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
201 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
202 110 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
203 120 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
204 124 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
205 128 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
206 133 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
207 44 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
208 59 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
209 83 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
210 93 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
211 109 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
212 123 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
213 132 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
214 69 [label = "{{ <freq> freq|<iphase> iphase|<width> width} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
215 57 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
216 73 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
217 108 [label = "{{ <freq> freq|<iphase> iphase 0.0} |<__UG_NAME__>lf-tri }" style="filled, bold, rounded" shape=record rankdir=LR];
218 118 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
219 107 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
220 117 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
221 106 [label = "{{ <in> in|<mul> mul|<add> add} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
222 119 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
223 146 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
224 145 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
225 77 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
226 135 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
227 76 [label = "{{ <freq> freq|<phase> phase|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
228
229 36:__UG_NAME__ -> 55:b ;
230 57:__UG_NAME__ -> 58:b ;
231 69:__UG_NAME__ -> 70:b ;
232 74:__UG_NAME__ -> 75:a ;
233 77:__UG_NAME__ -> 78:b ;
234 79:__UG_NAME__ -> 80:b ;
235 81:__UG_NAME__ -> 82:b ;
236 78:__UG_NAME__ -> 82:a ;
237 103:__UG_NAME__ -> 104:a ;
238 136:__UG_NAME__ -> 143:b ;
239 119:__UG_NAME__ -> 144:b ;
240 143:__UG_NAME__ -> 144:a ;
241 47:__UG_NAME__ -> 48:b ;
242 44:__UG_NAME__ -> 48:a ;
243 51:__UG_NAME__ -> 52:b ;
244 48:__UG_NAME__ -> 52:a ;
245 55:__UG_NAME__ -> 56:a ;
246 62:__UG_NAME__ -> 63:b ;
247 59:__UG_NAME__ -> 63:a ;
248 66:__UG_NAME__ -> 67:b ;
249 63:__UG_NAME__ -> 67:a ;
250 55:__UG_NAME__ -> 72:a ;
251 36:__UG_NAME__ -> 74:a ;
252 86:__UG_NAME__ -> 87:b ;
253 83:__UG_NAME__ -> 87:a ;
254 90:__UG_NAME__ -> 91:b ;
255 87:__UG_NAME__ -> 91:a ;
256 96:__UG_NAME__ -> 97:b ;
257 93:__UG_NAME__ -> 97:a ;
258 98:__UG_NAME__ -> 99:b ;
259 97:__UG_NAME__ -> 99:a ;
260 100:__UG_NAME__ -> 101:b ;
261 92:__UG_NAME__ -> 101:a ;
262 112:__UG_NAME__ -> 113:b ;
263 109:__UG_NAME__ -> 113:a ;
264 114:__UG_NAME__ -> 115:b ;
265 113:__UG_NAME__ -> 115:a ;
266 126:__UG_NAME__ -> 127:b ;
267 123:__UG_NAME__ -> 127:a ;
268 130:__UG_NAME__ -> 131:b ;
269 127:__UG_NAME__ -> 131:a ;
270 138:__UG_NAME__ -> 139:b ;
271 132:__UG_NAME__ -> 139:a ;
272 122:__UG_NAME__ -> 140:b ;
273 139:__UG_NAME__ -> 140:a ;
274 70:__UG_NAME__ -> 71:a ;
275 80:__UG_NAME__ -> 81:a ;
276 100:__UG_NAME__ -> 102:b ;
277 101:__UG_NAME__ -> 102:a ;
278 104:__UG_NAME__ -> 105:b ;
279 100:__UG_NAME__ -> 105:a ;
280 53:__UG_NAME__ -> 54:b ;
281 102:__UG_NAME__ -> 103:a ;
282 17:__UG_NAME__ -> 134:b ;
283 46:__UG_NAME__ -> 47:a ;
284 50:__UG_NAME__ -> 51:a ;
285 61:__UG_NAME__ -> 62:a ;
286 65:__UG_NAME__ -> 66:a ;
287 38:__UG_NAME__ -> 79:a ;
288 85:__UG_NAME__ -> 86:a ;
289 89:__UG_NAME__ -> 90:a ;
290 95:__UG_NAME__ -> 96:a ;
291 43:__UG_NAME__ -> 98:a ;
292 111:__UG_NAME__ -> 112:a ;
293 41:__UG_NAME__ -> 114:a ;
294 121:__UG_NAME__ -> 122:a ;
295 125:__UG_NAME__ -> 126:a ;
296 129:__UG_NAME__ -> 130:a ;
297 137:__UG_NAME__ -> 138:a ;
298 40:__UG_NAME__ -> 41:a ;
299 42:__UG_NAME__ -> 43:a ;
300 45:__UG_NAME__ -> 46:a ;
301 49:__UG_NAME__ -> 50:a ;
302 60:__UG_NAME__ -> 61:a ;
303 64:__UG_NAME__ -> 65:a ;
304 84:__UG_NAME__ -> 85:a ;
305 88:__UG_NAME__ -> 89:a ;
306 94:__UG_NAME__ -> 95:a ;
307 110:__UG_NAME__ -> 111:a ;
308 120:__UG_NAME__ -> 121:a ;
309 124:__UG_NAME__ -> 125:a ;
310 128:__UG_NAME__ -> 129:a ;
311 133:__UG_NAME__ -> 137:a ;
312 52:__UG_NAME__ -> 53:gate ;
313 24:__UG_NAME__ -> 53:envelope___control___0 ;
314 24:__UG_NAME__ -> 53:envelope___control___4 ;
315 25:__UG_NAME__ -> 53:envelope___control___5 ;
316 26:__UG_NAME__ -> 53:envelope___control___6 ;
317 27:__UG_NAME__ -> 53:envelope___control___7 ;
318 67:__UG_NAME__ -> 68:gate ;
319 32:__UG_NAME__ -> 68:envelope___control___0 ;
320 32:__UG_NAME__ -> 68:envelope___control___4 ;
321 33:__UG_NAME__ -> 68:envelope___control___5 ;
322 34:__UG_NAME__ -> 68:envelope___control___6 ;
323 35:__UG_NAME__ -> 68:envelope___control___7 ;
324 91:__UG_NAME__ -> 92:gate ;
325 28:__UG_NAME__ -> 92:envelope___control___0 ;
326 28:__UG_NAME__ -> 92:envelope___control___4 ;
327 29:__UG_NAME__ -> 92:envelope___control___5 ;
328 30:__UG_NAME__ -> 92:envelope___control___6 ;
329 31:__UG_NAME__ -> 92:envelope___control___7 ;
330 99:__UG_NAME__ -> 100:gate ;
331 0:__UG_NAME__ -> 100:envelope___control___0 ;
332 0:__UG_NAME__ -> 100:envelope___control___4 ;
333 1:__UG_NAME__ -> 100:envelope___control___5 ;
334 2:__UG_NAME__ -> 100:envelope___control___6 ;
335 3:__UG_NAME__ -> 100:envelope___control___7 ;
336 115:__UG_NAME__ -> 116:gate ;
337 20:__UG_NAME__ -> 116:envelope___control___0 ;
338 20:__UG_NAME__ -> 116:envelope___control___4 ;
339 21:__UG_NAME__ -> 116:envelope___control___5 ;
340 22:__UG_NAME__ -> 116:envelope___control___6 ;
341 23:__UG_NAME__ -> 116:envelope___control___7 ;
342 16:__UG_NAME__ -> 136:envelope___control___4 ;
343 12:__UG_NAME__ -> 136:envelope___control___5 ;
344 19:__UG_NAME__ -> 136:envelope___control___6 ;
345 135:__UG_NAME__ -> 136:envelope___select___8 ;
346 13:__UG_NAME__ -> 136:envelope___control___9 ;
347 19:__UG_NAME__ -> 136:envelope___control___10 ;
348 18:__UG_NAME__ -> 136:envelope___control___12 ;
349 14:__UG_NAME__ -> 136:envelope___control___13 ;
350 19:__UG_NAME__ -> 136:envelope___control___14 ;
351 15:__UG_NAME__ -> 136:envelope___control___17 ;
352 19:__UG_NAME__ -> 136:envelope___control___18 ;
353 140:__UG_NAME__ -> 141:gate ;
354 4:__UG_NAME__ -> 141:envelope___control___0 ;
355 4:__UG_NAME__ -> 141:envelope___control___4 ;
356 5:__UG_NAME__ -> 141:envelope___control___5 ;
357 6:__UG_NAME__ -> 141:envelope___control___6 ;
358 7:__UG_NAME__ -> 141:envelope___control___7 ;
359 131:__UG_NAME__ -> 142:gate ;
360 8:__UG_NAME__ -> 142:envelope___control___0 ;
361 8:__UG_NAME__ -> 142:envelope___control___4 ;
362 9:__UG_NAME__ -> 142:envelope___control___5 ;
363 10:__UG_NAME__ -> 142:envelope___control___6 ;
364 11:__UG_NAME__ -> 142:envelope___control___7 ;
365 21:__UG_NAME__ -> 40:in ;
366 1:__UG_NAME__ -> 42:in ;
367 24:__UG_NAME__ -> 45:in ;
368 25:__UG_NAME__ -> 49:in ;
369 32:__UG_NAME__ -> 60:in ;
370 33:__UG_NAME__ -> 64:in ;
371 28:__UG_NAME__ -> 84:in ;
372 29:__UG_NAME__ -> 88:in ;
373 0:__UG_NAME__ -> 94:in ;
374 20:__UG_NAME__ -> 110:in ;
375 5:__UG_NAME__ -> 120:in ;
376 8:__UG_NAME__ -> 124:in ;
377 9:__UG_NAME__ -> 128:in ;
378 4:__UG_NAME__ -> 133:in ;
379 68:__UG_NAME__ -> 69:width ;
380 36:__UG_NAME__ -> 69:iphase ;
381 54:__UG_NAME__ -> 69:freq ;
382 56:__UG_NAME__ -> 57:iphase ;
383 54:__UG_NAME__ -> 57:freq ;
384 72:__UG_NAME__ -> 73:iphase ;
385 54:__UG_NAME__ -> 73:freq ;
386 107:__UG_NAME__ -> 108:freq ;
387 117:__UG_NAME__ -> 118:freq ;
388 108:__UG_NAME__ -> 118:in ;
389 106:__UG_NAME__ -> 107:a ;
390 116:__UG_NAME__ -> 117:a ;
391 105:__UG_NAME__ -> 106:add ;
392 103:__UG_NAME__ -> 106:mul ;
393 82:__UG_NAME__ -> 106:in ;
394 118:__UG_NAME__ -> 119:in ;
395 145:__UG_NAME__ -> 146:signals___pan2___0 ;
396 145:__UG_NAME__ -> 146:signals___pan2___1 ;
397 39:__UG_NAME__ -> 146:bus ;
398 141:__UG_NAME__ -> 145:level ;
399 142:__UG_NAME__ -> 145:pos ;
400 144:__UG_NAME__ -> 145:in ;
401 58:__UG_NAME__ -> 77:array___binary____op____u____gen___0 ;
402 71:__UG_NAME__ -> 77:array___binary____op____u____gen___1 ;
403 73:__UG_NAME__ -> 77:array___lf____tri___2 ;
404 76:__UG_NAME__ -> 77:array___sin____osc___3 ;
405 37:__UG_NAME__ -> 77:which ;
406 17:__UG_NAME__ -> 135:array___control___0 ;
407 18:__UG_NAME__ -> 135:array___control___1 ;
408 134:__UG_NAME__ -> 135:which ;
409 75:__UG_NAME__ -> 76:phase ;
410 54:__UG_NAME__ -> 76:freq ;
411
412 }
+0
-644
etc/synthdefs/graphviz/sonic-pi-mono_player.dot less more
0 digraph synthdef {
1 86 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 96 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 116 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 215 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 69 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 73 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 107 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 114 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 153 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 157 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 164 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 168 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 173 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 177 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 185 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 188 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 195 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 199 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 205 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 208 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 212 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 213 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 221 [label = "{{ <a> 0.03|<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 89 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
25 90 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
26 91 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
27 95 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="dashed, rounded" shape=record rankdir=LR];
28 125 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
29 126 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
30 127 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
31 88 [label = "{{ <a> |<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
32 64 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
33 75 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
34 76 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
35 79 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
36 80 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
37 83 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
38 124 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
39 209 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
40 61 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 68 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 72 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 99 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 102 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 106 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 113 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 123 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 152 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 156 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 163 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 167 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 172 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 176 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 184 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 187 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 198 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 207 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
58 60 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 67 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 71 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 87 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 98 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 101 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 105 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 109 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
66 112 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
67 130 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
68 151 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
69 155 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
70 162 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
71 166 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
72 171 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
73 175 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
74 183 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
75 186 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
76 197 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
77 85 [label = "{{ <a> |<b> } |<__UG_NAME__>absdif }" style="bold, rounded" shape=record rankdir=LR];
78 84 [label = "{{ <buf> buf} |<__UG_NAME__>buf-dur }" style="dashed, rounded" shape=record rankdir=LR];
79 94 [label = "{{ <buf> buf} |<__UG_NAME__>buf-frames }" style="dashed, rounded" shape=record rankdir=LR];
80 121 [label = "{{ <num____channels> num-channels 1|<bufnum> bufnum|<phase> phase|<loop> loop 1.0|<interpolation> interpolation 2.0} |<__UG_NAME__>buf-rd }" style="filled, bold, rounded" shape=record rankdir=LR];
81 0 [label = "control
82 :buf
83 default: 0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 1 [label = "control
85 :cutoff_attack_level
86 default: -1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 2 [label = "control
88 :cutoff_decay_level
89 default: -1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 3 [label = "control
91 :cutoff_sustain_level
92 default: -1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 4 [label = "control
94 :attack
95 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 5 [label = "control
97 :decay
98 default: 0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 6 [label = "control
100 :sustain
101 default: -1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 7 [label = "control
103 :release
104 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 8 [label = "control
106 :attack_level
107 default: 1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 9 [label = "control
109 :decay_level
110 default: -1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 10 [label = "control
112 :sustain_level
113 default: 1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 11 [label = "control
115 :amp
116 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 12 [label = "control
118 :amp_slide
119 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 13 [label = "control
121 :amp_slide_shape
122 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 14 [label = "control
124 :amp_slide_curve
125 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 15 [label = "control
127 :pan
128 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 16 [label = "control
130 :pan_slide
131 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 17 [label = "control
133 :pan_slide_shape
134 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 18 [label = "control
136 :pan_slide_curve
137 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 19 [label = "control
139 :cutoff
140 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 20 [label = "control
142 :cutoff_slide
143 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 21 [label = "control
145 :cutoff_slide_shape
146 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 22 [label = "control
148 :cutoff_slide_curve
149 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
150 23 [label = "control
151 :cutoff_attack
152 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
153 24 [label = "control
154 :cutoff_sustain
155 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
156 25 [label = "control
157 :cutoff_decay
158 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
159 26 [label = "control
160 :cutoff_release
161 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
162 27 [label = "control
163 :cutoff_min
164 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
165 28 [label = "control
166 :cutoff_min_slide
167 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
168 29 [label = "control
169 :cutoff_min_slide_shape
170 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
171 30 [label = "control
172 :cutoff_min_slide_curve
173 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
174 31 [label = "control
175 :cutoff_env_curve
176 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
177 32 [label = "control
178 :res
179 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
180 33 [label = "control
181 :res_slide
182 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
183 34 [label = "control
184 :res_slide_shape
185 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
186 35 [label = "control
187 :res_slide_curve
188 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
189 36 [label = "control
190 :env_curve
191 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
192 37 [label = "control
193 :rate
194 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
195 38 [label = "control
196 :start
197 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
198 39 [label = "control
199 :finish
200 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
201 40 [label = "control
202 :norm
203 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
204 41 [label = "control
205 :pitch
206 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
207 42 [label = "control
208 :pitch_slide
209 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
210 43 [label = "control
211 :pitch_slide_shape
212 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
213 44 [label = "control
214 :pitch_slide_curve
215 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
216 45 [label = "control
217 :window_size
218 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
219 46 [label = "control
220 :window_size_slide
221 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
222 47 [label = "control
223 :window_size_slide_shape
224 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
225 48 [label = "control
226 :window_size_slide_curve
227 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
228 49 [label = "control
229 :pitch_dis
230 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
231 50 [label = "control
232 :pitch_dis_slide
233 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
234 51 [label = "control
235 :pitch_dis_slide_shape
236 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
237 52 [label = "control
238 :pitch_dis_slide_curve
239 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
240 53 [label = "control
241 :time_dis
242 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
243 54 [label = "control
244 :time_dis_slide
245 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
246 55 [label = "control
247 :time_dis_slide_shape
248 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
249 56 [label = "control
250 :time_dis_slide_curve
251 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
252 57 [label = "control
253 :out_bus
254 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
255 74 [label = "{{ {{<envelope___select___0>|1.0|-99|-99|<envelope___select___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
256 93 [label = "{{ {{<envelope___env____gen___0>|4|-99|-99|<envelope___select___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___select___12>|<envelope___select___13>|<envelope___control___14>|0.0|<envelope___env____gen___16>|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
257 147 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
258 158 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
259 169 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
260 178 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
261 189 [label = "{{ {{<envelope___select___0>|1.0|-99|-99|<envelope___select___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
262 200 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
263 211 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___select___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
264 216 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
265 217 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
266 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
267 62 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
268 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
269 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
270 97 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
271 100 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
272 104 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
273 108 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
274 111 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
275 129 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
276 150 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
277 154 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
278 161 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
279 165 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
280 170 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
281 174 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
282 182 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
283 196 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
284 63 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
285 103 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
286 110 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
287 149 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
288 160 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
289 181 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
290 194 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
291 204 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
292 206 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
293 120 [label = "{{ <start> start|<end> end|<dur> dur|<action> action 0.0} |<__UG_NAME__>line }" style="filled, bold, rounded" shape=record rankdir=LR];
294 222 [label = "{{ <start> start 1.0|<end> end 1.0|<dur> dur|<action> action 2.0} |<__UG_NAME__>line }" style="bold, rounded" shape=record rankdir=LR];
295 190 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
296 191 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
297 220 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
298 159 [label = "{{ <a> |<b> } |<__UG_NAME__>midiratio }" style="bold, rounded" shape=record rankdir=LR];
299 192 [label = "{{ <a> |<b> } |<__UG_NAME__>min }" style="bold, rounded" shape=record rankdir=LR];
300 58 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
301 203 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
302 115 [label = "{{ <a> |<b> } |<__UG_NAME__>not-pos? }" style="bold, rounded" shape=record rankdir=LR];
303 118 [label = "{{ <a> |<b> } |<__UG_NAME__>not-pos? }" style="bold, rounded" shape=record rankdir=LR];
304 122 [label = "{{ <a> 0.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
305 131 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
306 132 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
307 133 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
308 135 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
309 137 [label = "{{ <a> 0.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
310 139 [label = "{{ <a> 0.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
311 142 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
312 144 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
313 148 [label = "{{ <a> 0.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
314 134 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
315 136 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
316 138 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
317 140 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
318 141 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
319 143 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
320 145 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
321 146 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
322 219 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
323 218 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
324 179 [label = "{{ <in> in|<window____size> window-size|<pitch____ratio> pitch-ratio|<pitch____dispersion> pitch-dispersion|<time____dispersion> time-dispersion} |<__UG_NAME__>pitch-shift }" style="filled, bold, rounded" shape=record rankdir=LR];
325 201 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
326 65 [label = "{{ <which> which|{{<array___control___0>|50}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
327 77 [label = "{{ <which> which|{{<array___control___0>|130}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
328 78 [label = "{{ <which> which|{{<array___control___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
329 81 [label = "{{ <which> which|{{<array___control___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
330 82 [label = "{{ <which> which|{{<array___control___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
331 92 [label = "{{ <which> which|{{<array___control___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
332 117 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
333 119 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
334 128 [label = "{{ <which> which|{{<array___control___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
335 180 [label = "{{ <which> which|{{<array___buf____rd___0>|<array___pitch____shift___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
336 193 [label = "{{ <which> which|{{<array___unary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
337 202 [label = "{{ <which> which|{{<array___select___0>|<array___rlpf___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
338 210 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
339 214 [label = "{{ <which> which|{{<array___select___0>|<array___normalizer___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
340
341 85:__UG_NAME__ -> 86:b ;
342 84:__UG_NAME__ -> 86:a ;
343 95:__UG_NAME__ -> 96:b ;
344 38:__UG_NAME__ -> 96:a ;
345 95:__UG_NAME__ -> 116:b ;
346 39:__UG_NAME__ -> 116:a ;
347 214:__UG_NAME__ -> 215:b ;
348 211:__UG_NAME__ -> 215:a ;
349 68:__UG_NAME__ -> 69:b ;
350 63:__UG_NAME__ -> 69:a ;
351 72:__UG_NAME__ -> 73:b ;
352 69:__UG_NAME__ -> 73:a ;
353 106:__UG_NAME__ -> 107:b ;
354 103:__UG_NAME__ -> 107:a ;
355 113:__UG_NAME__ -> 114:b ;
356 107:__UG_NAME__ -> 114:a ;
357 152:__UG_NAME__ -> 153:b ;
358 149:__UG_NAME__ -> 153:a ;
359 156:__UG_NAME__ -> 157:b ;
360 153:__UG_NAME__ -> 157:a ;
361 163:__UG_NAME__ -> 164:b ;
362 160:__UG_NAME__ -> 164:a ;
363 167:__UG_NAME__ -> 168:b ;
364 164:__UG_NAME__ -> 168:a ;
365 172:__UG_NAME__ -> 173:b ;
366 110:__UG_NAME__ -> 173:a ;
367 176:__UG_NAME__ -> 177:b ;
368 173:__UG_NAME__ -> 177:a ;
369 184:__UG_NAME__ -> 185:b ;
370 181:__UG_NAME__ -> 185:a ;
371 187:__UG_NAME__ -> 188:b ;
372 185:__UG_NAME__ -> 188:a ;
373 61:__UG_NAME__ -> 195:b ;
374 194:__UG_NAME__ -> 195:a ;
375 198:__UG_NAME__ -> 199:b ;
376 195:__UG_NAME__ -> 199:a ;
377 99:__UG_NAME__ -> 205:b ;
378 204:__UG_NAME__ -> 205:a ;
379 207:__UG_NAME__ -> 208:b ;
380 205:__UG_NAME__ -> 208:a ;
381 123:__UG_NAME__ -> 212:b ;
382 206:__UG_NAME__ -> 212:a ;
383 102:__UG_NAME__ -> 213:b ;
384 212:__UG_NAME__ -> 213:a ;
385 88:__UG_NAME__ -> 221:b ;
386 23:__UG_NAME__ -> 89:b ;
387 88:__UG_NAME__ -> 89:a ;
388 26:__UG_NAME__ -> 90:b ;
389 89:__UG_NAME__ -> 90:a ;
390 25:__UG_NAME__ -> 91:b ;
391 90:__UG_NAME__ -> 91:a ;
392 94:__UG_NAME__ -> 95:a ;
393 4:__UG_NAME__ -> 125:b ;
394 88:__UG_NAME__ -> 125:a ;
395 7:__UG_NAME__ -> 126:b ;
396 125:__UG_NAME__ -> 126:a ;
397 5:__UG_NAME__ -> 127:b ;
398 126:__UG_NAME__ -> 127:a ;
399 87:__UG_NAME__ -> 88:b ;
400 86:__UG_NAME__ -> 88:a ;
401 27:__UG_NAME__ -> 64:b ;
402 1:__UG_NAME__ -> 75:b ;
403 19:__UG_NAME__ -> 76:b ;
404 2:__UG_NAME__ -> 79:b ;
405 3:__UG_NAME__ -> 80:b ;
406 24:__UG_NAME__ -> 83:b ;
407 6:__UG_NAME__ -> 124:b ;
408 9:__UG_NAME__ -> 209:b ;
409 60:__UG_NAME__ -> 61:a ;
410 67:__UG_NAME__ -> 68:a ;
411 71:__UG_NAME__ -> 72:a ;
412 98:__UG_NAME__ -> 99:a ;
413 101:__UG_NAME__ -> 102:a ;
414 105:__UG_NAME__ -> 106:a ;
415 112:__UG_NAME__ -> 113:a ;
416 109:__UG_NAME__ -> 123:a ;
417 151:__UG_NAME__ -> 152:a ;
418 155:__UG_NAME__ -> 156:a ;
419 162:__UG_NAME__ -> 163:a ;
420 166:__UG_NAME__ -> 167:a ;
421 171:__UG_NAME__ -> 172:a ;
422 175:__UG_NAME__ -> 176:a ;
423 183:__UG_NAME__ -> 184:a ;
424 186:__UG_NAME__ -> 187:a ;
425 197:__UG_NAME__ -> 198:a ;
426 130:__UG_NAME__ -> 207:a ;
427 59:__UG_NAME__ -> 60:a ;
428 66:__UG_NAME__ -> 67:a ;
429 70:__UG_NAME__ -> 71:a ;
430 37:__UG_NAME__ -> 87:a ;
431 97:__UG_NAME__ -> 98:a ;
432 100:__UG_NAME__ -> 101:a ;
433 104:__UG_NAME__ -> 105:a ;
434 108:__UG_NAME__ -> 109:a ;
435 111:__UG_NAME__ -> 112:a ;
436 129:__UG_NAME__ -> 130:a ;
437 150:__UG_NAME__ -> 151:a ;
438 154:__UG_NAME__ -> 155:a ;
439 161:__UG_NAME__ -> 162:a ;
440 165:__UG_NAME__ -> 166:a ;
441 170:__UG_NAME__ -> 171:a ;
442 174:__UG_NAME__ -> 175:a ;
443 182:__UG_NAME__ -> 183:a ;
444 62:__UG_NAME__ -> 186:a ;
445 196:__UG_NAME__ -> 197:a ;
446 38:__UG_NAME__ -> 85:b ;
447 39:__UG_NAME__ -> 85:a ;
448 0:__UG_NAME__ -> 84:buf ;
449 0:__UG_NAME__ -> 94:buf ;
450 120:__UG_NAME__ -> 121:phase ;
451 0:__UG_NAME__ -> 121:bufnum ;
452 73:__UG_NAME__ -> 74:gate ;
453 65:__UG_NAME__ -> 74:envelope___select___0 ;
454 65:__UG_NAME__ -> 74:envelope___select___4 ;
455 28:__UG_NAME__ -> 74:envelope___control___5 ;
456 29:__UG_NAME__ -> 74:envelope___control___6 ;
457 30:__UG_NAME__ -> 74:envelope___control___7 ;
458 74:__UG_NAME__ -> 93:envelope___env____gen___0 ;
459 78:__UG_NAME__ -> 93:envelope___select___4 ;
460 23:__UG_NAME__ -> 93:envelope___control___5 ;
461 31:__UG_NAME__ -> 93:envelope___control___6 ;
462 82:__UG_NAME__ -> 93:envelope___select___8 ;
463 25:__UG_NAME__ -> 93:envelope___control___9 ;
464 31:__UG_NAME__ -> 93:envelope___control___10 ;
465 81:__UG_NAME__ -> 93:envelope___select___12 ;
466 92:__UG_NAME__ -> 93:envelope___select___13 ;
467 31:__UG_NAME__ -> 93:envelope___control___14 ;
468 74:__UG_NAME__ -> 93:envelope___env____gen___16 ;
469 26:__UG_NAME__ -> 93:envelope___control___17 ;
470 31:__UG_NAME__ -> 93:envelope___control___18 ;
471 114:__UG_NAME__ -> 147:gate ;
472 41:__UG_NAME__ -> 147:envelope___control___0 ;
473 41:__UG_NAME__ -> 147:envelope___control___4 ;
474 42:__UG_NAME__ -> 147:envelope___control___5 ;
475 43:__UG_NAME__ -> 147:envelope___control___6 ;
476 44:__UG_NAME__ -> 147:envelope___control___7 ;
477 157:__UG_NAME__ -> 158:gate ;
478 45:__UG_NAME__ -> 158:envelope___control___0 ;
479 45:__UG_NAME__ -> 158:envelope___control___4 ;
480 46:__UG_NAME__ -> 158:envelope___control___5 ;
481 47:__UG_NAME__ -> 158:envelope___control___6 ;
482 48:__UG_NAME__ -> 158:envelope___control___7 ;
483 168:__UG_NAME__ -> 169:gate ;
484 49:__UG_NAME__ -> 169:envelope___control___0 ;
485 49:__UG_NAME__ -> 169:envelope___control___4 ;
486 50:__UG_NAME__ -> 169:envelope___control___5 ;
487 51:__UG_NAME__ -> 169:envelope___control___6 ;
488 52:__UG_NAME__ -> 169:envelope___control___7 ;
489 177:__UG_NAME__ -> 178:gate ;
490 53:__UG_NAME__ -> 178:envelope___control___0 ;
491 53:__UG_NAME__ -> 178:envelope___control___4 ;
492 54:__UG_NAME__ -> 178:envelope___control___5 ;
493 55:__UG_NAME__ -> 178:envelope___control___6 ;
494 56:__UG_NAME__ -> 178:envelope___control___7 ;
495 188:__UG_NAME__ -> 189:gate ;
496 77:__UG_NAME__ -> 189:envelope___select___0 ;
497 77:__UG_NAME__ -> 189:envelope___select___4 ;
498 20:__UG_NAME__ -> 189:envelope___control___5 ;
499 21:__UG_NAME__ -> 189:envelope___control___6 ;
500 22:__UG_NAME__ -> 189:envelope___control___7 ;
501 199:__UG_NAME__ -> 200:gate ;
502 58:__UG_NAME__ -> 200:envelope___mul____add___0 ;
503 58:__UG_NAME__ -> 200:envelope___mul____add___4 ;
504 33:__UG_NAME__ -> 200:envelope___control___5 ;
505 34:__UG_NAME__ -> 200:envelope___control___6 ;
506 35:__UG_NAME__ -> 200:envelope___control___7 ;
507 8:__UG_NAME__ -> 211:envelope___control___4 ;
508 4:__UG_NAME__ -> 211:envelope___control___5 ;
509 36:__UG_NAME__ -> 211:envelope___control___6 ;
510 210:__UG_NAME__ -> 211:envelope___select___8 ;
511 5:__UG_NAME__ -> 211:envelope___control___9 ;
512 36:__UG_NAME__ -> 211:envelope___control___10 ;
513 10:__UG_NAME__ -> 211:envelope___control___12 ;
514 128:__UG_NAME__ -> 211:envelope___select___13 ;
515 36:__UG_NAME__ -> 211:envelope___control___14 ;
516 7:__UG_NAME__ -> 211:envelope___control___17 ;
517 36:__UG_NAME__ -> 211:envelope___control___18 ;
518 213:__UG_NAME__ -> 216:gate ;
519 15:__UG_NAME__ -> 216:envelope___control___0 ;
520 15:__UG_NAME__ -> 216:envelope___control___4 ;
521 16:__UG_NAME__ -> 216:envelope___control___5 ;
522 17:__UG_NAME__ -> 216:envelope___control___6 ;
523 18:__UG_NAME__ -> 216:envelope___control___7 ;
524 208:__UG_NAME__ -> 217:gate ;
525 11:__UG_NAME__ -> 217:envelope___control___0 ;
526 11:__UG_NAME__ -> 217:envelope___control___4 ;
527 12:__UG_NAME__ -> 217:envelope___control___5 ;
528 13:__UG_NAME__ -> 217:envelope___control___6 ;
529 14:__UG_NAME__ -> 217:envelope___control___7 ;
530 58:__UG_NAME__ -> 59:in ;
531 20:__UG_NAME__ -> 62:in ;
532 65:__UG_NAME__ -> 66:in ;
533 28:__UG_NAME__ -> 70:in ;
534 11:__UG_NAME__ -> 97:in ;
535 16:__UG_NAME__ -> 100:in ;
536 41:__UG_NAME__ -> 104:in ;
537 15:__UG_NAME__ -> 108:in ;
538 42:__UG_NAME__ -> 111:in ;
539 12:__UG_NAME__ -> 129:in ;
540 45:__UG_NAME__ -> 150:in ;
541 46:__UG_NAME__ -> 154:in ;
542 49:__UG_NAME__ -> 161:in ;
543 50:__UG_NAME__ -> 165:in ;
544 53:__UG_NAME__ -> 170:in ;
545 54:__UG_NAME__ -> 174:in ;
546 77:__UG_NAME__ -> 182:in ;
547 33:__UG_NAME__ -> 196:in ;
548 88:__UG_NAME__ -> 120:dur ;
549 119:__UG_NAME__ -> 120:end ;
550 117:__UG_NAME__ -> 120:start ;
551 221:__UG_NAME__ -> 222:dur ;
552 189:__UG_NAME__ -> 190:a ;
553 93:__UG_NAME__ -> 191:a ;
554 74:__UG_NAME__ -> 220:a ;
555 147:__UG_NAME__ -> 159:a ;
556 190:__UG_NAME__ -> 192:b ;
557 191:__UG_NAME__ -> 192:a ;
558 32:__UG_NAME__ -> 58:in ;
559 202:__UG_NAME__ -> 203:in ;
560 37:__UG_NAME__ -> 115:a ;
561 37:__UG_NAME__ -> 118:a ;
562 26:__UG_NAME__ -> 122:b ;
563 19:__UG_NAME__ -> 131:b ;
564 1:__UG_NAME__ -> 132:b ;
565 2:__UG_NAME__ -> 133:b ;
566 3:__UG_NAME__ -> 135:b ;
567 23:__UG_NAME__ -> 137:b ;
568 25:__UG_NAME__ -> 139:b ;
569 24:__UG_NAME__ -> 142:b ;
570 27:__UG_NAME__ -> 144:b ;
571 147:__UG_NAME__ -> 148:b ;
572 133:__UG_NAME__ -> 134:b ;
573 132:__UG_NAME__ -> 134:a ;
574 135:__UG_NAME__ -> 136:b ;
575 134:__UG_NAME__ -> 136:a ;
576 137:__UG_NAME__ -> 138:b ;
577 136:__UG_NAME__ -> 138:a ;
578 139:__UG_NAME__ -> 140:b ;
579 138:__UG_NAME__ -> 140:a ;
580 122:__UG_NAME__ -> 141:b ;
581 140:__UG_NAME__ -> 141:a ;
582 142:__UG_NAME__ -> 143:b ;
583 141:__UG_NAME__ -> 143:a ;
584 144:__UG_NAME__ -> 145:b ;
585 143:__UG_NAME__ -> 145:a ;
586 145:__UG_NAME__ -> 146:b ;
587 131:__UG_NAME__ -> 146:a ;
588 218:__UG_NAME__ -> 219:signals___pan2___0 ;
589 218:__UG_NAME__ -> 219:signals___pan2___1 ;
590 57:__UG_NAME__ -> 219:bus ;
591 217:__UG_NAME__ -> 218:level ;
592 216:__UG_NAME__ -> 218:pos ;
593 215:__UG_NAME__ -> 218:in ;
594 178:__UG_NAME__ -> 179:time____dispersion ;
595 169:__UG_NAME__ -> 179:pitch____dispersion ;
596 159:__UG_NAME__ -> 179:pitch____ratio ;
597 158:__UG_NAME__ -> 179:window____size ;
598 121:__UG_NAME__ -> 179:in ;
599 200:__UG_NAME__ -> 201:rq ;
600 193:__UG_NAME__ -> 201:freq ;
601 180:__UG_NAME__ -> 201:in ;
602 27:__UG_NAME__ -> 65:array___control___0 ;
603 64:__UG_NAME__ -> 65:which ;
604 19:__UG_NAME__ -> 77:array___control___0 ;
605 76:__UG_NAME__ -> 77:which ;
606 1:__UG_NAME__ -> 78:array___control___0 ;
607 77:__UG_NAME__ -> 78:array___select___1 ;
608 75:__UG_NAME__ -> 78:which ;
609 3:__UG_NAME__ -> 81:array___control___0 ;
610 78:__UG_NAME__ -> 81:array___select___1 ;
611 80:__UG_NAME__ -> 81:which ;
612 2:__UG_NAME__ -> 82:array___control___0 ;
613 81:__UG_NAME__ -> 82:array___select___1 ;
614 79:__UG_NAME__ -> 82:which ;
615 24:__UG_NAME__ -> 92:array___control___0 ;
616 91:__UG_NAME__ -> 92:array___binary____op____u____gen___1 ;
617 83:__UG_NAME__ -> 92:which ;
618 96:__UG_NAME__ -> 117:array___binary____op____u____gen___0 ;
619 116:__UG_NAME__ -> 117:array___binary____op____u____gen___1 ;
620 115:__UG_NAME__ -> 117:which ;
621 116:__UG_NAME__ -> 119:array___binary____op____u____gen___0 ;
622 96:__UG_NAME__ -> 119:array___binary____op____u____gen___1 ;
623 118:__UG_NAME__ -> 119:which ;
624 6:__UG_NAME__ -> 128:array___control___0 ;
625 127:__UG_NAME__ -> 128:array___binary____op____u____gen___1 ;
626 124:__UG_NAME__ -> 128:which ;
627 121:__UG_NAME__ -> 180:array___buf____rd___0 ;
628 179:__UG_NAME__ -> 180:array___pitch____shift___1 ;
629 148:__UG_NAME__ -> 180:which ;
630 190:__UG_NAME__ -> 193:array___unary____op____u____gen___0 ;
631 192:__UG_NAME__ -> 193:array___binary____op____u____gen___1 ;
632 145:__UG_NAME__ -> 193:which ;
633 180:__UG_NAME__ -> 202:array___select___0 ;
634 201:__UG_NAME__ -> 202:array___rlpf___1 ;
635 146:__UG_NAME__ -> 202:which ;
636 9:__UG_NAME__ -> 210:array___control___0 ;
637 10:__UG_NAME__ -> 210:array___control___1 ;
638 209:__UG_NAME__ -> 210:which ;
639 202:__UG_NAME__ -> 214:array___select___0 ;
640 203:__UG_NAME__ -> 214:array___normalizer___1 ;
641 40:__UG_NAME__ -> 214:which ;
642
643 }
+0
-223
etc/synthdefs/graphviz/sonic-pi-noise.dot less more
0 digraph synthdef {
1 53 [label = "{{ <a> 0.9|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 57 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 38 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 41 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 46 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 50 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 62 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 65 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 69 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 72 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 54 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 37 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 40 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 45 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 49 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 61 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 64 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 68 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 71 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 27 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 29 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 36 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 39 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 48 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 60 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 63 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 70 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 0 [label = "control
29 :amp
30 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 1 [label = "control
32 :amp_slide
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 2 [label = "control
35 :amp_slide_shape
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 3 [label = "control
38 :amp_slide_curve
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 4 [label = "control
41 :pan
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 5 [label = "control
44 :pan_slide
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 6 [label = "control
47 :pan_slide_shape
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 7 [label = "control
50 :pan_slide_curve
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 8 [label = "control
53 :attack
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 9 [label = "control
56 :sustain
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 10 [label = "control
59 :decay
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 11 [label = "control
62 :release
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 12 [label = "control
65 :attack_level
66 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 13 [label = "control
68 :decay_level
69 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 14 [label = "control
71 :sustain_level
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 15 [label = "control
74 :env_curve
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 16 [label = "control
77 :cutoff
78 default: 110.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 17 [label = "control
80 :cutoff_slide
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 18 [label = "control
83 :cutoff_slide_shape
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 19 [label = "control
86 :cutoff_slide_curve
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 20 [label = "control
89 :res
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 21 [label = "control
92 :res_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 22 [label = "control
95 :res_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 23 [label = "control
98 :res_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 24 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 42 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 51 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 56 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 66 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 73 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 32 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 34 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
117 44 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 58 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 67 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 43 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
121 25 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
122 75 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
123 74 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
124 52 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
125 55 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
126 33 [label = "{<__UG_NAME__>white-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
127
128 52:__UG_NAME__ -> 53:b ;
129 56:__UG_NAME__ -> 57:b ;
130 53:__UG_NAME__ -> 57:a ;
131 37:__UG_NAME__ -> 38:b ;
132 34:__UG_NAME__ -> 38:a ;
133 40:__UG_NAME__ -> 41:b ;
134 38:__UG_NAME__ -> 41:a ;
135 45:__UG_NAME__ -> 46:b ;
136 44:__UG_NAME__ -> 46:a ;
137 49:__UG_NAME__ -> 50:b ;
138 46:__UG_NAME__ -> 50:a ;
139 61:__UG_NAME__ -> 62:b ;
140 58:__UG_NAME__ -> 62:a ;
141 64:__UG_NAME__ -> 65:b ;
142 62:__UG_NAME__ -> 65:a ;
143 68:__UG_NAME__ -> 69:b ;
144 67:__UG_NAME__ -> 69:a ;
145 71:__UG_NAME__ -> 72:b ;
146 69:__UG_NAME__ -> 72:a ;
147 13:__UG_NAME__ -> 54:b ;
148 36:__UG_NAME__ -> 37:a ;
149 39:__UG_NAME__ -> 40:a ;
150 27:__UG_NAME__ -> 45:a ;
151 48:__UG_NAME__ -> 49:a ;
152 60:__UG_NAME__ -> 61:a ;
153 63:__UG_NAME__ -> 64:a ;
154 29:__UG_NAME__ -> 68:a ;
155 70:__UG_NAME__ -> 71:a ;
156 26:__UG_NAME__ -> 27:a ;
157 28:__UG_NAME__ -> 29:a ;
158 35:__UG_NAME__ -> 36:a ;
159 30:__UG_NAME__ -> 39:a ;
160 47:__UG_NAME__ -> 48:a ;
161 59:__UG_NAME__ -> 60:a ;
162 32:__UG_NAME__ -> 63:a ;
163 31:__UG_NAME__ -> 70:a ;
164 41:__UG_NAME__ -> 42:gate ;
165 16:__UG_NAME__ -> 42:envelope___control___0 ;
166 16:__UG_NAME__ -> 42:envelope___control___4 ;
167 17:__UG_NAME__ -> 42:envelope___control___5 ;
168 18:__UG_NAME__ -> 42:envelope___control___6 ;
169 19:__UG_NAME__ -> 42:envelope___control___7 ;
170 50:__UG_NAME__ -> 51:gate ;
171 25:__UG_NAME__ -> 51:envelope___mul____add___0 ;
172 25:__UG_NAME__ -> 51:envelope___mul____add___4 ;
173 21:__UG_NAME__ -> 51:envelope___control___5 ;
174 22:__UG_NAME__ -> 51:envelope___control___6 ;
175 23:__UG_NAME__ -> 51:envelope___control___7 ;
176 12:__UG_NAME__ -> 56:envelope___control___4 ;
177 8:__UG_NAME__ -> 56:envelope___control___5 ;
178 15:__UG_NAME__ -> 56:envelope___control___6 ;
179 55:__UG_NAME__ -> 56:envelope___select___8 ;
180 10:__UG_NAME__ -> 56:envelope___control___9 ;
181 15:__UG_NAME__ -> 56:envelope___control___10 ;
182 14:__UG_NAME__ -> 56:envelope___control___12 ;
183 9:__UG_NAME__ -> 56:envelope___control___13 ;
184 15:__UG_NAME__ -> 56:envelope___control___14 ;
185 11:__UG_NAME__ -> 56:envelope___control___17 ;
186 15:__UG_NAME__ -> 56:envelope___control___18 ;
187 65:__UG_NAME__ -> 66:gate ;
188 4:__UG_NAME__ -> 66:envelope___control___0 ;
189 4:__UG_NAME__ -> 66:envelope___control___4 ;
190 5:__UG_NAME__ -> 66:envelope___control___5 ;
191 6:__UG_NAME__ -> 66:envelope___control___6 ;
192 7:__UG_NAME__ -> 66:envelope___control___7 ;
193 72:__UG_NAME__ -> 73:gate ;
194 0:__UG_NAME__ -> 73:envelope___control___0 ;
195 0:__UG_NAME__ -> 73:envelope___control___4 ;
196 1:__UG_NAME__ -> 73:envelope___control___5 ;
197 2:__UG_NAME__ -> 73:envelope___control___6 ;
198 3:__UG_NAME__ -> 73:envelope___control___7 ;
199 25:__UG_NAME__ -> 26:in ;
200 0:__UG_NAME__ -> 28:in ;
201 17:__UG_NAME__ -> 30:in ;
202 1:__UG_NAME__ -> 31:in ;
203 5:__UG_NAME__ -> 32:in ;
204 16:__UG_NAME__ -> 35:in ;
205 21:__UG_NAME__ -> 47:in ;
206 4:__UG_NAME__ -> 59:in ;
207 42:__UG_NAME__ -> 43:a ;
208 20:__UG_NAME__ -> 25:in ;
209 74:__UG_NAME__ -> 75:signals___pan2___0 ;
210 74:__UG_NAME__ -> 75:signals___pan2___1 ;
211 24:__UG_NAME__ -> 75:bus ;
212 73:__UG_NAME__ -> 74:level ;
213 66:__UG_NAME__ -> 74:pos ;
214 57:__UG_NAME__ -> 74:in ;
215 51:__UG_NAME__ -> 52:rq ;
216 43:__UG_NAME__ -> 52:freq ;
217 33:__UG_NAME__ -> 52:in ;
218 13:__UG_NAME__ -> 55:array___control___0 ;
219 14:__UG_NAME__ -> 55:array___control___1 ;
220 54:__UG_NAME__ -> 55:which ;
221
222 }
+0
-178
etc/synthdefs/graphviz/sonic-pi-piano.dot less more
0 digraph synthdef {
1 48 [label = "{{ <a> |<b> 127.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 54 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 55 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 29 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 34 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 38 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 41 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 42 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
9 28 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
10 33 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
11 37 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
12 40 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 24 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
14 27 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
15 32 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
16 36 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
17 53 [label = "{{ <left> left|<right> right|<pos> pos|<level> level} |<__UG_NAME__>balance2 }" style="filled, bold, rounded" shape=record rankdir=LR];
18 45 [label = "{{ <in> in|<lo> lo 0.0|<hi> hi 1.0} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
19 46 [label = "{{ <in> in|<lo> lo 0.0|<hi> hi 1.0} |<__UG_NAME__>clip }" style="bold, rounded" shape=record rankdir=LR];
20 0 [label = "control
21 :note
22 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
23 1 [label = "control
24 :amp
25 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
26 2 [label = "control
27 :amp_slide
28 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
29 3 [label = "control
30 :amp_slide_shape
31 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
32 4 [label = "control
33 :amp_slide_curve
34 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
35 5 [label = "control
36 :pan
37 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
38 6 [label = "control
39 :pan_slide
40 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 7 [label = "control
42 :pan_slide_shape
43 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 8 [label = "control
45 :pan_slide_curve
46 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 9 [label = "control
48 :attack
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 10 [label = "control
51 :decay
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 11 [label = "control
54 :sustain
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 12 [label = "control
57 :release
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 13 [label = "control
60 :attack_level
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 14 [label = "control
63 :decay_level
64 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 15 [label = "control
66 :sustain_level
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 16 [label = "control
69 :env_curve
70 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 17 [label = "control
72 :vel
73 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 18 [label = "control
75 :decay
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 19 [label = "control
78 :hard
79 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 20 [label = "control
81 :velcurve
82 default: 0.8" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 21 [label = "control
84 :stereo_width
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 22 [label = "control
87 :out_bus
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 39 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
90 44 [label = "{{ {{0.0|4.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
91 49 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
92 23 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 25 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
97 30 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
98 52 [label = "{{ <hard> hard|<stretch> stretch 0.0|<velmuff> velmuff 0.8|<vel> vel|<decay> decay|<random> random 0.0|<gate> gate 1.0|<sustain> sustain 0.1|<velhard> velhard 0.8|<stereo> stereo|<release> release|<muffle> muffle 0.8|<velcurve> velcurve|<tune> tune 0.5|<freq> freq} |<__UG_NAME__>mda-piano }" style="filled, bold, rounded" shape=record rankdir=LR];
99 50 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
100 47 [label = "{{ <in> in|<mul> mul 4.0|<add> add 0.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
101 51 [label = "{{ <in> in|<mul> mul 6.0|<add> add -3.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
102 56 [label = "{{ <bus> bus|{{<signals___binary____op____u____gen___0>|<signals___binary____op____u____gen___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
103 43 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
104
105 47:__UG_NAME__ -> 48:a ;
106 53:__UG_NAME__ -> 54:b ;
107 44:__UG_NAME__ -> 54:a ;
108 53:__UG_NAME__ -> 55:b ;
109 44:__UG_NAME__ -> 55:a ;
110 28:__UG_NAME__ -> 29:b ;
111 25:__UG_NAME__ -> 29:a ;
112 33:__UG_NAME__ -> 34:b ;
113 30:__UG_NAME__ -> 34:a ;
114 37:__UG_NAME__ -> 38:b ;
115 34:__UG_NAME__ -> 38:a ;
116 40:__UG_NAME__ -> 41:b ;
117 29:__UG_NAME__ -> 41:a ;
118 14:__UG_NAME__ -> 42:b ;
119 27:__UG_NAME__ -> 28:a ;
120 32:__UG_NAME__ -> 33:a ;
121 36:__UG_NAME__ -> 37:a ;
122 24:__UG_NAME__ -> 40:a ;
123 23:__UG_NAME__ -> 24:a ;
124 26:__UG_NAME__ -> 27:a ;
125 31:__UG_NAME__ -> 32:a ;
126 35:__UG_NAME__ -> 36:a ;
127 39:__UG_NAME__ -> 53:level ;
128 49:__UG_NAME__ -> 53:pos ;
129 52:__UG_NAME__ -> 53:right ;
130 52:__UG_NAME__ -> 53:left ;
131 19:__UG_NAME__ -> 45:in ;
132 17:__UG_NAME__ -> 46:in ;
133 38:__UG_NAME__ -> 39:gate ;
134 1:__UG_NAME__ -> 39:envelope___control___0 ;
135 1:__UG_NAME__ -> 39:envelope___control___4 ;
136 2:__UG_NAME__ -> 39:envelope___control___5 ;
137 3:__UG_NAME__ -> 39:envelope___control___6 ;
138 4:__UG_NAME__ -> 39:envelope___control___7 ;
139 13:__UG_NAME__ -> 44:envelope___control___4 ;
140 9:__UG_NAME__ -> 44:envelope___control___5 ;
141 16:__UG_NAME__ -> 44:envelope___control___6 ;
142 43:__UG_NAME__ -> 44:envelope___select___8 ;
143 10:__UG_NAME__ -> 44:envelope___control___9 ;
144 16:__UG_NAME__ -> 44:envelope___control___10 ;
145 15:__UG_NAME__ -> 44:envelope___control___12 ;
146 11:__UG_NAME__ -> 44:envelope___control___13 ;
147 16:__UG_NAME__ -> 44:envelope___control___14 ;
148 12:__UG_NAME__ -> 44:envelope___control___17 ;
149 16:__UG_NAME__ -> 44:envelope___control___18 ;
150 41:__UG_NAME__ -> 49:gate ;
151 5:__UG_NAME__ -> 49:envelope___control___0 ;
152 5:__UG_NAME__ -> 49:envelope___control___4 ;
153 6:__UG_NAME__ -> 49:envelope___control___5 ;
154 7:__UG_NAME__ -> 49:envelope___control___6 ;
155 8:__UG_NAME__ -> 49:envelope___control___7 ;
156 6:__UG_NAME__ -> 23:in ;
157 5:__UG_NAME__ -> 26:in ;
158 1:__UG_NAME__ -> 31:in ;
159 2:__UG_NAME__ -> 35:in ;
160 50:__UG_NAME__ -> 52:freq ;
161 20:__UG_NAME__ -> 52:velcurve ;
162 12:__UG_NAME__ -> 52:release ;
163 21:__UG_NAME__ -> 52:stereo ;
164 10:__UG_NAME__ -> 52:decay ;
165 48:__UG_NAME__ -> 52:vel ;
166 51:__UG_NAME__ -> 52:hard ;
167 0:__UG_NAME__ -> 50:a ;
168 46:__UG_NAME__ -> 47:in ;
169 45:__UG_NAME__ -> 51:in ;
170 54:__UG_NAME__ -> 56:signals___binary____op____u____gen___0 ;
171 55:__UG_NAME__ -> 56:signals___binary____op____u____gen___1 ;
172 22:__UG_NAME__ -> 56:bus ;
173 14:__UG_NAME__ -> 43:array___control___0 ;
174 15:__UG_NAME__ -> 43:array___control___1 ;
175 42:__UG_NAME__ -> 43:which ;
176
177 }
+0
-223
etc/synthdefs/graphviz/sonic-pi-pnoise.dot less more
0 digraph synthdef {
1 56 [label = "{{ <a> 3.0|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 70 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 38 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 42 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 50 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 69 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 72 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 25 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 32 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 37 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 41 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 49 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 52 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 62 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 68 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 71 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 31 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 36 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 40 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 48 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 60 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 61 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 67 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 0 [label = "control
29 :amp
30 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 1 [label = "control
32 :amp_slide
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 2 [label = "control
35 :amp_slide_shape
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 3 [label = "control
38 :amp_slide_curve
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 4 [label = "control
41 :pan
42 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 5 [label = "control
44 :pan_slide
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 6 [label = "control
47 :pan_slide_shape
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 7 [label = "control
50 :pan_slide_curve
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 8 [label = "control
53 :attack
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 9 [label = "control
56 :sustain
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 10 [label = "control
59 :decay
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 11 [label = "control
62 :release
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 12 [label = "control
65 :attack_level
66 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 13 [label = "control
68 :decay_level
69 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 14 [label = "control
71 :sustain_level
72 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 15 [label = "control
74 :env_curve
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 16 [label = "control
77 :cutoff
78 default: 110.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 17 [label = "control
80 :cutoff_slide
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 18 [label = "control
83 :cutoff_slide_shape
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 19 [label = "control
86 :cutoff_slide_curve
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 20 [label = "control
89 :res
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 21 [label = "control
92 :res_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 22 [label = "control
95 :res_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 23 [label = "control
98 :res_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 24 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 27 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 43 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 54 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 65 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 73 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 28 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 29 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 47 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 58 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 34 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
117 45 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 57 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 66 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 44 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
121 46 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
122 75 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
123 74 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
124 33 [label = "{<__UG_NAME__>pink-noise }" style="filled, bold, rounded" shape=record rankdir=LR];
125 55 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
126 26 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
127
128 55:__UG_NAME__ -> 56:b ;
129 27:__UG_NAME__ -> 70:b ;
130 56:__UG_NAME__ -> 70:a ;
131 37:__UG_NAME__ -> 38:b ;
132 34:__UG_NAME__ -> 38:a ;
133 41:__UG_NAME__ -> 42:b ;
134 38:__UG_NAME__ -> 42:a ;
135 49:__UG_NAME__ -> 50:b ;
136 45:__UG_NAME__ -> 50:a ;
137 52:__UG_NAME__ -> 53:b ;
138 50:__UG_NAME__ -> 53:a ;
139 62:__UG_NAME__ -> 63:b ;
140 57:__UG_NAME__ -> 63:a ;
141 32:__UG_NAME__ -> 64:b ;
142 63:__UG_NAME__ -> 64:a ;
143 68:__UG_NAME__ -> 69:b ;
144 66:__UG_NAME__ -> 69:a ;
145 71:__UG_NAME__ -> 72:b ;
146 69:__UG_NAME__ -> 72:a ;
147 13:__UG_NAME__ -> 25:b ;
148 31:__UG_NAME__ -> 32:a ;
149 36:__UG_NAME__ -> 37:a ;
150 40:__UG_NAME__ -> 41:a ;
151 48:__UG_NAME__ -> 49:a ;
152 51:__UG_NAME__ -> 52:a ;
153 61:__UG_NAME__ -> 62:a ;
154 67:__UG_NAME__ -> 68:a ;
155 60:__UG_NAME__ -> 71:a ;
156 30:__UG_NAME__ -> 31:a ;
157 35:__UG_NAME__ -> 36:a ;
158 39:__UG_NAME__ -> 40:a ;
159 47:__UG_NAME__ -> 48:a ;
160 28:__UG_NAME__ -> 51:a ;
161 59:__UG_NAME__ -> 60:a ;
162 29:__UG_NAME__ -> 61:a ;
163 58:__UG_NAME__ -> 67:a ;
164 12:__UG_NAME__ -> 27:envelope___control___4 ;
165 8:__UG_NAME__ -> 27:envelope___control___5 ;
166 15:__UG_NAME__ -> 27:envelope___control___6 ;
167 26:__UG_NAME__ -> 27:envelope___select___8 ;
168 10:__UG_NAME__ -> 27:envelope___control___9 ;
169 15:__UG_NAME__ -> 27:envelope___control___10 ;
170 14:__UG_NAME__ -> 27:envelope___control___12 ;
171 9:__UG_NAME__ -> 27:envelope___control___13 ;
172 15:__UG_NAME__ -> 27:envelope___control___14 ;
173 11:__UG_NAME__ -> 27:envelope___control___17 ;
174 15:__UG_NAME__ -> 27:envelope___control___18 ;
175 42:__UG_NAME__ -> 43:gate ;
176 16:__UG_NAME__ -> 43:envelope___control___0 ;
177 16:__UG_NAME__ -> 43:envelope___control___4 ;
178 17:__UG_NAME__ -> 43:envelope___control___5 ;
179 18:__UG_NAME__ -> 43:envelope___control___6 ;
180 19:__UG_NAME__ -> 43:envelope___control___7 ;
181 53:__UG_NAME__ -> 54:gate ;
182 46:__UG_NAME__ -> 54:envelope___mul____add___0 ;
183 46:__UG_NAME__ -> 54:envelope___mul____add___4 ;
184 21:__UG_NAME__ -> 54:envelope___control___5 ;
185 22:__UG_NAME__ -> 54:envelope___control___6 ;
186 23:__UG_NAME__ -> 54:envelope___control___7 ;
187 64:__UG_NAME__ -> 65:gate ;
188 4:__UG_NAME__ -> 65:envelope___control___0 ;
189 4:__UG_NAME__ -> 65:envelope___control___4 ;
190 5:__UG_NAME__ -> 65:envelope___control___5 ;
191 6:__UG_NAME__ -> 65:envelope___control___6 ;
192 7:__UG_NAME__ -> 65:envelope___control___7 ;
193 72:__UG_NAME__ -> 73:gate ;
194 0:__UG_NAME__ -> 73:envelope___control___0 ;
195 0:__UG_NAME__ -> 73:envelope___control___4 ;
196 1:__UG_NAME__ -> 73:envelope___control___5 ;
197 2:__UG_NAME__ -> 73:envelope___control___6 ;
198 3:__UG_NAME__ -> 73:envelope___control___7 ;
199 21:__UG_NAME__ -> 28:in ;
200 4:__UG_NAME__ -> 29:in ;
201 5:__UG_NAME__ -> 30:in ;
202 16:__UG_NAME__ -> 35:in ;
203 17:__UG_NAME__ -> 39:in ;
204 46:__UG_NAME__ -> 47:in ;
205 0:__UG_NAME__ -> 58:in ;
206 1:__UG_NAME__ -> 59:in ;
207 43:__UG_NAME__ -> 44:a ;
208 20:__UG_NAME__ -> 46:in ;
209 74:__UG_NAME__ -> 75:signals___pan2___0 ;
210 74:__UG_NAME__ -> 75:signals___pan2___1 ;
211 24:__UG_NAME__ -> 75:bus ;
212 73:__UG_NAME__ -> 74:level ;
213 65:__UG_NAME__ -> 74:pos ;
214 70:__UG_NAME__ -> 74:in ;
215 54:__UG_NAME__ -> 55:rq ;
216 44:__UG_NAME__ -> 55:freq ;
217 33:__UG_NAME__ -> 55:in ;
218 13:__UG_NAME__ -> 26:array___control___0 ;
219 14:__UG_NAME__ -> 26:array___control___1 ;
220 25:__UG_NAME__ -> 26:which ;
221
222 }
+0
-234
etc/synthdefs/graphviz/sonic-pi-pretty_bell.dot less more
0 digraph synthdef {
1 23 [label = "{{ <a> |<b> 0.5} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 32 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 33 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 34 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 47 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 49 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 50 [label = "{{ <a> |<b> 0.5} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 51 [label = "{{ <a> |<b> 0.5} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 53 [label = "{{ <a> 4.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 55 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 57 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
12 58 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
13 59 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
14 61 [label = "{{ <a> 6.8|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
15 63 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
16 65 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
17 26 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 30 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 40 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 44 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 56 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
22 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
23 72 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 74 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 78 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
26 25 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 29 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 39 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 43 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 71 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 73 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 24 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 28 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 38 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 42 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 67 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 70 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 0 [label = "control
39 :note
40 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
41 1 [label = "control
42 :note_slide
43 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
44 2 [label = "control
45 :note_slide_shape
46 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
47 3 [label = "control
48 :note_slide_curve
49 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 4 [label = "control
51 :amp
52 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 5 [label = "control
54 :amp_slide
55 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 6 [label = "control
57 :amp_slide_shape
58 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 7 [label = "control
60 :amp_slide_curve
61 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 8 [label = "control
63 :pan
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 9 [label = "control
66 :pan_slide
67 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 10 [label = "control
69 :pan_slide_shape
70 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 11 [label = "control
72 :pan_slide_curve
73 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 12 [label = "control
75 :attack
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 13 [label = "control
78 :decay
79 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 14 [label = "control
81 :sustain
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 15 [label = "control
84 :release
85 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 16 [label = "control
87 :attack_level
88 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 17 [label = "control
90 :decay_level
91 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 18 [label = "control
93 :sustain_level
94 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 19 [label = "control
96 :env_curve
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 20 [label = "control
99 :out_bus
100 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 80 [label = "{{ <in> in|<amp> amp 1.0E-4|<time> time 0.1|<action> action 2.0} |<__UG_NAME__>detect-silence }" style="filled, bold, rounded" shape=record rankdir=LR];
102 31 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
103 35 [label = "{{ {{0.0|4.0|-99|-99|<envelope___control___4>|<envelope___control___5>|1.0|0.0|<envelope___control___8>|<envelope___binary____op____u____gen___9>|1.0|0.0|<envelope___control___12>|<envelope___binary____op____u____gen___13>|1.0|0.0|0.0|<envelope___binary____op____u____gen___17>|1.0|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 0.5|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 45 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 52 [label = "{{ {{0.0|4.0|-99|-99|<envelope___control___4>|<envelope___control___5>|1.0|0.0|<envelope___control___8>|<envelope___binary____op____u____gen___9>|1.0|0.0|<envelope___control___12>|<envelope___binary____op____u____gen___13>|1.0|0.0|0.0|<envelope___binary____op____u____gen___17>|1.0|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 0.25|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 60 [label = "{{ {{0.0|4.0|-99|-99|<envelope___control___4>|<envelope___control___5>|1.0|0.0|<envelope___control___8>|<envelope___binary____op____u____gen___9>|1.0|0.0|<envelope___control___12>|<envelope___binary____op____u____gen___13>|1.0|0.0|0.0|<envelope___binary____op____u____gen___17>|1.0|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 0.125|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 75 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 21 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 69 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 22 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
115 36 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
116 68 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
117 46 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
118 77 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
119 76 [label = "{{ <in> in|<pos> pos|<level> level 1.0} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
120 79 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
121 48 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
122 54 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
123 62 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
124
125 15:__UG_NAME__ -> 23:a ;
126 13:__UG_NAME__ -> 32:a ;
127 14:__UG_NAME__ -> 33:a ;
128 15:__UG_NAME__ -> 34:a ;
129 46:__UG_NAME__ -> 47:b ;
130 48:__UG_NAME__ -> 49:b ;
131 35:__UG_NAME__ -> 49:a ;
132 13:__UG_NAME__ -> 50:a ;
133 14:__UG_NAME__ -> 51:a ;
134 46:__UG_NAME__ -> 53:b ;
135 54:__UG_NAME__ -> 55:b ;
136 52:__UG_NAME__ -> 55:a ;
137 13:__UG_NAME__ -> 57:a ;
138 14:__UG_NAME__ -> 58:a ;
139 15:__UG_NAME__ -> 59:a ;
140 46:__UG_NAME__ -> 61:b ;
141 62:__UG_NAME__ -> 63:b ;
142 60:__UG_NAME__ -> 63:a ;
143 64:__UG_NAME__ -> 65:b ;
144 31:__UG_NAME__ -> 65:a ;
145 25:__UG_NAME__ -> 26:b ;
146 22:__UG_NAME__ -> 26:a ;
147 29:__UG_NAME__ -> 30:b ;
148 26:__UG_NAME__ -> 30:a ;
149 39:__UG_NAME__ -> 40:b ;
150 36:__UG_NAME__ -> 40:a ;
151 43:__UG_NAME__ -> 44:b ;
152 40:__UG_NAME__ -> 44:a ;
153 55:__UG_NAME__ -> 56:b ;
154 49:__UG_NAME__ -> 56:a ;
155 63:__UG_NAME__ -> 64:b ;
156 56:__UG_NAME__ -> 64:a ;
157 71:__UG_NAME__ -> 72:b ;
158 68:__UG_NAME__ -> 72:a ;
159 73:__UG_NAME__ -> 74:b ;
160 72:__UG_NAME__ -> 74:a ;
161 17:__UG_NAME__ -> 78:b ;
162 24:__UG_NAME__ -> 25:a ;
163 28:__UG_NAME__ -> 29:a ;
164 38:__UG_NAME__ -> 39:a ;
165 42:__UG_NAME__ -> 43:a ;
166 70:__UG_NAME__ -> 71:a ;
167 67:__UG_NAME__ -> 73:a ;
168 21:__UG_NAME__ -> 24:a ;
169 27:__UG_NAME__ -> 28:a ;
170 37:__UG_NAME__ -> 38:a ;
171 41:__UG_NAME__ -> 42:a ;
172 66:__UG_NAME__ -> 67:a ;
173 69:__UG_NAME__ -> 70:a ;
174 65:__UG_NAME__ -> 80:in ;
175 30:__UG_NAME__ -> 31:gate ;
176 4:__UG_NAME__ -> 31:envelope___control___0 ;
177 4:__UG_NAME__ -> 31:envelope___control___4 ;
178 5:__UG_NAME__ -> 31:envelope___control___5 ;
179 6:__UG_NAME__ -> 31:envelope___control___6 ;
180 7:__UG_NAME__ -> 31:envelope___control___7 ;
181 16:__UG_NAME__ -> 35:envelope___control___4 ;
182 12:__UG_NAME__ -> 35:envelope___control___5 ;
183 18:__UG_NAME__ -> 35:envelope___control___8 ;
184 32:__UG_NAME__ -> 35:envelope___binary____op____u____gen___9 ;
185 18:__UG_NAME__ -> 35:envelope___control___12 ;
186 33:__UG_NAME__ -> 35:envelope___binary____op____u____gen___13 ;
187 34:__UG_NAME__ -> 35:envelope___binary____op____u____gen___17 ;
188 44:__UG_NAME__ -> 45:gate ;
189 0:__UG_NAME__ -> 45:envelope___control___0 ;
190 0:__UG_NAME__ -> 45:envelope___control___4 ;
191 1:__UG_NAME__ -> 45:envelope___control___5 ;
192 2:__UG_NAME__ -> 45:envelope___control___6 ;
193 3:__UG_NAME__ -> 45:envelope___control___7 ;
194 16:__UG_NAME__ -> 52:envelope___control___4 ;
195 12:__UG_NAME__ -> 52:envelope___control___5 ;
196 18:__UG_NAME__ -> 52:envelope___control___8 ;
197 50:__UG_NAME__ -> 52:envelope___binary____op____u____gen___9 ;
198 18:__UG_NAME__ -> 52:envelope___control___12 ;
199 51:__UG_NAME__ -> 52:envelope___binary____op____u____gen___13 ;
200 23:__UG_NAME__ -> 52:envelope___binary____op____u____gen___17 ;
201 16:__UG_NAME__ -> 60:envelope___control___4 ;
202 12:__UG_NAME__ -> 60:envelope___control___5 ;
203 18:__UG_NAME__ -> 60:envelope___control___8 ;
204 57:__UG_NAME__ -> 60:envelope___binary____op____u____gen___9 ;
205 18:__UG_NAME__ -> 60:envelope___control___12 ;
206 58:__UG_NAME__ -> 60:envelope___binary____op____u____gen___13 ;
207 59:__UG_NAME__ -> 60:envelope___binary____op____u____gen___17 ;
208 74:__UG_NAME__ -> 75:gate ;
209 8:__UG_NAME__ -> 75:envelope___control___0 ;
210 8:__UG_NAME__ -> 75:envelope___control___4 ;
211 9:__UG_NAME__ -> 75:envelope___control___5 ;
212 10:__UG_NAME__ -> 75:envelope___control___6 ;
213 11:__UG_NAME__ -> 75:envelope___control___7 ;
214 4:__UG_NAME__ -> 21:in ;
215 5:__UG_NAME__ -> 27:in ;
216 0:__UG_NAME__ -> 37:in ;
217 1:__UG_NAME__ -> 41:in ;
218 9:__UG_NAME__ -> 66:in ;
219 8:__UG_NAME__ -> 69:in ;
220 45:__UG_NAME__ -> 46:a ;
221 76:__UG_NAME__ -> 77:signals___pan2___0 ;
222 76:__UG_NAME__ -> 77:signals___pan2___1 ;
223 20:__UG_NAME__ -> 77:bus ;
224 75:__UG_NAME__ -> 76:pos ;
225 65:__UG_NAME__ -> 76:in ;
226 17:__UG_NAME__ -> 79:array___control___0 ;
227 18:__UG_NAME__ -> 79:array___control___1 ;
228 78:__UG_NAME__ -> 79:which ;
229 47:__UG_NAME__ -> 48:freq ;
230 53:__UG_NAME__ -> 54:freq ;
231 61:__UG_NAME__ -> 62:freq ;
232
233 }
+0
-346
etc/synthdefs/graphviz/sonic-pi-prophet.dot less more
0 digraph synthdef {
1 46 [label = "{{ <a> 0.1|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 52 [label = "{{ <a> 0.8|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 58 [label = "{{ <a> 0.8|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 64 [label = "{{ <a> 0.8|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 73 [label = "{{ <a> 0.8|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 75 [label = "{{ <a> 0.5|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
7 77 [label = "{{ <a> |<b> 0.2} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
8 79 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
9 80 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
10 108 [label = "{{ <a> 1.5|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
11 109 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
12 36 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 40 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 44 [label = "{{ <a> 1.2|<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 49 [label = "{{ <a> 1.2|<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 50 [label = "{{ <a> |<b> 0.7} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 54 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
18 56 [label = "{{ <a> 1.2|<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 60 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
20 62 [label = "{{ <a> 1.2|<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 66 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
22 69 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 71 [label = "{{ <a> 1.2|<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 76 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
25 85 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 89 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 97 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 101 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 115 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 118 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 121 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 125 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
33 45 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
34 51 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
35 57 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
36 63 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
37 67 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
38 72 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
39 29 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
40 35 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 39 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 84 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 88 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 96 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 100 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 107 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 114 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 117 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 124 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 34 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 38 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 83 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 87 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 95 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 99 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 106 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 113 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 116 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 123 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 0 [label = "control
61 :note
62 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 1 [label = "control
64 :note_slide
65 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 2 [label = "control
67 :note_slide_shape
68 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 3 [label = "control
70 :note_slide_curve
71 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 4 [label = "control
73 :amp
74 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 5 [label = "control
76 :amp_slide
77 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 6 [label = "control
79 :amp_slide_shape
80 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 7 [label = "control
82 :amp_slide_curve
83 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 8 [label = "control
85 :pan
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 9 [label = "control
88 :pan_slide
89 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 10 [label = "control
91 :pan_slide_shape
92 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 11 [label = "control
94 :pan_slide_curve
95 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 12 [label = "control
97 :attack
98 default: 0.01" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 13 [label = "control
100 :decay
101 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 14 [label = "control
103 :sustain
104 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 15 [label = "control
106 :release
107 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 16 [label = "control
109 :attack_level
110 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 17 [label = "control
112 :decay_level
113 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 18 [label = "control
115 :sustain_level
116 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 19 [label = "control
118 :env_curve
119 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 20 [label = "control
121 :cutoff
122 default: 110.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 21 [label = "control
124 :cutoff_slide
125 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 22 [label = "control
127 :cutoff_slide_shape
128 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 23 [label = "control
130 :cutoff_slide_curve
131 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 24 [label = "control
133 :res
134 default: 0.7" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 25 [label = "control
136 :res_slide
137 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 26 [label = "control
139 :res_slide_shape
140 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 27 [label = "control
142 :res_slide_curve
143 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 28 [label = "control
145 :out_bus
146 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 31 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
148 41 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
149 90 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
150 102 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
151 119 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
152 126 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
153 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
154 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
155 82 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
156 86 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
157 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
158 98 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
159 104 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
160 105 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
161 112 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
162 122 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
163 32 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
164 81 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
165 92 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
166 111 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
167 120 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
168 110 [label = "{{ <in> in|<coef> coef 0.995} |<__UG_NAME__>leak-dc }" style="filled, bold, rounded" shape=record rankdir=LR];
169 68 [label = "{{ <freq> freq 0.2} |<__UG_NAME__>lf-noise2 }" style="bold, rounded" shape=record rankdir=LR];
170 55 [label = "{{ <freq> freq 0.4|<iphase> iphase 0.0} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
171 61 [label = "{{ <freq> freq 0.4|<iphase> iphase 0.19} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
172 70 [label = "{{ <freq> freq|<iphase> iphase 0.0} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
173 42 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
174 91 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
175 93 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
176 78 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
177 128 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
178 127 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
179 47 [label = "{{ <freq> freq|<width> width} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
180 53 [label = "{{ <freq> freq|<width> width} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
181 59 [label = "{{ <freq> freq|<width> width} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
182 65 [label = "{{ <freq> freq|<width> width} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
183 74 [label = "{{ <freq> freq|<width> width} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
184 103 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
185 30 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
186 43 [label = "{{ <freq> freq 1.0|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
187 48 [label = "{{ <freq> freq 0.3|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
188
189 45:__UG_NAME__ -> 46:b ;
190 51:__UG_NAME__ -> 52:b ;
191 57:__UG_NAME__ -> 58:b ;
192 63:__UG_NAME__ -> 64:b ;
193 72:__UG_NAME__ -> 73:b ;
194 74:__UG_NAME__ -> 75:b ;
195 76:__UG_NAME__ -> 77:a ;
196 78:__UG_NAME__ -> 79:b ;
197 31:__UG_NAME__ -> 79:a ;
198 78:__UG_NAME__ -> 80:b ;
199 79:__UG_NAME__ -> 80:a ;
200 31:__UG_NAME__ -> 108:b ;
201 103:__UG_NAME__ -> 109:b ;
202 108:__UG_NAME__ -> 109:a ;
203 35:__UG_NAME__ -> 36:b ;
204 32:__UG_NAME__ -> 36:a ;
205 39:__UG_NAME__ -> 40:b ;
206 36:__UG_NAME__ -> 40:a ;
207 43:__UG_NAME__ -> 44:b ;
208 48:__UG_NAME__ -> 49:b ;
209 49:__UG_NAME__ -> 50:a ;
210 53:__UG_NAME__ -> 54:b ;
211 47:__UG_NAME__ -> 54:a ;
212 55:__UG_NAME__ -> 56:b ;
213 59:__UG_NAME__ -> 60:b ;
214 54:__UG_NAME__ -> 60:a ;
215 61:__UG_NAME__ -> 62:b ;
216 65:__UG_NAME__ -> 66:b ;
217 60:__UG_NAME__ -> 66:a ;
218 68:__UG_NAME__ -> 69:b ;
219 70:__UG_NAME__ -> 71:b ;
220 75:__UG_NAME__ -> 76:b ;
221 66:__UG_NAME__ -> 76:a ;
222 84:__UG_NAME__ -> 85:b ;
223 81:__UG_NAME__ -> 85:a ;
224 88:__UG_NAME__ -> 89:b ;
225 85:__UG_NAME__ -> 89:a ;
226 96:__UG_NAME__ -> 97:b ;
227 92:__UG_NAME__ -> 97:a ;
228 100:__UG_NAME__ -> 101:b ;
229 97:__UG_NAME__ -> 101:a ;
230 114:__UG_NAME__ -> 115:b ;
231 111:__UG_NAME__ -> 115:a ;
232 117:__UG_NAME__ -> 118:b ;
233 115:__UG_NAME__ -> 118:a ;
234 107:__UG_NAME__ -> 121:b ;
235 120:__UG_NAME__ -> 121:a ;
236 124:__UG_NAME__ -> 125:b ;
237 121:__UG_NAME__ -> 125:a ;
238 44:__UG_NAME__ -> 45:b ;
239 50:__UG_NAME__ -> 51:a ;
240 56:__UG_NAME__ -> 57:a ;
241 62:__UG_NAME__ -> 63:a ;
242 42:__UG_NAME__ -> 67:a ;
243 71:__UG_NAME__ -> 72:a ;
244 17:__UG_NAME__ -> 29:b ;
245 34:__UG_NAME__ -> 35:a ;
246 38:__UG_NAME__ -> 39:a ;
247 83:__UG_NAME__ -> 84:a ;
248 87:__UG_NAME__ -> 88:a ;
249 95:__UG_NAME__ -> 96:a ;
250 99:__UG_NAME__ -> 100:a ;
251 106:__UG_NAME__ -> 107:a ;
252 113:__UG_NAME__ -> 114:a ;
253 116:__UG_NAME__ -> 117:a ;
254 123:__UG_NAME__ -> 124:a ;
255 33:__UG_NAME__ -> 34:a ;
256 37:__UG_NAME__ -> 38:a ;
257 82:__UG_NAME__ -> 83:a ;
258 86:__UG_NAME__ -> 87:a ;
259 94:__UG_NAME__ -> 95:a ;
260 98:__UG_NAME__ -> 99:a ;
261 105:__UG_NAME__ -> 106:a ;
262 112:__UG_NAME__ -> 113:a ;
263 104:__UG_NAME__ -> 116:a ;
264 122:__UG_NAME__ -> 123:a ;
265 16:__UG_NAME__ -> 31:envelope___control___4 ;
266 12:__UG_NAME__ -> 31:envelope___control___5 ;
267 19:__UG_NAME__ -> 31:envelope___control___6 ;
268 30:__UG_NAME__ -> 31:envelope___select___8 ;
269 13:__UG_NAME__ -> 31:envelope___control___9 ;
270 19:__UG_NAME__ -> 31:envelope___control___10 ;
271 18:__UG_NAME__ -> 31:envelope___control___12 ;
272 14:__UG_NAME__ -> 31:envelope___control___13 ;
273 19:__UG_NAME__ -> 31:envelope___control___14 ;
274 15:__UG_NAME__ -> 31:envelope___control___17 ;
275 19:__UG_NAME__ -> 31:envelope___control___18 ;
276 40:__UG_NAME__ -> 41:gate ;
277 0:__UG_NAME__ -> 41:envelope___control___0 ;
278 0:__UG_NAME__ -> 41:envelope___control___4 ;
279 1:__UG_NAME__ -> 41:envelope___control___5 ;
280 2:__UG_NAME__ -> 41:envelope___control___6 ;
281 3:__UG_NAME__ -> 41:envelope___control___7 ;
282 89:__UG_NAME__ -> 90:gate ;
283 20:__UG_NAME__ -> 90:envelope___control___0 ;
284 20:__UG_NAME__ -> 90:envelope___control___4 ;
285 21:__UG_NAME__ -> 90:envelope___control___5 ;
286 22:__UG_NAME__ -> 90:envelope___control___6 ;
287 23:__UG_NAME__ -> 90:envelope___control___7 ;
288 101:__UG_NAME__ -> 102:gate ;
289 93:__UG_NAME__ -> 102:envelope___mul____add___0 ;
290 93:__UG_NAME__ -> 102:envelope___mul____add___4 ;
291 25:__UG_NAME__ -> 102:envelope___control___5 ;
292 26:__UG_NAME__ -> 102:envelope___control___6 ;
293 27:__UG_NAME__ -> 102:envelope___control___7 ;
294 118:__UG_NAME__ -> 119:gate ;
295 8:__UG_NAME__ -> 119:envelope___control___0 ;
296 8:__UG_NAME__ -> 119:envelope___control___4 ;
297 9:__UG_NAME__ -> 119:envelope___control___5 ;
298 10:__UG_NAME__ -> 119:envelope___control___6 ;
299 11:__UG_NAME__ -> 119:envelope___control___7 ;
300 125:__UG_NAME__ -> 126:gate ;
301 4:__UG_NAME__ -> 126:envelope___control___0 ;
302 4:__UG_NAME__ -> 126:envelope___control___4 ;
303 5:__UG_NAME__ -> 126:envelope___control___5 ;
304 6:__UG_NAME__ -> 126:envelope___control___6 ;
305 7:__UG_NAME__ -> 126:envelope___control___7 ;
306 0:__UG_NAME__ -> 33:in ;
307 1:__UG_NAME__ -> 37:in ;
308 20:__UG_NAME__ -> 82:in ;
309 21:__UG_NAME__ -> 86:in ;
310 93:__UG_NAME__ -> 94:in ;
311 25:__UG_NAME__ -> 98:in ;
312 9:__UG_NAME__ -> 104:in ;
313 4:__UG_NAME__ -> 105:in ;
314 8:__UG_NAME__ -> 112:in ;
315 5:__UG_NAME__ -> 122:in ;
316 109:__UG_NAME__ -> 110:in ;
317 69:__UG_NAME__ -> 70:freq ;
318 41:__UG_NAME__ -> 42:a ;
319 90:__UG_NAME__ -> 91:a ;
320 24:__UG_NAME__ -> 93:in ;
321 77:__UG_NAME__ -> 78:in ;
322 127:__UG_NAME__ -> 128:signals___pan2___0 ;
323 127:__UG_NAME__ -> 128:signals___pan2___1 ;
324 28:__UG_NAME__ -> 128:bus ;
325 126:__UG_NAME__ -> 127:level ;
326 119:__UG_NAME__ -> 127:pos ;
327 110:__UG_NAME__ -> 127:in ;
328 46:__UG_NAME__ -> 47:width ;
329 42:__UG_NAME__ -> 47:freq ;
330 52:__UG_NAME__ -> 53:width ;
331 42:__UG_NAME__ -> 53:freq ;
332 58:__UG_NAME__ -> 59:width ;
333 42:__UG_NAME__ -> 59:freq ;
334 64:__UG_NAME__ -> 65:width ;
335 42:__UG_NAME__ -> 65:freq ;
336 73:__UG_NAME__ -> 74:width ;
337 67:__UG_NAME__ -> 74:freq ;
338 102:__UG_NAME__ -> 103:rq ;
339 91:__UG_NAME__ -> 103:freq ;
340 80:__UG_NAME__ -> 103:in ;
341 17:__UG_NAME__ -> 30:array___control___0 ;
342 18:__UG_NAME__ -> 30:array___control___1 ;
343 29:__UG_NAME__ -> 30:which ;
344
345 }
+0
-264
etc/synthdefs/graphviz/sonic-pi-pulse.dot less more
0 digraph synthdef {
1 81 [label = "{{ <a> 0.8|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 83 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 33 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 37 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 44 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 48 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 58 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 60 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 72 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 76 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 87 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 77 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
14 32 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 36 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 43 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 47 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 53 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 57 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 63 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 71 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 75 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 86 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 31 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 35 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 42 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 46 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 52 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
29 56 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
30 62 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
31 70 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 74 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 85 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 0 [label = "control
35 :note
36 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 1 [label = "control
38 :note_slide
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 2 [label = "control
41 :note_slide_shape
42 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 3 [label = "control
44 :note_slide_curve
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 4 [label = "control
47 :amp
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 5 [label = "control
50 :amp_slide
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 6 [label = "control
53 :amp_slide_shape
54 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 7 [label = "control
56 :amp_slide_curve
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 8 [label = "control
59 :pan
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 9 [label = "control
62 :pan_slide
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 10 [label = "control
65 :pan_slide_shape
66 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 11 [label = "control
68 :pan_slide_curve
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 12 [label = "control
71 :attack
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 13 [label = "control
74 :decay
75 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 14 [label = "control
77 :sustain
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 15 [label = "control
80 :release
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 16 [label = "control
83 :attack_level
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 17 [label = "control
86 :decay_level
87 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 18 [label = "control
89 :sustain_level
90 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 19 [label = "control
92 :env_curve
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 20 [label = "control
95 :cutoff
96 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 21 [label = "control
98 :cutoff_slide
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 22 [label = "control
101 :cutoff_slide_shape
102 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 23 [label = "control
104 :cutoff_slide_curve
105 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 24 [label = "control
107 :pulse_width
108 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 25 [label = "control
110 :pulse_width_slide
111 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 26 [label = "control
113 :pulse_width_slide_shape
114 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 27 [label = "control
116 :pulse_width_slide_curve
117 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 28 [label = "control
119 :out_bus
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 38 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
122 49 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
123 65 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
124 79 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
125 80 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
126 88 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
127 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
128 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
129 41 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
130 45 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
131 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
132 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
133 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
134 69 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
135 73 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
136 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
137 29 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
138 40 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
139 54 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
140 59 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
141 68 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
142 67 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
143 39 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
144 66 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
145 82 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
146 90 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
147 89 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
148 50 [label = "{{ <freq> freq|<width> width} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
149 78 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
150
151 80:__UG_NAME__ -> 81:b ;
152 82:__UG_NAME__ -> 83:b ;
153 81:__UG_NAME__ -> 83:a ;
154 32:__UG_NAME__ -> 33:b ;
155 29:__UG_NAME__ -> 33:a ;
156 36:__UG_NAME__ -> 37:b ;
157 33:__UG_NAME__ -> 37:a ;
158 43:__UG_NAME__ -> 44:b ;
159 40:__UG_NAME__ -> 44:a ;
160 47:__UG_NAME__ -> 48:b ;
161 44:__UG_NAME__ -> 48:a ;
162 57:__UG_NAME__ -> 58:b ;
163 54:__UG_NAME__ -> 58:a ;
164 53:__UG_NAME__ -> 60:b ;
165 59:__UG_NAME__ -> 60:a ;
166 63:__UG_NAME__ -> 64:b ;
167 60:__UG_NAME__ -> 64:a ;
168 71:__UG_NAME__ -> 72:b ;
169 68:__UG_NAME__ -> 72:a ;
170 75:__UG_NAME__ -> 76:b ;
171 72:__UG_NAME__ -> 76:a ;
172 86:__UG_NAME__ -> 87:b ;
173 58:__UG_NAME__ -> 87:a ;
174 17:__UG_NAME__ -> 77:b ;
175 31:__UG_NAME__ -> 32:a ;
176 35:__UG_NAME__ -> 36:a ;
177 42:__UG_NAME__ -> 43:a ;
178 46:__UG_NAME__ -> 47:a ;
179 52:__UG_NAME__ -> 53:a ;
180 56:__UG_NAME__ -> 57:a ;
181 62:__UG_NAME__ -> 63:a ;
182 70:__UG_NAME__ -> 71:a ;
183 74:__UG_NAME__ -> 75:a ;
184 85:__UG_NAME__ -> 86:a ;
185 30:__UG_NAME__ -> 31:a ;
186 34:__UG_NAME__ -> 35:a ;
187 41:__UG_NAME__ -> 42:a ;
188 45:__UG_NAME__ -> 46:a ;
189 51:__UG_NAME__ -> 52:a ;
190 55:__UG_NAME__ -> 56:a ;
191 61:__UG_NAME__ -> 62:a ;
192 69:__UG_NAME__ -> 70:a ;
193 73:__UG_NAME__ -> 74:a ;
194 84:__UG_NAME__ -> 85:a ;
195 37:__UG_NAME__ -> 38:gate ;
196 0:__UG_NAME__ -> 38:envelope___control___0 ;
197 0:__UG_NAME__ -> 38:envelope___control___4 ;
198 1:__UG_NAME__ -> 38:envelope___control___5 ;
199 2:__UG_NAME__ -> 38:envelope___control___6 ;
200 3:__UG_NAME__ -> 38:envelope___control___7 ;
201 48:__UG_NAME__ -> 49:gate ;
202 24:__UG_NAME__ -> 49:envelope___control___0 ;
203 24:__UG_NAME__ -> 49:envelope___control___4 ;
204 25:__UG_NAME__ -> 49:envelope___control___5 ;
205 27:__UG_NAME__ -> 49:envelope___control___6 ;
206 26:__UG_NAME__ -> 49:envelope___control___7 ;
207 64:__UG_NAME__ -> 65:gate ;
208 20:__UG_NAME__ -> 65:envelope___control___0 ;
209 20:__UG_NAME__ -> 65:envelope___control___4 ;
210 21:__UG_NAME__ -> 65:envelope___control___5 ;
211 22:__UG_NAME__ -> 65:envelope___control___6 ;
212 23:__UG_NAME__ -> 65:envelope___control___7 ;
213 76:__UG_NAME__ -> 79:gate ;
214 8:__UG_NAME__ -> 79:envelope___control___0 ;
215 8:__UG_NAME__ -> 79:envelope___control___4 ;
216 9:__UG_NAME__ -> 79:envelope___control___5 ;
217 10:__UG_NAME__ -> 79:envelope___control___6 ;
218 11:__UG_NAME__ -> 79:envelope___control___7 ;
219 16:__UG_NAME__ -> 80:envelope___control___4 ;
220 12:__UG_NAME__ -> 80:envelope___control___5 ;
221 19:__UG_NAME__ -> 80:envelope___control___6 ;
222 78:__UG_NAME__ -> 80:envelope___select___8 ;
223 13:__UG_NAME__ -> 80:envelope___control___9 ;
224 19:__UG_NAME__ -> 80:envelope___control___10 ;
225 18:__UG_NAME__ -> 80:envelope___control___12 ;
226 14:__UG_NAME__ -> 80:envelope___control___13 ;
227 19:__UG_NAME__ -> 80:envelope___control___14 ;
228 15:__UG_NAME__ -> 80:envelope___control___17 ;
229 19:__UG_NAME__ -> 80:envelope___control___18 ;
230 87:__UG_NAME__ -> 88:gate ;
231 4:__UG_NAME__ -> 88:envelope___control___0 ;
232 4:__UG_NAME__ -> 88:envelope___control___4 ;
233 5:__UG_NAME__ -> 88:envelope___control___5 ;
234 6:__UG_NAME__ -> 88:envelope___control___6 ;
235 7:__UG_NAME__ -> 88:envelope___control___7 ;
236 0:__UG_NAME__ -> 30:in ;
237 1:__UG_NAME__ -> 34:in ;
238 24:__UG_NAME__ -> 41:in ;
239 25:__UG_NAME__ -> 45:in ;
240 20:__UG_NAME__ -> 51:in ;
241 4:__UG_NAME__ -> 55:in ;
242 21:__UG_NAME__ -> 61:in ;
243 8:__UG_NAME__ -> 69:in ;
244 9:__UG_NAME__ -> 73:in ;
245 5:__UG_NAME__ -> 84:in ;
246 66:__UG_NAME__ -> 67:freq ;
247 50:__UG_NAME__ -> 67:in ;
248 38:__UG_NAME__ -> 39:a ;
249 65:__UG_NAME__ -> 66:a ;
250 67:__UG_NAME__ -> 82:in ;
251 89:__UG_NAME__ -> 90:signals___pan2___0 ;
252 89:__UG_NAME__ -> 90:signals___pan2___1 ;
253 28:__UG_NAME__ -> 90:bus ;
254 88:__UG_NAME__ -> 89:level ;
255 79:__UG_NAME__ -> 89:pos ;
256 83:__UG_NAME__ -> 89:in ;
257 49:__UG_NAME__ -> 50:width ;
258 39:__UG_NAME__ -> 50:freq ;
259 17:__UG_NAME__ -> 78:array___control___0 ;
260 18:__UG_NAME__ -> 78:array___control___1 ;
261 77:__UG_NAME__ -> 78:which ;
262
263 }
+0
-16
etc/synthdefs/graphviz/sonic-pi-recorder.dot less more
0 digraph synthdef {
1 0 [label = "control
2 :out-buf
3 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
4 1 [label = "control
5 :in_bus
6 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
7 3 [label = "{{ <bufnum> bufnum|{{<channelsarray___in___0>|<channelsarray___in___1>}|channelsArray}} |<__UG_NAME__>disk-out }" style="filled, bold, rounded" shape=record rankdir=LR];
8 2 [label = "{{ <bus> bus|<num____channels> num-channels 2} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
9
10 2:__UG_NAME__ -> 3:channelsarray___in___0 ;
11 2:__UG_NAME__ -> 3:channelsarray___in___1 ;
12 0:__UG_NAME__ -> 3:bufnum ;
13 1:__UG_NAME__ -> 2:bus ;
14
15 }
+0
-225
etc/synthdefs/graphviz/sonic-pi-saw.dot less more
0 digraph synthdef {
1 28 [label = "{{ <a> 0.8|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 54 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 33 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 37 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 45 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 49 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 59 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 63 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 69 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 73 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 25 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 32 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 36 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 44 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 48 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 58 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 62 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 68 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 72 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 31 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 35 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 43 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 47 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 57 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 61 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 67 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 71 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 0 [label = "control
29 :note
30 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 1 [label = "control
32 :note_slide
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 2 [label = "control
35 :note_slide_shape
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 3 [label = "control
38 :note_slide_curve
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 4 [label = "control
41 :amp
42 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 5 [label = "control
44 :amp_slide
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 6 [label = "control
47 :amp_slide_shape
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 7 [label = "control
50 :amp_slide_curve
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 8 [label = "control
53 :pan
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 9 [label = "control
56 :pan_slide
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 10 [label = "control
59 :pan_slide_shape
60 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 11 [label = "control
62 :pan_slide_curve
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 12 [label = "control
65 :attack
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 13 [label = "control
68 :decay
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 14 [label = "control
71 :sustain
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 15 [label = "control
74 :release
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 16 [label = "control
77 :attack_level
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 17 [label = "control
80 :decay_level
81 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 18 [label = "control
83 :sustain_level
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 19 [label = "control
86 :env_curve
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 20 [label = "control
89 :cutoff
90 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 21 [label = "control
92 :cutoff_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 22 [label = "control
95 :cutoff_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 23 [label = "control
98 :cutoff_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 24 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 27 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 38 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 50 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 64 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 74 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 34 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 29 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
117 41 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 55 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 65 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 52 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
121 39 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
122 51 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
123 53 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
124 76 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
125 75 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
126 40 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
127 26 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
128
129 27:__UG_NAME__ -> 28:b ;
130 53:__UG_NAME__ -> 54:b ;
131 28:__UG_NAME__ -> 54:a ;
132 32:__UG_NAME__ -> 33:b ;
133 29:__UG_NAME__ -> 33:a ;
134 36:__UG_NAME__ -> 37:b ;
135 33:__UG_NAME__ -> 37:a ;
136 44:__UG_NAME__ -> 45:b ;
137 41:__UG_NAME__ -> 45:a ;
138 48:__UG_NAME__ -> 49:b ;
139 45:__UG_NAME__ -> 49:a ;
140 58:__UG_NAME__ -> 59:b ;
141 55:__UG_NAME__ -> 59:a ;
142 62:__UG_NAME__ -> 63:b ;
143 59:__UG_NAME__ -> 63:a ;
144 68:__UG_NAME__ -> 69:b ;
145 65:__UG_NAME__ -> 69:a ;
146 72:__UG_NAME__ -> 73:b ;
147 69:__UG_NAME__ -> 73:a ;
148 17:__UG_NAME__ -> 25:b ;
149 31:__UG_NAME__ -> 32:a ;
150 35:__UG_NAME__ -> 36:a ;
151 43:__UG_NAME__ -> 44:a ;
152 47:__UG_NAME__ -> 48:a ;
153 57:__UG_NAME__ -> 58:a ;
154 61:__UG_NAME__ -> 62:a ;
155 67:__UG_NAME__ -> 68:a ;
156 71:__UG_NAME__ -> 72:a ;
157 30:__UG_NAME__ -> 31:a ;
158 34:__UG_NAME__ -> 35:a ;
159 42:__UG_NAME__ -> 43:a ;
160 46:__UG_NAME__ -> 47:a ;
161 56:__UG_NAME__ -> 57:a ;
162 60:__UG_NAME__ -> 61:a ;
163 66:__UG_NAME__ -> 67:a ;
164 70:__UG_NAME__ -> 71:a ;
165 16:__UG_NAME__ -> 27:envelope___control___4 ;
166 12:__UG_NAME__ -> 27:envelope___control___5 ;
167 19:__UG_NAME__ -> 27:envelope___control___6 ;
168 26:__UG_NAME__ -> 27:envelope___select___8 ;
169 13:__UG_NAME__ -> 27:envelope___control___9 ;
170 19:__UG_NAME__ -> 27:envelope___control___10 ;
171 18:__UG_NAME__ -> 27:envelope___control___12 ;
172 14:__UG_NAME__ -> 27:envelope___control___13 ;
173 19:__UG_NAME__ -> 27:envelope___control___14 ;
174 15:__UG_NAME__ -> 27:envelope___control___17 ;
175 19:__UG_NAME__ -> 27:envelope___control___18 ;
176 37:__UG_NAME__ -> 38:gate ;
177 0:__UG_NAME__ -> 38:envelope___control___0 ;
178 0:__UG_NAME__ -> 38:envelope___control___4 ;
179 1:__UG_NAME__ -> 38:envelope___control___5 ;
180 2:__UG_NAME__ -> 38:envelope___control___6 ;
181 3:__UG_NAME__ -> 38:envelope___control___7 ;
182 49:__UG_NAME__ -> 50:gate ;
183 20:__UG_NAME__ -> 50:envelope___control___0 ;
184 20:__UG_NAME__ -> 50:envelope___control___4 ;
185 21:__UG_NAME__ -> 50:envelope___control___5 ;
186 22:__UG_NAME__ -> 50:envelope___control___6 ;
187 23:__UG_NAME__ -> 50:envelope___control___7 ;
188 63:__UG_NAME__ -> 64:gate ;
189 8:__UG_NAME__ -> 64:envelope___control___0 ;
190 8:__UG_NAME__ -> 64:envelope___control___4 ;
191 9:__UG_NAME__ -> 64:envelope___control___5 ;
192 10:__UG_NAME__ -> 64:envelope___control___6 ;
193 11:__UG_NAME__ -> 64:envelope___control___7 ;
194 73:__UG_NAME__ -> 74:gate ;
195 4:__UG_NAME__ -> 74:envelope___control___0 ;
196 4:__UG_NAME__ -> 74:envelope___control___4 ;
197 5:__UG_NAME__ -> 74:envelope___control___5 ;
198 6:__UG_NAME__ -> 74:envelope___control___6 ;
199 7:__UG_NAME__ -> 74:envelope___control___7 ;
200 0:__UG_NAME__ -> 30:in ;
201 1:__UG_NAME__ -> 34:in ;
202 20:__UG_NAME__ -> 42:in ;
203 21:__UG_NAME__ -> 46:in ;
204 8:__UG_NAME__ -> 56:in ;
205 9:__UG_NAME__ -> 60:in ;
206 4:__UG_NAME__ -> 66:in ;
207 5:__UG_NAME__ -> 70:in ;
208 51:__UG_NAME__ -> 52:freq ;
209 40:__UG_NAME__ -> 52:in ;
210 38:__UG_NAME__ -> 39:a ;
211 50:__UG_NAME__ -> 51:a ;
212 52:__UG_NAME__ -> 53:in ;
213 75:__UG_NAME__ -> 76:signals___pan2___0 ;
214 75:__UG_NAME__ -> 76:signals___pan2___1 ;
215 24:__UG_NAME__ -> 76:bus ;
216 74:__UG_NAME__ -> 75:level ;
217 64:__UG_NAME__ -> 75:pos ;
218 54:__UG_NAME__ -> 75:in ;
219 39:__UG_NAME__ -> 40:freq ;
220 17:__UG_NAME__ -> 26:array___control___0 ;
221 18:__UG_NAME__ -> 26:array___control___1 ;
222 25:__UG_NAME__ -> 26:which ;
223
224 }
+0
-188
etc/synthdefs/graphviz/sonic-pi-sound_in.dot less more
0 digraph synthdef {
1 51 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 30 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
3 34 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 39 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 43 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 48 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 56 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 59 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 22 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
10 29 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
11 33 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
12 38 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 42 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 55 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 58 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 28 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
17 32 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
18 37 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
19 41 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
20 54 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 57 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 0 [label = "control
23 :amp
24 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
25 1 [label = "control
26 :amp_slide
27 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
28 2 [label = "control
29 :amp_slide_shape
30 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 3 [label = "control
32 :amp_slide_curve
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 4 [label = "control
35 :pan
36 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 5 [label = "control
38 :pan_slide
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 6 [label = "control
41 :pan_slide_shape
42 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 7 [label = "control
44 :pan_slide_curve
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 8 [label = "control
47 :attack
48 default: 0.01" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 9 [label = "control
50 :decay
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 10 [label = "control
53 :sustain
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 11 [label = "control
56 :release
57 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 12 [label = "control
59 :attack_level
60 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 13 [label = "control
62 :decay_level
63 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 14 [label = "control
65 :sustain_level
66 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 15 [label = "control
68 :env_curve
69 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 16 [label = "control
71 :cutoff
72 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 17 [label = "control
74 :cutoff_slide
75 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 18 [label = "control
77 :cutoff_slide_shape
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 19 [label = "control
80 :cutoff_slide_curve
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 20 [label = "control
83 :input
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 21 [label = "control
86 :out_bus
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 24 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
89 44 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
90 45 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
91 60 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
92 25 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
93 27 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
94 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
95 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
96 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
97 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
98 26 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
99 35 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
100 52 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
101 49 [label = "{{ <bus> bus|<num____channels> num-channels 1} |<__UG_NAME__>in }" style="filled, bold, rounded" shape=record rankdir=LR];
102 50 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
103 46 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
104 47 [label = "{<__UG_NAME__>num-output-buses }" style="dashed, rounded" shape=record rankdir=LR];
105 62 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
106 61 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
107 23 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
108
109 50:__UG_NAME__ -> 51:b ;
110 24:__UG_NAME__ -> 51:a ;
111 29:__UG_NAME__ -> 30:b ;
112 26:__UG_NAME__ -> 30:a ;
113 33:__UG_NAME__ -> 34:b ;
114 30:__UG_NAME__ -> 34:a ;
115 38:__UG_NAME__ -> 39:b ;
116 35:__UG_NAME__ -> 39:a ;
117 42:__UG_NAME__ -> 43:b ;
118 39:__UG_NAME__ -> 43:a ;
119 20:__UG_NAME__ -> 48:b ;
120 47:__UG_NAME__ -> 48:a ;
121 55:__UG_NAME__ -> 56:b ;
122 52:__UG_NAME__ -> 56:a ;
123 58:__UG_NAME__ -> 59:b ;
124 56:__UG_NAME__ -> 59:a ;
125 13:__UG_NAME__ -> 22:b ;
126 28:__UG_NAME__ -> 29:a ;
127 32:__UG_NAME__ -> 33:a ;
128 37:__UG_NAME__ -> 38:a ;
129 41:__UG_NAME__ -> 42:a ;
130 54:__UG_NAME__ -> 55:a ;
131 57:__UG_NAME__ -> 58:a ;
132 27:__UG_NAME__ -> 28:a ;
133 31:__UG_NAME__ -> 32:a ;
134 36:__UG_NAME__ -> 37:a ;
135 40:__UG_NAME__ -> 41:a ;
136 53:__UG_NAME__ -> 54:a ;
137 25:__UG_NAME__ -> 57:a ;
138 12:__UG_NAME__ -> 24:envelope___control___4 ;
139 8:__UG_NAME__ -> 24:envelope___control___5 ;
140 15:__UG_NAME__ -> 24:envelope___control___6 ;
141 23:__UG_NAME__ -> 24:envelope___select___8 ;
142 9:__UG_NAME__ -> 24:envelope___control___9 ;
143 15:__UG_NAME__ -> 24:envelope___control___10 ;
144 14:__UG_NAME__ -> 24:envelope___control___12 ;
145 10:__UG_NAME__ -> 24:envelope___control___13 ;
146 15:__UG_NAME__ -> 24:envelope___control___14 ;
147 11:__UG_NAME__ -> 24:envelope___control___17 ;
148 15:__UG_NAME__ -> 24:envelope___control___18 ;
149 43:__UG_NAME__ -> 44:gate ;
150 0:__UG_NAME__ -> 44:envelope___control___0 ;
151 0:__UG_NAME__ -> 44:envelope___control___4 ;
152 1:__UG_NAME__ -> 44:envelope___control___5 ;
153 2:__UG_NAME__ -> 44:envelope___control___6 ;
154 3:__UG_NAME__ -> 44:envelope___control___7 ;
155 34:__UG_NAME__ -> 45:gate ;
156 16:__UG_NAME__ -> 45:envelope___control___0 ;
157 16:__UG_NAME__ -> 45:envelope___control___4 ;
158 17:__UG_NAME__ -> 45:envelope___control___5 ;
159 18:__UG_NAME__ -> 45:envelope___control___6 ;
160 19:__UG_NAME__ -> 45:envelope___control___7 ;
161 59:__UG_NAME__ -> 60:gate ;
162 4:__UG_NAME__ -> 60:envelope___control___0 ;
163 4:__UG_NAME__ -> 60:envelope___control___4 ;
164 5:__UG_NAME__ -> 60:envelope___control___5 ;
165 6:__UG_NAME__ -> 60:envelope___control___6 ;
166 7:__UG_NAME__ -> 60:envelope___control___7 ;
167 5:__UG_NAME__ -> 25:in ;
168 16:__UG_NAME__ -> 27:in ;
169 17:__UG_NAME__ -> 31:in ;
170 0:__UG_NAME__ -> 36:in ;
171 1:__UG_NAME__ -> 40:in ;
172 4:__UG_NAME__ -> 53:in ;
173 48:__UG_NAME__ -> 49:bus ;
174 46:__UG_NAME__ -> 50:freq ;
175 49:__UG_NAME__ -> 50:in ;
176 45:__UG_NAME__ -> 46:a ;
177 61:__UG_NAME__ -> 62:signals___pan2___0 ;
178 61:__UG_NAME__ -> 62:signals___pan2___1 ;
179 21:__UG_NAME__ -> 62:bus ;
180 44:__UG_NAME__ -> 61:level ;
181 60:__UG_NAME__ -> 61:pos ;
182 51:__UG_NAME__ -> 61:in ;
183 13:__UG_NAME__ -> 23:array___control___0 ;
184 14:__UG_NAME__ -> 23:array___control___1 ;
185 22:__UG_NAME__ -> 23:which ;
186
187 }
+0
-225
etc/synthdefs/graphviz/sonic-pi-square.dot less more
0 digraph synthdef {
1 61 [label = "{{ <a> 0.8|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 63 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 29 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 37 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 41 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 47 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 50 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 58 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 69 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 72 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 54 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 28 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 36 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 40 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 46 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 49 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 57 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 68 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 71 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 27 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 32 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 35 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 39 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 48 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 56 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 66 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 70 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 0 [label = "control
29 :note
30 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 1 [label = "control
32 :note_slide
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 2 [label = "control
35 :note_slide_shape
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 3 [label = "control
38 :note_slide_curve
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 4 [label = "control
41 :amp
42 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 5 [label = "control
44 :amp_slide
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 6 [label = "control
47 :amp_slide_shape
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 7 [label = "control
50 :amp_slide_curve
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 8 [label = "control
53 :pan
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 9 [label = "control
56 :pan_slide
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 10 [label = "control
59 :pan_slide_shape
60 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 11 [label = "control
62 :pan_slide_curve
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 12 [label = "control
65 :attack
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 13 [label = "control
68 :decay
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 14 [label = "control
71 :sustain
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 15 [label = "control
74 :release
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 16 [label = "control
77 :attack_level
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 17 [label = "control
80 :decay_level
81 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 18 [label = "control
83 :sustain_level
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 19 [label = "control
86 :env_curve
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 20 [label = "control
89 :cutoff
90 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 21 [label = "control
92 :cutoff_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 22 [label = "control
95 :cutoff_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 23 [label = "control
98 :cutoff_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 24 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 42 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 51 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 60 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 73 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 74 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 31 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 33 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 64 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 67 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 25 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
117 34 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 45 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 65 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 53 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
121 43 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
122 52 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
123 62 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
124 76 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
125 75 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
126 44 [label = "{{ <freq> freq|<width> width 0.5} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
127 59 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
128
129 60:__UG_NAME__ -> 61:b ;
130 62:__UG_NAME__ -> 63:b ;
131 61:__UG_NAME__ -> 63:a ;
132 28:__UG_NAME__ -> 29:b ;
133 25:__UG_NAME__ -> 29:a ;
134 36:__UG_NAME__ -> 37:b ;
135 34:__UG_NAME__ -> 37:a ;
136 40:__UG_NAME__ -> 41:b ;
137 37:__UG_NAME__ -> 41:a ;
138 46:__UG_NAME__ -> 47:b ;
139 45:__UG_NAME__ -> 47:a ;
140 49:__UG_NAME__ -> 50:b ;
141 47:__UG_NAME__ -> 50:a ;
142 57:__UG_NAME__ -> 58:b ;
143 29:__UG_NAME__ -> 58:a ;
144 68:__UG_NAME__ -> 69:b ;
145 65:__UG_NAME__ -> 69:a ;
146 71:__UG_NAME__ -> 72:b ;
147 69:__UG_NAME__ -> 72:a ;
148 17:__UG_NAME__ -> 54:b ;
149 27:__UG_NAME__ -> 28:a ;
150 35:__UG_NAME__ -> 36:a ;
151 39:__UG_NAME__ -> 40:a ;
152 32:__UG_NAME__ -> 46:a ;
153 48:__UG_NAME__ -> 49:a ;
154 56:__UG_NAME__ -> 57:a ;
155 66:__UG_NAME__ -> 68:a ;
156 70:__UG_NAME__ -> 71:a ;
157 26:__UG_NAME__ -> 27:a ;
158 31:__UG_NAME__ -> 32:a ;
159 33:__UG_NAME__ -> 35:a ;
160 38:__UG_NAME__ -> 39:a ;
161 30:__UG_NAME__ -> 48:a ;
162 55:__UG_NAME__ -> 56:a ;
163 64:__UG_NAME__ -> 66:a ;
164 67:__UG_NAME__ -> 70:a ;
165 41:__UG_NAME__ -> 42:gate ;
166 0:__UG_NAME__ -> 42:envelope___control___0 ;
167 0:__UG_NAME__ -> 42:envelope___control___4 ;
168 1:__UG_NAME__ -> 42:envelope___control___5 ;
169 2:__UG_NAME__ -> 42:envelope___control___6 ;
170 3:__UG_NAME__ -> 42:envelope___control___7 ;
171 50:__UG_NAME__ -> 51:gate ;
172 20:__UG_NAME__ -> 51:envelope___control___0 ;
173 20:__UG_NAME__ -> 51:envelope___control___4 ;
174 21:__UG_NAME__ -> 51:envelope___control___5 ;
175 22:__UG_NAME__ -> 51:envelope___control___6 ;
176 23:__UG_NAME__ -> 51:envelope___control___7 ;
177 16:__UG_NAME__ -> 60:envelope___control___4 ;
178 12:__UG_NAME__ -> 60:envelope___control___5 ;
179 19:__UG_NAME__ -> 60:envelope___control___6 ;
180 59:__UG_NAME__ -> 60:envelope___select___8 ;
181 13:__UG_NAME__ -> 60:envelope___control___9 ;
182 19:__UG_NAME__ -> 60:envelope___control___10 ;
183 18:__UG_NAME__ -> 60:envelope___control___12 ;
184 14:__UG_NAME__ -> 60:envelope___control___13 ;
185 19:__UG_NAME__ -> 60:envelope___control___14 ;
186 15:__UG_NAME__ -> 60:envelope___control___17 ;
187 19:__UG_NAME__ -> 60:envelope___control___18 ;
188 72:__UG_NAME__ -> 73:gate ;
189 8:__UG_NAME__ -> 73:envelope___control___0 ;
190 8:__UG_NAME__ -> 73:envelope___control___4 ;
191 9:__UG_NAME__ -> 73:envelope___control___5 ;
192 10:__UG_NAME__ -> 73:envelope___control___6 ;
193 11:__UG_NAME__ -> 73:envelope___control___7 ;
194 58:__UG_NAME__ -> 74:gate ;
195 4:__UG_NAME__ -> 74:envelope___control___0 ;
196 4:__UG_NAME__ -> 74:envelope___control___4 ;
197 5:__UG_NAME__ -> 74:envelope___control___5 ;
198 6:__UG_NAME__ -> 74:envelope___control___6 ;
199 7:__UG_NAME__ -> 74:envelope___control___7 ;
200 4:__UG_NAME__ -> 26:in ;
201 21:__UG_NAME__ -> 30:in ;
202 20:__UG_NAME__ -> 31:in ;
203 0:__UG_NAME__ -> 33:in ;
204 1:__UG_NAME__ -> 38:in ;
205 5:__UG_NAME__ -> 55:in ;
206 8:__UG_NAME__ -> 64:in ;
207 9:__UG_NAME__ -> 67:in ;
208 52:__UG_NAME__ -> 53:freq ;
209 44:__UG_NAME__ -> 53:in ;
210 42:__UG_NAME__ -> 43:a ;
211 51:__UG_NAME__ -> 52:a ;
212 53:__UG_NAME__ -> 62:in ;
213 75:__UG_NAME__ -> 76:signals___pan2___0 ;
214 75:__UG_NAME__ -> 76:signals___pan2___1 ;
215 24:__UG_NAME__ -> 76:bus ;
216 74:__UG_NAME__ -> 75:level ;
217 73:__UG_NAME__ -> 75:pos ;
218 63:__UG_NAME__ -> 75:in ;
219 43:__UG_NAME__ -> 44:freq ;
220 17:__UG_NAME__ -> 59:array___control___0 ;
221 18:__UG_NAME__ -> 59:array___control___1 ;
222 54:__UG_NAME__ -> 59:which ;
223
224 }
+0
-672
etc/synthdefs/graphviz/sonic-pi-stereo_player.dot less more
0 digraph synthdef {
1 90 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 91 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 97 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 220 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 222 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
6 62 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 66 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 106 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 110 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 117 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 121 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 127 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 130 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 140 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 144 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 153 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 157 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 179 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 183 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 196 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 200 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 206 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 224 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 228 [label = "{{ <a> 0.03|<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 89 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="dashed, rounded" shape=record rankdir=LR];
26 166 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
27 167 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
28 168 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
29 189 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
30 214 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
31 215 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
32 99 [label = "{{ <a> |<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
33 135 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
34 148 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
35 159 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
36 161 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
37 162 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
38 165 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
39 211 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
40 213 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="dashed, rounded" shape=record rankdir=LR];
41 61 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 65 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 105 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 109 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 116 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 120 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 126 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 129 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 139 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 143 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 152 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 156 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 178 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 182 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 195 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 199 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 205 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
58 223 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
59 60 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 64 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 98 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 104 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 108 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 115 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 119 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
66 125 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
67 128 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
68 138 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
69 142 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
70 151 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
71 155 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
72 177 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
73 181 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
74 191 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
75 194 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
76 198 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
77 204 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
78 96 [label = "{{ <a> |<b> } |<__UG_NAME__>absdif }" style="bold, rounded" shape=record rankdir=LR];
79 226 [label = "{{ <left> left|<right> right|<pos> pos|<level> level} |<__UG_NAME__>balance2 }" style="filled, bold, rounded" shape=record rankdir=LR];
80 95 [label = "{{ <buf> buf} |<__UG_NAME__>buf-dur }" style="dashed, rounded" shape=record rankdir=LR];
81 88 [label = "{{ <buf> buf} |<__UG_NAME__>buf-frames }" style="dashed, rounded" shape=record rankdir=LR];
82 101 [label = "{{ <num____channels> num-channels 2|<bufnum> bufnum|<phase> phase|<loop> loop 1.0|<interpolation> interpolation 2.0} |<__UG_NAME__>buf-rd }" style="filled, bold, rounded" shape=record rankdir=LR];
83 0 [label = "control
84 :buf
85 default: 0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 1 [label = "control
87 :cutoff_attack_level
88 default: -1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 2 [label = "control
90 :cutoff_decay_level
91 default: -1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 3 [label = "control
93 :cutoff_sustain_level
94 default: -1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 4 [label = "control
96 :attack
97 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 5 [label = "control
99 :decay
100 default: 0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 6 [label = "control
102 :sustain
103 default: -1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 7 [label = "control
105 :release
106 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 8 [label = "control
108 :attack_level
109 default: 1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 9 [label = "control
111 :decay_level
112 default: -1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 10 [label = "control
114 :sustain_level
115 default: 1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 11 [label = "control
117 :amp
118 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 12 [label = "control
120 :amp_slide
121 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 13 [label = "control
123 :amp_slide_shape
124 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 14 [label = "control
126 :amp_slide_curve
127 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 15 [label = "control
129 :pan
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 16 [label = "control
132 :pan_slide
133 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 17 [label = "control
135 :pan_slide_shape
136 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
137 18 [label = "control
138 :pan_slide_curve
139 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
140 19 [label = "control
141 :cutoff
142 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
143 20 [label = "control
144 :cutoff_slide
145 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
146 21 [label = "control
147 :cutoff_slide_shape
148 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
149 22 [label = "control
150 :cutoff_slide_curve
151 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
152 23 [label = "control
153 :cutoff_attack
154 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
155 24 [label = "control
156 :cutoff_sustain
157 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
158 25 [label = "control
159 :cutoff_decay
160 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
161 26 [label = "control
162 :cutoff_release
163 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
164 27 [label = "control
165 :cutoff_min
166 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
167 28 [label = "control
168 :cutoff_min_slide
169 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
170 29 [label = "control
171 :cutoff_min_slide_shape
172 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
173 30 [label = "control
174 :cutoff_min_slide_curve
175 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
176 31 [label = "control
177 :cutoff_env_curve
178 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
179 32 [label = "control
180 :res
181 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
182 33 [label = "control
183 :res_slide
184 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
185 34 [label = "control
186 :res_slide_shape
187 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
188 35 [label = "control
189 :res_slide_curve
190 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
191 36 [label = "control
192 :env_curve
193 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
194 37 [label = "control
195 :rate
196 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
197 38 [label = "control
198 :start
199 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
200 39 [label = "control
201 :finish
202 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
203 40 [label = "control
204 :norm
205 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
206 41 [label = "control
207 :pitch
208 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
209 42 [label = "control
210 :pitch_slide
211 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
212 43 [label = "control
213 :pitch_slide_shape
214 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
215 44 [label = "control
216 :pitch_slide_curve
217 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
218 45 [label = "control
219 :window_size
220 default: 0.2" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
221 46 [label = "control
222 :window_size_slide
223 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
224 47 [label = "control
225 :window_size_slide_shape
226 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
227 48 [label = "control
228 :window_size_slide_curve
229 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
230 49 [label = "control
231 :pitch_dis
232 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
233 50 [label = "control
234 :pitch_dis_slide
235 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
236 51 [label = "control
237 :pitch_dis_slide_shape
238 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
239 52 [label = "control
240 :pitch_dis_slide_curve
241 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
242 53 [label = "control
243 :time_dis
244 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
245 54 [label = "control
246 :time_dis_slide
247 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
248 55 [label = "control
249 :time_dis_slide_shape
250 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
251 56 [label = "control
252 :time_dis_slide_curve
253 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
254 57 [label = "control
255 :out_bus
256 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
257 86 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
258 111 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
259 122 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
260 131 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
261 145 [label = "{{ {{<envelope___select___0>|1.0|-99|-99|<envelope___select___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
262 158 [label = "{{ {{<envelope___select___0>|1.0|-99|-99|<envelope___select___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
263 170 [label = "{{ {{<envelope___env____gen___0>|4|-99|-99|<envelope___select___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___select___12>|<envelope___select___13>|<envelope___control___14>|0.0|<envelope___env____gen___16>|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
264 184 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
265 217 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___select___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
266 218 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
267 225 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
268 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
269 63 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
270 68 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
271 103 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
272 107 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
273 114 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
274 118 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
275 124 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
276 137 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
277 141 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
278 150 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
279 154 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
280 176 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
281 180 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
282 190 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
283 193 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
284 197 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
285 203 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
286 58 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
287 102 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
288 113 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
289 123 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
290 134 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
291 147 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
292 174 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
293 192 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
294 202 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
295 100 [label = "{{ <start> start|<end> end|<dur> dur|<action> action 0.0} |<__UG_NAME__>line }" style="filled, bold, rounded" shape=record rankdir=LR];
296 229 [label = "{{ <start> start 1.0|<end> end 1.0|<dur> dur|<action> action 2.0} |<__UG_NAME__>line }" style="bold, rounded" shape=record rankdir=LR];
297 146 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
298 171 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
299 112 [label = "{{ <a> |<b> } |<__UG_NAME__>midiratio }" style="bold, rounded" shape=record rankdir=LR];
300 172 [label = "{{ <a> |<b> } |<__UG_NAME__>min }" style="bold, rounded" shape=record rankdir=LR];
301 175 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
302 187 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
303 219 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
304 67 [label = "{{ <a> |<b> } |<__UG_NAME__>not-pos? }" style="bold, rounded" shape=record rankdir=LR];
305 93 [label = "{{ <a> |<b> } |<__UG_NAME__>not-pos? }" style="bold, rounded" shape=record rankdir=LR];
306 69 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
307 70 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
308 71 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
309 73 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>not= }" style="dashed, rounded" shape=record rankdir=LR];
310 75 [label = "{{ <a> 0.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
311 77 [label = "{{ <a> 0.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
312 79 [label = "{{ <a> 0.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
313 81 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
314 83 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
315 87 [label = "{{ <a> 0.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
316 207 [label = "{{ <a> 0.0|<b> } |<__UG_NAME__>not= }" style="bold, rounded" shape=record rankdir=LR];
317 72 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
318 74 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="dashed, rounded" shape=record rankdir=LR];
319 76 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
320 78 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
321 80 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
322 82 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
323 84 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
324 85 [label = "{{ <a> |<b> } |<__UG_NAME__>or }" style="bold, rounded" shape=record rankdir=LR];
325 227 [label = "{{ <bus> bus|{{<signals___balance2___0>|<signals___balance2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
326 132 [label = "{{ <in> in|<window____size> window-size|<pitch____ratio> pitch-ratio|<pitch____dispersion> pitch-dispersion|<time____dispersion> time-dispersion} |<__UG_NAME__>pitch-shift }" style="filled, bold, rounded" shape=record rankdir=LR];
327 201 [label = "{{ <in> in|<window____size> window-size|<pitch____ratio> pitch-ratio|<pitch____dispersion> pitch-dispersion|<time____dispersion> time-dispersion} |<__UG_NAME__>pitch-shift }" style="filled, bold, rounded" shape=record rankdir=LR];
328 185 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
329 209 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
330 92 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
331 94 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
332 133 [label = "{{ <which> which|{{<array___buf____rd___0>|<array___pitch____shift___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
333 136 [label = "{{ <which> which|{{<array___control___0>|130}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
334 149 [label = "{{ <which> which|{{<array___control___0>|50}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
335 160 [label = "{{ <which> which|{{<array___control___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
336 163 [label = "{{ <which> which|{{<array___control___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
337 164 [label = "{{ <which> which|{{<array___control___0>|<array___select___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
338 169 [label = "{{ <which> which|{{<array___control___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
339 173 [label = "{{ <which> which|{{<array___unary____op____u____gen___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
340 186 [label = "{{ <which> which|{{<array___select___0>|<array___rlpf___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
341 188 [label = "{{ <which> which|{{<array___select___0>|<array___normalizer___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
342 208 [label = "{{ <which> which|{{<array___buf____rd___0>|<array___pitch____shift___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
343 210 [label = "{{ <which> which|{{<array___select___0>|<array___rlpf___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
344 212 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
345 216 [label = "{{ <which> which|{{<array___control___0>|<array___binary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
346 221 [label = "{{ <which> which|{{<array___select___0>|<array___normalizer___1>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
347
348 89:__UG_NAME__ -> 90:b ;
349 38:__UG_NAME__ -> 90:a ;
350 89:__UG_NAME__ -> 91:b ;
351 39:__UG_NAME__ -> 91:a ;
352 96:__UG_NAME__ -> 97:b ;
353 95:__UG_NAME__ -> 97:a ;
354 188:__UG_NAME__ -> 220:b ;
355 217:__UG_NAME__ -> 220:a ;
356 221:__UG_NAME__ -> 222:b ;
357 217:__UG_NAME__ -> 222:a ;
358 61:__UG_NAME__ -> 62:b ;
359 58:__UG_NAME__ -> 62:a ;
360 65:__UG_NAME__ -> 66:b ;
361 62:__UG_NAME__ -> 66:a ;
362 105:__UG_NAME__ -> 106:b ;
363 102:__UG_NAME__ -> 106:a ;
364 109:__UG_NAME__ -> 110:b ;
365 106:__UG_NAME__ -> 110:a ;
366 116:__UG_NAME__ -> 117:b ;
367 113:__UG_NAME__ -> 117:a ;
368 120:__UG_NAME__ -> 121:b ;
369 117:__UG_NAME__ -> 121:a ;
370 126:__UG_NAME__ -> 127:b ;
371 123:__UG_NAME__ -> 127:a ;
372 129:__UG_NAME__ -> 130:b ;
373 127:__UG_NAME__ -> 130:a ;
374 139:__UG_NAME__ -> 140:b ;
375 134:__UG_NAME__ -> 140:a ;
376 143:__UG_NAME__ -> 144:b ;
377 140:__UG_NAME__ -> 144:a ;
378 152:__UG_NAME__ -> 153:b ;
379 147:__UG_NAME__ -> 153:a ;
380 156:__UG_NAME__ -> 157:b ;
381 153:__UG_NAME__ -> 157:a ;
382 178:__UG_NAME__ -> 179:b ;
383 174:__UG_NAME__ -> 179:a ;
384 182:__UG_NAME__ -> 183:b ;
385 179:__UG_NAME__ -> 183:a ;
386 195:__UG_NAME__ -> 196:b ;
387 192:__UG_NAME__ -> 196:a ;
388 199:__UG_NAME__ -> 200:b ;
389 196:__UG_NAME__ -> 200:a ;
390 205:__UG_NAME__ -> 206:b ;
391 202:__UG_NAME__ -> 206:a ;
392 223:__UG_NAME__ -> 224:b ;
393 206:__UG_NAME__ -> 224:a ;
394 99:__UG_NAME__ -> 228:b ;
395 88:__UG_NAME__ -> 89:a ;
396 23:__UG_NAME__ -> 166:b ;
397 99:__UG_NAME__ -> 166:a ;
398 26:__UG_NAME__ -> 167:b ;
399 166:__UG_NAME__ -> 167:a ;
400 25:__UG_NAME__ -> 168:b ;
401 167:__UG_NAME__ -> 168:a ;
402 4:__UG_NAME__ -> 189:b ;
403 99:__UG_NAME__ -> 189:a ;
404 7:__UG_NAME__ -> 214:b ;
405 189:__UG_NAME__ -> 214:a ;
406 5:__UG_NAME__ -> 215:b ;
407 214:__UG_NAME__ -> 215:a ;
408 98:__UG_NAME__ -> 99:b ;
409 97:__UG_NAME__ -> 99:a ;
410 19:__UG_NAME__ -> 135:b ;
411 27:__UG_NAME__ -> 148:b ;
412 1:__UG_NAME__ -> 159:b ;
413 2:__UG_NAME__ -> 161:b ;
414 3:__UG_NAME__ -> 162:b ;
415 24:__UG_NAME__ -> 165:b ;
416 9:__UG_NAME__ -> 211:b ;
417 6:__UG_NAME__ -> 213:b ;
418 60:__UG_NAME__ -> 61:a ;
419 64:__UG_NAME__ -> 65:a ;
420 104:__UG_NAME__ -> 105:a ;
421 108:__UG_NAME__ -> 109:a ;
422 115:__UG_NAME__ -> 116:a ;
423 119:__UG_NAME__ -> 120:a ;
424 125:__UG_NAME__ -> 126:a ;
425 128:__UG_NAME__ -> 129:a ;
426 138:__UG_NAME__ -> 139:a ;
427 142:__UG_NAME__ -> 143:a ;
428 151:__UG_NAME__ -> 152:a ;
429 155:__UG_NAME__ -> 156:a ;
430 177:__UG_NAME__ -> 178:a ;
431 181:__UG_NAME__ -> 182:a ;
432 194:__UG_NAME__ -> 195:a ;
433 198:__UG_NAME__ -> 199:a ;
434 204:__UG_NAME__ -> 205:a ;
435 191:__UG_NAME__ -> 223:a ;
436 59:__UG_NAME__ -> 60:a ;
437 63:__UG_NAME__ -> 64:a ;
438 37:__UG_NAME__ -> 98:a ;
439 103:__UG_NAME__ -> 104:a ;
440 107:__UG_NAME__ -> 108:a ;
441 114:__UG_NAME__ -> 115:a ;
442 118:__UG_NAME__ -> 119:a ;
443 124:__UG_NAME__ -> 125:a ;
444 68:__UG_NAME__ -> 128:a ;
445 137:__UG_NAME__ -> 138:a ;
446 141:__UG_NAME__ -> 142:a ;
447 150:__UG_NAME__ -> 151:a ;
448 154:__UG_NAME__ -> 155:a ;
449 176:__UG_NAME__ -> 177:a ;
450 180:__UG_NAME__ -> 181:a ;
451 190:__UG_NAME__ -> 191:a ;
452 193:__UG_NAME__ -> 194:a ;
453 197:__UG_NAME__ -> 198:a ;
454 203:__UG_NAME__ -> 204:a ;
455 38:__UG_NAME__ -> 96:b ;
456 39:__UG_NAME__ -> 96:a ;
457 218:__UG_NAME__ -> 226:level ;
458 225:__UG_NAME__ -> 226:pos ;
459 222:__UG_NAME__ -> 226:right ;
460 220:__UG_NAME__ -> 226:left ;
461 0:__UG_NAME__ -> 95:buf ;
462 0:__UG_NAME__ -> 88:buf ;
463 100:__UG_NAME__ -> 101:phase ;
464 0:__UG_NAME__ -> 101:bufnum ;
465 66:__UG_NAME__ -> 86:gate ;
466 41:__UG_NAME__ -> 86:envelope___control___0 ;
467 41:__UG_NAME__ -> 86:envelope___control___4 ;
468 42:__UG_NAME__ -> 86:envelope___control___5 ;
469 43:__UG_NAME__ -> 86:envelope___control___6 ;
470 44:__UG_NAME__ -> 86:envelope___control___7 ;
471 110:__UG_NAME__ -> 111:gate ;
472 45:__UG_NAME__ -> 111:envelope___control___0 ;
473 45:__UG_NAME__ -> 111:envelope___control___4 ;
474 46:__UG_NAME__ -> 111:envelope___control___5 ;
475 47:__UG_NAME__ -> 111:envelope___control___6 ;
476 48:__UG_NAME__ -> 111:envelope___control___7 ;
477 121:__UG_NAME__ -> 122:gate ;
478 49:__UG_NAME__ -> 122:envelope___control___0 ;
479 49:__UG_NAME__ -> 122:envelope___control___4 ;
480 50:__UG_NAME__ -> 122:envelope___control___5 ;
481 51:__UG_NAME__ -> 122:envelope___control___6 ;
482 52:__UG_NAME__ -> 122:envelope___control___7 ;
483 130:__UG_NAME__ -> 131:gate ;
484 53:__UG_NAME__ -> 131:envelope___control___0 ;
485 53:__UG_NAME__ -> 131:envelope___control___4 ;
486 54:__UG_NAME__ -> 131:envelope___control___5 ;
487 55:__UG_NAME__ -> 131:envelope___control___6 ;
488 56:__UG_NAME__ -> 131:envelope___control___7 ;
489 144:__UG_NAME__ -> 145:gate ;
490 136:__UG_NAME__ -> 145:envelope___select___0 ;
491 136:__UG_NAME__ -> 145:envelope___select___4 ;
492 20:__UG_NAME__ -> 145:envelope___control___5 ;
493 21:__UG_NAME__ -> 145:envelope___control___6 ;
494 22:__UG_NAME__ -> 145:envelope___control___7 ;
495 157:__UG_NAME__ -> 158:gate ;
496 149:__UG_NAME__ -> 158:envelope___select___0 ;
497 149:__UG_NAME__ -> 158:envelope___select___4 ;
498 28:__UG_NAME__ -> 158:envelope___control___5 ;
499 29:__UG_NAME__ -> 158:envelope___control___6 ;
500 30:__UG_NAME__ -> 158:envelope___control___7 ;
501 158:__UG_NAME__ -> 170:envelope___env____gen___0 ;
502 160:__UG_NAME__ -> 170:envelope___select___4 ;
503 23:__UG_NAME__ -> 170:envelope___control___5 ;
504 31:__UG_NAME__ -> 170:envelope___control___6 ;
505 164:__UG_NAME__ -> 170:envelope___select___8 ;
506 25:__UG_NAME__ -> 170:envelope___control___9 ;
507 31:__UG_NAME__ -> 170:envelope___control___10 ;
508 163:__UG_NAME__ -> 170:envelope___select___12 ;
509 169:__UG_NAME__ -> 170:envelope___select___13 ;
510 31:__UG_NAME__ -> 170:envelope___control___14 ;
511 158:__UG_NAME__ -> 170:envelope___env____gen___16 ;
512 26:__UG_NAME__ -> 170:envelope___control___17 ;
513 31:__UG_NAME__ -> 170:envelope___control___18 ;
514 183:__UG_NAME__ -> 184:gate ;
515 175:__UG_NAME__ -> 184:envelope___mul____add___0 ;
516 175:__UG_NAME__ -> 184:envelope___mul____add___4 ;
517 33:__UG_NAME__ -> 184:envelope___control___5 ;
518 34:__UG_NAME__ -> 184:envelope___control___6 ;
519 35:__UG_NAME__ -> 184:envelope___control___7 ;
520 8:__UG_NAME__ -> 217:envelope___control___4 ;
521 4:__UG_NAME__ -> 217:envelope___control___5 ;
522 36:__UG_NAME__ -> 217:envelope___control___6 ;
523 212:__UG_NAME__ -> 217:envelope___select___8 ;
524 5:__UG_NAME__ -> 217:envelope___control___9 ;
525 36:__UG_NAME__ -> 217:envelope___control___10 ;
526 10:__UG_NAME__ -> 217:envelope___control___12 ;
527 216:__UG_NAME__ -> 217:envelope___select___13 ;
528 36:__UG_NAME__ -> 217:envelope___control___14 ;
529 7:__UG_NAME__ -> 217:envelope___control___17 ;
530 36:__UG_NAME__ -> 217:envelope___control___18 ;
531 200:__UG_NAME__ -> 218:gate ;
532 11:__UG_NAME__ -> 218:envelope___control___0 ;
533 11:__UG_NAME__ -> 218:envelope___control___4 ;
534 12:__UG_NAME__ -> 218:envelope___control___5 ;
535 13:__UG_NAME__ -> 218:envelope___control___6 ;
536 14:__UG_NAME__ -> 218:envelope___control___7 ;
537 224:__UG_NAME__ -> 225:gate ;
538 15:__UG_NAME__ -> 225:envelope___control___0 ;
539 15:__UG_NAME__ -> 225:envelope___control___4 ;
540 16:__UG_NAME__ -> 225:envelope___control___5 ;
541 17:__UG_NAME__ -> 225:envelope___control___6 ;
542 18:__UG_NAME__ -> 225:envelope___control___7 ;
543 41:__UG_NAME__ -> 59:in ;
544 42:__UG_NAME__ -> 63:in ;
545 54:__UG_NAME__ -> 68:in ;
546 45:__UG_NAME__ -> 103:in ;
547 46:__UG_NAME__ -> 107:in ;
548 49:__UG_NAME__ -> 114:in ;
549 50:__UG_NAME__ -> 118:in ;
550 53:__UG_NAME__ -> 124:in ;
551 136:__UG_NAME__ -> 137:in ;
552 20:__UG_NAME__ -> 141:in ;
553 149:__UG_NAME__ -> 150:in ;
554 28:__UG_NAME__ -> 154:in ;
555 175:__UG_NAME__ -> 176:in ;
556 33:__UG_NAME__ -> 180:in ;
557 16:__UG_NAME__ -> 190:in ;
558 11:__UG_NAME__ -> 193:in ;
559 12:__UG_NAME__ -> 197:in ;
560 15:__UG_NAME__ -> 203:in ;
561 99:__UG_NAME__ -> 100:dur ;
562 94:__UG_NAME__ -> 100:end ;
563 92:__UG_NAME__ -> 100:start ;
564 228:__UG_NAME__ -> 229:dur ;
565 145:__UG_NAME__ -> 146:a ;
566 170:__UG_NAME__ -> 171:a ;
567 86:__UG_NAME__ -> 112:a ;
568 146:__UG_NAME__ -> 172:b ;
569 171:__UG_NAME__ -> 172:a ;
570 32:__UG_NAME__ -> 175:in ;
571 186:__UG_NAME__ -> 187:in ;
572 210:__UG_NAME__ -> 219:in ;
573 37:__UG_NAME__ -> 67:a ;
574 37:__UG_NAME__ -> 93:a ;
575 19:__UG_NAME__ -> 69:b ;
576 1:__UG_NAME__ -> 70:b ;
577 2:__UG_NAME__ -> 71:b ;
578 3:__UG_NAME__ -> 73:b ;
579 23:__UG_NAME__ -> 75:b ;
580 25:__UG_NAME__ -> 77:b ;
581 26:__UG_NAME__ -> 79:b ;
582 24:__UG_NAME__ -> 81:b ;
583 27:__UG_NAME__ -> 83:b ;
584 86:__UG_NAME__ -> 87:b ;
585 86:__UG_NAME__ -> 207:b ;
586 71:__UG_NAME__ -> 72:b ;
587 70:__UG_NAME__ -> 72:a ;
588 73:__UG_NAME__ -> 74:b ;
589 72:__UG_NAME__ -> 74:a ;
590 75:__UG_NAME__ -> 76:b ;
591 74:__UG_NAME__ -> 76:a ;
592 77:__UG_NAME__ -> 78:b ;
593 76:__UG_NAME__ -> 78:a ;
594 79:__UG_NAME__ -> 80:b ;
595 78:__UG_NAME__ -> 80:a ;
596 81:__UG_NAME__ -> 82:b ;
597 80:__UG_NAME__ -> 82:a ;
598 83:__UG_NAME__ -> 84:b ;
599 82:__UG_NAME__ -> 84:a ;
600 84:__UG_NAME__ -> 85:b ;
601 69:__UG_NAME__ -> 85:a ;
602 226:__UG_NAME__ -> 227:signals___balance2___0 ;
603 226:__UG_NAME__ -> 227:signals___balance2___1 ;
604 57:__UG_NAME__ -> 227:bus ;
605 131:__UG_NAME__ -> 132:time____dispersion ;
606 122:__UG_NAME__ -> 132:pitch____dispersion ;
607 112:__UG_NAME__ -> 132:pitch____ratio ;
608 111:__UG_NAME__ -> 132:window____size ;
609 101:__UG_NAME__ -> 132:in ;
610 131:__UG_NAME__ -> 201:time____dispersion ;
611 122:__UG_NAME__ -> 201:pitch____dispersion ;
612 112:__UG_NAME__ -> 201:pitch____ratio ;
613 111:__UG_NAME__ -> 201:window____size ;
614 101:__UG_NAME__ -> 201:in ;
615 184:__UG_NAME__ -> 185:rq ;
616 173:__UG_NAME__ -> 185:freq ;
617 133:__UG_NAME__ -> 185:in ;
618 184:__UG_NAME__ -> 209:rq ;
619 173:__UG_NAME__ -> 209:freq ;
620 208:__UG_NAME__ -> 209:in ;
621 90:__UG_NAME__ -> 92:array___binary____op____u____gen___0 ;
622 91:__UG_NAME__ -> 92:array___binary____op____u____gen___1 ;
623 67:__UG_NAME__ -> 92:which ;
624 91:__UG_NAME__ -> 94:array___binary____op____u____gen___0 ;
625 90:__UG_NAME__ -> 94:array___binary____op____u____gen___1 ;
626 93:__UG_NAME__ -> 94:which ;
627 101:__UG_NAME__ -> 133:array___buf____rd___0 ;
628 132:__UG_NAME__ -> 133:array___pitch____shift___1 ;
629 87:__UG_NAME__ -> 133:which ;
630 19:__UG_NAME__ -> 136:array___control___0 ;
631 135:__UG_NAME__ -> 136:which ;
632 27:__UG_NAME__ -> 149:array___control___0 ;
633 148:__UG_NAME__ -> 149:which ;
634 1:__UG_NAME__ -> 160:array___control___0 ;
635 136:__UG_NAME__ -> 160:array___select___1 ;
636 159:__UG_NAME__ -> 160:which ;
637 3:__UG_NAME__ -> 163:array___control___0 ;
638 160:__UG_NAME__ -> 163:array___select___1 ;
639 162:__UG_NAME__ -> 163:which ;
640 2:__UG_NAME__ -> 164:array___control___0 ;
641 163:__UG_NAME__ -> 164:array___select___1 ;
642 161:__UG_NAME__ -> 164:which ;
643 24:__UG_NAME__ -> 169:array___control___0 ;
644 168:__UG_NAME__ -> 169:array___binary____op____u____gen___1 ;
645 165:__UG_NAME__ -> 169:which ;
646 146:__UG_NAME__ -> 173:array___unary____op____u____gen___0 ;
647 172:__UG_NAME__ -> 173:array___binary____op____u____gen___1 ;
648 84:__UG_NAME__ -> 173:which ;
649 133:__UG_NAME__ -> 186:array___select___0 ;
650 185:__UG_NAME__ -> 186:array___rlpf___1 ;
651 85:__UG_NAME__ -> 186:which ;
652 186:__UG_NAME__ -> 188:array___select___0 ;
653 187:__UG_NAME__ -> 188:array___normalizer___1 ;
654 40:__UG_NAME__ -> 188:which ;
655 101:__UG_NAME__ -> 208:array___buf____rd___0 ;
656 201:__UG_NAME__ -> 208:array___pitch____shift___1 ;
657 207:__UG_NAME__ -> 208:which ;
658 208:__UG_NAME__ -> 210:array___select___0 ;
659 209:__UG_NAME__ -> 210:array___rlpf___1 ;
660 85:__UG_NAME__ -> 210:which ;
661 9:__UG_NAME__ -> 212:array___control___0 ;
662 10:__UG_NAME__ -> 212:array___control___1 ;
663 211:__UG_NAME__ -> 212:which ;
664 6:__UG_NAME__ -> 216:array___control___0 ;
665 215:__UG_NAME__ -> 216:array___binary____op____u____gen___1 ;
666 213:__UG_NAME__ -> 216:which ;
667 210:__UG_NAME__ -> 221:array___select___0 ;
668 219:__UG_NAME__ -> 221:array___normalizer___1 ;
669 40:__UG_NAME__ -> 221:which ;
670
671 }
+0
-327
etc/synthdefs/graphviz/sonic-pi-subpulse.dot less more
0 digraph synthdef {
1 72 [label = "{{ <a> 0.8|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 96 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 101 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 41 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 45 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 51 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 55 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 62 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 66 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 77 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 81 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 87 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 91 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 93 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 97 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
16 106 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 110 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 69 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
19 40 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 44 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
21 50 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 54 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 61 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 65 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 76 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 80 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 86 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 90 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 105 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 109 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 39 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
32 43 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
33 49 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 53 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 60 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 64 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 75 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 79 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 85 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 89 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 104 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 108 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 0 [label = "control
44 :note
45 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 1 [label = "control
47 :note_slide
48 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 2 [label = "control
50 :note_slide_shape
51 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 3 [label = "control
53 :note_slide_curve
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 4 [label = "control
56 :amp
57 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 5 [label = "control
59 :amp_slide
60 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 6 [label = "control
62 :amp_slide_shape
63 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 7 [label = "control
65 :amp_slide_curve
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 8 [label = "control
68 :pan
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 9 [label = "control
71 :pan_slide
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 10 [label = "control
74 :pan_slide_shape
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 11 [label = "control
77 :pan_slide_curve
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 12 [label = "control
80 :attack
81 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 13 [label = "control
83 :decay
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 14 [label = "control
86 :sustain
87 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 15 [label = "control
89 :release
90 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 16 [label = "control
92 :attack_level
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 17 [label = "control
95 :decay_level
96 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 18 [label = "control
98 :sustain_level
99 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 19 [label = "control
101 :env_curve
102 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 20 [label = "control
104 :cutoff
105 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 21 [label = "control
107 :cutoff_slide
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 22 [label = "control
110 :cutoff_slide_shape
111 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 23 [label = "control
113 :cutoff_slide_curve
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 24 [label = "control
116 :pulse_width
117 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 25 [label = "control
119 :pulse_width_slide
120 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 26 [label = "control
122 :pulse_width_slide_shape
123 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 27 [label = "control
125 :pulse_width_slide_curve
126 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 28 [label = "control
128 :sub_amp
129 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 29 [label = "control
131 :sub_amp_slide
132 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 30 [label = "control
134 :sub_amp_slide_shape
135 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 31 [label = "control
137 :sub_amp_slide_curve
138 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 32 [label = "control
140 :sub_detune
141 default: -12.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
142 33 [label = "control
143 :sub_detune_slide
144 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
145 34 [label = "control
146 :sub_detune_slide_shape
147 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
148 35 [label = "control
149 :sub_detune_slide_curve
150 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
151 36 [label = "control
152 :out_bus
153 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
154 46 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
155 56 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
156 67 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
157 71 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
158 82 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
159 92 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
160 111 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
161 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
162 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
163 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
164 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
165 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
166 59 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
167 63 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
168 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
169 78 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
170 88 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
171 103 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
172 107 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
173 37 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
174 47 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
175 58 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
176 73 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
177 84 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
178 102 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
179 99 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
180 68 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
181 94 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
182 98 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
183 100 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
184 113 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
185 112 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
186 83 [label = "{{ <freq> freq|<width> width} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
187 70 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
188 95 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="filled, bold, rounded" shape=record rankdir=LR];
189
190 71:__UG_NAME__ -> 72:b ;
191 95:__UG_NAME__ -> 96:b ;
192 28:__UG_NAME__ -> 96:a ;
193 100:__UG_NAME__ -> 101:b ;
194 72:__UG_NAME__ -> 101:a ;
195 40:__UG_NAME__ -> 41:b ;
196 37:__UG_NAME__ -> 41:a ;
197 44:__UG_NAME__ -> 45:b ;
198 41:__UG_NAME__ -> 45:a ;
199 50:__UG_NAME__ -> 51:b ;
200 47:__UG_NAME__ -> 51:a ;
201 54:__UG_NAME__ -> 55:b ;
202 51:__UG_NAME__ -> 55:a ;
203 61:__UG_NAME__ -> 62:b ;
204 58:__UG_NAME__ -> 62:a ;
205 65:__UG_NAME__ -> 66:b ;
206 62:__UG_NAME__ -> 66:a ;
207 76:__UG_NAME__ -> 77:b ;
208 73:__UG_NAME__ -> 77:a ;
209 80:__UG_NAME__ -> 81:b ;
210 77:__UG_NAME__ -> 81:a ;
211 86:__UG_NAME__ -> 87:b ;
212 84:__UG_NAME__ -> 87:a ;
213 90:__UG_NAME__ -> 91:b ;
214 87:__UG_NAME__ -> 91:a ;
215 92:__UG_NAME__ -> 93:b ;
216 67:__UG_NAME__ -> 93:a ;
217 96:__UG_NAME__ -> 97:b ;
218 83:__UG_NAME__ -> 97:a ;
219 105:__UG_NAME__ -> 106:b ;
220 102:__UG_NAME__ -> 106:a ;
221 109:__UG_NAME__ -> 110:b ;
222 106:__UG_NAME__ -> 110:a ;
223 17:__UG_NAME__ -> 69:b ;
224 39:__UG_NAME__ -> 40:a ;
225 43:__UG_NAME__ -> 44:a ;
226 49:__UG_NAME__ -> 50:a ;
227 53:__UG_NAME__ -> 54:a ;
228 60:__UG_NAME__ -> 61:a ;
229 64:__UG_NAME__ -> 65:a ;
230 75:__UG_NAME__ -> 76:a ;
231 79:__UG_NAME__ -> 80:a ;
232 85:__UG_NAME__ -> 86:a ;
233 89:__UG_NAME__ -> 90:a ;
234 104:__UG_NAME__ -> 105:a ;
235 108:__UG_NAME__ -> 109:a ;
236 38:__UG_NAME__ -> 39:a ;
237 42:__UG_NAME__ -> 43:a ;
238 48:__UG_NAME__ -> 49:a ;
239 52:__UG_NAME__ -> 53:a ;
240 59:__UG_NAME__ -> 60:a ;
241 63:__UG_NAME__ -> 64:a ;
242 74:__UG_NAME__ -> 75:a ;
243 78:__UG_NAME__ -> 79:a ;
244 57:__UG_NAME__ -> 85:a ;
245 88:__UG_NAME__ -> 89:a ;
246 103:__UG_NAME__ -> 104:a ;
247 107:__UG_NAME__ -> 108:a ;
248 45:__UG_NAME__ -> 46:gate ;
249 20:__UG_NAME__ -> 46:envelope___control___0 ;
250 20:__UG_NAME__ -> 46:envelope___control___4 ;
251 21:__UG_NAME__ -> 46:envelope___control___5 ;
252 22:__UG_NAME__ -> 46:envelope___control___6 ;
253 23:__UG_NAME__ -> 46:envelope___control___7 ;
254 55:__UG_NAME__ -> 56:gate ;
255 8:__UG_NAME__ -> 56:envelope___control___0 ;
256 8:__UG_NAME__ -> 56:envelope___control___4 ;
257 9:__UG_NAME__ -> 56:envelope___control___5 ;
258 10:__UG_NAME__ -> 56:envelope___control___6 ;
259 11:__UG_NAME__ -> 56:envelope___control___7 ;
260 66:__UG_NAME__ -> 67:gate ;
261 0:__UG_NAME__ -> 67:envelope___control___0 ;
262 0:__UG_NAME__ -> 67:envelope___control___4 ;
263 1:__UG_NAME__ -> 67:envelope___control___5 ;
264 2:__UG_NAME__ -> 67:envelope___control___6 ;
265 3:__UG_NAME__ -> 67:envelope___control___7 ;
266 16:__UG_NAME__ -> 71:envelope___control___4 ;
267 12:__UG_NAME__ -> 71:envelope___control___5 ;
268 19:__UG_NAME__ -> 71:envelope___control___6 ;
269 70:__UG_NAME__ -> 71:envelope___select___8 ;
270 13:__UG_NAME__ -> 71:envelope___control___9 ;
271 19:__UG_NAME__ -> 71:envelope___control___10 ;
272 18:__UG_NAME__ -> 71:envelope___control___12 ;
273 14:__UG_NAME__ -> 71:envelope___control___13 ;
274 19:__UG_NAME__ -> 71:envelope___control___14 ;
275 15:__UG_NAME__ -> 71:envelope___control___17 ;
276 19:__UG_NAME__ -> 71:envelope___control___18 ;
277 81:__UG_NAME__ -> 82:gate ;
278 24:__UG_NAME__ -> 82:envelope___control___0 ;
279 24:__UG_NAME__ -> 82:envelope___control___4 ;
280 25:__UG_NAME__ -> 82:envelope___control___5 ;
281 27:__UG_NAME__ -> 82:envelope___control___6 ;
282 26:__UG_NAME__ -> 82:envelope___control___7 ;
283 91:__UG_NAME__ -> 92:gate ;
284 32:__UG_NAME__ -> 92:envelope___control___0 ;
285 32:__UG_NAME__ -> 92:envelope___control___4 ;
286 33:__UG_NAME__ -> 92:envelope___control___5 ;
287 35:__UG_NAME__ -> 92:envelope___control___6 ;
288 34:__UG_NAME__ -> 92:envelope___control___7 ;
289 110:__UG_NAME__ -> 111:gate ;
290 4:__UG_NAME__ -> 111:envelope___control___0 ;
291 4:__UG_NAME__ -> 111:envelope___control___4 ;
292 5:__UG_NAME__ -> 111:envelope___control___5 ;
293 6:__UG_NAME__ -> 111:envelope___control___6 ;
294 7:__UG_NAME__ -> 111:envelope___control___7 ;
295 20:__UG_NAME__ -> 38:in ;
296 21:__UG_NAME__ -> 42:in ;
297 8:__UG_NAME__ -> 48:in ;
298 9:__UG_NAME__ -> 52:in ;
299 32:__UG_NAME__ -> 57:in ;
300 0:__UG_NAME__ -> 59:in ;
301 1:__UG_NAME__ -> 63:in ;
302 24:__UG_NAME__ -> 74:in ;
303 25:__UG_NAME__ -> 78:in ;
304 33:__UG_NAME__ -> 88:in ;
305 4:__UG_NAME__ -> 103:in ;
306 5:__UG_NAME__ -> 107:in ;
307 98:__UG_NAME__ -> 99:freq ;
308 97:__UG_NAME__ -> 99:in ;
309 67:__UG_NAME__ -> 68:a ;
310 93:__UG_NAME__ -> 94:a ;
311 46:__UG_NAME__ -> 98:a ;
312 99:__UG_NAME__ -> 100:in ;
313 112:__UG_NAME__ -> 113:signals___pan2___0 ;
314 112:__UG_NAME__ -> 113:signals___pan2___1 ;
315 36:__UG_NAME__ -> 113:bus ;
316 111:__UG_NAME__ -> 112:level ;
317 56:__UG_NAME__ -> 112:pos ;
318 101:__UG_NAME__ -> 112:in ;
319 82:__UG_NAME__ -> 83:width ;
320 68:__UG_NAME__ -> 83:freq ;
321 17:__UG_NAME__ -> 70:array___control___0 ;
322 18:__UG_NAME__ -> 70:array___control___1 ;
323 69:__UG_NAME__ -> 70:which ;
324 94:__UG_NAME__ -> 95:freq ;
325
326 }
+0
-310
etc/synthdefs/graphviz/sonic-pi-supersaw.dot less more
0 digraph synthdef {
1 70 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 96 [label = "{{ <a> 0.9|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 97 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 42 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 46 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 60 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
7 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
8 68 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
9 73 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 77 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 82 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 84 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 91 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 94 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 104 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 105 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 56 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
18 59 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
19 63 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
20 67 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
21 69 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="filled, bold, rounded" shape=record rankdir=LR];
22 32 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
23 31 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 41 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 45 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 55 [label = "{{ <a> |<b> } |<__UG_NAME__>\> }" style="filled, bold, rounded" shape=record rankdir=LR];
27 58 [label = "{{ <a> |<b> } |<__UG_NAME__>\> }" style="filled, bold, rounded" shape=record rankdir=LR];
28 62 [label = "{{ <a> |<b> } |<__UG_NAME__>\> }" style="filled, bold, rounded" shape=record rankdir=LR];
29 66 [label = "{{ <a> |<b> } |<__UG_NAME__>\> }" style="filled, bold, rounded" shape=record rankdir=LR];
30 76 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 81 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 83 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 90 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 93 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 99 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 103 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 30 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 36 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 40 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 44 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 75 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 89 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 92 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 98 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
46 101 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 0 [label = "control
48 :note
49 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
50 1 [label = "control
51 :note_slide
52 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
53 2 [label = "control
54 :note_slide_shape
55 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
56 3 [label = "control
57 :note_slide_curve
58 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
59 4 [label = "control
60 :amp
61 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
62 5 [label = "control
63 :amp_slide
64 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
65 6 [label = "control
66 :amp_slide_shape
67 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
68 7 [label = "control
69 :amp_slide_curve
70 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
71 8 [label = "control
72 :pan
73 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
74 9 [label = "control
75 :pan_slide
76 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
77 10 [label = "control
78 :pan_slide_shape
79 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
80 11 [label = "control
81 :pan_slide_curve
82 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
83 12 [label = "control
84 :attack
85 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
86 13 [label = "control
87 :decay
88 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
89 14 [label = "control
90 :sustain
91 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
92 15 [label = "control
93 :release
94 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
95 16 [label = "control
96 :attack_level
97 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
98 17 [label = "control
99 :decay_level
100 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
101 18 [label = "control
102 :sustain_level
103 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
104 19 [label = "control
105 :env_curve
106 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
107 20 [label = "control
108 :cutoff
109 default: 130.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
110 21 [label = "control
111 :cutoff_slide
112 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
113 22 [label = "control
114 :cutoff_slide_shape
115 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
116 23 [label = "control
117 :cutoff_slide_curve
118 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
119 24 [label = "control
120 :res
121 default: 0.7" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
122 25 [label = "control
123 :res_slide
124 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
125 26 [label = "control
126 :res_slide_shape
127 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
128 27 [label = "control
129 :res_slide_curve
130 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
131 28 [label = "control
132 :out_bus
133 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
134 47 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
135 78 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
136 85 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
137 95 [label = "{{ {{0.0|4.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
138 106 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
139 107 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
140 29 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
141 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
142 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
143 39 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
144 43 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
145 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
146 53 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
147 74 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
148 88 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
149 100 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
150 38 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
151 52 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
152 72 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
153 80 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
154 102 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
155 71 [label = "{{ <in> in|<coef> coef 0.995} |<__UG_NAME__>leak-dc }" style="filled, bold, rounded" shape=record rankdir=LR];
156 49 [label = "{{ <freq> freq|<iphase> iphase 0.0} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
157 54 [label = "{{ <freq> freq 4.0|<iphase> iphase 0.0} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
158 57 [label = "{{ <freq> freq 7.0|<iphase> iphase 0.0} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
159 61 [label = "{{ <freq> freq 5.0|<iphase> iphase 0.0} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
160 65 [label = "{{ <freq> freq 2.0|<iphase> iphase 0.0} |<__UG_NAME__>lf-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
161 48 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
162 79 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
163 34 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
164 87 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
165 109 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
166 108 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
167 86 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
168 33 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
169
170 69:__UG_NAME__ -> 70:a ;
171 95:__UG_NAME__ -> 96:b ;
172 87:__UG_NAME__ -> 97:b ;
173 96:__UG_NAME__ -> 97:a ;
174 41:__UG_NAME__ -> 42:b ;
175 38:__UG_NAME__ -> 42:a ;
176 45:__UG_NAME__ -> 46:b ;
177 42:__UG_NAME__ -> 46:a ;
178 59:__UG_NAME__ -> 60:b ;
179 56:__UG_NAME__ -> 60:a ;
180 63:__UG_NAME__ -> 64:b ;
181 60:__UG_NAME__ -> 64:a ;
182 67:__UG_NAME__ -> 68:b ;
183 64:__UG_NAME__ -> 68:a ;
184 31:__UG_NAME__ -> 73:b ;
185 72:__UG_NAME__ -> 73:a ;
186 76:__UG_NAME__ -> 77:b ;
187 73:__UG_NAME__ -> 77:a ;
188 81:__UG_NAME__ -> 82:b ;
189 80:__UG_NAME__ -> 82:a ;
190 83:__UG_NAME__ -> 84:b ;
191 82:__UG_NAME__ -> 84:a ;
192 90:__UG_NAME__ -> 91:b ;
193 52:__UG_NAME__ -> 91:a ;
194 93:__UG_NAME__ -> 94:b ;
195 91:__UG_NAME__ -> 94:a ;
196 103:__UG_NAME__ -> 104:b ;
197 102:__UG_NAME__ -> 104:a ;
198 99:__UG_NAME__ -> 105:b ;
199 104:__UG_NAME__ -> 105:a ;
200 55:__UG_NAME__ -> 56:b ;
201 49:__UG_NAME__ -> 56:a ;
202 58:__UG_NAME__ -> 59:b ;
203 49:__UG_NAME__ -> 59:a ;
204 62:__UG_NAME__ -> 63:b ;
205 49:__UG_NAME__ -> 63:a ;
206 66:__UG_NAME__ -> 67:b ;
207 49:__UG_NAME__ -> 67:a ;
208 49:__UG_NAME__ -> 69:b ;
209 68:__UG_NAME__ -> 69:a ;
210 17:__UG_NAME__ -> 32:b ;
211 30:__UG_NAME__ -> 31:a ;
212 40:__UG_NAME__ -> 41:a ;
213 44:__UG_NAME__ -> 45:a ;
214 54:__UG_NAME__ -> 55:b ;
215 49:__UG_NAME__ -> 55:a ;
216 57:__UG_NAME__ -> 58:b ;
217 49:__UG_NAME__ -> 58:a ;
218 61:__UG_NAME__ -> 62:b ;
219 49:__UG_NAME__ -> 62:a ;
220 65:__UG_NAME__ -> 66:b ;
221 49:__UG_NAME__ -> 66:a ;
222 75:__UG_NAME__ -> 76:a ;
223 36:__UG_NAME__ -> 81:a ;
224 51:__UG_NAME__ -> 83:a ;
225 89:__UG_NAME__ -> 90:a ;
226 92:__UG_NAME__ -> 93:a ;
227 98:__UG_NAME__ -> 99:a ;
228 101:__UG_NAME__ -> 103:a ;
229 29:__UG_NAME__ -> 30:a ;
230 35:__UG_NAME__ -> 36:a ;
231 39:__UG_NAME__ -> 40:a ;
232 43:__UG_NAME__ -> 44:a ;
233 50:__UG_NAME__ -> 51:a ;
234 74:__UG_NAME__ -> 75:a ;
235 88:__UG_NAME__ -> 89:a ;
236 53:__UG_NAME__ -> 92:a ;
237 37:__UG_NAME__ -> 98:a ;
238 100:__UG_NAME__ -> 101:a ;
239 46:__UG_NAME__ -> 47:gate ;
240 0:__UG_NAME__ -> 47:envelope___control___0 ;
241 0:__UG_NAME__ -> 47:envelope___control___4 ;
242 1:__UG_NAME__ -> 47:envelope___control___5 ;
243 2:__UG_NAME__ -> 47:envelope___control___6 ;
244 3:__UG_NAME__ -> 47:envelope___control___7 ;
245 77:__UG_NAME__ -> 78:gate ;
246 20:__UG_NAME__ -> 78:envelope___control___0 ;
247 20:__UG_NAME__ -> 78:envelope___control___4 ;
248 21:__UG_NAME__ -> 78:envelope___control___5 ;
249 22:__UG_NAME__ -> 78:envelope___control___6 ;
250 23:__UG_NAME__ -> 78:envelope___control___7 ;
251 84:__UG_NAME__ -> 85:gate ;
252 34:__UG_NAME__ -> 85:envelope___mul____add___0 ;
253 34:__UG_NAME__ -> 85:envelope___mul____add___4 ;
254 25:__UG_NAME__ -> 85:envelope___control___5 ;
255 26:__UG_NAME__ -> 85:envelope___control___6 ;
256 27:__UG_NAME__ -> 85:envelope___control___7 ;
257 16:__UG_NAME__ -> 95:envelope___control___4 ;
258 12:__UG_NAME__ -> 95:envelope___control___5 ;
259 19:__UG_NAME__ -> 95:envelope___control___6 ;
260 33:__UG_NAME__ -> 95:envelope___select___8 ;
261 13:__UG_NAME__ -> 95:envelope___control___9 ;
262 19:__UG_NAME__ -> 95:envelope___control___10 ;
263 18:__UG_NAME__ -> 95:envelope___control___12 ;
264 14:__UG_NAME__ -> 95:envelope___control___13 ;
265 19:__UG_NAME__ -> 95:envelope___control___14 ;
266 15:__UG_NAME__ -> 95:envelope___control___17 ;
267 19:__UG_NAME__ -> 95:envelope___control___18 ;
268 105:__UG_NAME__ -> 106:gate ;
269 8:__UG_NAME__ -> 106:envelope___control___0 ;
270 8:__UG_NAME__ -> 106:envelope___control___4 ;
271 9:__UG_NAME__ -> 106:envelope___control___5 ;
272 10:__UG_NAME__ -> 106:envelope___control___6 ;
273 11:__UG_NAME__ -> 106:envelope___control___7 ;
274 94:__UG_NAME__ -> 107:gate ;
275 4:__UG_NAME__ -> 107:envelope___control___0 ;
276 4:__UG_NAME__ -> 107:envelope___control___4 ;
277 5:__UG_NAME__ -> 107:envelope___control___5 ;
278 6:__UG_NAME__ -> 107:envelope___control___6 ;
279 7:__UG_NAME__ -> 107:envelope___control___7 ;
280 20:__UG_NAME__ -> 29:in ;
281 34:__UG_NAME__ -> 35:in ;
282 9:__UG_NAME__ -> 37:in ;
283 0:__UG_NAME__ -> 39:in ;
284 1:__UG_NAME__ -> 43:in ;
285 25:__UG_NAME__ -> 50:in ;
286 5:__UG_NAME__ -> 53:in ;
287 21:__UG_NAME__ -> 74:in ;
288 4:__UG_NAME__ -> 88:in ;
289 8:__UG_NAME__ -> 100:in ;
290 70:__UG_NAME__ -> 71:in ;
291 48:__UG_NAME__ -> 49:freq ;
292 47:__UG_NAME__ -> 48:a ;
293 78:__UG_NAME__ -> 79:a ;
294 24:__UG_NAME__ -> 34:in ;
295 86:__UG_NAME__ -> 87:in ;
296 108:__UG_NAME__ -> 109:signals___pan2___0 ;
297 108:__UG_NAME__ -> 109:signals___pan2___1 ;
298 28:__UG_NAME__ -> 109:bus ;
299 107:__UG_NAME__ -> 108:level ;
300 106:__UG_NAME__ -> 108:pos ;
301 97:__UG_NAME__ -> 108:in ;
302 85:__UG_NAME__ -> 86:rq ;
303 79:__UG_NAME__ -> 86:freq ;
304 71:__UG_NAME__ -> 86:in ;
305 17:__UG_NAME__ -> 33:array___control___0 ;
306 18:__UG_NAME__ -> 33:array___control___1 ;
307 32:__UG_NAME__ -> 33:which ;
308
309 }
+0
-333
etc/synthdefs/graphviz/sonic-pi-synth_violin.dot less more
0 digraph synthdef {
1 67 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 105 [label = "{{ <a> 1.1|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 106 [label = "{{ <a> 1.1|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
4 108 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 45 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 49 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 55 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 57 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 61 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 68 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 75 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 79 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 85 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
15 87 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="filled, bold, rounded" shape=record rankdir=LR];
16 92 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 97 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 101 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 112 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 102 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
21 40 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
22 44 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
23 48 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
24 54 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
25 56 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
26 63 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
27 74 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
28 78 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
29 91 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
30 96 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
31 100 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
32 111 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 36 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
34 39 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
35 43 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
36 47 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
37 53 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
38 62 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
39 73 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
40 77 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
41 90 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
42 95 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
43 99 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
44 110 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
45 83 [label = "{{ <in> in|<freq> freq 300.0|<rq> rq 0.2857143} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
46 84 [label = "{{ <in> in|<freq> freq 700.0|<rq> rq 0.2857143} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
47 86 [label = "{{ <in> in|<freq> freq 3000.0|<rq> rq 0.5} |<__UG_NAME__>bpf }" style="filled, bold, rounded" shape=record rankdir=LR];
48 0 [label = "control
49 :note
50 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
51 1 [label = "control
52 :note_slide
53 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
54 2 [label = "control
55 :note_slide_shape
56 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
57 3 [label = "control
58 :note_slide_curve
59 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
60 4 [label = "control
61 :amp
62 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 5 [label = "control
64 :amp_slide
65 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 6 [label = "control
67 :amp_slide_shape
68 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 7 [label = "control
70 :amp_slide_curve
71 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 8 [label = "control
73 :pan
74 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 9 [label = "control
76 :pan_slide
77 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 10 [label = "control
79 :pan_slide_shape
80 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 11 [label = "control
82 :pan_slide_curve
83 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 12 [label = "control
85 :attack
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 13 [label = "control
88 :decay
89 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 14 [label = "control
91 :sustain
92 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 15 [label = "control
94 :release
95 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 16 [label = "control
97 :attack_level
98 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 17 [label = "control
100 :decay_level
101 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 18 [label = "control
103 :sustain_level
104 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 19 [label = "control
106 :env_curve
107 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 20 [label = "control
109 :cutoff
110 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 21 [label = "control
112 :cutoff_slide
113 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 22 [label = "control
115 :cutoff_slide_shape
116 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 23 [label = "control
118 :cutoff_slide_curve
119 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 24 [label = "control
121 :vibrato_rate
122 default: 6.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 25 [label = "control
124 :vibrato_rate_slide
125 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 26 [label = "control
127 :vibrato_rate_slide_shape
128 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 27 [label = "control
130 :vibrato_rate_slide_curve
131 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 28 [label = "control
133 :vibrato_depth
134 default: 0.15" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 29 [label = "control
136 :vibrato_depth_slide
137 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 30 [label = "control
139 :vibrato_depth_slide_shape
140 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 31 [label = "control
142 :vibrato_depth_slide_curve
143 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 32 [label = "control
145 :vibrato_delay
146 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 33 [label = "control
148 :vibrato_onset
149 default: 0.1" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
150 34 [label = "control
151 :out_bus
152 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
153 50 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
154 58 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
155 59 [label = "{{ {{0.0|2.0|-99|-99|0.0|<envelope___control___5>|1.0|0.0|<envelope___env____gen___8>|<envelope___control___9>|1.0|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
156 65 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
157 80 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
158 107 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
159 113 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
160 114 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
161 104 [label = "{{ <in> in|<freq> freq 30.0} |<__UG_NAME__>hpf }" style="filled, bold, rounded" shape=record rankdir=LR];
162 35 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
163 37 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
164 38 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
165 42 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
166 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
167 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
168 72 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
169 76 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
170 89 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
171 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
172 98 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
173 109 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
174 41 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
175 51 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
176 60 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
177 71 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
178 88 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
179 93 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
180 82 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
181 69 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
182 81 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
183 116 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
184 115 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
185 70 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
186 103 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
187 66 [label = "{{ <freq> freq|<phase> phase 0.0|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
188
189 66:__UG_NAME__ -> 67:b ;
190 59:__UG_NAME__ -> 67:a ;
191 104:__UG_NAME__ -> 105:b ;
192 105:__UG_NAME__ -> 106:b ;
193 107:__UG_NAME__ -> 108:b ;
194 106:__UG_NAME__ -> 108:a ;
195 44:__UG_NAME__ -> 45:b ;
196 41:__UG_NAME__ -> 45:a ;
197 48:__UG_NAME__ -> 49:b ;
198 45:__UG_NAME__ -> 49:a ;
199 54:__UG_NAME__ -> 55:b ;
200 51:__UG_NAME__ -> 55:a ;
201 56:__UG_NAME__ -> 57:b ;
202 55:__UG_NAME__ -> 57:a ;
203 40:__UG_NAME__ -> 61:b ;
204 60:__UG_NAME__ -> 61:a ;
205 63:__UG_NAME__ -> 64:b ;
206 61:__UG_NAME__ -> 64:a ;
207 67:__UG_NAME__ -> 68:b ;
208 50:__UG_NAME__ -> 68:a ;
209 74:__UG_NAME__ -> 75:b ;
210 71:__UG_NAME__ -> 75:a ;
211 78:__UG_NAME__ -> 79:b ;
212 75:__UG_NAME__ -> 79:a ;
213 84:__UG_NAME__ -> 85:b ;
214 83:__UG_NAME__ -> 85:a ;
215 86:__UG_NAME__ -> 87:b ;
216 85:__UG_NAME__ -> 87:a ;
217 91:__UG_NAME__ -> 92:b ;
218 88:__UG_NAME__ -> 92:a ;
219 96:__UG_NAME__ -> 97:b ;
220 93:__UG_NAME__ -> 97:a ;
221 100:__UG_NAME__ -> 101:b ;
222 97:__UG_NAME__ -> 101:a ;
223 111:__UG_NAME__ -> 112:b ;
224 92:__UG_NAME__ -> 112:a ;
225 17:__UG_NAME__ -> 102:b ;
226 39:__UG_NAME__ -> 40:a ;
227 43:__UG_NAME__ -> 44:a ;
228 47:__UG_NAME__ -> 48:a ;
229 53:__UG_NAME__ -> 54:a ;
230 36:__UG_NAME__ -> 56:a ;
231 62:__UG_NAME__ -> 63:a ;
232 73:__UG_NAME__ -> 74:a ;
233 77:__UG_NAME__ -> 78:a ;
234 90:__UG_NAME__ -> 91:a ;
235 95:__UG_NAME__ -> 96:a ;
236 99:__UG_NAME__ -> 100:a ;
237 110:__UG_NAME__ -> 111:a ;
238 35:__UG_NAME__ -> 36:a ;
239 38:__UG_NAME__ -> 39:a ;
240 42:__UG_NAME__ -> 43:a ;
241 46:__UG_NAME__ -> 47:a ;
242 52:__UG_NAME__ -> 53:a ;
243 37:__UG_NAME__ -> 62:a ;
244 72:__UG_NAME__ -> 73:a ;
245 76:__UG_NAME__ -> 77:a ;
246 89:__UG_NAME__ -> 90:a ;
247 94:__UG_NAME__ -> 95:a ;
248 98:__UG_NAME__ -> 99:a ;
249 109:__UG_NAME__ -> 110:a ;
250 82:__UG_NAME__ -> 83:in ;
251 82:__UG_NAME__ -> 84:in ;
252 82:__UG_NAME__ -> 86:in ;
253 49:__UG_NAME__ -> 50:gate ;
254 0:__UG_NAME__ -> 50:envelope___control___0 ;
255 0:__UG_NAME__ -> 50:envelope___control___4 ;
256 1:__UG_NAME__ -> 50:envelope___control___5 ;
257 2:__UG_NAME__ -> 50:envelope___control___6 ;
258 3:__UG_NAME__ -> 50:envelope___control___7 ;
259 57:__UG_NAME__ -> 58:gate ;
260 28:__UG_NAME__ -> 58:envelope___control___0 ;
261 28:__UG_NAME__ -> 58:envelope___control___4 ;
262 29:__UG_NAME__ -> 58:envelope___control___5 ;
263 30:__UG_NAME__ -> 58:envelope___control___6 ;
264 31:__UG_NAME__ -> 58:envelope___control___7 ;
265 32:__UG_NAME__ -> 59:envelope___control___5 ;
266 58:__UG_NAME__ -> 59:envelope___env____gen___8 ;
267 33:__UG_NAME__ -> 59:envelope___control___9 ;
268 64:__UG_NAME__ -> 65:gate ;
269 24:__UG_NAME__ -> 65:envelope___control___0 ;
270 24:__UG_NAME__ -> 65:envelope___control___4 ;
271 25:__UG_NAME__ -> 65:envelope___control___5 ;
272 26:__UG_NAME__ -> 65:envelope___control___6 ;
273 27:__UG_NAME__ -> 65:envelope___control___7 ;
274 79:__UG_NAME__ -> 80:gate ;
275 20:__UG_NAME__ -> 80:envelope___control___0 ;
276 20:__UG_NAME__ -> 80:envelope___control___4 ;
277 21:__UG_NAME__ -> 80:envelope___control___5 ;
278 22:__UG_NAME__ -> 80:envelope___control___6 ;
279 23:__UG_NAME__ -> 80:envelope___control___7 ;
280 16:__UG_NAME__ -> 107:envelope___control___4 ;
281 12:__UG_NAME__ -> 107:envelope___control___5 ;
282 19:__UG_NAME__ -> 107:envelope___control___6 ;
283 103:__UG_NAME__ -> 107:envelope___select___8 ;
284 13:__UG_NAME__ -> 107:envelope___control___9 ;
285 19:__UG_NAME__ -> 107:envelope___control___10 ;
286 18:__UG_NAME__ -> 107:envelope___control___12 ;
287 14:__UG_NAME__ -> 107:envelope___control___13 ;
288 19:__UG_NAME__ -> 107:envelope___control___14 ;
289 15:__UG_NAME__ -> 107:envelope___control___17 ;
290 19:__UG_NAME__ -> 107:envelope___control___18 ;
291 101:__UG_NAME__ -> 113:gate ;
292 8:__UG_NAME__ -> 113:envelope___control___0 ;
293 8:__UG_NAME__ -> 113:envelope___control___4 ;
294 9:__UG_NAME__ -> 113:envelope___control___5 ;
295 10:__UG_NAME__ -> 113:envelope___control___6 ;
296 11:__UG_NAME__ -> 113:envelope___control___7 ;
297 112:__UG_NAME__ -> 114:gate ;
298 4:__UG_NAME__ -> 114:envelope___control___0 ;
299 4:__UG_NAME__ -> 114:envelope___control___4 ;
300 5:__UG_NAME__ -> 114:envelope___control___5 ;
301 6:__UG_NAME__ -> 114:envelope___control___6 ;
302 7:__UG_NAME__ -> 114:envelope___control___7 ;
303 87:__UG_NAME__ -> 104:in ;
304 29:__UG_NAME__ -> 35:in ;
305 25:__UG_NAME__ -> 37:in ;
306 24:__UG_NAME__ -> 38:in ;
307 0:__UG_NAME__ -> 42:in ;
308 1:__UG_NAME__ -> 46:in ;
309 28:__UG_NAME__ -> 52:in ;
310 20:__UG_NAME__ -> 72:in ;
311 21:__UG_NAME__ -> 76:in ;
312 4:__UG_NAME__ -> 89:in ;
313 8:__UG_NAME__ -> 94:in ;
314 9:__UG_NAME__ -> 98:in ;
315 5:__UG_NAME__ -> 109:in ;
316 81:__UG_NAME__ -> 82:freq ;
317 70:__UG_NAME__ -> 82:in ;
318 68:__UG_NAME__ -> 69:a ;
319 80:__UG_NAME__ -> 81:a ;
320 115:__UG_NAME__ -> 116:signals___pan2___0 ;
321 115:__UG_NAME__ -> 116:signals___pan2___1 ;
322 34:__UG_NAME__ -> 116:bus ;
323 114:__UG_NAME__ -> 115:level ;
324 113:__UG_NAME__ -> 115:pos ;
325 108:__UG_NAME__ -> 115:in ;
326 69:__UG_NAME__ -> 70:freq ;
327 17:__UG_NAME__ -> 103:array___control___0 ;
328 18:__UG_NAME__ -> 103:array___control___1 ;
329 102:__UG_NAME__ -> 103:which ;
330 65:__UG_NAME__ -> 66:freq ;
331
332 }
+0
-441
etc/synthdefs/graphviz/sonic-pi-tb303.dot less more
0 digraph synthdef {
1 78 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 92 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 126 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 132 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
5 50 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 54 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 69 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 70 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 72 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 75 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 76 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 83 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 87 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 99 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 103 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 112 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 114 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 122 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 123 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 127 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 129 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 136 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 140 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 147 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 148 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 71 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
27 73 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
28 94 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
29 108 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
30 110 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
31 116 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
32 49 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
33 53 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
34 59 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
35 63 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
36 68 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
37 82 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
38 86 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
39 98 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
40 102 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 121 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 128 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 139 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 142 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 145 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 47 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
47 52 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
48 58 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
49 61 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
50 62 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
51 67 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
52 81 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
53 85 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
54 97 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
55 101 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
56 120 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
57 138 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 141 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 144 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 0 [label = "control
61 :note
62 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
63 1 [label = "control
64 :note_slide
65 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
66 2 [label = "control
67 :note_slide_shape
68 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
69 3 [label = "control
70 :note_slide_curve
71 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
72 4 [label = "control
73 :amp
74 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
75 5 [label = "control
76 :amp_slide
77 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
78 6 [label = "control
79 :amp_slide_shape
80 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
81 7 [label = "control
82 :amp_slide_curve
83 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
84 8 [label = "control
85 :pan
86 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
87 9 [label = "control
88 :pan_slide
89 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
90 10 [label = "control
91 :pan_slide_shape
92 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
93 11 [label = "control
94 :pan_slide_curve
95 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
96 12 [label = "control
97 :attack
98 default: 0.01" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
99 13 [label = "control
100 :sustain
101 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
102 14 [label = "control
103 :decay
104 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
105 15 [label = "control
106 :release
107 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
108 16 [label = "control
109 :attack_level
110 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
111 17 [label = "control
112 :decay_level
113 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
114 18 [label = "control
115 :sustain_level
116 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
117 19 [label = "control
118 :env_curve
119 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
120 20 [label = "control
121 :cutoff
122 default: 120.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
123 21 [label = "control
124 :cutoff_slide
125 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
126 22 [label = "control
127 :cutoff_slide_shape
128 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
129 23 [label = "control
130 :cutoff_slide_curve
131 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
132 24 [label = "control
133 :cutoff_attack
134 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
135 25 [label = "control
136 :cutoff_sustain
137 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
138 26 [label = "control
139 :cutoff_decay
140 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
141 27 [label = "control
142 :cutoff_release
143 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
144 28 [label = "control
145 :cutoff_min
146 default: 30.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
147 29 [label = "control
148 :cutoff_min_slide
149 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
150 30 [label = "control
151 :cutoff_min_slide_shape
152 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
153 31 [label = "control
154 :cutoff_min_slide_curve
155 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
156 32 [label = "control
157 :cutoff_attack_level
158 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
159 33 [label = "control
160 :cutoff_decay_level
161 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
162 34 [label = "control
163 :cutoff_sustain_level
164 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
165 35 [label = "control
166 :cutoff_env_curve
167 default: 2.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
168 36 [label = "control
169 :res
170 default: 0.9" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
171 37 [label = "control
172 :res_slide
173 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
174 38 [label = "control
175 :res_slide_shape
176 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
177 39 [label = "control
178 :res_slide_curve
179 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
180 40 [label = "control
181 :wave
182 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
183 41 [label = "control
184 :pulse_width
185 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
186 42 [label = "control
187 :pulse_width_slide
188 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
189 43 [label = "control
190 :pulse_width_slide_shape
191 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
192 44 [label = "control
193 :pulse_width_slide_curve
194 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
195 45 [label = "control
196 :out_bus
197 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
198 77 [label = "{{ {{0.0|4|-99|-99|<envelope___binary____op____u____gen___4>|<envelope___control___5>|5|<envelope___control___7>|<envelope___binary____op____u____gen___8>|<envelope___control___9>|5|<envelope___control___11>|<envelope___binary____op____u____gen___12>|<envelope___control___13>|5|<envelope___control___15>|0.0|<envelope___control___17>|5|<envelope___control___19>}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
199 88 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
200 89 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
201 104 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
202 118 [label = "{{ {{0.0|4|-99|-99|<envelope___binary____op____u____gen___4>|<envelope___select___5>|5|<envelope___control___7>|<envelope___binary____op____u____gen___8>|<envelope___select___9>|5|<envelope___control___11>|<envelope___binary____op____u____gen___12>|<envelope___select___13>|5|<envelope___control___15>|0.0|<envelope___select___17>|5|<envelope___control___19>}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
203 124 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
204 130 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
205 146 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
206 149 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
207 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
208 51 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
209 55 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
210 56 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
211 57 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
212 60 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
213 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
214 80 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
215 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
216 93 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
217 100 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
218 134 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
219 137 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
220 143 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
221 48 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
222 64 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
223 79 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
224 96 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
225 119 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
226 133 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
227 135 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
228 91 [label = "{{ <freq> freq|<iphase> iphase 0.0} |<__UG_NAME__>lf-tri }" style="filled, bold, rounded" shape=record rankdir=LR];
229 90 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
230 107 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
231 125 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
232 65 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
233 151 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
234 150 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
235 105 [label = "{{ <freq> freq|<width> width} |<__UG_NAME__>pulse }" style="filled, bold, rounded" shape=record rankdir=LR];
236 131 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
237 95 [label = "{{ <freq> freq} |<__UG_NAME__>saw }" style="filled, bold, rounded" shape=record rankdir=LR];
238 74 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
239 106 [label = "{{ <which> which|{{<array___saw___0>|<array___pulse___1>|<array___binary____op____u____gen___2>}|array}} |<__UG_NAME__>select }" style="filled, bold, rounded" shape=record rankdir=LR];
240 109 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
241 111 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
242 113 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
243 115 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
244 117 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
245
246 77:__UG_NAME__ -> 78:b ;
247 91:__UG_NAME__ -> 92:b ;
248 125:__UG_NAME__ -> 126:b ;
249 118:__UG_NAME__ -> 126:a ;
250 131:__UG_NAME__ -> 132:b ;
251 78:__UG_NAME__ -> 132:a ;
252 49:__UG_NAME__ -> 50:b ;
253 48:__UG_NAME__ -> 50:a ;
254 53:__UG_NAME__ -> 54:b ;
255 50:__UG_NAME__ -> 54:a ;
256 68:__UG_NAME__ -> 69:b ;
257 64:__UG_NAME__ -> 69:a ;
258 32:__UG_NAME__ -> 70:a ;
259 16:__UG_NAME__ -> 72:a ;
260 74:__UG_NAME__ -> 75:a ;
261 18:__UG_NAME__ -> 76:a ;
262 82:__UG_NAME__ -> 83:b ;
263 79:__UG_NAME__ -> 83:a ;
264 86:__UG_NAME__ -> 87:b ;
265 83:__UG_NAME__ -> 87:a ;
266 98:__UG_NAME__ -> 99:b ;
267 96:__UG_NAME__ -> 99:a ;
268 102:__UG_NAME__ -> 103:b ;
269 99:__UG_NAME__ -> 103:a ;
270 111:__UG_NAME__ -> 112:a ;
271 34:__UG_NAME__ -> 114:a ;
272 121:__UG_NAME__ -> 122:b ;
273 119:__UG_NAME__ -> 122:a ;
274 59:__UG_NAME__ -> 123:b ;
275 122:__UG_NAME__ -> 123:a ;
276 126:__UG_NAME__ -> 127:b ;
277 107:__UG_NAME__ -> 127:a ;
278 128:__UG_NAME__ -> 129:b ;
279 69:__UG_NAME__ -> 129:a ;
280 63:__UG_NAME__ -> 136:b ;
281 135:__UG_NAME__ -> 136:a ;
282 139:__UG_NAME__ -> 140:b ;
283 136:__UG_NAME__ -> 140:a ;
284 145:__UG_NAME__ -> 147:b ;
285 133:__UG_NAME__ -> 147:a ;
286 142:__UG_NAME__ -> 148:b ;
287 147:__UG_NAME__ -> 148:a ;
288 25:__UG_NAME__ -> 71:b ;
289 17:__UG_NAME__ -> 73:b ;
290 26:__UG_NAME__ -> 94:b ;
291 24:__UG_NAME__ -> 108:b ;
292 33:__UG_NAME__ -> 110:b ;
293 27:__UG_NAME__ -> 116:b ;
294 47:__UG_NAME__ -> 49:a ;
295 52:__UG_NAME__ -> 53:a ;
296 58:__UG_NAME__ -> 59:a ;
297 62:__UG_NAME__ -> 63:a ;
298 67:__UG_NAME__ -> 68:a ;
299 81:__UG_NAME__ -> 82:a ;
300 85:__UG_NAME__ -> 86:a ;
301 97:__UG_NAME__ -> 98:a ;
302 101:__UG_NAME__ -> 102:a ;
303 120:__UG_NAME__ -> 121:a ;
304 61:__UG_NAME__ -> 128:a ;
305 138:__UG_NAME__ -> 139:a ;
306 141:__UG_NAME__ -> 142:a ;
307 144:__UG_NAME__ -> 145:a ;
308 46:__UG_NAME__ -> 47:a ;
309 51:__UG_NAME__ -> 52:a ;
310 57:__UG_NAME__ -> 58:a ;
311 60:__UG_NAME__ -> 61:a ;
312 55:__UG_NAME__ -> 62:a ;
313 66:__UG_NAME__ -> 67:a ;
314 80:__UG_NAME__ -> 81:a ;
315 84:__UG_NAME__ -> 85:a ;
316 56:__UG_NAME__ -> 97:a ;
317 100:__UG_NAME__ -> 101:a ;
318 93:__UG_NAME__ -> 120:a ;
319 137:__UG_NAME__ -> 138:a ;
320 134:__UG_NAME__ -> 141:a ;
321 143:__UG_NAME__ -> 144:a ;
322 72:__UG_NAME__ -> 77:envelope___binary____op____u____gen___4 ;
323 12:__UG_NAME__ -> 77:envelope___control___5 ;
324 19:__UG_NAME__ -> 77:envelope___control___7 ;
325 75:__UG_NAME__ -> 77:envelope___binary____op____u____gen___8 ;
326 14:__UG_NAME__ -> 77:envelope___control___9 ;
327 19:__UG_NAME__ -> 77:envelope___control___11 ;
328 76:__UG_NAME__ -> 77:envelope___binary____op____u____gen___12 ;
329 13:__UG_NAME__ -> 77:envelope___control___13 ;
330 19:__UG_NAME__ -> 77:envelope___control___15 ;
331 15:__UG_NAME__ -> 77:envelope___control___17 ;
332 19:__UG_NAME__ -> 77:envelope___control___19 ;
333 87:__UG_NAME__ -> 88:gate ;
334 28:__UG_NAME__ -> 88:envelope___control___0 ;
335 28:__UG_NAME__ -> 88:envelope___control___4 ;
336 29:__UG_NAME__ -> 88:envelope___control___5 ;
337 30:__UG_NAME__ -> 88:envelope___control___6 ;
338 31:__UG_NAME__ -> 88:envelope___control___7 ;
339 54:__UG_NAME__ -> 89:gate ;
340 0:__UG_NAME__ -> 89:envelope___control___0 ;
341 0:__UG_NAME__ -> 89:envelope___control___4 ;
342 1:__UG_NAME__ -> 89:envelope___control___5 ;
343 2:__UG_NAME__ -> 89:envelope___control___6 ;
344 3:__UG_NAME__ -> 89:envelope___control___7 ;
345 103:__UG_NAME__ -> 104:gate ;
346 41:__UG_NAME__ -> 104:envelope___control___0 ;
347 41:__UG_NAME__ -> 104:envelope___control___4 ;
348 42:__UG_NAME__ -> 104:envelope___control___5 ;
349 43:__UG_NAME__ -> 104:envelope___control___6 ;
350 44:__UG_NAME__ -> 104:envelope___control___7 ;
351 70:__UG_NAME__ -> 118:envelope___binary____op____u____gen___4 ;
352 109:__UG_NAME__ -> 118:envelope___select___5 ;
353 35:__UG_NAME__ -> 118:envelope___control___7 ;
354 112:__UG_NAME__ -> 118:envelope___binary____op____u____gen___8 ;
355 113:__UG_NAME__ -> 118:envelope___select___9 ;
356 35:__UG_NAME__ -> 118:envelope___control___11 ;
357 114:__UG_NAME__ -> 118:envelope___binary____op____u____gen___12 ;
358 115:__UG_NAME__ -> 118:envelope___select___13 ;
359 35:__UG_NAME__ -> 118:envelope___control___15 ;
360 117:__UG_NAME__ -> 118:envelope___select___17 ;
361 35:__UG_NAME__ -> 118:envelope___control___19 ;
362 123:__UG_NAME__ -> 124:gate ;
363 20:__UG_NAME__ -> 124:envelope___control___0 ;
364 20:__UG_NAME__ -> 124:envelope___control___4 ;
365 21:__UG_NAME__ -> 124:envelope___control___5 ;
366 22:__UG_NAME__ -> 124:envelope___control___6 ;
367 23:__UG_NAME__ -> 124:envelope___control___7 ;
368 129:__UG_NAME__ -> 130:gate ;
369 65:__UG_NAME__ -> 130:envelope___mul____add___0 ;
370 65:__UG_NAME__ -> 130:envelope___mul____add___4 ;
371 37:__UG_NAME__ -> 130:envelope___control___5 ;
372 38:__UG_NAME__ -> 130:envelope___control___6 ;
373 39:__UG_NAME__ -> 130:envelope___control___7 ;
374 140:__UG_NAME__ -> 146:gate ;
375 8:__UG_NAME__ -> 146:envelope___control___0 ;
376 8:__UG_NAME__ -> 146:envelope___control___4 ;
377 9:__UG_NAME__ -> 146:envelope___control___5 ;
378 10:__UG_NAME__ -> 146:envelope___control___6 ;
379 11:__UG_NAME__ -> 146:envelope___control___7 ;
380 148:__UG_NAME__ -> 149:gate ;
381 4:__UG_NAME__ -> 149:envelope___control___0 ;
382 4:__UG_NAME__ -> 149:envelope___control___4 ;
383 5:__UG_NAME__ -> 149:envelope___control___5 ;
384 6:__UG_NAME__ -> 149:envelope___control___6 ;
385 7:__UG_NAME__ -> 149:envelope___control___7 ;
386 0:__UG_NAME__ -> 46:in ;
387 1:__UG_NAME__ -> 51:in ;
388 8:__UG_NAME__ -> 55:in ;
389 41:__UG_NAME__ -> 56:in ;
390 21:__UG_NAME__ -> 57:in ;
391 37:__UG_NAME__ -> 60:in ;
392 65:__UG_NAME__ -> 66:in ;
393 28:__UG_NAME__ -> 80:in ;
394 29:__UG_NAME__ -> 84:in ;
395 20:__UG_NAME__ -> 93:in ;
396 42:__UG_NAME__ -> 100:in ;
397 5:__UG_NAME__ -> 134:in ;
398 9:__UG_NAME__ -> 137:in ;
399 4:__UG_NAME__ -> 143:in ;
400 90:__UG_NAME__ -> 91:freq ;
401 89:__UG_NAME__ -> 90:a ;
402 88:__UG_NAME__ -> 107:a ;
403 124:__UG_NAME__ -> 125:a ;
404 36:__UG_NAME__ -> 65:in ;
405 150:__UG_NAME__ -> 151:signals___pan2___0 ;
406 150:__UG_NAME__ -> 151:signals___pan2___1 ;
407 45:__UG_NAME__ -> 151:bus ;
408 149:__UG_NAME__ -> 150:level ;
409 146:__UG_NAME__ -> 150:pos ;
410 132:__UG_NAME__ -> 150:in ;
411 104:__UG_NAME__ -> 105:width ;
412 90:__UG_NAME__ -> 105:freq ;
413 130:__UG_NAME__ -> 131:rq ;
414 127:__UG_NAME__ -> 131:freq ;
415 106:__UG_NAME__ -> 131:in ;
416 90:__UG_NAME__ -> 95:freq ;
417 17:__UG_NAME__ -> 74:array___control___0 ;
418 18:__UG_NAME__ -> 74:array___control___1 ;
419 73:__UG_NAME__ -> 74:which ;
420 95:__UG_NAME__ -> 106:array___saw___0 ;
421 105:__UG_NAME__ -> 106:array___pulse___1 ;
422 92:__UG_NAME__ -> 106:array___binary____op____u____gen___2 ;
423 40:__UG_NAME__ -> 106:which ;
424 24:__UG_NAME__ -> 109:array___control___0 ;
425 12:__UG_NAME__ -> 109:array___control___1 ;
426 108:__UG_NAME__ -> 109:which ;
427 33:__UG_NAME__ -> 111:array___control___0 ;
428 34:__UG_NAME__ -> 111:array___control___1 ;
429 110:__UG_NAME__ -> 111:which ;
430 26:__UG_NAME__ -> 113:array___control___0 ;
431 14:__UG_NAME__ -> 113:array___control___1 ;
432 94:__UG_NAME__ -> 113:which ;
433 25:__UG_NAME__ -> 115:array___control___0 ;
434 13:__UG_NAME__ -> 115:array___control___1 ;
435 71:__UG_NAME__ -> 115:which ;
436 27:__UG_NAME__ -> 117:array___control___0 ;
437 15:__UG_NAME__ -> 117:array___control___1 ;
438 116:__UG_NAME__ -> 117:which ;
439
440 }
+0
-225
etc/synthdefs/graphviz/sonic-pi-tri.dot less more
0 digraph synthdef {
1 60 [label = "{{ <a> 1.4|<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
2 63 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
3 29 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
4 33 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
5 39 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
6 43 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
7 51 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
8 55 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
9 69 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
10 73 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
11 34 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
12 28 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
13 32 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
14 38 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
15 42 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
16 50 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
17 54 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
18 68 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
19 72 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
20 27 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
21 31 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
22 37 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
23 41 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
24 49 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
25 53 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
26 67 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
27 71 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
28 0 [label = "control
29 :note
30 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
31 1 [label = "control
32 :note_slide
33 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
34 2 [label = "control
35 :note_slide_shape
36 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
37 3 [label = "control
38 :note_slide_curve
39 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
40 4 [label = "control
41 :amp
42 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
43 5 [label = "control
44 :amp_slide
45 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
46 6 [label = "control
47 :amp_slide_shape
48 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
49 7 [label = "control
50 :amp_slide_curve
51 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
52 8 [label = "control
53 :pan
54 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
55 9 [label = "control
56 :pan_slide
57 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
58 10 [label = "control
59 :pan_slide_shape
60 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
61 11 [label = "control
62 :pan_slide_curve
63 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
64 12 [label = "control
65 :attack
66 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
67 13 [label = "control
68 :decay
69 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
70 14 [label = "control
71 :sustain
72 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
73 15 [label = "control
74 :release
75 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 16 [label = "control
77 :attack_level
78 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 17 [label = "control
80 :decay_level
81 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 18 [label = "control
83 :sustain_level
84 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 19 [label = "control
86 :env_curve
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 20 [label = "control
89 :cutoff
90 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 21 [label = "control
92 :cutoff_slide
93 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 22 [label = "control
95 :cutoff_slide_shape
96 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 23 [label = "control
98 :cutoff_slide_curve
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 24 [label = "control
101 :out_bus
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 44 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
104 56 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
105 62 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
106 64 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
107 74 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
108 26 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
109 30 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
110 36 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
111 40 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
112 48 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
113 52 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
114 66 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
115 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
116 25 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
117 35 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
118 47 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
119 65 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
120 46 [label = "{{ <freq> freq|<iphase> iphase 0.0} |<__UG_NAME__>lf-tri }" style="filled, bold, rounded" shape=record rankdir=LR];
121 58 [label = "{{ <in> in|<freq> freq} |<__UG_NAME__>lpf }" style="filled, bold, rounded" shape=record rankdir=LR];
122 45 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
123 57 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
124 59 [label = "{{ <in> in|<level> level 1.0|<dur> dur 0.01} |<__UG_NAME__>normalizer }" style="filled, bold, rounded" shape=record rankdir=LR];
125 76 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
126 75 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
127 61 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
128
129 59:__UG_NAME__ -> 60:b ;
130 62:__UG_NAME__ -> 63:b ;
131 60:__UG_NAME__ -> 63:a ;
132 28:__UG_NAME__ -> 29:b ;
133 25:__UG_NAME__ -> 29:a ;
134 32:__UG_NAME__ -> 33:b ;
135 29:__UG_NAME__ -> 33:a ;
136 38:__UG_NAME__ -> 39:b ;
137 35:__UG_NAME__ -> 39:a ;
138 42:__UG_NAME__ -> 43:b ;
139 39:__UG_NAME__ -> 43:a ;
140 50:__UG_NAME__ -> 51:b ;
141 47:__UG_NAME__ -> 51:a ;
142 54:__UG_NAME__ -> 55:b ;
143 51:__UG_NAME__ -> 55:a ;
144 68:__UG_NAME__ -> 69:b ;
145 65:__UG_NAME__ -> 69:a ;
146 72:__UG_NAME__ -> 73:b ;
147 69:__UG_NAME__ -> 73:a ;
148 17:__UG_NAME__ -> 34:b ;
149 27:__UG_NAME__ -> 28:a ;
150 31:__UG_NAME__ -> 32:a ;
151 37:__UG_NAME__ -> 38:a ;
152 41:__UG_NAME__ -> 42:a ;
153 49:__UG_NAME__ -> 50:a ;
154 53:__UG_NAME__ -> 54:a ;
155 67:__UG_NAME__ -> 68:a ;
156 71:__UG_NAME__ -> 72:a ;
157 26:__UG_NAME__ -> 27:a ;
158 30:__UG_NAME__ -> 31:a ;
159 36:__UG_NAME__ -> 37:a ;
160 40:__UG_NAME__ -> 41:a ;
161 48:__UG_NAME__ -> 49:a ;
162 52:__UG_NAME__ -> 53:a ;
163 66:__UG_NAME__ -> 67:a ;
164 70:__UG_NAME__ -> 71:a ;
165 43:__UG_NAME__ -> 44:gate ;
166 0:__UG_NAME__ -> 44:envelope___control___0 ;
167 0:__UG_NAME__ -> 44:envelope___control___4 ;
168 1:__UG_NAME__ -> 44:envelope___control___5 ;
169 2:__UG_NAME__ -> 44:envelope___control___6 ;
170 3:__UG_NAME__ -> 44:envelope___control___7 ;
171 55:__UG_NAME__ -> 56:gate ;
172 20:__UG_NAME__ -> 56:envelope___control___0 ;
173 20:__UG_NAME__ -> 56:envelope___control___4 ;
174 21:__UG_NAME__ -> 56:envelope___control___5 ;
175 22:__UG_NAME__ -> 56:envelope___control___6 ;
176 23:__UG_NAME__ -> 56:envelope___control___7 ;
177 16:__UG_NAME__ -> 62:envelope___control___4 ;
178 12:__UG_NAME__ -> 62:envelope___control___5 ;
179 19:__UG_NAME__ -> 62:envelope___control___6 ;
180 61:__UG_NAME__ -> 62:envelope___select___8 ;
181 13:__UG_NAME__ -> 62:envelope___control___9 ;
182 19:__UG_NAME__ -> 62:envelope___control___10 ;
183 18:__UG_NAME__ -> 62:envelope___control___12 ;
184 14:__UG_NAME__ -> 62:envelope___control___13 ;
185 19:__UG_NAME__ -> 62:envelope___control___14 ;
186 15:__UG_NAME__ -> 62:envelope___control___17 ;
187 19:__UG_NAME__ -> 62:envelope___control___18 ;
188 33:__UG_NAME__ -> 64:gate ;
189 8:__UG_NAME__ -> 64:envelope___control___0 ;
190 8:__UG_NAME__ -> 64:envelope___control___4 ;
191 9:__UG_NAME__ -> 64:envelope___control___5 ;
192 10:__UG_NAME__ -> 64:envelope___control___6 ;
193 11:__UG_NAME__ -> 64:envelope___control___7 ;
194 73:__UG_NAME__ -> 74:gate ;
195 4:__UG_NAME__ -> 74:envelope___control___0 ;
196 4:__UG_NAME__ -> 74:envelope___control___4 ;
197 5:__UG_NAME__ -> 74:envelope___control___5 ;
198 6:__UG_NAME__ -> 74:envelope___control___6 ;
199 7:__UG_NAME__ -> 74:envelope___control___7 ;
200 8:__UG_NAME__ -> 26:in ;
201 9:__UG_NAME__ -> 30:in ;
202 0:__UG_NAME__ -> 36:in ;
203 1:__UG_NAME__ -> 40:in ;
204 20:__UG_NAME__ -> 48:in ;
205 21:__UG_NAME__ -> 52:in ;
206 4:__UG_NAME__ -> 66:in ;
207 5:__UG_NAME__ -> 70:in ;
208 45:__UG_NAME__ -> 46:freq ;
209 57:__UG_NAME__ -> 58:freq ;
210 46:__UG_NAME__ -> 58:in ;
211 44:__UG_NAME__ -> 45:a ;
212 56:__UG_NAME__ -> 57:a ;
213 58:__UG_NAME__ -> 59:in ;
214 75:__UG_NAME__ -> 76:signals___pan2___0 ;
215 75:__UG_NAME__ -> 76:signals___pan2___1 ;
216 24:__UG_NAME__ -> 76:bus ;
217 74:__UG_NAME__ -> 75:level ;
218 64:__UG_NAME__ -> 75:pos ;
219 63:__UG_NAME__ -> 75:in ;
220 17:__UG_NAME__ -> 61:array___control___0 ;
221 18:__UG_NAME__ -> 61:array___control___1 ;
222 34:__UG_NAME__ -> 61:which ;
223
224 }
+0
-469
etc/synthdefs/graphviz/sonic-pi-zawa.dot less more
0 digraph synthdef {
1 56 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
2 59 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
3 104 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
4 108 [label = "{{ <a> |<b> 6.2831855} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
5 111 [label = "{{ <a> |<b> -1.0} |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
6 144 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
7 146 [label = "{{ <a> 2.0|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
8 148 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
9 155 [label = "{{ <a> 0.5|<b> } |<__UG_NAME__>* }" style="bold, rounded" shape=record rankdir=LR];
10 162 [label = "{{ <a> |<b> } |<__UG_NAME__>* }" style="filled, bold, rounded" shape=record rankdir=LR];
11 49 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
12 53 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
13 57 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
14 64 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
15 68 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
16 78 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
17 83 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
18 87 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
19 89 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
20 92 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
21 97 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
22 101 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
23 107 [label = "{{ <a> |<b> 0.25} |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
24 118 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
25 122 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
26 131 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
27 135 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
28 137 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
29 142 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
30 143 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
31 151 [label = "{{ <a> |<b> } |<__UG_NAME__>+ }" style="bold, rounded" shape=record rankdir=LR];
32 90 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
33 105 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
34 112 [label = "{{ <a> |<b> } |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
35 147 [label = "{{ <a> |<b> 1.0} |<__UG_NAME__>- }" style="bold, rounded" shape=record rankdir=LR];
36 55 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
37 91 [label = "{{ <a> |<b> 2.0} |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
38 166 [label = "{{ <a> 1.0|<b> } |<__UG_NAME__>/ }" style="bold, rounded" shape=record rankdir=LR];
39 152 [label = "{{ <a> -1.0|<b> } |<__UG_NAME__>= }" style="bold, rounded" shape=record rankdir=LR];
40 48 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
41 52 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
42 63 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
43 67 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
44 72 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
45 77 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
46 82 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
47 86 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
48 96 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
49 100 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
50 117 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
51 121 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
52 126 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
53 130 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
54 134 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
55 141 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
56 145 [label = "{{ <a> |<b> 0.0} |<__UG_NAME__>\> }" style="bold, rounded" shape=record rankdir=LR];
57 47 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
58 51 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
59 62 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
60 66 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
61 71 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
62 76 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
63 80 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
64 85 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
65 95 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
66 99 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
67 116 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
68 120 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
69 125 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
70 129 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
71 133 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
72 140 [label = "{{ <a> |<b> } |<__UG_NAME__>abs }" style="bold, rounded" shape=record rankdir=LR];
73 0 [label = "control
74 :note
75 default: 52.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
76 1 [label = "control
77 :note_slide
78 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
79 2 [label = "control
80 :note_slide_shape
81 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
82 3 [label = "control
83 :note_slide_curve
84 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
85 4 [label = "control
86 :amp
87 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
88 5 [label = "control
89 :amp_slide
90 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
91 6 [label = "control
92 :amp_slide_shape
93 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
94 7 [label = "control
95 :amp_slide_curve
96 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
97 8 [label = "control
98 :pan
99 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
100 9 [label = "control
101 :pan_slide
102 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
103 10 [label = "control
104 :pan_slide_shape
105 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
106 11 [label = "control
107 :pan_slide_curve
108 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
109 12 [label = "control
110 :attack
111 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
112 13 [label = "control
113 :decay
114 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
115 14 [label = "control
116 :sustain
117 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
118 15 [label = "control
119 :release
120 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
121 16 [label = "control
122 :attack_level
123 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
124 17 [label = "control
125 :decay_level
126 default: -1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
127 18 [label = "control
128 :sustain_level
129 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
130 19 [label = "control
131 :env_curve
132 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
133 20 [label = "control
134 :cutoff
135 default: 100.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
136 21 [label = "control
137 :cutoff_slide
138 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
139 22 [label = "control
140 :cutoff_slide_shape
141 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
142 23 [label = "control
143 :cutoff_slide_curve
144 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
145 24 [label = "control
146 :res
147 default: 0.9" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
148 25 [label = "control
149 :res_slide
150 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
151 26 [label = "control
152 :res_slide_shape
153 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
154 27 [label = "control
155 :res_slide_curve
156 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
157 28 [label = "control
158 :phase
159 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
160 29 [label = "control
161 :phase_slide
162 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
163 30 [label = "control
164 :phase_slide_shape
165 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
166 31 [label = "control
167 :phase_slide_curve
168 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
169 32 [label = "control
170 :phase_offset
171 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
172 33 [label = "control
173 :wave
174 default: 3.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
175 34 [label = "control
176 :disable_wave
177 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
178 35 [label = "control
179 :invert_wave
180 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
181 36 [label = "control
182 :pulse_width
183 default: 0.5" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
184 37 [label = "control
185 :pulse_width_slide
186 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
187 38 [label = "control
188 :pulse_width_slide_shape
189 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
190 39 [label = "control
191 :pulse_width_slide_curve
192 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
193 40 [label = "control
194 :range
195 default: 24.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
196 41 [label = "control
197 :range_slide
198 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
199 42 [label = "control
200 :range_slide_shape
201 default: 1.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
202 43 [label = "control
203 :range_slide_curve
204 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
205 44 [label = "control
206 :out_bus
207 default: 0.0" shape=invhouse style="rounded, filled, bold" fillcolor=black fontcolor=white ];
208 54 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
209 69 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
210 88 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
211 102 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
212 123 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
213 138 [label = "{{ {{<envelope___mul____add___0>|1.0|-99|-99|<envelope___mul____add___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
214 154 [label = "{{ {{0.0|4|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|0.0|<envelope___select___8>|<envelope___control___9>|<envelope___control___10>|0.0|<envelope___control___12>|<envelope___control___13>|<envelope___control___14>|0.0|0.0|<envelope___control___17>|<envelope___control___18>|0.0}|envelope}|<gate> gate 1.0|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 2.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
215 159 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
216 163 [label = "{{ {{<envelope___control___0>|1.0|-99|-99|<envelope___control___4>|<envelope___control___5>|<envelope___control___6>|<envelope___control___7>}|envelope}|<gate> gate|<level____scale> level-scale 1.0|<level____bias> level-bias 0.0|<time____scale> time-scale 1.0|<action> action 0.0} |<__UG_NAME__>env-gen }" style="bold, rounded" shape=record rankdir=LR];
217 46 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
218 50 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
219 61 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
220 65 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
221 70 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
222 75 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
223 79 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
224 84 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
225 94 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
226 98 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
227 115 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
228 119 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
229 124 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
230 128 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
231 132 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
232 136 [label = "{{ <in> in} |<__UG_NAME__>hpz1 }" style="bold, rounded" shape=record rankdir=LR];
233 45 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
234 60 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
235 73 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
236 81 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
237 93 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
238 114 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
239 127 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
240 139 [label = "{{ <freq> freq 0.0|<phase> phase 0.0} |<__UG_NAME__>impulse }" style="bold, rounded" shape=record rankdir=LR];
241 103 [label = "{{ <freq> freq|<iphase> iphase|<width> width} |<__UG_NAME__>lf-pulse }" style="bold, rounded" shape=record rankdir=LR];
242 58 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-saw }" style="bold, rounded" shape=record rankdir=LR];
243 106 [label = "{{ <freq> freq|<iphase> iphase} |<__UG_NAME__>lf-tri }" style="bold, rounded" shape=record rankdir=LR];
244 113 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
245 150 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
246 156 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
247 160 [label = "{{ <a> |<b> } |<__UG_NAME__>midicps }" style="bold, rounded" shape=record rankdir=LR];
248 74 [label = "{{ <in> in|<mul> mul -1.0|<add> add 1.0} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
249 149 [label = "{{ <in> in|<mul> mul|<add> add} |<__UG_NAME__>mul-add }" style="bold, rounded" shape=record rankdir=LR];
250 165 [label = "{{ <bus> bus|{{<signals___pan2___0>|<signals___pan2___1>}|signals}} |<__UG_NAME__>out }" style="filled, bold, rounded" shape=record rankdir=LR];
251 164 [label = "{{ <in> in|<pos> pos|<level> level} |<__UG_NAME__>pan2 }" style="filled, bold, rounded" shape=record rankdir=LR];
252 161 [label = "{{ <in> in|<freq> freq|<rq> rq} |<__UG_NAME__>rlpf }" style="filled, bold, rounded" shape=record rankdir=LR];
253 110 [label = "{{ <which> which|{{<array___binary____op____u____gen___0>|<array___binary____op____u____gen___1>|<array___lf____tri___2>|<array___sin____osc___3>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
254 153 [label = "{{ <which> which|{{<array___control___0>|<array___control___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
255 157 [label = "{{ <which> which|{{<array___unary____op____u____gen___0>|<array___unary____op____u____gen___1>}|array}} |<__UG_NAME__>select }" style="bold, rounded" shape=record rankdir=LR];
256 109 [label = "{{ <freq> freq|<phase> phase|<mul> mul 1.0|<add> add 0.0} |<__UG_NAME__>sin-osc }" style="bold, rounded" shape=record rankdir=LR];
257 158 [label = "{{ <sync____freq> sync-freq|<saw____freq> saw-freq} |<__UG_NAME__>sync-saw }" style="filled, bold, rounded" shape=record rankdir=LR];
258
259 32:__UG_NAME__ -> 56:b ;
260 58:__UG_NAME__ -> 59:b ;
261 103:__UG_NAME__ -> 104:b ;
262 107:__UG_NAME__ -> 108:a ;
263 91:__UG_NAME__ -> 111:a ;
264 110:__UG_NAME__ -> 144:b ;
265 145:__UG_NAME__ -> 146:b ;
266 147:__UG_NAME__ -> 148:b ;
267 144:__UG_NAME__ -> 148:a ;
268 154:__UG_NAME__ -> 155:b ;
269 161:__UG_NAME__ -> 162:b ;
270 155:__UG_NAME__ -> 162:a ;
271 48:__UG_NAME__ -> 49:b ;
272 45:__UG_NAME__ -> 49:a ;
273 52:__UG_NAME__ -> 53:b ;
274 49:__UG_NAME__ -> 53:a ;
275 56:__UG_NAME__ -> 57:a ;
276 63:__UG_NAME__ -> 64:b ;
277 60:__UG_NAME__ -> 64:a ;
278 67:__UG_NAME__ -> 68:b ;
279 64:__UG_NAME__ -> 68:a ;
280 77:__UG_NAME__ -> 78:b ;
281 73:__UG_NAME__ -> 78:a ;
282 82:__UG_NAME__ -> 83:b ;
283 81:__UG_NAME__ -> 83:a ;
284 86:__UG_NAME__ -> 87:b ;
285 83:__UG_NAME__ -> 87:a ;
286 69:__UG_NAME__ -> 89:b ;
287 88:__UG_NAME__ -> 89:a ;
288 56:__UG_NAME__ -> 92:a ;
289 96:__UG_NAME__ -> 97:b ;
290 93:__UG_NAME__ -> 97:a ;
291 100:__UG_NAME__ -> 101:b ;
292 97:__UG_NAME__ -> 101:a ;
293 32:__UG_NAME__ -> 107:a ;
294 117:__UG_NAME__ -> 118:b ;
295 114:__UG_NAME__ -> 118:a ;
296 121:__UG_NAME__ -> 122:b ;
297 118:__UG_NAME__ -> 122:a ;
298 130:__UG_NAME__ -> 131:b ;
299 127:__UG_NAME__ -> 131:a ;
300 134:__UG_NAME__ -> 135:b ;
301 131:__UG_NAME__ -> 135:a ;
302 72:__UG_NAME__ -> 137:b ;
303 78:__UG_NAME__ -> 137:a ;
304 141:__UG_NAME__ -> 142:b ;
305 139:__UG_NAME__ -> 142:a ;
306 126:__UG_NAME__ -> 143:b ;
307 142:__UG_NAME__ -> 143:a ;
308 69:__UG_NAME__ -> 151:b ;
309 88:__UG_NAME__ -> 151:a ;
310 88:__UG_NAME__ -> 90:b ;
311 89:__UG_NAME__ -> 90:a ;
312 104:__UG_NAME__ -> 105:a ;
313 111:__UG_NAME__ -> 112:b ;
314 88:__UG_NAME__ -> 112:a ;
315 146:__UG_NAME__ -> 147:a ;
316 54:__UG_NAME__ -> 55:b ;
317 90:__UG_NAME__ -> 91:a ;
318 54:__UG_NAME__ -> 166:b ;
319 17:__UG_NAME__ -> 152:b ;
320 47:__UG_NAME__ -> 48:a ;
321 51:__UG_NAME__ -> 52:a ;
322 62:__UG_NAME__ -> 63:a ;
323 66:__UG_NAME__ -> 67:a ;
324 71:__UG_NAME__ -> 72:a ;
325 76:__UG_NAME__ -> 77:a ;
326 80:__UG_NAME__ -> 82:a ;
327 85:__UG_NAME__ -> 86:a ;
328 95:__UG_NAME__ -> 96:a ;
329 99:__UG_NAME__ -> 100:a ;
330 116:__UG_NAME__ -> 117:a ;
331 120:__UG_NAME__ -> 121:a ;
332 125:__UG_NAME__ -> 126:a ;
333 129:__UG_NAME__ -> 130:a ;
334 133:__UG_NAME__ -> 134:a ;
335 140:__UG_NAME__ -> 141:a ;
336 35:__UG_NAME__ -> 145:a ;
337 46:__UG_NAME__ -> 47:a ;
338 50:__UG_NAME__ -> 51:a ;
339 61:__UG_NAME__ -> 62:a ;
340 65:__UG_NAME__ -> 66:a ;
341 70:__UG_NAME__ -> 71:a ;
342 75:__UG_NAME__ -> 76:a ;
343 79:__UG_NAME__ -> 80:a ;
344 84:__UG_NAME__ -> 85:a ;
345 94:__UG_NAME__ -> 95:a ;
346 98:__UG_NAME__ -> 99:a ;
347 115:__UG_NAME__ -> 116:a ;
348 119:__UG_NAME__ -> 120:a ;
349 124:__UG_NAME__ -> 125:a ;
350 128:__UG_NAME__ -> 129:a ;
351 132:__UG_NAME__ -> 133:a ;
352 136:__UG_NAME__ -> 140:a ;
353 53:__UG_NAME__ -> 54:gate ;
354 28:__UG_NAME__ -> 54:envelope___control___0 ;
355 28:__UG_NAME__ -> 54:envelope___control___4 ;
356 29:__UG_NAME__ -> 54:envelope___control___5 ;
357 30:__UG_NAME__ -> 54:envelope___control___6 ;
358 31:__UG_NAME__ -> 54:envelope___control___7 ;
359 68:__UG_NAME__ -> 69:gate ;
360 40:__UG_NAME__ -> 69:envelope___control___0 ;
361 40:__UG_NAME__ -> 69:envelope___control___4 ;
362 41:__UG_NAME__ -> 69:envelope___control___5 ;
363 42:__UG_NAME__ -> 69:envelope___control___6 ;
364 43:__UG_NAME__ -> 69:envelope___control___7 ;
365 87:__UG_NAME__ -> 88:gate ;
366 0:__UG_NAME__ -> 88:envelope___control___0 ;
367 0:__UG_NAME__ -> 88:envelope___control___4 ;
368 1:__UG_NAME__ -> 88:envelope___control___5 ;
369 2:__UG_NAME__ -> 88:envelope___control___6 ;
370 3:__UG_NAME__ -> 88:envelope___control___7 ;
371 101:__UG_NAME__ -> 102:gate ;
372 36:__UG_NAME__ -> 102:envelope___control___0 ;
373 36:__UG_NAME__ -> 102:envelope___control___4 ;
374 37:__UG_NAME__ -> 102:envelope___control___5 ;
375 38:__UG_NAME__ -> 102:envelope___control___6 ;
376 39:__UG_NAME__ -> 102:envelope___control___7 ;
377 122:__UG_NAME__ -> 123:gate ;
378 4:__UG_NAME__ -> 123:envelope___control___0 ;
379 4:__UG_NAME__ -> 123:envelope___control___4 ;
380 5:__UG_NAME__ -> 123:envelope___control___5 ;
381 6:__UG_NAME__ -> 123:envelope___control___6 ;
382 7:__UG_NAME__ -> 123:envelope___control___7 ;
383 137:__UG_NAME__ -> 138:gate ;
384 74:__UG_NAME__ -> 138:envelope___mul____add___0 ;
385 74:__UG_NAME__ -> 138:envelope___mul____add___4 ;
386 25:__UG_NAME__ -> 138:envelope___control___5 ;
387 26:__UG_NAME__ -> 138:envelope___control___6 ;
388 27:__UG_NAME__ -> 138:envelope___control___7 ;
389 16:__UG_NAME__ -> 154:envelope___control___4 ;
390 12:__UG_NAME__ -> 154:envelope___control___5 ;
391 19:__UG_NAME__ -> 154:envelope___control___6 ;
392 153:__UG_NAME__ -> 154:envelope___select___8 ;
393 13:__UG_NAME__ -> 154:envelope___control___9 ;
394 19:__UG_NAME__ -> 154:envelope___control___10 ;
395 18:__UG_NAME__ -> 154:envelope___control___12 ;
396 14:__UG_NAME__ -> 154:envelope___control___13 ;
397 19:__UG_NAME__ -> 154:envelope___control___14 ;
398 15:__UG_NAME__ -> 154:envelope___control___17 ;
399 19:__UG_NAME__ -> 154:envelope___control___18 ;
400 135:__UG_NAME__ -> 159:gate ;
401 20:__UG_NAME__ -> 159:envelope___control___0 ;
402 20:__UG_NAME__ -> 159:envelope___control___4 ;
403 21:__UG_NAME__ -> 159:envelope___control___5 ;
404 22:__UG_NAME__ -> 159:envelope___control___6 ;
405 23:__UG_NAME__ -> 159:envelope___control___7 ;
406 143:__UG_NAME__ -> 163:gate ;
407 8:__UG_NAME__ -> 163:envelope___control___0 ;
408 8:__UG_NAME__ -> 163:envelope___control___4 ;
409 9:__UG_NAME__ -> 163:envelope___control___5 ;
410 10:__UG_NAME__ -> 163:envelope___control___6 ;
411 11:__UG_NAME__ -> 163:envelope___control___7 ;
412 28:__UG_NAME__ -> 46:in ;
413 29:__UG_NAME__ -> 50:in ;
414 40:__UG_NAME__ -> 61:in ;
415 41:__UG_NAME__ -> 65:in ;
416 25:__UG_NAME__ -> 70:in ;
417 74:__UG_NAME__ -> 75:in ;
418 0:__UG_NAME__ -> 79:in ;
419 1:__UG_NAME__ -> 84:in ;
420 36:__UG_NAME__ -> 94:in ;
421 37:__UG_NAME__ -> 98:in ;
422 4:__UG_NAME__ -> 115:in ;
423 5:__UG_NAME__ -> 119:in ;
424 9:__UG_NAME__ -> 124:in ;
425 20:__UG_NAME__ -> 128:in ;
426 21:__UG_NAME__ -> 132:in ;
427 8:__UG_NAME__ -> 136:in ;
428 102:__UG_NAME__ -> 103:width ;
429 32:__UG_NAME__ -> 103:iphase ;
430 55:__UG_NAME__ -> 103:freq ;
431 57:__UG_NAME__ -> 58:iphase ;
432 55:__UG_NAME__ -> 58:freq ;
433 92:__UG_NAME__ -> 106:iphase ;
434 55:__UG_NAME__ -> 106:freq ;
435 88:__UG_NAME__ -> 113:a ;
436 149:__UG_NAME__ -> 150:a ;
437 151:__UG_NAME__ -> 156:a ;
438 159:__UG_NAME__ -> 160:a ;
439 24:__UG_NAME__ -> 74:in ;
440 112:__UG_NAME__ -> 149:add ;
441 91:__UG_NAME__ -> 149:mul ;
442 148:__UG_NAME__ -> 149:in ;
443 164:__UG_NAME__ -> 165:signals___pan2___0 ;
444 164:__UG_NAME__ -> 165:signals___pan2___1 ;
445 44:__UG_NAME__ -> 165:bus ;
446 123:__UG_NAME__ -> 164:level ;
447 163:__UG_NAME__ -> 164:pos ;
448 162:__UG_NAME__ -> 164:in ;
449 138:__UG_NAME__ -> 161:rq ;
450 160:__UG_NAME__ -> 161:freq ;
451 158:__UG_NAME__ -> 161:in ;
452 59:__UG_NAME__ -> 110:array___binary____op____u____gen___0 ;
453 105:__UG_NAME__ -> 110:array___binary____op____u____gen___1 ;
454 106:__UG_NAME__ -> 110:array___lf____tri___2 ;
455 109:__UG_NAME__ -> 110:array___sin____osc___3 ;
456 33:__UG_NAME__ -> 110:which ;
457 17:__UG_NAME__ -> 153:array___control___0 ;
458 18:__UG_NAME__ -> 153:array___control___1 ;
459 152:__UG_NAME__ -> 153:which ;
460 150:__UG_NAME__ -> 157:array___unary____op____u____gen___0 ;
461 156:__UG_NAME__ -> 157:array___unary____op____u____gen___1 ;
462 34:__UG_NAME__ -> 157:which ;
463 108:__UG_NAME__ -> 109:phase ;
464 55:__UG_NAME__ -> 109:freq ;
465 157:__UG_NAME__ -> 158:saw____freq ;
466 113:__UG_NAME__ -> 158:sync____freq ;
467
468 }