commit 2a8f6c84851f42857d538f7462e6ee8553b62921 Author: Alexander Chalikiopoulos Date: Wed Apr 20 14:37:47 2022 +0200 first commit diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..db75a9d --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "dpf"] + path = dpf + url = https://github.com/DISTRHO/DPF.git + branch = develop diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5b83fb2 --- /dev/null +++ b/Makefile @@ -0,0 +1,45 @@ +#!/usr/bin/make -f +# Makefile for DISTRHO Plugins # +# ---------------------------- # +# Created by falkTX +# +# Modified by Wasted Audio +# + +include dpf/Makefile.base.mk + +all: libs plugin gen + +define MISSING_SUBMODULES_ERROR + +Cannot find DGL! Please run "make submodules" to clone the missing submodules, then retry building the plugin. + +endef + +# -------------------------------------------------------------- +submodules: + git submodule update --init --recursive + +libs: + +plugin: libs + $(MAKE) all -C plugin/source + +gen: plugins dpf/utils/lv2_ttl_generator + @$(CURDIR)/dpf/utils/generate-ttl.sh +ifeq ($(MACOS),true) + @$(CURDIR)/dpf/utils/generate-vst-bundles.sh +endif + +dpf/utils/lv2_ttl_generator: + $(MAKE) -C dpf/utils/lv2-ttl-generator + +# -------------------------------------------------------------- + +clean: + $(MAKE) clean -C dpf/utils/lv2-ttl-generator + $(MAKE) clean -C plugin/source + +# -------------------------------------------------------------- + +.PHONY: plugins \ No newline at end of file diff --git a/_main.pd b/_main.pd new file mode 100644 index 0000000..0abe927 --- /dev/null +++ b/_main.pd @@ -0,0 +1,9341 @@ +#N canvas 306 23 1614 893 10; +#X obj 72 68 notein; +#X obj 72 110 pack f f f; +#X obj 72 131 s \$0-poly; +#X obj 72 171 r \$0-poly; +#X obj 72 192 route 1; +#X obj 57 495 *~ 0.7; +#X obj 57 516 clip~ -1 1; +#X obj 57 537 hip~ 3; +#X obj 57 558 *~ 0.7; +#X obj 57 579 dac~ 1 2; +#N canvas 0 23 1550 839 voice 0; +#X obj 72 173 unpack f f; +#X obj 129 194 > 0; +#X obj 72 297 mtof; +#X msg 117 353 1000 \$1; +#X obj 117 374 /; +#X obj 72 395 t b b; +#X obj 72 437 del 2; +#X obj 72 458 pack f f; +#X msg 72 479 0 \$2; +#X obj 72 500 unpack f f; +#X obj 72 556 lop~; +#X msg 129 521 1000 \$1; +#X obj 129 542 /; +#X obj 272 311 phasor~; +#X obj 272 332 -~ 0.25; +#X obj 272 353 cos~; +#X msg 311 290 0; +#X obj 257 570 *~; +#X obj 117 395 * 2048; +#X obj 689 443 t b b; +#X msg 689 485 0 1; +#X msg 716 485 1 0; +#X obj 689 506 line~; +#X obj 240 633 *~; +#X obj 599 262 t b b; +#X obj 599 304 del 2; +#X obj 599 325 pack f f; +#X msg 599 346 0 \$2; +#X obj 599 367 unpack f f; +#X obj 599 423 lop~; +#X msg 656 388 1000 \$1; +#X obj 656 409 /; +#X msg 626 283 1 1; +#X obj 332 346 -~ 0.25; +#X obj 332 367 cos~; +#X obj 332 325 *~ 7; +#X obj 382 346 -~ 0.25; +#X obj 382 367 cos~; +#X obj 382 325 *~ 20; +#X obj 663 302 * 128; +#X obj 382 388 /~ 20; +#X msg 520 299 0 50; +#X obj 242 689 /~ 2; +#X obj 332 388 /~ 7; +#X obj 332 409 +~; +#X obj 332 430 *~; +#X obj 72 276 route 1 0; +#X obj 192 297 mtof; +#X obj 192 318 t b f b; +#X obj 72 318 t b f b; +#X msg 150 332 2048; +#X obj 311 248 sel 1; +#X obj 821 505 *~; +#X obj 800 526 sig~ 2; +#X obj 800 547 pow~; +#X obj 800 589 *~; +#X obj 894 512 sig~ 2; +#X obj 894 533 pow~; +#X obj 879 554 sig~ 1; +#X obj 879 575 /~; +#X obj 800 568 -~ 1; +#X obj 821 365 *~ 0.707946; +#N canvas 4 23 162 227 hv.tanh 0; +#X obj 12 12 inlet~; +#X obj 12 38 clip~ -3 3; +#X obj 27 64 *~; +#X obj 12 192 outlet~; +#X obj 27 140 /~; +#X obj 12 166 *~; +#X obj 67 90 *~ 9; +#X obj 27 90 +~ 27; +#X obj 67 116 +~ 27; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 2 1; +#X connect 1 0 5 0; +#X connect 2 0 7 0; +#X connect 2 0 6 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 8 0; +#X connect 7 0 4 0; +#X connect 8 0 4 1; +#X restore 821 484 pd hv.tanh; +#X obj 821 443 *~; +#X obj 768 648 *~; +#X obj 897 655 *~; +#X obj 897 603 pow~ 4; +#X obj 897 634 *~ -1; +#X obj 947 620 r \$0-buz-pha; +#X obj 768 669 +~; +#X obj 821 463 +~; +#X text 915 471 //Pickup Symmetry; +#X text 947 580 //Buzz Phase; +#X text 947 600 //Buzz Level; +#X text 921 409 //Pickup Input; +#X text 800 614 //Pickup Level; +#X obj 921 429 sig~ 5; +#X obj 915 491 sig~ 5; +#X obj 947 641 sig~ 0.5; +#X obj 800 634 sig~ 1; +#N canvas 0 23 450 300 lowpass~ 0; +#N canvas 1006 332 706 367 lowpass.coeffs 0; +#X obj 12 45 inlet~ freq; +#X obj 288 50 inlet~ q; +#X obj 12 67 clip~ 20 20000; +#X obj 273 94 sig~ 1; +#X obj 273 116 /~; +#X obj 273 138 *~; +#X obj 273 160 *~ 0.5; +#X obj 12 261 sig~ 1; +#X obj 12 283 /~; +#X obj 122 297 *~; +#X obj 137 275 *~ 0.5; +#X obj 122 319 outlet~ b0; +#X obj 192 297 *~; +#X obj 192 319 outlet~ b1; +#X obj 262 297 *~; +#X obj 262 319 outlet~ b2; +#X obj 332 297 *~; +#X obj 347 253 *~ -2; +#X obj 332 319 outlet~ a1; +#X obj 417 231 sig~ 1; +#X obj 417 253 -~; +#X obj 402 297 *~; +#X obj 402 319 outlet~ a2; +#X obj 57 266 +~ 1; +#X text 363 162 w0 = 2*pi*f0*Fs; +#X text 363 182 alpha = sin(w0)/(2*Q); +#X text 527 237 a2 = 1 - alpha; +#X text 527 217 a1 = -2*cos(w0); +#X text 392 72 H(z) = -----------------------------------------; +#X text 392 32 Audio-Cookbook:; +#X text 392 112 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 137 231 sig~ 1; +#X obj 137 253 -~; +#X obj 207 231 sig~ 1; +#X obj 207 253 -~; +#X obj 277 275 *~ 0.5; +#X obj 277 231 sig~ 1; +#X obj 277 253 -~; +#X text 434 87 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 434 57 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 527 197 a0 = 1 + alpha; +#X text 527 257 b0 = (1 - cos(w0))/2; +#X text 527 277 b1 = (1 - cos(w0)); +#X text 527 297 b2 = (1 - cos(w0))/2; +#X text 517 177 LPF:; +#X obj 12 88 /~ 44100; +#X obj 105 53 loadbang; +#X obj 105 74 samplerate~; +#X obj 288 72 max~ 0.1; +#X obj 117 103 -~ 0.25; +#X obj 117 124 cos~; +#X obj 12 239 cos~; +#X connect 0 0 2 0; +#X connect 1 0 48 0; +#X connect 2 0 45 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 20 1; +#X connect 6 0 23 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 0 12 0; +#X connect 8 0 14 0; +#X connect 8 0 16 0; +#X connect 8 0 21 0; +#X connect 9 0 11 0; +#X connect 10 0 9 1; +#X connect 12 0 13 0; +#X connect 14 0 15 0; +#X connect 16 0 18 0; +#X connect 17 0 16 1; +#X connect 19 0 20 0; +#X connect 20 0 21 1; +#X connect 21 0 22 0; +#X connect 23 0 8 1; +#X connect 31 0 32 0; +#X connect 32 0 10 0; +#X connect 33 0 34 0; +#X connect 34 0 12 1; +#X connect 35 0 14 1; +#X connect 36 0 37 0; +#X connect 37 0 35 0; +#X connect 45 0 51 0; +#X connect 45 0 49 0; +#X connect 46 0 47 0; +#X connect 47 0 45 1; +#X connect 48 0 4 1; +#X connect 49 0 50 0; +#X connect 50 0 5 1; +#X connect 51 0 32 1; +#X connect 51 0 34 1; +#X connect 51 0 37 1; +#X connect 51 0 17 0; +#X restore 62 52 pd lowpass.coeffs; +#X obj 46 120 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 99 pd @hv_obj biquad; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 173 11 q; +#X obj 173 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 821 407 pd lowpass~; +#X obj 884 386 sig~ 1000; +#N canvas 0 23 450 300 highpass~ 0; +#N canvas 200 23 682 315 highpass.coeffs 0; +#X obj 12 46 clip~ 20 20000; +#X obj 283 51 clip~ 0.1 100; +#X obj 268 73 sig~ 1; +#X obj 268 95 /~; +#X obj 268 117 *~; +#X obj 268 139 *~ 0.5; +#X obj 12 215 sig~ 1; +#X obj 12 237 /~; +#X obj 122 254 *~; +#X obj 137 200 +~ 1; +#X obj 137 232 *~ 0.5; +#X obj 122 276 outlet~ b0; +#X obj 192 254 *~; +#X obj 207 200 +~ 1; +#X obj 192 276 outlet~ b1; +#X obj 207 232 *~ -1; +#X obj 262 254 *~; +#X obj 277 200 +~ 1; +#X obj 277 232 *~ 0.5; +#X obj 262 276 outlet~ b2; +#X obj 332 254 *~; +#X obj 347 200 *~ -2; +#X obj 332 276 outlet~ a1; +#X obj 417 210 sig~ 1; +#X obj 417 232 -~; +#X obj 402 254 *~; +#X obj 402 276 outlet~ a2; +#X obj 57 220 +~ 1; +#X text 348 141 w0 = 2*pi*f0*Fs; +#X text 348 161 alpha = sin(w0)/(2*Q); +#X text 512 176 a0 = 1 + alpha; +#X text 512 216 a2 = 1 - alpha; +#X text 512 196 a1 = -2*cos(w0); +#X text 512 256 b1 = -(1 + cos(w0)); +#X text 512 236 b0 = (1 + cos(w0))/2; +#X text 502 156 HPF:; +#X text 512 276 b2 = (1 + cos(w0))/2; +#X text 419 36 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 377 51 H(z) = -----------------------------------------; +#X text 419 66 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 377 11 Audio-Cookbook:; +#X text 377 91 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 12 24 inlet~; +#X obj 283 29 inlet~; +#X obj 12 67 /~ 44100; +#X obj 105 32 loadbang; +#X obj 105 53 samplerate~; +#X obj 122 83 -~ 0.25; +#X obj 122 103 cos~; +#X obj 12 186 cos~; +#X connect 0 0 44 0; +#X connect 1 0 3 1; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 24 1; +#X connect 5 0 27 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 0 12 0; +#X connect 7 0 16 0; +#X connect 7 0 20 0; +#X connect 7 0 25 0; +#X connect 8 0 11 0; +#X connect 9 0 10 0; +#X connect 10 0 8 1; +#X connect 12 0 14 0; +#X connect 13 0 15 0; +#X connect 15 0 12 1; +#X connect 16 0 19 0; +#X connect 17 0 18 0; +#X connect 18 0 16 1; +#X connect 20 0 22 0; +#X connect 21 0 20 1; +#X connect 23 0 24 0; +#X connect 24 0 25 1; +#X connect 25 0 26 0; +#X connect 27 0 7 1; +#X connect 42 0 0 0; +#X connect 43 0 1 0; +#X connect 44 0 47 0; +#X connect 44 0 49 0; +#X connect 45 0 46 0; +#X connect 46 0 44 1; +#X connect 47 0 48 0; +#X connect 48 0 4 1; +#X connect 49 0 9 0; +#X connect 49 0 13 0; +#X connect 49 0 17 0; +#X connect 49 0 21 0; +#X restore 62 52 pd highpass.coeffs; +#X obj 46 109 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 88 pd @hv_obj biquad; +#X obj 12 20 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 167 11 q; +#X obj 167 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 768 690 pd highpass~; +#X obj 1214 342 t b b; +#X obj 1214 405 line~; +#X msg 1261 384 0 0; +#X msg 1214 384 20000 0; +#X obj 72 194 pipe 3; +#X obj 672 600 sig~; +#X obj 1214 363 del 2; +#X obj 716 464 del 3; +#X obj 312 269 del 3; +#X obj 1261 363 del 3; +#X obj 768 711 *~; +#X obj 332 451 /~ 7; +#X msg 99 416 1 0.1; +#X obj 257 591 *~; +#X obj 383 489 pipe 3; +#X obj 383 510 - 1; +#X obj 383 531 / 126; +#X obj 361 473 sel 0; +#X msg 383 552 1 \$1; +#X obj 383 573 -; +#X obj 383 594 * -30; +#X obj 383 615 + 100; +#X obj 383 636 dbtorms; +#X msg 231 339 8; +#X obj 94 140 inlet; +#X obj 242 710 outlet~; +#X obj 72 225 pack f f; +#X msg 72 246 \$2 \$1; +#X connect 0 0 87 0; +#X connect 0 1 1 0; +#X connect 0 1 100 0; +#X connect 1 0 51 0; +#X connect 1 0 109 1; +#X connect 2 0 49 0; +#X connect 2 0 13 0; +#X connect 2 0 88 0; +#X connect 3 0 4 0; +#X connect 4 0 18 0; +#X connect 4 0 39 0; +#X connect 5 0 6 0; +#X connect 5 1 95 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 11 0; +#X connect 10 0 17 0; +#X connect 11 0 12 0; +#X connect 12 0 10 1; +#X connect 13 0 14 0; +#X connect 13 0 35 0; +#X connect 13 0 38 0; +#X connect 14 0 15 0; +#X connect 15 0 17 1; +#X connect 16 0 13 1; +#X connect 17 0 96 0; +#X connect 18 0 7 1; +#X connect 19 0 20 0; +#X connect 19 1 90 0; +#X connect 20 0 22 0; +#X connect 21 0 22 0; +#X connect 22 0 23 1; +#X connect 22 0 93 1; +#X connect 23 0 61 0; +#X connect 23 0 42 0; +#X connect 24 0 25 0; +#X connect 24 1 32 0; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 28 1 30 0; +#X connect 29 0 45 1; +#X connect 30 0 31 0; +#X connect 31 0 29 1; +#X connect 32 0 28 0; +#X connect 33 0 34 0; +#X connect 34 0 43 0; +#X connect 35 0 33 0; +#X connect 36 0 37 0; +#X connect 37 0 40 0; +#X connect 38 0 36 0; +#X connect 39 0 26 1; +#X connect 40 0 44 1; +#X connect 41 0 28 0; +#X connect 42 0 108 0; +#X connect 43 0 44 0; +#X connect 44 0 45 0; +#X connect 45 0 94 0; +#X connect 46 0 2 0; +#X connect 46 1 47 0; +#X connect 47 0 48 0; +#X connect 48 0 7 0; +#X connect 48 1 3 0; +#X connect 48 2 106 0; +#X connect 49 0 5 0; +#X connect 49 0 24 0; +#X connect 49 1 3 0; +#X connect 49 2 50 0; +#X connect 50 0 18 1; +#X connect 51 0 19 0; +#X connect 51 0 83 0; +#X connect 51 0 91 0; +#X connect 52 0 54 1; +#X connect 53 0 54 0; +#X connect 54 0 60 0; +#X connect 55 0 64 0; +#X connect 55 0 66 0; +#X connect 56 0 57 0; +#X connect 57 0 59 1; +#X connect 58 0 59 0; +#X connect 59 0 55 1; +#X connect 60 0 55 0; +#X connect 61 0 80 0; +#X connect 62 0 52 0; +#X connect 63 0 70 0; +#X connect 64 0 69 0; +#X connect 65 0 69 1; +#X connect 66 0 67 0; +#X connect 67 0 65 0; +#X connect 68 0 67 1; +#X connect 69 0 82 0; +#X connect 70 0 62 0; +#X connect 76 0 63 1; +#X connect 77 0 52 1; +#X connect 77 0 57 1; +#X connect 78 0 65 1; +#X connect 79 0 64 1; +#X connect 80 0 63 0; +#X connect 81 0 80 1; +#X connect 82 0 93 0; +#X connect 83 0 89 0; +#X connect 83 1 92 0; +#X connect 84 0 80 1; +#X connect 84 0 82 1; +#X connect 85 0 84 0; +#X connect 86 0 84 0; +#X connect 87 0 109 0; +#X connect 88 0 82 1; +#X connect 89 0 86 0; +#X connect 90 0 21 0; +#X connect 91 0 16 0; +#X connect 92 0 85 0; +#X connect 93 0 42 0; +#X connect 94 0 96 0; +#X connect 95 0 9 0; +#X connect 96 0 23 0; +#X connect 97 0 98 0; +#X connect 98 0 99 0; +#X connect 99 0 101 0; +#X connect 100 1 97 0; +#X connect 101 0 102 0; +#X connect 102 0 103 0; +#X connect 103 0 104 0; +#X connect 104 0 105 0; +#X connect 105 0 96 1; +#X connect 106 0 18 1; +#X connect 107 0 0 0; +#X connect 109 0 110 0; +#X connect 110 0 46 0; +#X restore 72 213 pd voice; +#X obj 72 89 poly 8 1; +#X obj 132 171 r \$0-poly; +#N canvas 0 23 1550 839 voice 0; +#X obj 72 173 unpack f f; +#X obj 129 194 > 0; +#X obj 72 297 mtof; +#X msg 117 353 1000 \$1; +#X obj 117 374 /; +#X obj 72 395 t b b; +#X obj 72 437 del 2; +#X obj 72 458 pack f f; +#X msg 72 479 0 \$2; +#X obj 72 500 unpack f f; +#X obj 72 556 lop~; +#X msg 129 521 1000 \$1; +#X obj 129 542 /; +#X obj 272 311 phasor~; +#X obj 272 332 -~ 0.25; +#X obj 272 353 cos~; +#X msg 311 290 0; +#X obj 257 570 *~; +#X obj 117 395 * 2048; +#X obj 689 443 t b b; +#X msg 689 485 0 1; +#X msg 716 485 1 0; +#X obj 689 506 line~; +#X obj 240 633 *~; +#X obj 599 262 t b b; +#X obj 599 304 del 2; +#X obj 599 325 pack f f; +#X msg 599 346 0 \$2; +#X obj 599 367 unpack f f; +#X obj 599 423 lop~; +#X msg 656 388 1000 \$1; +#X obj 656 409 /; +#X msg 626 283 1 1; +#X obj 332 346 -~ 0.25; +#X obj 332 367 cos~; +#X obj 332 325 *~ 7; +#X obj 382 346 -~ 0.25; +#X obj 382 367 cos~; +#X obj 382 325 *~ 20; +#X obj 663 302 * 128; +#X obj 382 388 /~ 20; +#X msg 520 299 0 50; +#X obj 242 689 /~ 2; +#X obj 332 388 /~ 7; +#X obj 332 409 +~; +#X obj 332 430 *~; +#X obj 72 276 route 1 0; +#X obj 192 297 mtof; +#X obj 192 318 t b f b; +#X obj 72 318 t b f b; +#X msg 150 332 2048; +#X obj 311 248 sel 1; +#X obj 821 505 *~; +#X obj 800 526 sig~ 2; +#X obj 800 547 pow~; +#X obj 800 589 *~; +#X obj 894 512 sig~ 2; +#X obj 894 533 pow~; +#X obj 879 554 sig~ 1; +#X obj 879 575 /~; +#X obj 800 568 -~ 1; +#X obj 821 365 *~ 0.707946; +#N canvas 4 23 162 227 hv.tanh 0; +#X obj 12 12 inlet~; +#X obj 12 38 clip~ -3 3; +#X obj 27 64 *~; +#X obj 12 192 outlet~; +#X obj 27 140 /~; +#X obj 12 166 *~; +#X obj 67 90 *~ 9; +#X obj 27 90 +~ 27; +#X obj 67 116 +~ 27; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 2 1; +#X connect 1 0 5 0; +#X connect 2 0 7 0; +#X connect 2 0 6 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 8 0; +#X connect 7 0 4 0; +#X connect 8 0 4 1; +#X restore 821 484 pd hv.tanh; +#X obj 821 443 *~; +#X obj 768 648 *~; +#X obj 897 655 *~; +#X obj 897 603 pow~ 4; +#X obj 897 634 *~ -1; +#X obj 947 620 r \$0-buz-pha; +#X obj 768 669 +~; +#X obj 821 463 +~; +#X text 915 471 //Pickup Symmetry; +#X text 947 580 //Buzz Phase; +#X text 947 600 //Buzz Level; +#X text 921 409 //Pickup Input; +#X text 800 614 //Pickup Level; +#X obj 921 429 sig~ 5; +#X obj 915 491 sig~ 5; +#X obj 947 641 sig~ 0.5; +#X obj 800 634 sig~ 1; +#N canvas 0 23 450 300 lowpass~ 0; +#N canvas 1006 332 706 367 lowpass.coeffs 0; +#X obj 12 45 inlet~ freq; +#X obj 288 50 inlet~ q; +#X obj 12 67 clip~ 20 20000; +#X obj 273 94 sig~ 1; +#X obj 273 116 /~; +#X obj 273 138 *~; +#X obj 273 160 *~ 0.5; +#X obj 12 261 sig~ 1; +#X obj 12 283 /~; +#X obj 122 297 *~; +#X obj 137 275 *~ 0.5; +#X obj 122 319 outlet~ b0; +#X obj 192 297 *~; +#X obj 192 319 outlet~ b1; +#X obj 262 297 *~; +#X obj 262 319 outlet~ b2; +#X obj 332 297 *~; +#X obj 347 253 *~ -2; +#X obj 332 319 outlet~ a1; +#X obj 417 231 sig~ 1; +#X obj 417 253 -~; +#X obj 402 297 *~; +#X obj 402 319 outlet~ a2; +#X obj 57 266 +~ 1; +#X text 363 162 w0 = 2*pi*f0*Fs; +#X text 363 182 alpha = sin(w0)/(2*Q); +#X text 527 237 a2 = 1 - alpha; +#X text 527 217 a1 = -2*cos(w0); +#X text 392 72 H(z) = -----------------------------------------; +#X text 392 32 Audio-Cookbook:; +#X text 392 112 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 137 231 sig~ 1; +#X obj 137 253 -~; +#X obj 207 231 sig~ 1; +#X obj 207 253 -~; +#X obj 277 275 *~ 0.5; +#X obj 277 231 sig~ 1; +#X obj 277 253 -~; +#X text 434 87 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 434 57 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 527 197 a0 = 1 + alpha; +#X text 527 257 b0 = (1 - cos(w0))/2; +#X text 527 277 b1 = (1 - cos(w0)); +#X text 527 297 b2 = (1 - cos(w0))/2; +#X text 517 177 LPF:; +#X obj 12 88 /~ 44100; +#X obj 105 53 loadbang; +#X obj 105 74 samplerate~; +#X obj 288 72 max~ 0.1; +#X obj 117 103 -~ 0.25; +#X obj 117 124 cos~; +#X obj 12 239 cos~; +#X connect 0 0 2 0; +#X connect 1 0 48 0; +#X connect 2 0 45 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 20 1; +#X connect 6 0 23 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 0 12 0; +#X connect 8 0 14 0; +#X connect 8 0 16 0; +#X connect 8 0 21 0; +#X connect 9 0 11 0; +#X connect 10 0 9 1; +#X connect 12 0 13 0; +#X connect 14 0 15 0; +#X connect 16 0 18 0; +#X connect 17 0 16 1; +#X connect 19 0 20 0; +#X connect 20 0 21 1; +#X connect 21 0 22 0; +#X connect 23 0 8 1; +#X connect 31 0 32 0; +#X connect 32 0 10 0; +#X connect 33 0 34 0; +#X connect 34 0 12 1; +#X connect 35 0 14 1; +#X connect 36 0 37 0; +#X connect 37 0 35 0; +#X connect 45 0 51 0; +#X connect 45 0 49 0; +#X connect 46 0 47 0; +#X connect 47 0 45 1; +#X connect 48 0 4 1; +#X connect 49 0 50 0; +#X connect 50 0 5 1; +#X connect 51 0 32 1; +#X connect 51 0 34 1; +#X connect 51 0 37 1; +#X connect 51 0 17 0; +#X restore 62 52 pd lowpass.coeffs; +#X obj 46 120 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 99 pd @hv_obj biquad; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 173 11 q; +#X obj 173 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 821 407 pd lowpass~; +#X obj 884 386 sig~ 1000; +#N canvas 0 23 450 300 highpass~ 0; +#N canvas 200 23 682 315 highpass.coeffs 0; +#X obj 12 46 clip~ 20 20000; +#X obj 283 51 clip~ 0.1 100; +#X obj 268 73 sig~ 1; +#X obj 268 95 /~; +#X obj 268 117 *~; +#X obj 268 139 *~ 0.5; +#X obj 12 215 sig~ 1; +#X obj 12 237 /~; +#X obj 122 254 *~; +#X obj 137 200 +~ 1; +#X obj 137 232 *~ 0.5; +#X obj 122 276 outlet~ b0; +#X obj 192 254 *~; +#X obj 207 200 +~ 1; +#X obj 192 276 outlet~ b1; +#X obj 207 232 *~ -1; +#X obj 262 254 *~; +#X obj 277 200 +~ 1; +#X obj 277 232 *~ 0.5; +#X obj 262 276 outlet~ b2; +#X obj 332 254 *~; +#X obj 347 200 *~ -2; +#X obj 332 276 outlet~ a1; +#X obj 417 210 sig~ 1; +#X obj 417 232 -~; +#X obj 402 254 *~; +#X obj 402 276 outlet~ a2; +#X obj 57 220 +~ 1; +#X text 348 141 w0 = 2*pi*f0*Fs; +#X text 348 161 alpha = sin(w0)/(2*Q); +#X text 512 176 a0 = 1 + alpha; +#X text 512 216 a2 = 1 - alpha; +#X text 512 196 a1 = -2*cos(w0); +#X text 512 256 b1 = -(1 + cos(w0)); +#X text 512 236 b0 = (1 + cos(w0))/2; +#X text 502 156 HPF:; +#X text 512 276 b2 = (1 + cos(w0))/2; +#X text 419 36 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 377 51 H(z) = -----------------------------------------; +#X text 419 66 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 377 11 Audio-Cookbook:; +#X text 377 91 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 12 24 inlet~; +#X obj 283 29 inlet~; +#X obj 12 67 /~ 44100; +#X obj 105 32 loadbang; +#X obj 105 53 samplerate~; +#X obj 122 83 -~ 0.25; +#X obj 122 103 cos~; +#X obj 12 186 cos~; +#X connect 0 0 44 0; +#X connect 1 0 3 1; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 24 1; +#X connect 5 0 27 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 0 12 0; +#X connect 7 0 16 0; +#X connect 7 0 20 0; +#X connect 7 0 25 0; +#X connect 8 0 11 0; +#X connect 9 0 10 0; +#X connect 10 0 8 1; +#X connect 12 0 14 0; +#X connect 13 0 15 0; +#X connect 15 0 12 1; +#X connect 16 0 19 0; +#X connect 17 0 18 0; +#X connect 18 0 16 1; +#X connect 20 0 22 0; +#X connect 21 0 20 1; +#X connect 23 0 24 0; +#X connect 24 0 25 1; +#X connect 25 0 26 0; +#X connect 27 0 7 1; +#X connect 42 0 0 0; +#X connect 43 0 1 0; +#X connect 44 0 47 0; +#X connect 44 0 49 0; +#X connect 45 0 46 0; +#X connect 46 0 44 1; +#X connect 47 0 48 0; +#X connect 48 0 4 1; +#X connect 49 0 9 0; +#X connect 49 0 13 0; +#X connect 49 0 17 0; +#X connect 49 0 21 0; +#X restore 62 52 pd highpass.coeffs; +#X obj 46 109 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 88 pd @hv_obj biquad; +#X obj 12 20 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 167 11 q; +#X obj 167 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 768 690 pd highpass~; +#X obj 1214 342 t b b; +#X obj 1214 405 line~; +#X msg 1261 384 0 0; +#X msg 1214 384 20000 0; +#X obj 72 194 pipe 3; +#X obj 672 600 sig~; +#X obj 1214 363 del 2; +#X obj 716 464 del 3; +#X obj 312 269 del 3; +#X obj 1261 363 del 3; +#X obj 768 711 *~; +#X obj 332 451 /~ 7; +#X msg 99 416 1 0.1; +#X obj 257 591 *~; +#X obj 383 489 pipe 3; +#X obj 383 510 - 1; +#X obj 383 531 / 126; +#X obj 361 473 sel 0; +#X msg 383 552 1 \$1; +#X obj 383 573 -; +#X obj 383 594 * -30; +#X obj 383 615 + 100; +#X obj 383 636 dbtorms; +#X msg 231 339 8; +#X obj 94 140 inlet; +#X obj 242 710 outlet~; +#X obj 72 225 pack f f; +#X msg 72 246 \$2 \$1; +#X connect 0 0 87 0; +#X connect 0 1 1 0; +#X connect 0 1 100 0; +#X connect 1 0 51 0; +#X connect 1 0 109 1; +#X connect 2 0 49 0; +#X connect 2 0 13 0; +#X connect 2 0 88 0; +#X connect 3 0 4 0; +#X connect 4 0 18 0; +#X connect 4 0 39 0; +#X connect 5 0 6 0; +#X connect 5 1 95 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 11 0; +#X connect 10 0 17 0; +#X connect 11 0 12 0; +#X connect 12 0 10 1; +#X connect 13 0 14 0; +#X connect 13 0 35 0; +#X connect 13 0 38 0; +#X connect 14 0 15 0; +#X connect 15 0 17 1; +#X connect 16 0 13 1; +#X connect 17 0 96 0; +#X connect 18 0 7 1; +#X connect 19 0 20 0; +#X connect 19 1 90 0; +#X connect 20 0 22 0; +#X connect 21 0 22 0; +#X connect 22 0 23 1; +#X connect 22 0 93 1; +#X connect 23 0 61 0; +#X connect 23 0 42 0; +#X connect 24 0 25 0; +#X connect 24 1 32 0; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 28 1 30 0; +#X connect 29 0 45 1; +#X connect 30 0 31 0; +#X connect 31 0 29 1; +#X connect 32 0 28 0; +#X connect 33 0 34 0; +#X connect 34 0 43 0; +#X connect 35 0 33 0; +#X connect 36 0 37 0; +#X connect 37 0 40 0; +#X connect 38 0 36 0; +#X connect 39 0 26 1; +#X connect 40 0 44 1; +#X connect 41 0 28 0; +#X connect 42 0 108 0; +#X connect 43 0 44 0; +#X connect 44 0 45 0; +#X connect 45 0 94 0; +#X connect 46 0 2 0; +#X connect 46 1 47 0; +#X connect 47 0 48 0; +#X connect 48 0 7 0; +#X connect 48 1 3 0; +#X connect 48 2 106 0; +#X connect 49 0 5 0; +#X connect 49 0 24 0; +#X connect 49 1 3 0; +#X connect 49 2 50 0; +#X connect 50 0 18 1; +#X connect 51 0 19 0; +#X connect 51 0 83 0; +#X connect 51 0 91 0; +#X connect 52 0 54 1; +#X connect 53 0 54 0; +#X connect 54 0 60 0; +#X connect 55 0 64 0; +#X connect 55 0 66 0; +#X connect 56 0 57 0; +#X connect 57 0 59 1; +#X connect 58 0 59 0; +#X connect 59 0 55 1; +#X connect 60 0 55 0; +#X connect 61 0 80 0; +#X connect 62 0 52 0; +#X connect 63 0 70 0; +#X connect 64 0 69 0; +#X connect 65 0 69 1; +#X connect 66 0 67 0; +#X connect 67 0 65 0; +#X connect 68 0 67 1; +#X connect 69 0 82 0; +#X connect 70 0 62 0; +#X connect 76 0 63 1; +#X connect 77 0 52 1; +#X connect 77 0 57 1; +#X connect 78 0 65 1; +#X connect 79 0 64 1; +#X connect 80 0 63 0; +#X connect 81 0 80 1; +#X connect 82 0 93 0; +#X connect 83 0 89 0; +#X connect 83 1 92 0; +#X connect 84 0 80 1; +#X connect 84 0 82 1; +#X connect 85 0 84 0; +#X connect 86 0 84 0; +#X connect 87 0 109 0; +#X connect 88 0 82 1; +#X connect 89 0 86 0; +#X connect 90 0 21 0; +#X connect 91 0 16 0; +#X connect 92 0 85 0; +#X connect 93 0 42 0; +#X connect 94 0 96 0; +#X connect 95 0 9 0; +#X connect 96 0 23 0; +#X connect 97 0 98 0; +#X connect 98 0 99 0; +#X connect 99 0 101 0; +#X connect 100 1 97 0; +#X connect 101 0 102 0; +#X connect 102 0 103 0; +#X connect 103 0 104 0; +#X connect 104 0 105 0; +#X connect 105 0 96 1; +#X connect 106 0 18 1; +#X connect 107 0 0 0; +#X connect 109 0 110 0; +#X connect 110 0 46 0; +#X restore 132 213 pd voice; +#X obj 192 171 r \$0-poly; +#N canvas 0 23 1550 839 voice 0; +#X obj 72 173 unpack f f; +#X obj 129 194 > 0; +#X obj 72 297 mtof; +#X msg 117 353 1000 \$1; +#X obj 117 374 /; +#X obj 72 395 t b b; +#X obj 72 437 del 2; +#X obj 72 458 pack f f; +#X msg 72 479 0 \$2; +#X obj 72 500 unpack f f; +#X obj 72 556 lop~; +#X msg 129 521 1000 \$1; +#X obj 129 542 /; +#X obj 272 311 phasor~; +#X obj 272 332 -~ 0.25; +#X obj 272 353 cos~; +#X msg 311 290 0; +#X obj 257 570 *~; +#X obj 117 395 * 2048; +#X obj 689 443 t b b; +#X msg 689 485 0 1; +#X msg 716 485 1 0; +#X obj 689 506 line~; +#X obj 240 633 *~; +#X obj 599 262 t b b; +#X obj 599 304 del 2; +#X obj 599 325 pack f f; +#X msg 599 346 0 \$2; +#X obj 599 367 unpack f f; +#X obj 599 423 lop~; +#X msg 656 388 1000 \$1; +#X obj 656 409 /; +#X msg 626 283 1 1; +#X obj 332 346 -~ 0.25; +#X obj 332 367 cos~; +#X obj 332 325 *~ 7; +#X obj 382 346 -~ 0.25; +#X obj 382 367 cos~; +#X obj 382 325 *~ 20; +#X obj 663 302 * 128; +#X obj 382 388 /~ 20; +#X msg 520 299 0 50; +#X obj 242 689 /~ 2; +#X obj 332 388 /~ 7; +#X obj 332 409 +~; +#X obj 332 430 *~; +#X obj 72 276 route 1 0; +#X obj 192 297 mtof; +#X obj 192 318 t b f b; +#X obj 72 318 t b f b; +#X msg 150 332 2048; +#X obj 311 248 sel 1; +#X obj 821 505 *~; +#X obj 800 526 sig~ 2; +#X obj 800 547 pow~; +#X obj 800 589 *~; +#X obj 894 512 sig~ 2; +#X obj 894 533 pow~; +#X obj 879 554 sig~ 1; +#X obj 879 575 /~; +#X obj 800 568 -~ 1; +#X obj 821 365 *~ 0.707946; +#N canvas 4 23 162 227 hv.tanh 0; +#X obj 12 12 inlet~; +#X obj 12 38 clip~ -3 3; +#X obj 27 64 *~; +#X obj 12 192 outlet~; +#X obj 27 140 /~; +#X obj 12 166 *~; +#X obj 67 90 *~ 9; +#X obj 27 90 +~ 27; +#X obj 67 116 +~ 27; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 2 1; +#X connect 1 0 5 0; +#X connect 2 0 7 0; +#X connect 2 0 6 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 8 0; +#X connect 7 0 4 0; +#X connect 8 0 4 1; +#X restore 821 484 pd hv.tanh; +#X obj 821 443 *~; +#X obj 768 648 *~; +#X obj 897 655 *~; +#X obj 897 603 pow~ 4; +#X obj 897 634 *~ -1; +#X obj 947 620 r \$0-buz-pha; +#X obj 768 669 +~; +#X obj 821 463 +~; +#X text 915 471 //Pickup Symmetry; +#X text 947 580 //Buzz Phase; +#X text 947 600 //Buzz Level; +#X text 921 409 //Pickup Input; +#X text 800 614 //Pickup Level; +#X obj 921 429 sig~ 5; +#X obj 915 491 sig~ 5; +#X obj 947 641 sig~ 0.5; +#X obj 800 634 sig~ 1; +#N canvas 0 23 450 300 lowpass~ 0; +#N canvas 1006 332 706 367 lowpass.coeffs 0; +#X obj 12 45 inlet~ freq; +#X obj 288 50 inlet~ q; +#X obj 12 67 clip~ 20 20000; +#X obj 273 94 sig~ 1; +#X obj 273 116 /~; +#X obj 273 138 *~; +#X obj 273 160 *~ 0.5; +#X obj 12 261 sig~ 1; +#X obj 12 283 /~; +#X obj 122 297 *~; +#X obj 137 275 *~ 0.5; +#X obj 122 319 outlet~ b0; +#X obj 192 297 *~; +#X obj 192 319 outlet~ b1; +#X obj 262 297 *~; +#X obj 262 319 outlet~ b2; +#X obj 332 297 *~; +#X obj 347 253 *~ -2; +#X obj 332 319 outlet~ a1; +#X obj 417 231 sig~ 1; +#X obj 417 253 -~; +#X obj 402 297 *~; +#X obj 402 319 outlet~ a2; +#X obj 57 266 +~ 1; +#X text 363 162 w0 = 2*pi*f0*Fs; +#X text 363 182 alpha = sin(w0)/(2*Q); +#X text 527 237 a2 = 1 - alpha; +#X text 527 217 a1 = -2*cos(w0); +#X text 392 72 H(z) = -----------------------------------------; +#X text 392 32 Audio-Cookbook:; +#X text 392 112 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 137 231 sig~ 1; +#X obj 137 253 -~; +#X obj 207 231 sig~ 1; +#X obj 207 253 -~; +#X obj 277 275 *~ 0.5; +#X obj 277 231 sig~ 1; +#X obj 277 253 -~; +#X text 434 87 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 434 57 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 527 197 a0 = 1 + alpha; +#X text 527 257 b0 = (1 - cos(w0))/2; +#X text 527 277 b1 = (1 - cos(w0)); +#X text 527 297 b2 = (1 - cos(w0))/2; +#X text 517 177 LPF:; +#X obj 12 88 /~ 44100; +#X obj 105 53 loadbang; +#X obj 105 74 samplerate~; +#X obj 288 72 max~ 0.1; +#X obj 117 103 -~ 0.25; +#X obj 117 124 cos~; +#X obj 12 239 cos~; +#X connect 0 0 2 0; +#X connect 1 0 48 0; +#X connect 2 0 45 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 20 1; +#X connect 6 0 23 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 0 12 0; +#X connect 8 0 14 0; +#X connect 8 0 16 0; +#X connect 8 0 21 0; +#X connect 9 0 11 0; +#X connect 10 0 9 1; +#X connect 12 0 13 0; +#X connect 14 0 15 0; +#X connect 16 0 18 0; +#X connect 17 0 16 1; +#X connect 19 0 20 0; +#X connect 20 0 21 1; +#X connect 21 0 22 0; +#X connect 23 0 8 1; +#X connect 31 0 32 0; +#X connect 32 0 10 0; +#X connect 33 0 34 0; +#X connect 34 0 12 1; +#X connect 35 0 14 1; +#X connect 36 0 37 0; +#X connect 37 0 35 0; +#X connect 45 0 51 0; +#X connect 45 0 49 0; +#X connect 46 0 47 0; +#X connect 47 0 45 1; +#X connect 48 0 4 1; +#X connect 49 0 50 0; +#X connect 50 0 5 1; +#X connect 51 0 32 1; +#X connect 51 0 34 1; +#X connect 51 0 37 1; +#X connect 51 0 17 0; +#X restore 62 52 pd lowpass.coeffs; +#X obj 46 120 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 99 pd @hv_obj biquad; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 173 11 q; +#X obj 173 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 821 407 pd lowpass~; +#X obj 884 386 sig~ 1000; +#N canvas 0 23 450 300 highpass~ 0; +#N canvas 200 23 682 315 highpass.coeffs 0; +#X obj 12 46 clip~ 20 20000; +#X obj 283 51 clip~ 0.1 100; +#X obj 268 73 sig~ 1; +#X obj 268 95 /~; +#X obj 268 117 *~; +#X obj 268 139 *~ 0.5; +#X obj 12 215 sig~ 1; +#X obj 12 237 /~; +#X obj 122 254 *~; +#X obj 137 200 +~ 1; +#X obj 137 232 *~ 0.5; +#X obj 122 276 outlet~ b0; +#X obj 192 254 *~; +#X obj 207 200 +~ 1; +#X obj 192 276 outlet~ b1; +#X obj 207 232 *~ -1; +#X obj 262 254 *~; +#X obj 277 200 +~ 1; +#X obj 277 232 *~ 0.5; +#X obj 262 276 outlet~ b2; +#X obj 332 254 *~; +#X obj 347 200 *~ -2; +#X obj 332 276 outlet~ a1; +#X obj 417 210 sig~ 1; +#X obj 417 232 -~; +#X obj 402 254 *~; +#X obj 402 276 outlet~ a2; +#X obj 57 220 +~ 1; +#X text 348 141 w0 = 2*pi*f0*Fs; +#X text 348 161 alpha = sin(w0)/(2*Q); +#X text 512 176 a0 = 1 + alpha; +#X text 512 216 a2 = 1 - alpha; +#X text 512 196 a1 = -2*cos(w0); +#X text 512 256 b1 = -(1 + cos(w0)); +#X text 512 236 b0 = (1 + cos(w0))/2; +#X text 502 156 HPF:; +#X text 512 276 b2 = (1 + cos(w0))/2; +#X text 419 36 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 377 51 H(z) = -----------------------------------------; +#X text 419 66 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 377 11 Audio-Cookbook:; +#X text 377 91 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 12 24 inlet~; +#X obj 283 29 inlet~; +#X obj 12 67 /~ 44100; +#X obj 105 32 loadbang; +#X obj 105 53 samplerate~; +#X obj 122 83 -~ 0.25; +#X obj 122 103 cos~; +#X obj 12 186 cos~; +#X connect 0 0 44 0; +#X connect 1 0 3 1; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 24 1; +#X connect 5 0 27 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 0 12 0; +#X connect 7 0 16 0; +#X connect 7 0 20 0; +#X connect 7 0 25 0; +#X connect 8 0 11 0; +#X connect 9 0 10 0; +#X connect 10 0 8 1; +#X connect 12 0 14 0; +#X connect 13 0 15 0; +#X connect 15 0 12 1; +#X connect 16 0 19 0; +#X connect 17 0 18 0; +#X connect 18 0 16 1; +#X connect 20 0 22 0; +#X connect 21 0 20 1; +#X connect 23 0 24 0; +#X connect 24 0 25 1; +#X connect 25 0 26 0; +#X connect 27 0 7 1; +#X connect 42 0 0 0; +#X connect 43 0 1 0; +#X connect 44 0 47 0; +#X connect 44 0 49 0; +#X connect 45 0 46 0; +#X connect 46 0 44 1; +#X connect 47 0 48 0; +#X connect 48 0 4 1; +#X connect 49 0 9 0; +#X connect 49 0 13 0; +#X connect 49 0 17 0; +#X connect 49 0 21 0; +#X restore 62 52 pd highpass.coeffs; +#X obj 46 109 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 88 pd @hv_obj biquad; +#X obj 12 20 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 167 11 q; +#X obj 167 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 768 690 pd highpass~; +#X obj 1214 342 t b b; +#X obj 1214 405 line~; +#X msg 1261 384 0 0; +#X msg 1214 384 20000 0; +#X obj 72 194 pipe 3; +#X obj 672 600 sig~; +#X obj 1214 363 del 2; +#X obj 716 464 del 3; +#X obj 312 269 del 3; +#X obj 1261 363 del 3; +#X obj 768 711 *~; +#X obj 332 451 /~ 7; +#X msg 99 416 1 0.1; +#X obj 257 591 *~; +#X obj 383 489 pipe 3; +#X obj 383 510 - 1; +#X obj 383 531 / 126; +#X obj 361 473 sel 0; +#X msg 383 552 1 \$1; +#X obj 383 573 -; +#X obj 383 594 * -30; +#X obj 383 615 + 100; +#X obj 383 636 dbtorms; +#X msg 231 339 8; +#X obj 94 140 inlet; +#X obj 242 710 outlet~; +#X obj 72 225 pack f f; +#X msg 72 246 \$2 \$1; +#X connect 0 0 87 0; +#X connect 0 1 1 0; +#X connect 0 1 100 0; +#X connect 1 0 51 0; +#X connect 1 0 109 1; +#X connect 2 0 49 0; +#X connect 2 0 13 0; +#X connect 2 0 88 0; +#X connect 3 0 4 0; +#X connect 4 0 18 0; +#X connect 4 0 39 0; +#X connect 5 0 6 0; +#X connect 5 1 95 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 11 0; +#X connect 10 0 17 0; +#X connect 11 0 12 0; +#X connect 12 0 10 1; +#X connect 13 0 14 0; +#X connect 13 0 35 0; +#X connect 13 0 38 0; +#X connect 14 0 15 0; +#X connect 15 0 17 1; +#X connect 16 0 13 1; +#X connect 17 0 96 0; +#X connect 18 0 7 1; +#X connect 19 0 20 0; +#X connect 19 1 90 0; +#X connect 20 0 22 0; +#X connect 21 0 22 0; +#X connect 22 0 23 1; +#X connect 22 0 93 1; +#X connect 23 0 61 0; +#X connect 23 0 42 0; +#X connect 24 0 25 0; +#X connect 24 1 32 0; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 28 1 30 0; +#X connect 29 0 45 1; +#X connect 30 0 31 0; +#X connect 31 0 29 1; +#X connect 32 0 28 0; +#X connect 33 0 34 0; +#X connect 34 0 43 0; +#X connect 35 0 33 0; +#X connect 36 0 37 0; +#X connect 37 0 40 0; +#X connect 38 0 36 0; +#X connect 39 0 26 1; +#X connect 40 0 44 1; +#X connect 41 0 28 0; +#X connect 42 0 108 0; +#X connect 43 0 44 0; +#X connect 44 0 45 0; +#X connect 45 0 94 0; +#X connect 46 0 2 0; +#X connect 46 1 47 0; +#X connect 47 0 48 0; +#X connect 48 0 7 0; +#X connect 48 1 3 0; +#X connect 48 2 106 0; +#X connect 49 0 5 0; +#X connect 49 0 24 0; +#X connect 49 1 3 0; +#X connect 49 2 50 0; +#X connect 50 0 18 1; +#X connect 51 0 19 0; +#X connect 51 0 83 0; +#X connect 51 0 91 0; +#X connect 52 0 54 1; +#X connect 53 0 54 0; +#X connect 54 0 60 0; +#X connect 55 0 64 0; +#X connect 55 0 66 0; +#X connect 56 0 57 0; +#X connect 57 0 59 1; +#X connect 58 0 59 0; +#X connect 59 0 55 1; +#X connect 60 0 55 0; +#X connect 61 0 80 0; +#X connect 62 0 52 0; +#X connect 63 0 70 0; +#X connect 64 0 69 0; +#X connect 65 0 69 1; +#X connect 66 0 67 0; +#X connect 67 0 65 0; +#X connect 68 0 67 1; +#X connect 69 0 82 0; +#X connect 70 0 62 0; +#X connect 76 0 63 1; +#X connect 77 0 52 1; +#X connect 77 0 57 1; +#X connect 78 0 65 1; +#X connect 79 0 64 1; +#X connect 80 0 63 0; +#X connect 81 0 80 1; +#X connect 82 0 93 0; +#X connect 83 0 89 0; +#X connect 83 1 92 0; +#X connect 84 0 80 1; +#X connect 84 0 82 1; +#X connect 85 0 84 0; +#X connect 86 0 84 0; +#X connect 87 0 109 0; +#X connect 88 0 82 1; +#X connect 89 0 86 0; +#X connect 90 0 21 0; +#X connect 91 0 16 0; +#X connect 92 0 85 0; +#X connect 93 0 42 0; +#X connect 94 0 96 0; +#X connect 95 0 9 0; +#X connect 96 0 23 0; +#X connect 97 0 98 0; +#X connect 98 0 99 0; +#X connect 99 0 101 0; +#X connect 100 1 97 0; +#X connect 101 0 102 0; +#X connect 102 0 103 0; +#X connect 103 0 104 0; +#X connect 104 0 105 0; +#X connect 105 0 96 1; +#X connect 106 0 18 1; +#X connect 107 0 0 0; +#X connect 109 0 110 0; +#X connect 110 0 46 0; +#X restore 192 213 pd voice; +#X obj 252 171 r \$0-poly; +#N canvas 0 23 1550 839 voice 0; +#X obj 72 173 unpack f f; +#X obj 129 194 > 0; +#X obj 72 297 mtof; +#X msg 117 353 1000 \$1; +#X obj 117 374 /; +#X obj 72 395 t b b; +#X obj 72 437 del 2; +#X obj 72 458 pack f f; +#X msg 72 479 0 \$2; +#X obj 72 500 unpack f f; +#X obj 72 556 lop~; +#X msg 129 521 1000 \$1; +#X obj 129 542 /; +#X obj 272 311 phasor~; +#X obj 272 332 -~ 0.25; +#X obj 272 353 cos~; +#X msg 311 290 0; +#X obj 257 570 *~; +#X obj 117 395 * 2048; +#X obj 689 443 t b b; +#X msg 689 485 0 1; +#X msg 716 485 1 0; +#X obj 689 506 line~; +#X obj 240 633 *~; +#X obj 599 262 t b b; +#X obj 599 304 del 2; +#X obj 599 325 pack f f; +#X msg 599 346 0 \$2; +#X obj 599 367 unpack f f; +#X obj 599 423 lop~; +#X msg 656 388 1000 \$1; +#X obj 656 409 /; +#X msg 626 283 1 1; +#X obj 332 346 -~ 0.25; +#X obj 332 367 cos~; +#X obj 332 325 *~ 7; +#X obj 382 346 -~ 0.25; +#X obj 382 367 cos~; +#X obj 382 325 *~ 20; +#X obj 663 302 * 128; +#X obj 382 388 /~ 20; +#X msg 520 299 0 50; +#X obj 242 689 /~ 2; +#X obj 332 388 /~ 7; +#X obj 332 409 +~; +#X obj 332 430 *~; +#X obj 72 276 route 1 0; +#X obj 192 297 mtof; +#X obj 192 318 t b f b; +#X obj 72 318 t b f b; +#X msg 150 332 2048; +#X obj 311 248 sel 1; +#X obj 821 505 *~; +#X obj 800 526 sig~ 2; +#X obj 800 547 pow~; +#X obj 800 589 *~; +#X obj 894 512 sig~ 2; +#X obj 894 533 pow~; +#X obj 879 554 sig~ 1; +#X obj 879 575 /~; +#X obj 800 568 -~ 1; +#X obj 821 365 *~ 0.707946; +#N canvas 4 23 162 227 hv.tanh 0; +#X obj 12 12 inlet~; +#X obj 12 38 clip~ -3 3; +#X obj 27 64 *~; +#X obj 12 192 outlet~; +#X obj 27 140 /~; +#X obj 12 166 *~; +#X obj 67 90 *~ 9; +#X obj 27 90 +~ 27; +#X obj 67 116 +~ 27; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 2 1; +#X connect 1 0 5 0; +#X connect 2 0 7 0; +#X connect 2 0 6 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 8 0; +#X connect 7 0 4 0; +#X connect 8 0 4 1; +#X restore 821 484 pd hv.tanh; +#X obj 821 443 *~; +#X obj 768 648 *~; +#X obj 897 655 *~; +#X obj 897 603 pow~ 4; +#X obj 897 634 *~ -1; +#X obj 947 620 r \$0-buz-pha; +#X obj 768 669 +~; +#X obj 821 463 +~; +#X text 915 471 //Pickup Symmetry; +#X text 947 580 //Buzz Phase; +#X text 947 600 //Buzz Level; +#X text 921 409 //Pickup Input; +#X text 800 614 //Pickup Level; +#X obj 921 429 sig~ 5; +#X obj 915 491 sig~ 5; +#X obj 947 641 sig~ 0.5; +#X obj 800 634 sig~ 1; +#N canvas 0 23 450 300 lowpass~ 0; +#N canvas 1006 332 706 367 lowpass.coeffs 0; +#X obj 12 45 inlet~ freq; +#X obj 288 50 inlet~ q; +#X obj 12 67 clip~ 20 20000; +#X obj 273 94 sig~ 1; +#X obj 273 116 /~; +#X obj 273 138 *~; +#X obj 273 160 *~ 0.5; +#X obj 12 261 sig~ 1; +#X obj 12 283 /~; +#X obj 122 297 *~; +#X obj 137 275 *~ 0.5; +#X obj 122 319 outlet~ b0; +#X obj 192 297 *~; +#X obj 192 319 outlet~ b1; +#X obj 262 297 *~; +#X obj 262 319 outlet~ b2; +#X obj 332 297 *~; +#X obj 347 253 *~ -2; +#X obj 332 319 outlet~ a1; +#X obj 417 231 sig~ 1; +#X obj 417 253 -~; +#X obj 402 297 *~; +#X obj 402 319 outlet~ a2; +#X obj 57 266 +~ 1; +#X text 363 162 w0 = 2*pi*f0*Fs; +#X text 363 182 alpha = sin(w0)/(2*Q); +#X text 527 237 a2 = 1 - alpha; +#X text 527 217 a1 = -2*cos(w0); +#X text 392 72 H(z) = -----------------------------------------; +#X text 392 32 Audio-Cookbook:; +#X text 392 112 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 137 231 sig~ 1; +#X obj 137 253 -~; +#X obj 207 231 sig~ 1; +#X obj 207 253 -~; +#X obj 277 275 *~ 0.5; +#X obj 277 231 sig~ 1; +#X obj 277 253 -~; +#X text 434 87 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 434 57 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 527 197 a0 = 1 + alpha; +#X text 527 257 b0 = (1 - cos(w0))/2; +#X text 527 277 b1 = (1 - cos(w0)); +#X text 527 297 b2 = (1 - cos(w0))/2; +#X text 517 177 LPF:; +#X obj 12 88 /~ 44100; +#X obj 105 53 loadbang; +#X obj 105 74 samplerate~; +#X obj 288 72 max~ 0.1; +#X obj 117 103 -~ 0.25; +#X obj 117 124 cos~; +#X obj 12 239 cos~; +#X connect 0 0 2 0; +#X connect 1 0 48 0; +#X connect 2 0 45 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 20 1; +#X connect 6 0 23 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 0 12 0; +#X connect 8 0 14 0; +#X connect 8 0 16 0; +#X connect 8 0 21 0; +#X connect 9 0 11 0; +#X connect 10 0 9 1; +#X connect 12 0 13 0; +#X connect 14 0 15 0; +#X connect 16 0 18 0; +#X connect 17 0 16 1; +#X connect 19 0 20 0; +#X connect 20 0 21 1; +#X connect 21 0 22 0; +#X connect 23 0 8 1; +#X connect 31 0 32 0; +#X connect 32 0 10 0; +#X connect 33 0 34 0; +#X connect 34 0 12 1; +#X connect 35 0 14 1; +#X connect 36 0 37 0; +#X connect 37 0 35 0; +#X connect 45 0 51 0; +#X connect 45 0 49 0; +#X connect 46 0 47 0; +#X connect 47 0 45 1; +#X connect 48 0 4 1; +#X connect 49 0 50 0; +#X connect 50 0 5 1; +#X connect 51 0 32 1; +#X connect 51 0 34 1; +#X connect 51 0 37 1; +#X connect 51 0 17 0; +#X restore 62 52 pd lowpass.coeffs; +#X obj 46 120 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 99 pd @hv_obj biquad; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 173 11 q; +#X obj 173 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 821 407 pd lowpass~; +#X obj 884 386 sig~ 1000; +#N canvas 0 23 450 300 highpass~ 0; +#N canvas 200 23 682 315 highpass.coeffs 0; +#X obj 12 46 clip~ 20 20000; +#X obj 283 51 clip~ 0.1 100; +#X obj 268 73 sig~ 1; +#X obj 268 95 /~; +#X obj 268 117 *~; +#X obj 268 139 *~ 0.5; +#X obj 12 215 sig~ 1; +#X obj 12 237 /~; +#X obj 122 254 *~; +#X obj 137 200 +~ 1; +#X obj 137 232 *~ 0.5; +#X obj 122 276 outlet~ b0; +#X obj 192 254 *~; +#X obj 207 200 +~ 1; +#X obj 192 276 outlet~ b1; +#X obj 207 232 *~ -1; +#X obj 262 254 *~; +#X obj 277 200 +~ 1; +#X obj 277 232 *~ 0.5; +#X obj 262 276 outlet~ b2; +#X obj 332 254 *~; +#X obj 347 200 *~ -2; +#X obj 332 276 outlet~ a1; +#X obj 417 210 sig~ 1; +#X obj 417 232 -~; +#X obj 402 254 *~; +#X obj 402 276 outlet~ a2; +#X obj 57 220 +~ 1; +#X text 348 141 w0 = 2*pi*f0*Fs; +#X text 348 161 alpha = sin(w0)/(2*Q); +#X text 512 176 a0 = 1 + alpha; +#X text 512 216 a2 = 1 - alpha; +#X text 512 196 a1 = -2*cos(w0); +#X text 512 256 b1 = -(1 + cos(w0)); +#X text 512 236 b0 = (1 + cos(w0))/2; +#X text 502 156 HPF:; +#X text 512 276 b2 = (1 + cos(w0))/2; +#X text 419 36 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 377 51 H(z) = -----------------------------------------; +#X text 419 66 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 377 11 Audio-Cookbook:; +#X text 377 91 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 12 24 inlet~; +#X obj 283 29 inlet~; +#X obj 12 67 /~ 44100; +#X obj 105 32 loadbang; +#X obj 105 53 samplerate~; +#X obj 122 83 -~ 0.25; +#X obj 122 103 cos~; +#X obj 12 186 cos~; +#X connect 0 0 44 0; +#X connect 1 0 3 1; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 24 1; +#X connect 5 0 27 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 0 12 0; +#X connect 7 0 16 0; +#X connect 7 0 20 0; +#X connect 7 0 25 0; +#X connect 8 0 11 0; +#X connect 9 0 10 0; +#X connect 10 0 8 1; +#X connect 12 0 14 0; +#X connect 13 0 15 0; +#X connect 15 0 12 1; +#X connect 16 0 19 0; +#X connect 17 0 18 0; +#X connect 18 0 16 1; +#X connect 20 0 22 0; +#X connect 21 0 20 1; +#X connect 23 0 24 0; +#X connect 24 0 25 1; +#X connect 25 0 26 0; +#X connect 27 0 7 1; +#X connect 42 0 0 0; +#X connect 43 0 1 0; +#X connect 44 0 47 0; +#X connect 44 0 49 0; +#X connect 45 0 46 0; +#X connect 46 0 44 1; +#X connect 47 0 48 0; +#X connect 48 0 4 1; +#X connect 49 0 9 0; +#X connect 49 0 13 0; +#X connect 49 0 17 0; +#X connect 49 0 21 0; +#X restore 62 52 pd highpass.coeffs; +#X obj 46 109 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 88 pd @hv_obj biquad; +#X obj 12 20 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 167 11 q; +#X obj 167 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 768 690 pd highpass~; +#X obj 1214 342 t b b; +#X obj 1214 405 line~; +#X msg 1261 384 0 0; +#X msg 1214 384 20000 0; +#X obj 72 194 pipe 3; +#X obj 672 600 sig~; +#X obj 1214 363 del 2; +#X obj 716 464 del 3; +#X obj 312 269 del 3; +#X obj 1261 363 del 3; +#X obj 768 711 *~; +#X obj 332 451 /~ 7; +#X msg 99 416 1 0.1; +#X obj 257 591 *~; +#X obj 383 489 pipe 3; +#X obj 383 510 - 1; +#X obj 383 531 / 126; +#X obj 361 473 sel 0; +#X msg 383 552 1 \$1; +#X obj 383 573 -; +#X obj 383 594 * -30; +#X obj 383 615 + 100; +#X obj 383 636 dbtorms; +#X msg 231 339 8; +#X obj 94 140 inlet; +#X obj 242 710 outlet~; +#X obj 72 225 pack f f; +#X msg 72 246 \$2 \$1; +#X connect 0 0 87 0; +#X connect 0 1 1 0; +#X connect 0 1 100 0; +#X connect 1 0 51 0; +#X connect 1 0 109 1; +#X connect 2 0 49 0; +#X connect 2 0 13 0; +#X connect 2 0 88 0; +#X connect 3 0 4 0; +#X connect 4 0 18 0; +#X connect 4 0 39 0; +#X connect 5 0 6 0; +#X connect 5 1 95 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 11 0; +#X connect 10 0 17 0; +#X connect 11 0 12 0; +#X connect 12 0 10 1; +#X connect 13 0 14 0; +#X connect 13 0 35 0; +#X connect 13 0 38 0; +#X connect 14 0 15 0; +#X connect 15 0 17 1; +#X connect 16 0 13 1; +#X connect 17 0 96 0; +#X connect 18 0 7 1; +#X connect 19 0 20 0; +#X connect 19 1 90 0; +#X connect 20 0 22 0; +#X connect 21 0 22 0; +#X connect 22 0 23 1; +#X connect 22 0 93 1; +#X connect 23 0 61 0; +#X connect 23 0 42 0; +#X connect 24 0 25 0; +#X connect 24 1 32 0; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 28 1 30 0; +#X connect 29 0 45 1; +#X connect 30 0 31 0; +#X connect 31 0 29 1; +#X connect 32 0 28 0; +#X connect 33 0 34 0; +#X connect 34 0 43 0; +#X connect 35 0 33 0; +#X connect 36 0 37 0; +#X connect 37 0 40 0; +#X connect 38 0 36 0; +#X connect 39 0 26 1; +#X connect 40 0 44 1; +#X connect 41 0 28 0; +#X connect 42 0 108 0; +#X connect 43 0 44 0; +#X connect 44 0 45 0; +#X connect 45 0 94 0; +#X connect 46 0 2 0; +#X connect 46 1 47 0; +#X connect 47 0 48 0; +#X connect 48 0 7 0; +#X connect 48 1 3 0; +#X connect 48 2 106 0; +#X connect 49 0 5 0; +#X connect 49 0 24 0; +#X connect 49 1 3 0; +#X connect 49 2 50 0; +#X connect 50 0 18 1; +#X connect 51 0 19 0; +#X connect 51 0 83 0; +#X connect 51 0 91 0; +#X connect 52 0 54 1; +#X connect 53 0 54 0; +#X connect 54 0 60 0; +#X connect 55 0 64 0; +#X connect 55 0 66 0; +#X connect 56 0 57 0; +#X connect 57 0 59 1; +#X connect 58 0 59 0; +#X connect 59 0 55 1; +#X connect 60 0 55 0; +#X connect 61 0 80 0; +#X connect 62 0 52 0; +#X connect 63 0 70 0; +#X connect 64 0 69 0; +#X connect 65 0 69 1; +#X connect 66 0 67 0; +#X connect 67 0 65 0; +#X connect 68 0 67 1; +#X connect 69 0 82 0; +#X connect 70 0 62 0; +#X connect 76 0 63 1; +#X connect 77 0 52 1; +#X connect 77 0 57 1; +#X connect 78 0 65 1; +#X connect 79 0 64 1; +#X connect 80 0 63 0; +#X connect 81 0 80 1; +#X connect 82 0 93 0; +#X connect 83 0 89 0; +#X connect 83 1 92 0; +#X connect 84 0 80 1; +#X connect 84 0 82 1; +#X connect 85 0 84 0; +#X connect 86 0 84 0; +#X connect 87 0 109 0; +#X connect 88 0 82 1; +#X connect 89 0 86 0; +#X connect 90 0 21 0; +#X connect 91 0 16 0; +#X connect 92 0 85 0; +#X connect 93 0 42 0; +#X connect 94 0 96 0; +#X connect 95 0 9 0; +#X connect 96 0 23 0; +#X connect 97 0 98 0; +#X connect 98 0 99 0; +#X connect 99 0 101 0; +#X connect 100 1 97 0; +#X connect 101 0 102 0; +#X connect 102 0 103 0; +#X connect 103 0 104 0; +#X connect 104 0 105 0; +#X connect 105 0 96 1; +#X connect 106 0 18 1; +#X connect 107 0 0 0; +#X connect 109 0 110 0; +#X connect 110 0 46 0; +#X restore 252 213 pd voice; +#X obj 312 171 r \$0-poly; +#N canvas 0 23 1550 839 voice 0; +#X obj 72 173 unpack f f; +#X obj 129 194 > 0; +#X obj 72 297 mtof; +#X msg 117 353 1000 \$1; +#X obj 117 374 /; +#X obj 72 395 t b b; +#X obj 72 437 del 2; +#X obj 72 458 pack f f; +#X msg 72 479 0 \$2; +#X obj 72 500 unpack f f; +#X obj 72 556 lop~; +#X msg 129 521 1000 \$1; +#X obj 129 542 /; +#X obj 272 311 phasor~; +#X obj 272 332 -~ 0.25; +#X obj 272 353 cos~; +#X msg 311 290 0; +#X obj 257 570 *~; +#X obj 117 395 * 2048; +#X obj 689 443 t b b; +#X msg 689 485 0 1; +#X msg 716 485 1 0; +#X obj 689 506 line~; +#X obj 240 633 *~; +#X obj 599 262 t b b; +#X obj 599 304 del 2; +#X obj 599 325 pack f f; +#X msg 599 346 0 \$2; +#X obj 599 367 unpack f f; +#X obj 599 423 lop~; +#X msg 656 388 1000 \$1; +#X obj 656 409 /; +#X msg 626 283 1 1; +#X obj 332 346 -~ 0.25; +#X obj 332 367 cos~; +#X obj 332 325 *~ 7; +#X obj 382 346 -~ 0.25; +#X obj 382 367 cos~; +#X obj 382 325 *~ 20; +#X obj 663 302 * 128; +#X obj 382 388 /~ 20; +#X msg 520 299 0 50; +#X obj 242 689 /~ 2; +#X obj 332 388 /~ 7; +#X obj 332 409 +~; +#X obj 332 430 *~; +#X obj 72 276 route 1 0; +#X obj 192 297 mtof; +#X obj 192 318 t b f b; +#X obj 72 318 t b f b; +#X msg 150 332 2048; +#X obj 311 248 sel 1; +#X obj 821 505 *~; +#X obj 800 526 sig~ 2; +#X obj 800 547 pow~; +#X obj 800 589 *~; +#X obj 894 512 sig~ 2; +#X obj 894 533 pow~; +#X obj 879 554 sig~ 1; +#X obj 879 575 /~; +#X obj 800 568 -~ 1; +#X obj 821 365 *~ 0.707946; +#N canvas 4 23 162 227 hv.tanh 0; +#X obj 12 12 inlet~; +#X obj 12 38 clip~ -3 3; +#X obj 27 64 *~; +#X obj 12 192 outlet~; +#X obj 27 140 /~; +#X obj 12 166 *~; +#X obj 67 90 *~ 9; +#X obj 27 90 +~ 27; +#X obj 67 116 +~ 27; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 2 1; +#X connect 1 0 5 0; +#X connect 2 0 7 0; +#X connect 2 0 6 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 8 0; +#X connect 7 0 4 0; +#X connect 8 0 4 1; +#X restore 821 484 pd hv.tanh; +#X obj 821 443 *~; +#X obj 768 648 *~; +#X obj 897 655 *~; +#X obj 897 603 pow~ 4; +#X obj 897 634 *~ -1; +#X obj 947 620 r \$0-buz-pha; +#X obj 768 669 +~; +#X obj 821 463 +~; +#X text 915 471 //Pickup Symmetry; +#X text 947 580 //Buzz Phase; +#X text 947 600 //Buzz Level; +#X text 921 409 //Pickup Input; +#X text 800 614 //Pickup Level; +#X obj 921 429 sig~ 5; +#X obj 915 491 sig~ 5; +#X obj 947 641 sig~ 0.5; +#X obj 800 634 sig~ 1; +#N canvas 0 23 450 300 lowpass~ 0; +#N canvas 1006 332 706 367 lowpass.coeffs 0; +#X obj 12 45 inlet~ freq; +#X obj 288 50 inlet~ q; +#X obj 12 67 clip~ 20 20000; +#X obj 273 94 sig~ 1; +#X obj 273 116 /~; +#X obj 273 138 *~; +#X obj 273 160 *~ 0.5; +#X obj 12 261 sig~ 1; +#X obj 12 283 /~; +#X obj 122 297 *~; +#X obj 137 275 *~ 0.5; +#X obj 122 319 outlet~ b0; +#X obj 192 297 *~; +#X obj 192 319 outlet~ b1; +#X obj 262 297 *~; +#X obj 262 319 outlet~ b2; +#X obj 332 297 *~; +#X obj 347 253 *~ -2; +#X obj 332 319 outlet~ a1; +#X obj 417 231 sig~ 1; +#X obj 417 253 -~; +#X obj 402 297 *~; +#X obj 402 319 outlet~ a2; +#X obj 57 266 +~ 1; +#X text 363 162 w0 = 2*pi*f0*Fs; +#X text 363 182 alpha = sin(w0)/(2*Q); +#X text 527 237 a2 = 1 - alpha; +#X text 527 217 a1 = -2*cos(w0); +#X text 392 72 H(z) = -----------------------------------------; +#X text 392 32 Audio-Cookbook:; +#X text 392 112 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 137 231 sig~ 1; +#X obj 137 253 -~; +#X obj 207 231 sig~ 1; +#X obj 207 253 -~; +#X obj 277 275 *~ 0.5; +#X obj 277 231 sig~ 1; +#X obj 277 253 -~; +#X text 434 87 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 434 57 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 527 197 a0 = 1 + alpha; +#X text 527 257 b0 = (1 - cos(w0))/2; +#X text 527 277 b1 = (1 - cos(w0)); +#X text 527 297 b2 = (1 - cos(w0))/2; +#X text 517 177 LPF:; +#X obj 12 88 /~ 44100; +#X obj 105 53 loadbang; +#X obj 105 74 samplerate~; +#X obj 288 72 max~ 0.1; +#X obj 117 103 -~ 0.25; +#X obj 117 124 cos~; +#X obj 12 239 cos~; +#X connect 0 0 2 0; +#X connect 1 0 48 0; +#X connect 2 0 45 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 20 1; +#X connect 6 0 23 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 0 12 0; +#X connect 8 0 14 0; +#X connect 8 0 16 0; +#X connect 8 0 21 0; +#X connect 9 0 11 0; +#X connect 10 0 9 1; +#X connect 12 0 13 0; +#X connect 14 0 15 0; +#X connect 16 0 18 0; +#X connect 17 0 16 1; +#X connect 19 0 20 0; +#X connect 20 0 21 1; +#X connect 21 0 22 0; +#X connect 23 0 8 1; +#X connect 31 0 32 0; +#X connect 32 0 10 0; +#X connect 33 0 34 0; +#X connect 34 0 12 1; +#X connect 35 0 14 1; +#X connect 36 0 37 0; +#X connect 37 0 35 0; +#X connect 45 0 51 0; +#X connect 45 0 49 0; +#X connect 46 0 47 0; +#X connect 47 0 45 1; +#X connect 48 0 4 1; +#X connect 49 0 50 0; +#X connect 50 0 5 1; +#X connect 51 0 32 1; +#X connect 51 0 34 1; +#X connect 51 0 37 1; +#X connect 51 0 17 0; +#X restore 62 52 pd lowpass.coeffs; +#X obj 46 120 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 99 pd @hv_obj biquad; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 173 11 q; +#X obj 173 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 821 407 pd lowpass~; +#X obj 884 386 sig~ 1000; +#N canvas 0 23 450 300 highpass~ 0; +#N canvas 200 23 682 315 highpass.coeffs 0; +#X obj 12 46 clip~ 20 20000; +#X obj 283 51 clip~ 0.1 100; +#X obj 268 73 sig~ 1; +#X obj 268 95 /~; +#X obj 268 117 *~; +#X obj 268 139 *~ 0.5; +#X obj 12 215 sig~ 1; +#X obj 12 237 /~; +#X obj 122 254 *~; +#X obj 137 200 +~ 1; +#X obj 137 232 *~ 0.5; +#X obj 122 276 outlet~ b0; +#X obj 192 254 *~; +#X obj 207 200 +~ 1; +#X obj 192 276 outlet~ b1; +#X obj 207 232 *~ -1; +#X obj 262 254 *~; +#X obj 277 200 +~ 1; +#X obj 277 232 *~ 0.5; +#X obj 262 276 outlet~ b2; +#X obj 332 254 *~; +#X obj 347 200 *~ -2; +#X obj 332 276 outlet~ a1; +#X obj 417 210 sig~ 1; +#X obj 417 232 -~; +#X obj 402 254 *~; +#X obj 402 276 outlet~ a2; +#X obj 57 220 +~ 1; +#X text 348 141 w0 = 2*pi*f0*Fs; +#X text 348 161 alpha = sin(w0)/(2*Q); +#X text 512 176 a0 = 1 + alpha; +#X text 512 216 a2 = 1 - alpha; +#X text 512 196 a1 = -2*cos(w0); +#X text 512 256 b1 = -(1 + cos(w0)); +#X text 512 236 b0 = (1 + cos(w0))/2; +#X text 502 156 HPF:; +#X text 512 276 b2 = (1 + cos(w0))/2; +#X text 419 36 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 377 51 H(z) = -----------------------------------------; +#X text 419 66 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 377 11 Audio-Cookbook:; +#X text 377 91 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 12 24 inlet~; +#X obj 283 29 inlet~; +#X obj 12 67 /~ 44100; +#X obj 105 32 loadbang; +#X obj 105 53 samplerate~; +#X obj 122 83 -~ 0.25; +#X obj 122 103 cos~; +#X obj 12 186 cos~; +#X connect 0 0 44 0; +#X connect 1 0 3 1; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 24 1; +#X connect 5 0 27 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 0 12 0; +#X connect 7 0 16 0; +#X connect 7 0 20 0; +#X connect 7 0 25 0; +#X connect 8 0 11 0; +#X connect 9 0 10 0; +#X connect 10 0 8 1; +#X connect 12 0 14 0; +#X connect 13 0 15 0; +#X connect 15 0 12 1; +#X connect 16 0 19 0; +#X connect 17 0 18 0; +#X connect 18 0 16 1; +#X connect 20 0 22 0; +#X connect 21 0 20 1; +#X connect 23 0 24 0; +#X connect 24 0 25 1; +#X connect 25 0 26 0; +#X connect 27 0 7 1; +#X connect 42 0 0 0; +#X connect 43 0 1 0; +#X connect 44 0 47 0; +#X connect 44 0 49 0; +#X connect 45 0 46 0; +#X connect 46 0 44 1; +#X connect 47 0 48 0; +#X connect 48 0 4 1; +#X connect 49 0 9 0; +#X connect 49 0 13 0; +#X connect 49 0 17 0; +#X connect 49 0 21 0; +#X restore 62 52 pd highpass.coeffs; +#X obj 46 109 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 88 pd @hv_obj biquad; +#X obj 12 20 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 167 11 q; +#X obj 167 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 768 690 pd highpass~; +#X obj 1214 342 t b b; +#X obj 1214 405 line~; +#X msg 1261 384 0 0; +#X msg 1214 384 20000 0; +#X obj 72 194 pipe 3; +#X obj 672 600 sig~; +#X obj 1214 363 del 2; +#X obj 716 464 del 3; +#X obj 312 269 del 3; +#X obj 1261 363 del 3; +#X obj 768 711 *~; +#X obj 332 451 /~ 7; +#X msg 99 416 1 0.1; +#X obj 257 591 *~; +#X obj 383 489 pipe 3; +#X obj 383 510 - 1; +#X obj 383 531 / 126; +#X obj 361 473 sel 0; +#X msg 383 552 1 \$1; +#X obj 383 573 -; +#X obj 383 594 * -30; +#X obj 383 615 + 100; +#X obj 383 636 dbtorms; +#X msg 231 339 8; +#X obj 94 140 inlet; +#X obj 242 710 outlet~; +#X obj 72 225 pack f f; +#X msg 72 246 \$2 \$1; +#X connect 0 0 87 0; +#X connect 0 1 1 0; +#X connect 0 1 100 0; +#X connect 1 0 51 0; +#X connect 1 0 109 1; +#X connect 2 0 49 0; +#X connect 2 0 13 0; +#X connect 2 0 88 0; +#X connect 3 0 4 0; +#X connect 4 0 18 0; +#X connect 4 0 39 0; +#X connect 5 0 6 0; +#X connect 5 1 95 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 11 0; +#X connect 10 0 17 0; +#X connect 11 0 12 0; +#X connect 12 0 10 1; +#X connect 13 0 14 0; +#X connect 13 0 35 0; +#X connect 13 0 38 0; +#X connect 14 0 15 0; +#X connect 15 0 17 1; +#X connect 16 0 13 1; +#X connect 17 0 96 0; +#X connect 18 0 7 1; +#X connect 19 0 20 0; +#X connect 19 1 90 0; +#X connect 20 0 22 0; +#X connect 21 0 22 0; +#X connect 22 0 23 1; +#X connect 22 0 93 1; +#X connect 23 0 61 0; +#X connect 23 0 42 0; +#X connect 24 0 25 0; +#X connect 24 1 32 0; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 28 1 30 0; +#X connect 29 0 45 1; +#X connect 30 0 31 0; +#X connect 31 0 29 1; +#X connect 32 0 28 0; +#X connect 33 0 34 0; +#X connect 34 0 43 0; +#X connect 35 0 33 0; +#X connect 36 0 37 0; +#X connect 37 0 40 0; +#X connect 38 0 36 0; +#X connect 39 0 26 1; +#X connect 40 0 44 1; +#X connect 41 0 28 0; +#X connect 42 0 108 0; +#X connect 43 0 44 0; +#X connect 44 0 45 0; +#X connect 45 0 94 0; +#X connect 46 0 2 0; +#X connect 46 1 47 0; +#X connect 47 0 48 0; +#X connect 48 0 7 0; +#X connect 48 1 3 0; +#X connect 48 2 106 0; +#X connect 49 0 5 0; +#X connect 49 0 24 0; +#X connect 49 1 3 0; +#X connect 49 2 50 0; +#X connect 50 0 18 1; +#X connect 51 0 19 0; +#X connect 51 0 83 0; +#X connect 51 0 91 0; +#X connect 52 0 54 1; +#X connect 53 0 54 0; +#X connect 54 0 60 0; +#X connect 55 0 64 0; +#X connect 55 0 66 0; +#X connect 56 0 57 0; +#X connect 57 0 59 1; +#X connect 58 0 59 0; +#X connect 59 0 55 1; +#X connect 60 0 55 0; +#X connect 61 0 80 0; +#X connect 62 0 52 0; +#X connect 63 0 70 0; +#X connect 64 0 69 0; +#X connect 65 0 69 1; +#X connect 66 0 67 0; +#X connect 67 0 65 0; +#X connect 68 0 67 1; +#X connect 69 0 82 0; +#X connect 70 0 62 0; +#X connect 76 0 63 1; +#X connect 77 0 52 1; +#X connect 77 0 57 1; +#X connect 78 0 65 1; +#X connect 79 0 64 1; +#X connect 80 0 63 0; +#X connect 81 0 80 1; +#X connect 82 0 93 0; +#X connect 83 0 89 0; +#X connect 83 1 92 0; +#X connect 84 0 80 1; +#X connect 84 0 82 1; +#X connect 85 0 84 0; +#X connect 86 0 84 0; +#X connect 87 0 109 0; +#X connect 88 0 82 1; +#X connect 89 0 86 0; +#X connect 90 0 21 0; +#X connect 91 0 16 0; +#X connect 92 0 85 0; +#X connect 93 0 42 0; +#X connect 94 0 96 0; +#X connect 95 0 9 0; +#X connect 96 0 23 0; +#X connect 97 0 98 0; +#X connect 98 0 99 0; +#X connect 99 0 101 0; +#X connect 100 1 97 0; +#X connect 101 0 102 0; +#X connect 102 0 103 0; +#X connect 103 0 104 0; +#X connect 104 0 105 0; +#X connect 105 0 96 1; +#X connect 106 0 18 1; +#X connect 107 0 0 0; +#X connect 109 0 110 0; +#X connect 110 0 46 0; +#X restore 312 213 pd voice; +#X obj 372 171 r \$0-poly; +#N canvas 0 23 1550 839 voice 0; +#X obj 72 173 unpack f f; +#X obj 129 194 > 0; +#X obj 72 297 mtof; +#X msg 117 353 1000 \$1; +#X obj 117 374 /; +#X obj 72 395 t b b; +#X obj 72 437 del 2; +#X obj 72 458 pack f f; +#X msg 72 479 0 \$2; +#X obj 72 500 unpack f f; +#X obj 72 556 lop~; +#X msg 129 521 1000 \$1; +#X obj 129 542 /; +#X obj 272 311 phasor~; +#X obj 272 332 -~ 0.25; +#X obj 272 353 cos~; +#X msg 311 290 0; +#X obj 257 570 *~; +#X obj 117 395 * 2048; +#X obj 689 443 t b b; +#X msg 689 485 0 1; +#X msg 716 485 1 0; +#X obj 689 506 line~; +#X obj 240 633 *~; +#X obj 599 262 t b b; +#X obj 599 304 del 2; +#X obj 599 325 pack f f; +#X msg 599 346 0 \$2; +#X obj 599 367 unpack f f; +#X obj 599 423 lop~; +#X msg 656 388 1000 \$1; +#X obj 656 409 /; +#X msg 626 283 1 1; +#X obj 332 346 -~ 0.25; +#X obj 332 367 cos~; +#X obj 332 325 *~ 7; +#X obj 382 346 -~ 0.25; +#X obj 382 367 cos~; +#X obj 382 325 *~ 20; +#X obj 663 302 * 128; +#X obj 382 388 /~ 20; +#X msg 520 299 0 50; +#X obj 242 689 /~ 2; +#X obj 332 388 /~ 7; +#X obj 332 409 +~; +#X obj 332 430 *~; +#X obj 72 276 route 1 0; +#X obj 192 297 mtof; +#X obj 192 318 t b f b; +#X obj 72 318 t b f b; +#X msg 150 332 2048; +#X obj 311 248 sel 1; +#X obj 821 505 *~; +#X obj 800 526 sig~ 2; +#X obj 800 547 pow~; +#X obj 800 589 *~; +#X obj 894 512 sig~ 2; +#X obj 894 533 pow~; +#X obj 879 554 sig~ 1; +#X obj 879 575 /~; +#X obj 800 568 -~ 1; +#X obj 821 365 *~ 0.707946; +#N canvas 4 23 162 227 hv.tanh 0; +#X obj 12 12 inlet~; +#X obj 12 38 clip~ -3 3; +#X obj 27 64 *~; +#X obj 12 192 outlet~; +#X obj 27 140 /~; +#X obj 12 166 *~; +#X obj 67 90 *~ 9; +#X obj 27 90 +~ 27; +#X obj 67 116 +~ 27; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 2 1; +#X connect 1 0 5 0; +#X connect 2 0 7 0; +#X connect 2 0 6 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 8 0; +#X connect 7 0 4 0; +#X connect 8 0 4 1; +#X restore 821 484 pd hv.tanh; +#X obj 821 443 *~; +#X obj 768 648 *~; +#X obj 897 655 *~; +#X obj 897 603 pow~ 4; +#X obj 897 634 *~ -1; +#X obj 947 620 r \$0-buz-pha; +#X obj 768 669 +~; +#X obj 821 463 +~; +#X text 915 471 //Pickup Symmetry; +#X text 947 580 //Buzz Phase; +#X text 947 600 //Buzz Level; +#X text 921 409 //Pickup Input; +#X text 800 614 //Pickup Level; +#X obj 921 429 sig~ 5; +#X obj 915 491 sig~ 5; +#X obj 947 641 sig~ 0.5; +#X obj 800 634 sig~ 1; +#N canvas 0 23 450 300 lowpass~ 0; +#N canvas 1006 332 706 367 lowpass.coeffs 0; +#X obj 12 45 inlet~ freq; +#X obj 288 50 inlet~ q; +#X obj 12 67 clip~ 20 20000; +#X obj 273 94 sig~ 1; +#X obj 273 116 /~; +#X obj 273 138 *~; +#X obj 273 160 *~ 0.5; +#X obj 12 261 sig~ 1; +#X obj 12 283 /~; +#X obj 122 297 *~; +#X obj 137 275 *~ 0.5; +#X obj 122 319 outlet~ b0; +#X obj 192 297 *~; +#X obj 192 319 outlet~ b1; +#X obj 262 297 *~; +#X obj 262 319 outlet~ b2; +#X obj 332 297 *~; +#X obj 347 253 *~ -2; +#X obj 332 319 outlet~ a1; +#X obj 417 231 sig~ 1; +#X obj 417 253 -~; +#X obj 402 297 *~; +#X obj 402 319 outlet~ a2; +#X obj 57 266 +~ 1; +#X text 363 162 w0 = 2*pi*f0*Fs; +#X text 363 182 alpha = sin(w0)/(2*Q); +#X text 527 237 a2 = 1 - alpha; +#X text 527 217 a1 = -2*cos(w0); +#X text 392 72 H(z) = -----------------------------------------; +#X text 392 32 Audio-Cookbook:; +#X text 392 112 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 137 231 sig~ 1; +#X obj 137 253 -~; +#X obj 207 231 sig~ 1; +#X obj 207 253 -~; +#X obj 277 275 *~ 0.5; +#X obj 277 231 sig~ 1; +#X obj 277 253 -~; +#X text 434 87 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 434 57 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 527 197 a0 = 1 + alpha; +#X text 527 257 b0 = (1 - cos(w0))/2; +#X text 527 277 b1 = (1 - cos(w0)); +#X text 527 297 b2 = (1 - cos(w0))/2; +#X text 517 177 LPF:; +#X obj 12 88 /~ 44100; +#X obj 105 53 loadbang; +#X obj 105 74 samplerate~; +#X obj 288 72 max~ 0.1; +#X obj 117 103 -~ 0.25; +#X obj 117 124 cos~; +#X obj 12 239 cos~; +#X connect 0 0 2 0; +#X connect 1 0 48 0; +#X connect 2 0 45 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 20 1; +#X connect 6 0 23 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 0 12 0; +#X connect 8 0 14 0; +#X connect 8 0 16 0; +#X connect 8 0 21 0; +#X connect 9 0 11 0; +#X connect 10 0 9 1; +#X connect 12 0 13 0; +#X connect 14 0 15 0; +#X connect 16 0 18 0; +#X connect 17 0 16 1; +#X connect 19 0 20 0; +#X connect 20 0 21 1; +#X connect 21 0 22 0; +#X connect 23 0 8 1; +#X connect 31 0 32 0; +#X connect 32 0 10 0; +#X connect 33 0 34 0; +#X connect 34 0 12 1; +#X connect 35 0 14 1; +#X connect 36 0 37 0; +#X connect 37 0 35 0; +#X connect 45 0 51 0; +#X connect 45 0 49 0; +#X connect 46 0 47 0; +#X connect 47 0 45 1; +#X connect 48 0 4 1; +#X connect 49 0 50 0; +#X connect 50 0 5 1; +#X connect 51 0 32 1; +#X connect 51 0 34 1; +#X connect 51 0 37 1; +#X connect 51 0 17 0; +#X restore 62 52 pd lowpass.coeffs; +#X obj 46 120 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 99 pd @hv_obj biquad; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 173 11 q; +#X obj 173 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 821 407 pd lowpass~; +#X obj 884 386 sig~ 1000; +#N canvas 0 23 450 300 highpass~ 0; +#N canvas 200 23 682 315 highpass.coeffs 0; +#X obj 12 46 clip~ 20 20000; +#X obj 283 51 clip~ 0.1 100; +#X obj 268 73 sig~ 1; +#X obj 268 95 /~; +#X obj 268 117 *~; +#X obj 268 139 *~ 0.5; +#X obj 12 215 sig~ 1; +#X obj 12 237 /~; +#X obj 122 254 *~; +#X obj 137 200 +~ 1; +#X obj 137 232 *~ 0.5; +#X obj 122 276 outlet~ b0; +#X obj 192 254 *~; +#X obj 207 200 +~ 1; +#X obj 192 276 outlet~ b1; +#X obj 207 232 *~ -1; +#X obj 262 254 *~; +#X obj 277 200 +~ 1; +#X obj 277 232 *~ 0.5; +#X obj 262 276 outlet~ b2; +#X obj 332 254 *~; +#X obj 347 200 *~ -2; +#X obj 332 276 outlet~ a1; +#X obj 417 210 sig~ 1; +#X obj 417 232 -~; +#X obj 402 254 *~; +#X obj 402 276 outlet~ a2; +#X obj 57 220 +~ 1; +#X text 348 141 w0 = 2*pi*f0*Fs; +#X text 348 161 alpha = sin(w0)/(2*Q); +#X text 512 176 a0 = 1 + alpha; +#X text 512 216 a2 = 1 - alpha; +#X text 512 196 a1 = -2*cos(w0); +#X text 512 256 b1 = -(1 + cos(w0)); +#X text 512 236 b0 = (1 + cos(w0))/2; +#X text 502 156 HPF:; +#X text 512 276 b2 = (1 + cos(w0))/2; +#X text 419 36 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 377 51 H(z) = -----------------------------------------; +#X text 419 66 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 377 11 Audio-Cookbook:; +#X text 377 91 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 12 24 inlet~; +#X obj 283 29 inlet~; +#X obj 12 67 /~ 44100; +#X obj 105 32 loadbang; +#X obj 105 53 samplerate~; +#X obj 122 83 -~ 0.25; +#X obj 122 103 cos~; +#X obj 12 186 cos~; +#X connect 0 0 44 0; +#X connect 1 0 3 1; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 24 1; +#X connect 5 0 27 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 0 12 0; +#X connect 7 0 16 0; +#X connect 7 0 20 0; +#X connect 7 0 25 0; +#X connect 8 0 11 0; +#X connect 9 0 10 0; +#X connect 10 0 8 1; +#X connect 12 0 14 0; +#X connect 13 0 15 0; +#X connect 15 0 12 1; +#X connect 16 0 19 0; +#X connect 17 0 18 0; +#X connect 18 0 16 1; +#X connect 20 0 22 0; +#X connect 21 0 20 1; +#X connect 23 0 24 0; +#X connect 24 0 25 1; +#X connect 25 0 26 0; +#X connect 27 0 7 1; +#X connect 42 0 0 0; +#X connect 43 0 1 0; +#X connect 44 0 47 0; +#X connect 44 0 49 0; +#X connect 45 0 46 0; +#X connect 46 0 44 1; +#X connect 47 0 48 0; +#X connect 48 0 4 1; +#X connect 49 0 9 0; +#X connect 49 0 13 0; +#X connect 49 0 17 0; +#X connect 49 0 21 0; +#X restore 62 52 pd highpass.coeffs; +#X obj 46 109 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 88 pd @hv_obj biquad; +#X obj 12 20 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 167 11 q; +#X obj 167 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 768 690 pd highpass~; +#X obj 1214 342 t b b; +#X obj 1214 405 line~; +#X msg 1261 384 0 0; +#X msg 1214 384 20000 0; +#X obj 72 194 pipe 3; +#X obj 672 600 sig~; +#X obj 1214 363 del 2; +#X obj 716 464 del 3; +#X obj 312 269 del 3; +#X obj 1261 363 del 3; +#X obj 768 711 *~; +#X obj 332 451 /~ 7; +#X msg 99 416 1 0.1; +#X obj 257 591 *~; +#X obj 383 489 pipe 3; +#X obj 383 510 - 1; +#X obj 383 531 / 126; +#X obj 361 473 sel 0; +#X msg 383 552 1 \$1; +#X obj 383 573 -; +#X obj 383 594 * -30; +#X obj 383 615 + 100; +#X obj 383 636 dbtorms; +#X msg 231 339 8; +#X obj 94 140 inlet; +#X obj 242 710 outlet~; +#X obj 72 225 pack f f; +#X msg 72 246 \$2 \$1; +#X connect 0 0 87 0; +#X connect 0 1 1 0; +#X connect 0 1 100 0; +#X connect 1 0 51 0; +#X connect 1 0 109 1; +#X connect 2 0 49 0; +#X connect 2 0 13 0; +#X connect 2 0 88 0; +#X connect 3 0 4 0; +#X connect 4 0 18 0; +#X connect 4 0 39 0; +#X connect 5 0 6 0; +#X connect 5 1 95 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 11 0; +#X connect 10 0 17 0; +#X connect 11 0 12 0; +#X connect 12 0 10 1; +#X connect 13 0 14 0; +#X connect 13 0 35 0; +#X connect 13 0 38 0; +#X connect 14 0 15 0; +#X connect 15 0 17 1; +#X connect 16 0 13 1; +#X connect 17 0 96 0; +#X connect 18 0 7 1; +#X connect 19 0 20 0; +#X connect 19 1 90 0; +#X connect 20 0 22 0; +#X connect 21 0 22 0; +#X connect 22 0 23 1; +#X connect 22 0 93 1; +#X connect 23 0 61 0; +#X connect 23 0 42 0; +#X connect 24 0 25 0; +#X connect 24 1 32 0; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 28 1 30 0; +#X connect 29 0 45 1; +#X connect 30 0 31 0; +#X connect 31 0 29 1; +#X connect 32 0 28 0; +#X connect 33 0 34 0; +#X connect 34 0 43 0; +#X connect 35 0 33 0; +#X connect 36 0 37 0; +#X connect 37 0 40 0; +#X connect 38 0 36 0; +#X connect 39 0 26 1; +#X connect 40 0 44 1; +#X connect 41 0 28 0; +#X connect 42 0 108 0; +#X connect 43 0 44 0; +#X connect 44 0 45 0; +#X connect 45 0 94 0; +#X connect 46 0 2 0; +#X connect 46 1 47 0; +#X connect 47 0 48 0; +#X connect 48 0 7 0; +#X connect 48 1 3 0; +#X connect 48 2 106 0; +#X connect 49 0 5 0; +#X connect 49 0 24 0; +#X connect 49 1 3 0; +#X connect 49 2 50 0; +#X connect 50 0 18 1; +#X connect 51 0 19 0; +#X connect 51 0 83 0; +#X connect 51 0 91 0; +#X connect 52 0 54 1; +#X connect 53 0 54 0; +#X connect 54 0 60 0; +#X connect 55 0 64 0; +#X connect 55 0 66 0; +#X connect 56 0 57 0; +#X connect 57 0 59 1; +#X connect 58 0 59 0; +#X connect 59 0 55 1; +#X connect 60 0 55 0; +#X connect 61 0 80 0; +#X connect 62 0 52 0; +#X connect 63 0 70 0; +#X connect 64 0 69 0; +#X connect 65 0 69 1; +#X connect 66 0 67 0; +#X connect 67 0 65 0; +#X connect 68 0 67 1; +#X connect 69 0 82 0; +#X connect 70 0 62 0; +#X connect 76 0 63 1; +#X connect 77 0 52 1; +#X connect 77 0 57 1; +#X connect 78 0 65 1; +#X connect 79 0 64 1; +#X connect 80 0 63 0; +#X connect 81 0 80 1; +#X connect 82 0 93 0; +#X connect 83 0 89 0; +#X connect 83 1 92 0; +#X connect 84 0 80 1; +#X connect 84 0 82 1; +#X connect 85 0 84 0; +#X connect 86 0 84 0; +#X connect 87 0 109 0; +#X connect 88 0 82 1; +#X connect 89 0 86 0; +#X connect 90 0 21 0; +#X connect 91 0 16 0; +#X connect 92 0 85 0; +#X connect 93 0 42 0; +#X connect 94 0 96 0; +#X connect 95 0 9 0; +#X connect 96 0 23 0; +#X connect 97 0 98 0; +#X connect 98 0 99 0; +#X connect 99 0 101 0; +#X connect 100 1 97 0; +#X connect 101 0 102 0; +#X connect 102 0 103 0; +#X connect 103 0 104 0; +#X connect 104 0 105 0; +#X connect 105 0 96 1; +#X connect 106 0 18 1; +#X connect 107 0 0 0; +#X connect 109 0 110 0; +#X connect 110 0 46 0; +#X restore 372 213 pd voice; +#X obj 432 171 r \$0-poly; +#N canvas 0 23 1550 839 voice 0; +#X obj 72 173 unpack f f; +#X obj 129 194 > 0; +#X obj 72 297 mtof; +#X msg 117 353 1000 \$1; +#X obj 117 374 /; +#X obj 72 395 t b b; +#X obj 72 437 del 2; +#X obj 72 458 pack f f; +#X msg 72 479 0 \$2; +#X obj 72 500 unpack f f; +#X obj 72 556 lop~; +#X msg 129 521 1000 \$1; +#X obj 129 542 /; +#X obj 272 311 phasor~; +#X obj 272 332 -~ 0.25; +#X obj 272 353 cos~; +#X msg 311 290 0; +#X obj 257 570 *~; +#X obj 117 395 * 2048; +#X obj 689 443 t b b; +#X msg 689 485 0 1; +#X msg 716 485 1 0; +#X obj 689 506 line~; +#X obj 240 633 *~; +#X obj 599 262 t b b; +#X obj 599 304 del 2; +#X obj 599 325 pack f f; +#X msg 599 346 0 \$2; +#X obj 599 367 unpack f f; +#X obj 599 423 lop~; +#X msg 656 388 1000 \$1; +#X obj 656 409 /; +#X msg 626 283 1 1; +#X obj 332 346 -~ 0.25; +#X obj 332 367 cos~; +#X obj 332 325 *~ 7; +#X obj 382 346 -~ 0.25; +#X obj 382 367 cos~; +#X obj 382 325 *~ 20; +#X obj 663 302 * 128; +#X obj 382 388 /~ 20; +#X msg 520 299 0 50; +#X obj 242 689 /~ 2; +#X obj 332 388 /~ 7; +#X obj 332 409 +~; +#X obj 332 430 *~; +#X obj 72 276 route 1 0; +#X obj 192 297 mtof; +#X obj 192 318 t b f b; +#X obj 72 318 t b f b; +#X msg 150 332 2048; +#X obj 311 248 sel 1; +#X obj 821 505 *~; +#X obj 800 526 sig~ 2; +#X obj 800 547 pow~; +#X obj 800 589 *~; +#X obj 894 512 sig~ 2; +#X obj 894 533 pow~; +#X obj 879 554 sig~ 1; +#X obj 879 575 /~; +#X obj 800 568 -~ 1; +#X obj 821 365 *~ 0.707946; +#N canvas 4 23 162 227 hv.tanh 0; +#X obj 12 12 inlet~; +#X obj 12 38 clip~ -3 3; +#X obj 27 64 *~; +#X obj 12 192 outlet~; +#X obj 27 140 /~; +#X obj 12 166 *~; +#X obj 67 90 *~ 9; +#X obj 27 90 +~ 27; +#X obj 67 116 +~ 27; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 2 1; +#X connect 1 0 5 0; +#X connect 2 0 7 0; +#X connect 2 0 6 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 8 0; +#X connect 7 0 4 0; +#X connect 8 0 4 1; +#X restore 821 484 pd hv.tanh; +#X obj 821 443 *~; +#X obj 768 648 *~; +#X obj 897 655 *~; +#X obj 897 603 pow~ 4; +#X obj 897 634 *~ -1; +#X obj 947 620 r \$0-buz-pha; +#X obj 768 669 +~; +#X obj 821 463 +~; +#X text 915 471 //Pickup Symmetry; +#X text 947 580 //Buzz Phase; +#X text 947 600 //Buzz Level; +#X text 921 409 //Pickup Input; +#X text 800 614 //Pickup Level; +#X obj 921 429 sig~ 5; +#X obj 915 491 sig~ 5; +#X obj 947 641 sig~ 0.5; +#X obj 800 634 sig~ 1; +#N canvas 0 23 450 300 lowpass~ 0; +#N canvas 1006 332 706 367 lowpass.coeffs 0; +#X obj 12 45 inlet~ freq; +#X obj 288 50 inlet~ q; +#X obj 12 67 clip~ 20 20000; +#X obj 273 94 sig~ 1; +#X obj 273 116 /~; +#X obj 273 138 *~; +#X obj 273 160 *~ 0.5; +#X obj 12 261 sig~ 1; +#X obj 12 283 /~; +#X obj 122 297 *~; +#X obj 137 275 *~ 0.5; +#X obj 122 319 outlet~ b0; +#X obj 192 297 *~; +#X obj 192 319 outlet~ b1; +#X obj 262 297 *~; +#X obj 262 319 outlet~ b2; +#X obj 332 297 *~; +#X obj 347 253 *~ -2; +#X obj 332 319 outlet~ a1; +#X obj 417 231 sig~ 1; +#X obj 417 253 -~; +#X obj 402 297 *~; +#X obj 402 319 outlet~ a2; +#X obj 57 266 +~ 1; +#X text 363 162 w0 = 2*pi*f0*Fs; +#X text 363 182 alpha = sin(w0)/(2*Q); +#X text 527 237 a2 = 1 - alpha; +#X text 527 217 a1 = -2*cos(w0); +#X text 392 72 H(z) = -----------------------------------------; +#X text 392 32 Audio-Cookbook:; +#X text 392 112 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 137 231 sig~ 1; +#X obj 137 253 -~; +#X obj 207 231 sig~ 1; +#X obj 207 253 -~; +#X obj 277 275 *~ 0.5; +#X obj 277 231 sig~ 1; +#X obj 277 253 -~; +#X text 434 87 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 434 57 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 527 197 a0 = 1 + alpha; +#X text 527 257 b0 = (1 - cos(w0))/2; +#X text 527 277 b1 = (1 - cos(w0)); +#X text 527 297 b2 = (1 - cos(w0))/2; +#X text 517 177 LPF:; +#X obj 12 88 /~ 44100; +#X obj 105 53 loadbang; +#X obj 105 74 samplerate~; +#X obj 288 72 max~ 0.1; +#X obj 117 103 -~ 0.25; +#X obj 117 124 cos~; +#X obj 12 239 cos~; +#X connect 0 0 2 0; +#X connect 1 0 48 0; +#X connect 2 0 45 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 20 1; +#X connect 6 0 23 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 0 12 0; +#X connect 8 0 14 0; +#X connect 8 0 16 0; +#X connect 8 0 21 0; +#X connect 9 0 11 0; +#X connect 10 0 9 1; +#X connect 12 0 13 0; +#X connect 14 0 15 0; +#X connect 16 0 18 0; +#X connect 17 0 16 1; +#X connect 19 0 20 0; +#X connect 20 0 21 1; +#X connect 21 0 22 0; +#X connect 23 0 8 1; +#X connect 31 0 32 0; +#X connect 32 0 10 0; +#X connect 33 0 34 0; +#X connect 34 0 12 1; +#X connect 35 0 14 1; +#X connect 36 0 37 0; +#X connect 37 0 35 0; +#X connect 45 0 51 0; +#X connect 45 0 49 0; +#X connect 46 0 47 0; +#X connect 47 0 45 1; +#X connect 48 0 4 1; +#X connect 49 0 50 0; +#X connect 50 0 5 1; +#X connect 51 0 32 1; +#X connect 51 0 34 1; +#X connect 51 0 37 1; +#X connect 51 0 17 0; +#X restore 62 52 pd lowpass.coeffs; +#X obj 46 120 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 99 pd @hv_obj biquad; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 173 11 q; +#X obj 173 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 821 407 pd lowpass~; +#X obj 884 386 sig~ 1000; +#N canvas 0 23 450 300 highpass~ 0; +#N canvas 200 23 682 315 highpass.coeffs 0; +#X obj 12 46 clip~ 20 20000; +#X obj 283 51 clip~ 0.1 100; +#X obj 268 73 sig~ 1; +#X obj 268 95 /~; +#X obj 268 117 *~; +#X obj 268 139 *~ 0.5; +#X obj 12 215 sig~ 1; +#X obj 12 237 /~; +#X obj 122 254 *~; +#X obj 137 200 +~ 1; +#X obj 137 232 *~ 0.5; +#X obj 122 276 outlet~ b0; +#X obj 192 254 *~; +#X obj 207 200 +~ 1; +#X obj 192 276 outlet~ b1; +#X obj 207 232 *~ -1; +#X obj 262 254 *~; +#X obj 277 200 +~ 1; +#X obj 277 232 *~ 0.5; +#X obj 262 276 outlet~ b2; +#X obj 332 254 *~; +#X obj 347 200 *~ -2; +#X obj 332 276 outlet~ a1; +#X obj 417 210 sig~ 1; +#X obj 417 232 -~; +#X obj 402 254 *~; +#X obj 402 276 outlet~ a2; +#X obj 57 220 +~ 1; +#X text 348 141 w0 = 2*pi*f0*Fs; +#X text 348 161 alpha = sin(w0)/(2*Q); +#X text 512 176 a0 = 1 + alpha; +#X text 512 216 a2 = 1 - alpha; +#X text 512 196 a1 = -2*cos(w0); +#X text 512 256 b1 = -(1 + cos(w0)); +#X text 512 236 b0 = (1 + cos(w0))/2; +#X text 502 156 HPF:; +#X text 512 276 b2 = (1 + cos(w0))/2; +#X text 419 36 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 377 51 H(z) = -----------------------------------------; +#X text 419 66 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 377 11 Audio-Cookbook:; +#X text 377 91 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 12 24 inlet~; +#X obj 283 29 inlet~; +#X obj 12 67 /~ 44100; +#X obj 105 32 loadbang; +#X obj 105 53 samplerate~; +#X obj 122 83 -~ 0.25; +#X obj 122 103 cos~; +#X obj 12 186 cos~; +#X connect 0 0 44 0; +#X connect 1 0 3 1; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 24 1; +#X connect 5 0 27 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 0 12 0; +#X connect 7 0 16 0; +#X connect 7 0 20 0; +#X connect 7 0 25 0; +#X connect 8 0 11 0; +#X connect 9 0 10 0; +#X connect 10 0 8 1; +#X connect 12 0 14 0; +#X connect 13 0 15 0; +#X connect 15 0 12 1; +#X connect 16 0 19 0; +#X connect 17 0 18 0; +#X connect 18 0 16 1; +#X connect 20 0 22 0; +#X connect 21 0 20 1; +#X connect 23 0 24 0; +#X connect 24 0 25 1; +#X connect 25 0 26 0; +#X connect 27 0 7 1; +#X connect 42 0 0 0; +#X connect 43 0 1 0; +#X connect 44 0 47 0; +#X connect 44 0 49 0; +#X connect 45 0 46 0; +#X connect 46 0 44 1; +#X connect 47 0 48 0; +#X connect 48 0 4 1; +#X connect 49 0 9 0; +#X connect 49 0 13 0; +#X connect 49 0 17 0; +#X connect 49 0 21 0; +#X restore 62 52 pd highpass.coeffs; +#X obj 46 109 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 88 pd @hv_obj biquad; +#X obj 12 20 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 167 11 q; +#X obj 167 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 768 690 pd highpass~; +#X obj 1214 342 t b b; +#X obj 1214 405 line~; +#X msg 1261 384 0 0; +#X msg 1214 384 20000 0; +#X obj 72 194 pipe 3; +#X obj 672 600 sig~; +#X obj 1214 363 del 2; +#X obj 716 464 del 3; +#X obj 312 269 del 3; +#X obj 1261 363 del 3; +#X obj 768 711 *~; +#X obj 332 451 /~ 7; +#X msg 99 416 1 0.1; +#X obj 257 591 *~; +#X obj 383 489 pipe 3; +#X obj 383 510 - 1; +#X obj 383 531 / 126; +#X obj 361 473 sel 0; +#X msg 383 552 1 \$1; +#X obj 383 573 -; +#X obj 383 594 * -30; +#X obj 383 615 + 100; +#X obj 383 636 dbtorms; +#X msg 231 339 8; +#X obj 94 140 inlet; +#X obj 242 710 outlet~; +#X obj 72 225 pack f f; +#X msg 72 246 \$2 \$1; +#X connect 0 0 87 0; +#X connect 0 1 1 0; +#X connect 0 1 100 0; +#X connect 1 0 51 0; +#X connect 1 0 109 1; +#X connect 2 0 49 0; +#X connect 2 0 13 0; +#X connect 2 0 88 0; +#X connect 3 0 4 0; +#X connect 4 0 18 0; +#X connect 4 0 39 0; +#X connect 5 0 6 0; +#X connect 5 1 95 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 11 0; +#X connect 10 0 17 0; +#X connect 11 0 12 0; +#X connect 12 0 10 1; +#X connect 13 0 14 0; +#X connect 13 0 35 0; +#X connect 13 0 38 0; +#X connect 14 0 15 0; +#X connect 15 0 17 1; +#X connect 16 0 13 1; +#X connect 17 0 96 0; +#X connect 18 0 7 1; +#X connect 19 0 20 0; +#X connect 19 1 90 0; +#X connect 20 0 22 0; +#X connect 21 0 22 0; +#X connect 22 0 23 1; +#X connect 22 0 93 1; +#X connect 23 0 61 0; +#X connect 23 0 42 0; +#X connect 24 0 25 0; +#X connect 24 1 32 0; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 28 1 30 0; +#X connect 29 0 45 1; +#X connect 30 0 31 0; +#X connect 31 0 29 1; +#X connect 32 0 28 0; +#X connect 33 0 34 0; +#X connect 34 0 43 0; +#X connect 35 0 33 0; +#X connect 36 0 37 0; +#X connect 37 0 40 0; +#X connect 38 0 36 0; +#X connect 39 0 26 1; +#X connect 40 0 44 1; +#X connect 41 0 28 0; +#X connect 42 0 108 0; +#X connect 43 0 44 0; +#X connect 44 0 45 0; +#X connect 45 0 94 0; +#X connect 46 0 2 0; +#X connect 46 1 47 0; +#X connect 47 0 48 0; +#X connect 48 0 7 0; +#X connect 48 1 3 0; +#X connect 48 2 106 0; +#X connect 49 0 5 0; +#X connect 49 0 24 0; +#X connect 49 1 3 0; +#X connect 49 2 50 0; +#X connect 50 0 18 1; +#X connect 51 0 19 0; +#X connect 51 0 83 0; +#X connect 51 0 91 0; +#X connect 52 0 54 1; +#X connect 53 0 54 0; +#X connect 54 0 60 0; +#X connect 55 0 64 0; +#X connect 55 0 66 0; +#X connect 56 0 57 0; +#X connect 57 0 59 1; +#X connect 58 0 59 0; +#X connect 59 0 55 1; +#X connect 60 0 55 0; +#X connect 61 0 80 0; +#X connect 62 0 52 0; +#X connect 63 0 70 0; +#X connect 64 0 69 0; +#X connect 65 0 69 1; +#X connect 66 0 67 0; +#X connect 67 0 65 0; +#X connect 68 0 67 1; +#X connect 69 0 82 0; +#X connect 70 0 62 0; +#X connect 76 0 63 1; +#X connect 77 0 52 1; +#X connect 77 0 57 1; +#X connect 78 0 65 1; +#X connect 79 0 64 1; +#X connect 80 0 63 0; +#X connect 81 0 80 1; +#X connect 82 0 93 0; +#X connect 83 0 89 0; +#X connect 83 1 92 0; +#X connect 84 0 80 1; +#X connect 84 0 82 1; +#X connect 85 0 84 0; +#X connect 86 0 84 0; +#X connect 87 0 109 0; +#X connect 88 0 82 1; +#X connect 89 0 86 0; +#X connect 90 0 21 0; +#X connect 91 0 16 0; +#X connect 92 0 85 0; +#X connect 93 0 42 0; +#X connect 94 0 96 0; +#X connect 95 0 9 0; +#X connect 96 0 23 0; +#X connect 97 0 98 0; +#X connect 98 0 99 0; +#X connect 99 0 101 0; +#X connect 100 1 97 0; +#X connect 101 0 102 0; +#X connect 102 0 103 0; +#X connect 103 0 104 0; +#X connect 104 0 105 0; +#X connect 105 0 96 1; +#X connect 106 0 18 1; +#X connect 107 0 0 0; +#X connect 109 0 110 0; +#X connect 110 0 46 0; +#X restore 432 213 pd voice; +#X obj 492 171 r \$0-poly; +#N canvas 0 23 1550 839 voice 0; +#X obj 72 173 unpack f f; +#X obj 129 194 > 0; +#X obj 72 297 mtof; +#X msg 117 353 1000 \$1; +#X obj 117 374 /; +#X obj 72 395 t b b; +#X obj 72 437 del 2; +#X obj 72 458 pack f f; +#X msg 72 479 0 \$2; +#X obj 72 500 unpack f f; +#X obj 72 556 lop~; +#X msg 129 521 1000 \$1; +#X obj 129 542 /; +#X obj 272 311 phasor~; +#X obj 272 332 -~ 0.25; +#X obj 272 353 cos~; +#X msg 311 290 0; +#X obj 257 570 *~; +#X obj 117 395 * 2048; +#X obj 689 443 t b b; +#X msg 689 485 0 1; +#X msg 716 485 1 0; +#X obj 689 506 line~; +#X obj 240 633 *~; +#X obj 599 262 t b b; +#X obj 599 304 del 2; +#X obj 599 325 pack f f; +#X msg 599 346 0 \$2; +#X obj 599 367 unpack f f; +#X obj 599 423 lop~; +#X msg 656 388 1000 \$1; +#X obj 656 409 /; +#X msg 626 283 1 1; +#X obj 332 346 -~ 0.25; +#X obj 332 367 cos~; +#X obj 332 325 *~ 7; +#X obj 382 346 -~ 0.25; +#X obj 382 367 cos~; +#X obj 382 325 *~ 20; +#X obj 663 302 * 128; +#X obj 382 388 /~ 20; +#X msg 520 299 0 50; +#X obj 242 689 /~ 2; +#X obj 332 388 /~ 7; +#X obj 332 409 +~; +#X obj 332 430 *~; +#X obj 72 276 route 1 0; +#X obj 192 297 mtof; +#X obj 192 318 t b f b; +#X obj 72 318 t b f b; +#X msg 150 332 2048; +#X obj 311 248 sel 1; +#X obj 821 505 *~; +#X obj 800 526 sig~ 2; +#X obj 800 547 pow~; +#X obj 800 589 *~; +#X obj 894 512 sig~ 2; +#X obj 894 533 pow~; +#X obj 879 554 sig~ 1; +#X obj 879 575 /~; +#X obj 800 568 -~ 1; +#X obj 821 365 *~ 0.707946; +#N canvas 4 23 162 227 hv.tanh 0; +#X obj 12 12 inlet~; +#X obj 12 38 clip~ -3 3; +#X obj 27 64 *~; +#X obj 12 192 outlet~; +#X obj 27 140 /~; +#X obj 12 166 *~; +#X obj 67 90 *~ 9; +#X obj 27 90 +~ 27; +#X obj 67 116 +~ 27; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 2 1; +#X connect 1 0 5 0; +#X connect 2 0 7 0; +#X connect 2 0 6 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 8 0; +#X connect 7 0 4 0; +#X connect 8 0 4 1; +#X restore 821 484 pd hv.tanh; +#X obj 821 443 *~; +#X obj 768 648 *~; +#X obj 897 655 *~; +#X obj 897 603 pow~ 4; +#X obj 897 634 *~ -1; +#X obj 947 620 r \$0-buz-pha; +#X obj 768 669 +~; +#X obj 821 463 +~; +#X text 915 471 //Pickup Symmetry; +#X text 947 580 //Buzz Phase; +#X text 947 600 //Buzz Level; +#X text 921 409 //Pickup Input; +#X text 800 614 //Pickup Level; +#X obj 921 429 sig~ 5; +#X obj 915 491 sig~ 5; +#X obj 947 641 sig~ 0.5; +#X obj 800 634 sig~ 1; +#N canvas 0 23 450 300 lowpass~ 0; +#N canvas 1006 332 706 367 lowpass.coeffs 0; +#X obj 12 45 inlet~ freq; +#X obj 288 50 inlet~ q; +#X obj 12 67 clip~ 20 20000; +#X obj 273 94 sig~ 1; +#X obj 273 116 /~; +#X obj 273 138 *~; +#X obj 273 160 *~ 0.5; +#X obj 12 261 sig~ 1; +#X obj 12 283 /~; +#X obj 122 297 *~; +#X obj 137 275 *~ 0.5; +#X obj 122 319 outlet~ b0; +#X obj 192 297 *~; +#X obj 192 319 outlet~ b1; +#X obj 262 297 *~; +#X obj 262 319 outlet~ b2; +#X obj 332 297 *~; +#X obj 347 253 *~ -2; +#X obj 332 319 outlet~ a1; +#X obj 417 231 sig~ 1; +#X obj 417 253 -~; +#X obj 402 297 *~; +#X obj 402 319 outlet~ a2; +#X obj 57 266 +~ 1; +#X text 363 162 w0 = 2*pi*f0*Fs; +#X text 363 182 alpha = sin(w0)/(2*Q); +#X text 527 237 a2 = 1 - alpha; +#X text 527 217 a1 = -2*cos(w0); +#X text 392 72 H(z) = -----------------------------------------; +#X text 392 32 Audio-Cookbook:; +#X text 392 112 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 137 231 sig~ 1; +#X obj 137 253 -~; +#X obj 207 231 sig~ 1; +#X obj 207 253 -~; +#X obj 277 275 *~ 0.5; +#X obj 277 231 sig~ 1; +#X obj 277 253 -~; +#X text 434 87 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 434 57 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 527 197 a0 = 1 + alpha; +#X text 527 257 b0 = (1 - cos(w0))/2; +#X text 527 277 b1 = (1 - cos(w0)); +#X text 527 297 b2 = (1 - cos(w0))/2; +#X text 517 177 LPF:; +#X obj 12 88 /~ 44100; +#X obj 105 53 loadbang; +#X obj 105 74 samplerate~; +#X obj 288 72 max~ 0.1; +#X obj 117 103 -~ 0.25; +#X obj 117 124 cos~; +#X obj 12 239 cos~; +#X connect 0 0 2 0; +#X connect 1 0 48 0; +#X connect 2 0 45 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 20 1; +#X connect 6 0 23 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 0 12 0; +#X connect 8 0 14 0; +#X connect 8 0 16 0; +#X connect 8 0 21 0; +#X connect 9 0 11 0; +#X connect 10 0 9 1; +#X connect 12 0 13 0; +#X connect 14 0 15 0; +#X connect 16 0 18 0; +#X connect 17 0 16 1; +#X connect 19 0 20 0; +#X connect 20 0 21 1; +#X connect 21 0 22 0; +#X connect 23 0 8 1; +#X connect 31 0 32 0; +#X connect 32 0 10 0; +#X connect 33 0 34 0; +#X connect 34 0 12 1; +#X connect 35 0 14 1; +#X connect 36 0 37 0; +#X connect 37 0 35 0; +#X connect 45 0 51 0; +#X connect 45 0 49 0; +#X connect 46 0 47 0; +#X connect 47 0 45 1; +#X connect 48 0 4 1; +#X connect 49 0 50 0; +#X connect 50 0 5 1; +#X connect 51 0 32 1; +#X connect 51 0 34 1; +#X connect 51 0 37 1; +#X connect 51 0 17 0; +#X restore 62 52 pd lowpass.coeffs; +#X obj 46 120 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 99 pd @hv_obj biquad; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 173 11 q; +#X obj 173 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 821 407 pd lowpass~; +#X obj 884 386 sig~ 1000; +#N canvas 0 23 450 300 highpass~ 0; +#N canvas 200 23 682 315 highpass.coeffs 0; +#X obj 12 46 clip~ 20 20000; +#X obj 283 51 clip~ 0.1 100; +#X obj 268 73 sig~ 1; +#X obj 268 95 /~; +#X obj 268 117 *~; +#X obj 268 139 *~ 0.5; +#X obj 12 215 sig~ 1; +#X obj 12 237 /~; +#X obj 122 254 *~; +#X obj 137 200 +~ 1; +#X obj 137 232 *~ 0.5; +#X obj 122 276 outlet~ b0; +#X obj 192 254 *~; +#X obj 207 200 +~ 1; +#X obj 192 276 outlet~ b1; +#X obj 207 232 *~ -1; +#X obj 262 254 *~; +#X obj 277 200 +~ 1; +#X obj 277 232 *~ 0.5; +#X obj 262 276 outlet~ b2; +#X obj 332 254 *~; +#X obj 347 200 *~ -2; +#X obj 332 276 outlet~ a1; +#X obj 417 210 sig~ 1; +#X obj 417 232 -~; +#X obj 402 254 *~; +#X obj 402 276 outlet~ a2; +#X obj 57 220 +~ 1; +#X text 348 141 w0 = 2*pi*f0*Fs; +#X text 348 161 alpha = sin(w0)/(2*Q); +#X text 512 176 a0 = 1 + alpha; +#X text 512 216 a2 = 1 - alpha; +#X text 512 196 a1 = -2*cos(w0); +#X text 512 256 b1 = -(1 + cos(w0)); +#X text 512 236 b0 = (1 + cos(w0))/2; +#X text 502 156 HPF:; +#X text 512 276 b2 = (1 + cos(w0))/2; +#X text 419 36 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2); +#X text 377 51 H(z) = -----------------------------------------; +#X text 419 66 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2); +#X text 377 11 Audio-Cookbook:; +#X text 377 91 http://musicdsp.org/files/Audio-EQ-Cookbook.txt; +#X obj 12 24 inlet~; +#X obj 283 29 inlet~; +#X obj 12 67 /~ 44100; +#X obj 105 32 loadbang; +#X obj 105 53 samplerate~; +#X obj 122 83 -~ 0.25; +#X obj 122 103 cos~; +#X obj 12 186 cos~; +#X connect 0 0 44 0; +#X connect 1 0 3 1; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 24 1; +#X connect 5 0 27 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 0 12 0; +#X connect 7 0 16 0; +#X connect 7 0 20 0; +#X connect 7 0 25 0; +#X connect 8 0 11 0; +#X connect 9 0 10 0; +#X connect 10 0 8 1; +#X connect 12 0 14 0; +#X connect 13 0 15 0; +#X connect 15 0 12 1; +#X connect 16 0 19 0; +#X connect 17 0 18 0; +#X connect 18 0 16 1; +#X connect 20 0 22 0; +#X connect 21 0 20 1; +#X connect 23 0 24 0; +#X connect 24 0 25 1; +#X connect 25 0 26 0; +#X connect 27 0 7 1; +#X connect 42 0 0 0; +#X connect 43 0 1 0; +#X connect 44 0 47 0; +#X connect 44 0 49 0; +#X connect 45 0 46 0; +#X connect 46 0 44 1; +#X connect 47 0 48 0; +#X connect 48 0 4 1; +#X connect 49 0 9 0; +#X connect 49 0 13 0; +#X connect 49 0 17 0; +#X connect 49 0 21 0; +#X restore 62 52 pd highpass.coeffs; +#X obj 46 109 outlet~; +#N canvas 776 547 365 190 @hv_obj 0; +#X obj 12 31 inlet~; +#N canvas 1097 522 303 331 zeros 0; +#X obj 12 217 czero~; +#X obj 12 273 czero~; +#X obj 12 299 outlet~; +#X obj 75 299 outlet~; +#X obj 12 31 inlet~; +#X obj 47 122 *~ -1; +#X obj 47 143 *~ 0.5; +#X obj 132 58 *~; +#X obj 132 92 -~; +#X obj 187 78 *~ 4; +#X obj 187 57 *~; +#X obj 132 113 abs~; +#X obj 132 155 *~ 0.5; +#X obj 132 176 /~; +#N canvas 773 235 262 212 location 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 207 12 inlet~; +#X obj 12 174 outlet~; +#X obj 72 174 outlet~; +#X obj 132 174 outlet~; +#X obj 192 174 outlet~; +#N canvas 725 189 180 137 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 758 270 144 76 @hv_obj 0; +#X obj 62 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 945 362 136 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 62 49 pd gte; +#N canvas 845 375 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 140 82 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 39 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 137 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 49 pd lte; +#X obj 12 152 +~; +#X obj 160 22 sig~ 0; +#X obj 147 125 *~; +#X obj 192 125 *~; +#X obj 132 152 -~; +#X obj 192 152 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 190 pd location; +#X obj 132 134 sqrt~; +#X obj 47 164 /~; +#X obj 252 203 inlet; +#X text 62 11 b0; +#X text 132 11 b1; +#X text 202 11 b2; +#X obj 202 31 inlet~; +#X obj 132 31 inlet~; +#X obj 62 31 inlet~; +#X text 252 183 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 14 2; +#X connect 14 0 0 2; +#X connect 14 1 0 3; +#X connect 14 2 1 2; +#X connect 14 3 1 3; +#X connect 15 0 12 0; +#X connect 16 0 14 0; +#X connect 17 0 0 0; +#X connect 17 0 1 0; +#X connect 21 0 10 1; +#X connect 22 0 5 0; +#X connect 22 0 7 1; +#X connect 22 0 7 0; +#X connect 23 0 10 0; +#X connect 23 0 13 1; +#X connect 23 0 16 1; +#X restore 12 89 pd zeros; +#X obj 12 52 *~; +#N canvas 1083 390 288 282 poles 0; +#X obj 12 181 cpole~; +#X obj 12 228 cpole~; +#X obj 12 249 outlet~; +#X obj 12 31 inlet~; +#X obj 62 31 inlet~; +#N canvas 739 258 279 198 location 0; +#X obj 12 12 inlet~; +#X obj 127 12 inlet~; +#X obj 222 49 inlet~; +#X obj 12 155 outlet~; +#X obj 62 155 outlet~; +#X obj 112 155 outlet~; +#X obj 172 155 outlet~; +#N canvas 796 341 183 142 gte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 679 326 140 75 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 754 439 132 184 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 127 39 pd gte; +#N canvas 816 493 187 138 lte 0; +#X obj 117 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 100 outlet~; +#N canvas 467 216 142 76 @hv_obj 0; +#X obj 72 12 inlet~; +#X obj 12 12 inlet~; +#X obj 12 34 outlet~; +#X connect 1 0 2 0; +#X restore 12 78 pd @hv_obj __and~f; +#X obj 117 56 sig~ 1; +#N canvas 715 101 131 178 @hv_obj 0; +#X obj 12 56 -~; +#X obj 12 78 clip~ -1e-37 0; +#X obj 12 12 inlet~; +#X obj 62 12 inlet~; +#X obj 12 144 outlet~; +#X obj 12 122 *~ 1e+37; +#X obj 12 34 min~; +#X obj 12 100 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 12 34 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X restore 172 39 pd lte; +#X obj 12 83 +~; +#X obj 205 12 sig~ 0; +#X obj 127 66 *~; +#X obj 172 66 *~; +#X obj 112 133 -~; +#X obj 172 133 *~ -1; +#X connect 0 0 9 0; +#X connect 0 0 13 0; +#X connect 1 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 11 1; +#X connect 2 0 12 1; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 9 1; +#X connect 11 0 13 1; +#X connect 12 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 6 0; +#X restore 34 155 pd location; +#X obj 72 78 *~ 0.5; +#X obj 122 57 *~; +#X obj 122 78 +~; +#X obj 182 64 *~ 4; +#X obj 122 99 abs~; +#X obj 122 141 *~ 0.5; +#X obj 122 120 sqrt~; +#X obj 232 167 inlet; +#X text 182 11 a2; +#X text 122 11 a1; +#X obj 122 31 inlet~; +#X obj 182 31 inlet~; +#X text 232 147 clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 1 0 3; +#X connect 5 2 1 2; +#X connect 5 3 1 3; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 5 2; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 13 0 1 0; +#X connect 16 0 6 0; +#X connect 16 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 9 0; +#X restore 12 133 pd poles; +#X obj 12 159 outlet~; +#X obj 212 119 *~ -1; +#X obj 262 119 *~ -1; +#X obj 312 75 inlet; +#X obj 62 31 inlet~; +#X obj 112 31 inlet~; +#X obj 162 31 inlet~; +#X obj 212 31 inlet~; +#X obj 262 31 inlet~; +#X text 62 11 b0; +#X text 112 11 b1; +#X text 162 11 b2; +#X text 212 11 a1; +#X text 262 11 a2; +#X text 312 55 clear; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X connect 6 0 3 3; +#X connect 7 0 1 4; +#X connect 7 0 3 4; +#X connect 8 0 2 1; +#X connect 8 0 1 1; +#X connect 9 0 1 2; +#X connect 10 0 1 3; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X restore 46 88 pd @hv_obj biquad; +#X obj 12 20 inlet~; +#X obj 62 31 inlet~; +#X text 62 11 frequency; +#X text 167 11 q; +#X obj 167 31 sig~ 0.404061; +#X connect 0 0 2 1; +#X connect 0 1 2 2; +#X connect 0 2 2 3; +#X connect 0 3 2 4; +#X connect 0 4 2 5; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 7 0 0 1; +#X restore 768 690 pd highpass~; +#X obj 1214 342 t b b; +#X obj 1214 405 line~; +#X msg 1261 384 0 0; +#X msg 1214 384 20000 0; +#X obj 72 194 pipe 3; +#X obj 672 600 sig~; +#X obj 1214 363 del 2; +#X obj 716 464 del 3; +#X obj 312 269 del 3; +#X obj 1261 363 del 3; +#X obj 768 711 *~; +#X obj 332 451 /~ 7; +#X msg 99 416 1 0.1; +#X obj 257 591 *~; +#X obj 383 489 pipe 3; +#X obj 383 510 - 1; +#X obj 383 531 / 126; +#X obj 361 473 sel 0; +#X msg 383 552 1 \$1; +#X obj 383 573 -; +#X obj 383 594 * -30; +#X obj 383 615 + 100; +#X obj 383 636 dbtorms; +#X msg 231 339 8; +#X obj 94 140 inlet; +#X obj 242 710 outlet~; +#X obj 72 225 pack f f; +#X msg 72 246 \$2 \$1; +#X connect 0 0 87 0; +#X connect 0 1 1 0; +#X connect 0 1 100 0; +#X connect 1 0 51 0; +#X connect 1 0 109 1; +#X connect 2 0 49 0; +#X connect 2 0 13 0; +#X connect 2 0 88 0; +#X connect 3 0 4 0; +#X connect 4 0 18 0; +#X connect 4 0 39 0; +#X connect 5 0 6 0; +#X connect 5 1 95 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 11 0; +#X connect 10 0 17 0; +#X connect 11 0 12 0; +#X connect 12 0 10 1; +#X connect 13 0 14 0; +#X connect 13 0 35 0; +#X connect 13 0 38 0; +#X connect 14 0 15 0; +#X connect 15 0 17 1; +#X connect 16 0 13 1; +#X connect 17 0 96 0; +#X connect 18 0 7 1; +#X connect 19 0 20 0; +#X connect 19 1 90 0; +#X connect 20 0 22 0; +#X connect 21 0 22 0; +#X connect 22 0 23 1; +#X connect 22 0 93 1; +#X connect 23 0 61 0; +#X connect 23 0 42 0; +#X connect 24 0 25 0; +#X connect 24 1 32 0; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 28 1 30 0; +#X connect 29 0 45 1; +#X connect 30 0 31 0; +#X connect 31 0 29 1; +#X connect 32 0 28 0; +#X connect 33 0 34 0; +#X connect 34 0 43 0; +#X connect 35 0 33 0; +#X connect 36 0 37 0; +#X connect 37 0 40 0; +#X connect 38 0 36 0; +#X connect 39 0 26 1; +#X connect 40 0 44 1; +#X connect 41 0 28 0; +#X connect 42 0 108 0; +#X connect 43 0 44 0; +#X connect 44 0 45 0; +#X connect 45 0 94 0; +#X connect 46 0 2 0; +#X connect 46 1 47 0; +#X connect 47 0 48 0; +#X connect 48 0 7 0; +#X connect 48 1 3 0; +#X connect 48 2 106 0; +#X connect 49 0 5 0; +#X connect 49 0 24 0; +#X connect 49 1 3 0; +#X connect 49 2 50 0; +#X connect 50 0 18 1; +#X connect 51 0 19 0; +#X connect 51 0 83 0; +#X connect 51 0 91 0; +#X connect 52 0 54 1; +#X connect 53 0 54 0; +#X connect 54 0 60 0; +#X connect 55 0 64 0; +#X connect 55 0 66 0; +#X connect 56 0 57 0; +#X connect 57 0 59 1; +#X connect 58 0 59 0; +#X connect 59 0 55 1; +#X connect 60 0 55 0; +#X connect 61 0 80 0; +#X connect 62 0 52 0; +#X connect 63 0 70 0; +#X connect 64 0 69 0; +#X connect 65 0 69 1; +#X connect 66 0 67 0; +#X connect 67 0 65 0; +#X connect 68 0 67 1; +#X connect 69 0 82 0; +#X connect 70 0 62 0; +#X connect 76 0 63 1; +#X connect 77 0 52 1; +#X connect 77 0 57 1; +#X connect 78 0 65 1; +#X connect 79 0 64 1; +#X connect 80 0 63 0; +#X connect 81 0 80 1; +#X connect 82 0 93 0; +#X connect 83 0 89 0; +#X connect 83 1 92 0; +#X connect 84 0 80 1; +#X connect 84 0 82 1; +#X connect 85 0 84 0; +#X connect 86 0 84 0; +#X connect 87 0 109 0; +#X connect 88 0 82 1; +#X connect 89 0 86 0; +#X connect 90 0 21 0; +#X connect 91 0 16 0; +#X connect 92 0 85 0; +#X connect 93 0 42 0; +#X connect 94 0 96 0; +#X connect 95 0 9 0; +#X connect 96 0 23 0; +#X connect 97 0 98 0; +#X connect 98 0 99 0; +#X connect 99 0 101 0; +#X connect 100 1 97 0; +#X connect 101 0 102 0; +#X connect 102 0 103 0; +#X connect 103 0 104 0; +#X connect 104 0 105 0; +#X connect 105 0 96 1; +#X connect 106 0 18 1; +#X connect 107 0 0 0; +#X connect 109 0 110 0; +#X connect 110 0 46 0; +#X restore 492 213 pd voice; +#X obj 132 192 route 2; +#X obj 192 192 route 3; +#X obj 252 192 route 4; +#X obj 312 192 route 5; +#X obj 372 192 route 6; +#X obj 432 192 route 7; +#X obj 492 192 route 8; +#X connect 0 0 11 0; +#X connect 0 1 11 1; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 10 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 0 9 1; +#X connect 10 0 5 0; +#X connect 11 0 1 0; +#X connect 11 1 1 1; +#X connect 11 2 1 2; +#X connect 12 0 26 0; +#X connect 13 0 5 0; +#X connect 14 0 27 0; +#X connect 15 0 5 0; +#X connect 16 0 28 0; +#X connect 17 0 5 0; +#X connect 18 0 29 0; +#X connect 19 0 5 0; +#X connect 20 0 30 0; +#X connect 21 0 5 0; +#X connect 22 0 31 0; +#X connect 23 0 5 0; +#X connect 24 0 32 0; +#X connect 25 0 5 0; +#X connect 26 0 13 0; +#X connect 27 0 15 0; +#X connect 28 0 17 0; +#X connect 29 0 19 0; +#X connect 30 0 21 0; +#X connect 31 0 23 0; +#X connect 32 0 25 0; diff --git a/dpf b/dpf new file mode 160000 index 0000000..d959364 --- /dev/null +++ b/dpf @@ -0,0 +1 @@ +Subproject commit d95936445f94a1a99b4256cd10c0860cda555891 diff --git a/meta.json b/meta.json new file mode 100644 index 0000000..20bd289 --- /dev/null +++ b/meta.json @@ -0,0 +1,15 @@ +{ + "dpf": { + "project": true, + "description": "electric piano based on EP-MK1.pd", + "license": "WTFPL", + "midi_input": 1, + "midi_output": 0, + "plugin_formats": [ + "jack", + "lv2_dsp", + "vst2", + "vst3" + ] + } +} diff --git a/plugin/README.md b/plugin/README.md new file mode 100644 index 0000000..95dad59 --- /dev/null +++ b/plugin/README.md @@ -0,0 +1,27 @@ +# Distrho Plugin Format + +This output is for the Distrho Plugin Format ([DPF](https://github.com/DISTRHO/DPF)), and can be used to build LV2, VST2 and jack standalone versions of your Heavy code. + +# Build Instructions + +Make sure you have a (recent) DPF in the root of your output directory + +```bash +$ cd +$ git clone https://github.com/DISTRHO/DPF.git dpf +``` + +Then compile the plugins from the source folder: + +```bash +$ make +``` + +This will result in an `bin/` folder with all binary assets. + +* LV2 - move `bin/.lv2/` folder to your local `~/.lv2/` dir +* VST2 - move `bin/-vst.so`, can be placed directly into your `~/.vst/` dir + +## Jack + +The Jack binary can be executed in place and used to test functionality `./bin/`. Currently there is no UI, so this is not recommended. You will have to be running jack in order to use this. diff --git a/plugin/build.json b/plugin/build.json new file mode 100644 index 0000000..72ce655 --- /dev/null +++ b/plugin/build.json @@ -0,0 +1 @@ +{"linux": {"x64": {"args": [["-j"]], "projectDir": ["linux"], "binaryDir": ["build", "linux", "x64", "release"]}}} \ No newline at end of file diff --git a/plugin/source/DistrhoPluginInfo.h b/plugin/source/DistrhoPluginInfo.h new file mode 100644 index 0000000..5548b8b --- /dev/null +++ b/plugin/source/DistrhoPluginInfo.h @@ -0,0 +1,52 @@ +/** + * Copyright (c) 2022 Enzien Audio, Ltd. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions, and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the phrase "powered by heavy", + * the heavy logo, and a hyperlink to https://enzienaudio.com, all in a visible + * form. + * + * 2.1 If the Application is distributed in a store system (for example, + * the Apple "App Store" or "Google Play"), the phrase "powered by heavy" + * shall be included in the app description or the copyright text as well as + * the in the app itself. The heavy logo will shall be visible in the app + * itself as well. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#pragma once + +#define DISTRHO_PLUGIN_NAME "EP_MK1" + +#define DISTRHO_PLUGIN_URI "http://wasted.audio/lv2/plugin/EP_MK1" + +#define DISTRHO_PLUGIN_NUM_INPUTS 0 +#define DISTRHO_PLUGIN_NUM_OUTPUTS 2 +#define DISTRHO_PLUGIN_IS_SYNTH 1 +#define DISTRHO_PLUGIN_HAS_UI 0 +#define DISTRHO_PLUGIN_IS_RT_SAFE 1 +#define DISTRHO_PLUGIN_WANT_PROGRAMS 0 +#define DISTRHO_PLUGIN_WANT_STATE 0 +#define DISTRHO_PLUGIN_WANT_TIMEPOS 1 +#define DISTRHO_PLUGIN_WANT_FULL_STATE 0 +#define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1 +#define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 0 + +// for level monitoring +#define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 0 \ No newline at end of file diff --git a/plugin/source/HeavyContext.cpp b/plugin/source/HeavyContext.cpp new file mode 100644 index 0000000..88fa134 --- /dev/null +++ b/plugin/source/HeavyContext.cpp @@ -0,0 +1,264 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HeavyContext.hpp" +#include "HvTable.h" + +void defaultSendHook(HeavyContextInterface *context, + const char *sendName, hv_uint32_t sendHash, const HvMessage *msg) { + HeavyContext *thisContext = reinterpret_cast(context); + const hv_uint32_t numBytes = sizeof(ReceiverMessagePair) + msg_getSize(msg) - sizeof(HvMessage); + ReceiverMessagePair *p = reinterpret_cast(hLp_getWriteBuffer(&thisContext->outQueue, numBytes)); + if (p != nullptr) { + p->receiverHash = sendHash; + msg_copyToBuffer(msg, (char *) &p->msg, msg_getSize(msg)); + hLp_produce(&thisContext->outQueue, numBytes); + } else { + hv_assert(false && + "::defaultSendHook - The out message queue is full and cannot accept more messages until they " + "have been processed. Try increasing the outQueueKb size in the new_with_options() constructor."); + } +} + +HeavyContext::HeavyContext(double sampleRate, int poolKb, int inQueueKb, int outQueueKb) : + sampleRate(sampleRate) { + + hv_assert(sampleRate > 0.0); // sample rate must be positive + hv_assert(poolKb > 0); + hv_assert(inQueueKb > 0); + hv_assert(outQueueKb >= 0); + + blockStartTimestamp = 0; + printHook = nullptr; + userData = nullptr; + + // if outQueueKb is positive, then the outQueue is allocated and the default sendhook is set. + // Otherwise outQueue and the sendhook are set to NULL. + sendHook = (outQueueKb > 0) ? &defaultSendHook : nullptr; + + HV_SPINLOCK_RELEASE(inQueueLock); + HV_SPINLOCK_RELEASE(outQueueLock); + + numBytes = sizeof(HeavyContext); + + numBytes += mq_initWithPoolSize(&mq, poolKb); + numBytes += hLp_init(&inQueue, inQueueKb * 1024); + numBytes += hLp_init(&outQueue, outQueueKb * 1024); // outQueueKb value of 0 sets everything to NULL +} + +HeavyContext::~HeavyContext() { + mq_free(&mq); + hLp_free(&inQueue); + hLp_free(&outQueue); +} + +bool HeavyContext::sendBangToReceiver(hv_uint32_t receiverHash) { + HvMessage *m = HV_MESSAGE_ON_STACK(1); + msg_initWithBang(m, 0); + bool success = sendMessageToReceiver(receiverHash, 0.0, m); + return success; +} + +bool HeavyContext::sendFloatToReceiver(hv_uint32_t receiverHash, float f) { + HvMessage *m = HV_MESSAGE_ON_STACK(1); + msg_initWithFloat(m, 0, f); + bool success = sendMessageToReceiver(receiverHash, 0.0, m); + return success; +} + +bool HeavyContext::sendSymbolToReceiver(hv_uint32_t receiverHash, const char *s) { + hv_assert(s != nullptr); + HvMessage *m = HV_MESSAGE_ON_STACK(1); + msg_initWithSymbol(m, 0, (char *) s); + bool success = sendMessageToReceiver(receiverHash, 0.0, m); + return success; +} + +bool HeavyContext::sendMessageToReceiverV(hv_uint32_t receiverHash, double delayMs, const char *format, ...) { + hv_assert(delayMs >= 0.0); + hv_assert(format != nullptr); + + va_list ap; + va_start(ap, format); + const int numElem = (int) hv_strlen(format); + HvMessage *m = HV_MESSAGE_ON_STACK(numElem); + msg_init(m, numElem, blockStartTimestamp + (hv_uint32_t) (hv_max_d(0.0, delayMs)*getSampleRate()/1000.0)); + for (int i = 0; i < numElem; i++) { + switch (format[i]) { + case 'b': msg_setBang(m, i); break; + case 'f': msg_setFloat(m, i, (float) va_arg(ap, double)); break; + case 'h': msg_setHash(m, i, (int) va_arg(ap, int)); break; + case 's': msg_setSymbol(m, i, (char *) va_arg(ap, char *)); break; + default: break; + } + } + va_end(ap); + + bool success = sendMessageToReceiver(receiverHash, delayMs, m); + return success; +} + +bool HeavyContext::sendMessageToReceiver(hv_uint32_t receiverHash, double delayMs, HvMessage *m) { + hv_assert(delayMs >= 0.0); + hv_assert(m != nullptr); + + const hv_uint32_t timestamp = blockStartTimestamp + + (hv_uint32_t) (hv_max_d(0.0, delayMs)*(getSampleRate()/1000.0)); + + ReceiverMessagePair *p = nullptr; + HV_SPINLOCK_ACQUIRE(inQueueLock); + const hv_uint32_t numBytes = sizeof(ReceiverMessagePair) + msg_getSize(m) - sizeof(HvMessage); + p = (ReceiverMessagePair *) hLp_getWriteBuffer(&inQueue, numBytes); + if (p != nullptr) { + p->receiverHash = receiverHash; + msg_copyToBuffer(m, (char *) &p->msg, msg_getSize(m)); + msg_setTimestamp(&p->msg, timestamp); + hLp_produce(&inQueue, numBytes); + } else { + hv_assert(false && + "::sendMessageToReceiver - The input message queue is full and cannot accept more messages until they " + "have been processed. Try increasing the inQueueKb size in the new_with_options() constructor."); + } + HV_SPINLOCK_RELEASE(inQueueLock); + return (p != nullptr); +} + +bool HeavyContext::cancelMessage(HvMessage *m, void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + return mq_removeMessage(&mq, m, sendMessage); +} + +HvMessage *HeavyContext::scheduleMessageForObject(const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *), + int letIndex) { + HvMessage *n = mq_addMessageByTimestamp(&mq, m, letIndex, sendMessage); + return n; +} + +float *HeavyContext::getBufferForTable(hv_uint32_t tableHash) { + HvTable *t = getTableForHash(tableHash); + if (t != nullptr) { + return hTable_getBuffer(t); + } else return nullptr; +} + +int HeavyContext::getLengthForTable(hv_uint32_t tableHash) { + HvTable *t = getTableForHash(tableHash); + if (t != nullptr) { + return hTable_getLength(t); + } else return 0; +} + +bool HeavyContext::setLengthForTable(hv_uint32_t tableHash, hv_uint32_t newSampleLength) { + HvTable *t = getTableForHash(tableHash); + if (t != nullptr) { + hTable_resize(t, newSampleLength); + return true; + } else return false; +} + +void HeavyContext::lockAcquire() { + HV_SPINLOCK_ACQUIRE(inQueueLock); +} + +bool HeavyContext::lockTry() { + HV_SPINLOCK_TRY(inQueueLock); +} + +void HeavyContext::lockRelease() { + HV_SPINLOCK_RELEASE(inQueueLock); +} + +void HeavyContext::setInputMessageQueueSize(int inQueueKb) { + hv_assert(inQueueKb > 0); + hLp_free(&inQueue); + hLp_init(&inQueue, inQueueKb*1024); +} + +void HeavyContext::setOutputMessageQueueSize(int outQueueKb) { + hv_assert(outQueueKb > 0); + hLp_free(&outQueue); + hLp_init(&outQueue, outQueueKb*1024); +} + +bool HeavyContext::getNextSentMessage(hv_uint32_t *destinationHash, HvMessage *outMsg, hv_size_t msgLengthBytes) { + *destinationHash = 0; + ReceiverMessagePair *p = nullptr; + hv_assert((sendHook == &defaultSendHook) && + "::getNextSentMessage - this function won't do anything if the msg outQueue " + "size is 0, or you've overriden the default sendhook."); + if (sendHook == &defaultSendHook) { + HV_SPINLOCK_ACQUIRE(outQueueLock); + if (hLp_hasData(&outQueue)) { + hv_uint32_t numBytes = 0; + p = reinterpret_cast(hLp_getReadBuffer(&outQueue, &numBytes)); + hv_assert((p != nullptr) && "::getNextSentMessage - something bad happened."); + hv_assert(numBytes >= sizeof(ReceiverMessagePair)); + hv_assert((numBytes <= msgLengthBytes) && + "::getNextSentMessage - the sent message is bigger than the message " + "passed to handle it."); + *destinationHash = p->receiverHash; + hv_memcpy(outMsg, &p->msg, numBytes); + hLp_consume(&outQueue); + } + HV_SPINLOCK_RELEASE(outQueueLock); + } + return (p != nullptr); +} + +hv_uint32_t HeavyContext::getHashForString(const char *str) { + return hv_string_to_hash(str); +} + +HvTable *_hv_table_get(HeavyContextInterface *c, hv_uint32_t tableHash) { + hv_assert(c != nullptr); + return reinterpret_cast(c)->getTableForHash(tableHash); +} + +void _hv_scheduleMessageForReceiver(HeavyContextInterface *c, hv_uint32_t receiverHash, HvMessage *m) { + hv_assert(c != nullptr); + reinterpret_cast(c)->scheduleMessageForReceiver(receiverHash, m); +} + +HvMessage *_hv_scheduleMessageForObject(HeavyContextInterface *c, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *), + int letIndex) { + hv_assert(c != nullptr); + HvMessage *n = reinterpret_cast(c)->scheduleMessageForObject( + m, sendMessage, letIndex); + return n; +} + +#ifdef __cplusplus +extern "C" { +#endif + +HvTable *hv_table_get(HeavyContextInterface *c, hv_uint32_t tableHash) { + return _hv_table_get(c, tableHash); +} + +void hv_scheduleMessageForReceiver(HeavyContextInterface *c, hv_uint32_t receiverHash, HvMessage *m) { + _hv_scheduleMessageForReceiver(c, receiverHash, m); +} + +HvMessage *hv_scheduleMessageForObject(HeavyContextInterface *c, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *), + int letIndex) { + return _hv_scheduleMessageForObject(c, m, sendMessage, letIndex); +} + +#ifdef __cplusplus +} +#endif diff --git a/plugin/source/HeavyContext.hpp b/plugin/source/HeavyContext.hpp new file mode 100644 index 0000000..87b95d7 --- /dev/null +++ b/plugin/source/HeavyContext.hpp @@ -0,0 +1,107 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTEXT_H_ +#define _HEAVY_CONTEXT_H_ + +#include "HeavyContextInterface.hpp" +#include "HvLightPipe.h" +#include "HvMessageQueue.h" +#include "HvMath.h" + +struct HvTable; + +class HeavyContext : public HeavyContextInterface { + + public: + HeavyContext(double sampleRate, int poolKb=10, int inQueueKb=2, int outQueueKb=0); + virtual ~HeavyContext(); + + int getSize() override { return (int) numBytes; } + + double getSampleRate() override { return sampleRate; } + + hv_uint32_t getCurrentSample() override { return blockStartTimestamp; } + float samplesToMilliseconds(hv_uint32_t numSamples) override { return (float) (1000.0*numSamples/sampleRate); } + hv_uint32_t millisecondsToSamples(float ms) override { return (hv_uint32_t) (hv_max_f(0.0f,ms)*sampleRate/1000.0); } + + void setUserData(void *x) override { userData = x; } + void *getUserData() override { return userData; } + + // hook management + void setSendHook(HvSendHook_t *f) override { sendHook = f; } + HvSendHook_t *getSendHook() override { return sendHook; } + + void setPrintHook(HvPrintHook_t *f) override { printHook = f; } + HvPrintHook_t *getPrintHook() override { return printHook; } + + // message scheduling + bool sendMessageToReceiver(hv_uint32_t receiverHash, double delayMs, HvMessage *m) override; + bool sendMessageToReceiverV(hv_uint32_t receiverHash, double delayMs, const char *fmt, ...) override; + bool sendFloatToReceiver(hv_uint32_t receiverHash, float f) override; + bool sendBangToReceiver(hv_uint32_t receiverHash) override; + bool sendSymbolToReceiver(hv_uint32_t receiverHash, const char *symbol) override; + bool cancelMessage(HvMessage *m, void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) override; + + // table manipulation + float *getBufferForTable(hv_uint32_t tableHash) override; + int getLengthForTable(hv_uint32_t tableHash) override; + bool setLengthForTable(hv_uint32_t tableHash, hv_uint32_t newSampleLength) override; + + // lock control + void lockAcquire() override; + bool lockTry() override; + void lockRelease() override; + + // message queue management + void setInputMessageQueueSize(int inQueueKb) override; + void setOutputMessageQueueSize(int outQueueKb) override; + bool getNextSentMessage(hv_uint32_t *destinationHash, HvMessage *outMsg, hv_size_t msgLength) override; + + // utility functions + static hv_uint32_t getHashForString(const char *str); + + protected: + virtual HvTable *getTableForHash(hv_uint32_t tableHash) = 0; + friend HvTable *_hv_table_get(HeavyContextInterface *, hv_uint32_t); + + virtual void scheduleMessageForReceiver(hv_uint32_t receiverHash, HvMessage *m) = 0; + friend void _hv_scheduleMessageForReceiver(HeavyContextInterface *, hv_uint32_t, HvMessage *); + + HvMessage *scheduleMessageForObject(const HvMessage *, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *), + int); + friend HvMessage *_hv_scheduleMessageForObject(HeavyContextInterface *, const HvMessage *, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *), + int); + + friend void defaultSendHook(HeavyContextInterface *, const char *, hv_uint32_t, const HvMessage *); + + // object state + double sampleRate; + hv_uint32_t blockStartTimestamp; + hv_size_t numBytes; + HvMessageQueue mq; + HvSendHook_t *sendHook; + HvPrintHook_t *printHook; + void *userData; + HvLightPipe inQueue; + HvLightPipe outQueue; + hv_atomic_bool inQueueLock; + hv_atomic_bool outQueueLock; +}; + +#endif // _HEAVY_CONTEXT_H_ diff --git a/plugin/source/HeavyContextInterface.hpp b/plugin/source/HeavyContextInterface.hpp new file mode 100644 index 0000000..a78fcbf --- /dev/null +++ b/plugin/source/HeavyContextInterface.hpp @@ -0,0 +1,291 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTEXT_INTERFACE_H_ +#define _HEAVY_CONTEXT_INTERFACE_H_ + +#include "HvUtils.h" + +#ifndef _HEAVY_DECLARATIONS_ +#define _HEAVY_DECLARATIONS_ + +class HeavyContextInterface; +struct HvMessage; + +typedef enum { + HV_PARAM_TYPE_PARAMETER_IN, + HV_PARAM_TYPE_PARAMETER_OUT, + HV_PARAM_TYPE_EVENT_IN, + HV_PARAM_TYPE_EVENT_OUT +} HvParameterType; + +typedef struct HvParameterInfo { + const char *name; // the human readable parameter name + hv_uint32_t hash; // an integer identified used by heavy for this parameter + HvParameterType type; // type of this parameter + float minVal; // the minimum value of this parameter + float maxVal; // the maximum value of this parameter + float defaultVal; // the default value of this parameter +} HvParameterInfo; + +typedef void (HvSendHook_t) (HeavyContextInterface *context, const char *sendName, hv_uint32_t sendHash, const HvMessage *msg); +typedef void (HvPrintHook_t) (HeavyContextInterface *context, const char *printName, const char *str, const HvMessage *msg); + +#endif // _HEAVY_DECLARATIONS_ + + + +class HeavyContextInterface { + + public: + HeavyContextInterface() {} + virtual ~HeavyContextInterface() {}; + + /** Returns the read-only user-assigned name of this patch. */ + virtual const char *getName() = 0; + + /** Returns the number of input channels with which this context has been configured. */ + virtual int getNumInputChannels() = 0; + + /** Returns the number of output channels with which this context has been configured. */ + virtual int getNumOutputChannels() = 0; + + /** + * Returns the total size in bytes of the context. + * This value may change if tables are resized. + */ + virtual int getSize() = 0; + + /** Returns the sample rate with which this context has been configured. */ + virtual double getSampleRate() = 0; + + /** Returns the current patch time in samples. This value is always exact. */ + virtual hv_uint32_t getCurrentSample() = 0; + virtual float samplesToMilliseconds(hv_uint32_t numSamples) = 0; + + /** Converts milliseconds to samples. Input is limited to non-negative range. */ + virtual hv_uint32_t millisecondsToSamples(float ms) = 0; + + /** Sets a user-definable value. This value is never manipulated by Heavy. */ + virtual void setUserData(void *x) = 0; + + /** Returns the user-defined data. */ + virtual void *getUserData() = 0; + + /** + * Set the send hook. The function is called whenever a message is sent to any send object. + * Messages returned by this function should NEVER be freed. If the message must persist, call + * hv_msg_copy() first. + */ + virtual void setSendHook(HvSendHook_t *f) = 0; + + /** Returns the send hook, or NULL if unset. */ + virtual HvSendHook_t *getSendHook() = 0; + + /** Set the print hook. The function is called whenever a message is sent to a print object. */ + virtual void setPrintHook(HvPrintHook_t *f) = 0; + + /** Returns the print hook, or NULL if unset. */ + virtual HvPrintHook_t *getPrintHook() = 0; + + /** + * Processes one block of samples for a patch instance. The buffer format is an array of float channel arrays. + * If the context has not input or output channels, the respective argument may be NULL. + * The number of samples to to tbe processed should be a multiple of 1, 4, or 8, depending on if + * no, SSE or NEON, or AVX optimisation is being used, respectively. + * e.g. [[LLLL][RRRR]] + * + * @return The number of samples processed. + * + * This function is NOT thread-safe. It is assumed that only the audio thread will execute this function. + */ + virtual int process(float **inputBuffers, float **outputBuffer, int n) = 0; + + /** + * Processes one block of samples for a patch instance. The buffer format is an uninterleaved float array of channels. + * If the context has not input or output channels, the respective argument may be NULL. + * The number of samples to to tbe processed should be a multiple of 1, 4, or 8, depending on if + * no, SSE or NEON, or AVX optimisation is being used, respectively. + * e.g. [LLLLRRRR] + * + * @return The number of samples processed. + * + * This function is NOT thread-safe. It is assumed that only the audio thread will execute this function. + */ + virtual int processInline(float *inputBuffers, float *outputBuffer, int n) = 0; + + /** + * Processes one block of samples for a patch instance. The buffer format is an interleaved float array of channels. + * If the context has not input or output channels, the respective argument may be NULL. + * The number of samples to to tbe processed should be a multiple of 1, 4, or 8, depending on if + * no, SSE or NEON, or AVX optimisation is being used, respectively. + * e.g. [LRLRLRLR] + * + * @return The number of samples processed. + * + * This function is NOT thread-safe. It is assumed that only the audio thread will execute this function. + */ + virtual int processInlineInterleaved(float *inputBuffers, float *outputBuffer, int n) = 0; + + /** + * Sends a formatted message to a receiver that can be scheduled for the future. + * The receiver is addressed with its hash, which can also be determined using hv_stringToHash(). + * This function is thread-safe. + * + * @return True if the message was accepted. False if the message could not fit onto + * the message queue to be processed this block. + */ + virtual bool sendMessageToReceiver(hv_uint32_t receiverHash, double delayMs, HvMessage *m) = 0; + + /** + * Sends a formatted message to a receiver that can be scheduled for the future. + * The receiver is addressed with its hash, which can also be determined using hv_stringToHash(). + * This function is thread-safe. + * + * @return True if the message was accepted. False if the message could not fit onto + * the message queue to be processed this block. + */ + virtual bool sendMessageToReceiverV(hv_uint32_t receiverHash, double delayMs, const char *fmt, ...) = 0; + + /** + * A convenience function to send a float to a receiver to be processed immediately. + * The receiver is addressed with its hash, which can also be determined using hv_stringToHash(). + * This function is thread-safe. + * + * @return True if the message was accepted. False if the message could not fit onto + * the message queue to be processed this block. + */ + virtual bool sendFloatToReceiver(hv_uint32_t receiverHash, float f) = 0; + + /** + * A convenience function to send a bang to a receiver to be processed immediately. + * The receiver is addressed with its hash, which can also be determined using hv_stringToHash(). + * This function is thread-safe. + * + * @return True if the message was accepted. False if the message could not fit onto + * the message queue to be processed this block. + */ + virtual bool sendBangToReceiver(hv_uint32_t receiverHash) = 0; + + /** + * A convenience function to send a symbol to a receiver to be processed immediately. + * The receiver is addressed with its hash, which can also be determined using hv_stringToHash(). + * This function is thread-safe. + * + * @return True if the message was accepted. False if the message could not fit onto + * the message queue to be processed this block. + */ + virtual bool sendSymbolToReceiver(hv_uint32_t receiverHash, const char *symbol) = 0; + + /** + * Cancels a previously scheduled message. + * + * @param sendMessage May be NULL. + */ + virtual bool cancelMessage(HvMessage *m, void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)=nullptr) = 0; + + /** + * Returns information about each parameter such as name, hash, and range. + * The total number of parameters is always returned. + * + * @param index The parameter index. + * @param info A pointer to a HvParameterInfo struct. May be null. + * + * @return The total number of parameters. + */ + virtual int getParameterInfo(int index, HvParameterInfo *info) = 0; + + /** Returns a pointer to the raw buffer backing this table. DO NOT free it. */ + virtual float *getBufferForTable(hv_uint32_t tableHash) = 0; + + /** Returns the length of this table in samples. */ + virtual int getLengthForTable(hv_uint32_t tableHash) = 0; + + /** + * Resizes the table to the given length. + * + * Existing contents are copied to the new table. Remaining space is cleared + * if the table is longer than the original, truncated otherwise. + * + * @param tableHash The table identifier. + * @param newSampleLength The new length of the table, in samples. + * + * @return False if the table could not be found. True otherwise. + */ + virtual bool setLengthForTable(hv_uint32_t tableHash, hv_uint32_t newSampleLength) = 0; + + /** + * Acquire the input message queue lock. + * + * This function will block until the message lock as been acquired. + * Typical applications will not require the use of this function. + */ + virtual void lockAcquire() = 0; + + /** + * Try to acquire the input message queue lock. + * + * If the lock has been acquired, hv_lock_release() must be called to release it. + * Typical applications will not require the use of this function. + * + * @return Returns true if the lock has been acquired, false otherwise. + */ + virtual bool lockTry() = 0; + + /** + * Release the input message queue lock. + * + * Typical applications will not require the use of this function. + */ + virtual void lockRelease() = 0; + + /** + * Set the size of the input message queue in kilobytes. + * + * The buffer is reset and all existing contents are lost on resize. + * + * @param inQueueKb Must be positive i.e. at least one. + */ + virtual void setInputMessageQueueSize(int inQueueKb) = 0; + + /** + * Set the size of the output message queue in kilobytes. + * + * The buffer is reset and all existing contents are lost on resize. + * Only the default sendhook uses the outgoing message queue. If the default + * sendhook is not being used, then this function is not useful. + * + * @param outQueueKb Must be postive i.e. at least one. + */ + virtual void setOutputMessageQueueSize(int outQueueKb) = 0; + + /** + * Get the next message in the outgoing queue, will also consume the message. + * Returns false if there are no messages. + * + * @param destinationHash a hash of the name of the receiver the message was sent to. + * @param outMsg message pointer that is filled by the next message contents. + * @param msgLengthBytes max length of outMsg in bytes. + * + * @return True if there is a message in the outgoing queue. + */ + virtual bool getNextSentMessage(hv_uint32_t *destinationHash, HvMessage *outMsg, hv_size_t msgLengthBytes) = 0; + + /** Returns a 32-bit hash of any string. Returns 0 if string is NULL. */ + static hv_uint32_t getHashForString(const char *str); +}; + +#endif // _HEAVY_CONTEXT_INTERFACE_H_ diff --git a/plugin/source/HeavyDPF_EP_MK1.cpp b/plugin/source/HeavyDPF_EP_MK1.cpp new file mode 100644 index 0000000..32af85a --- /dev/null +++ b/plugin/source/HeavyDPF_EP_MK1.cpp @@ -0,0 +1,452 @@ +/** + * Copyright (c) 2022 Enzien Audio, Ltd. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions, and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the phrase "powered by heavy", + * the heavy logo, and a hyperlink to https://enzienaudio.com, all in a visible + * form. + * + * 2.1 If the Application is distributed in a store system (for example, + * the Apple "App Store" or "Google Play"), the phrase "powered by heavy" + * shall be included in the app description or the copyright text as well as + * the in the app itself. The heavy logo will shall be visible in the app + * itself as well. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include "HeavyDPF_EP_MK1.hpp" +#include + + +#define HV_LV2_NUM_PARAMETERS 0 + +#define HV_HASH_NOTEIN 0x67E37CA3 +#define HV_HASH_CTLIN 0x41BE0f9C +#define HV_HASH_PGMIN 0x2E1EA03D +#define HV_HASH_TOUCHIN 0x553925BD +#define HV_HASH_BENDIN 0x3083F0F7 +#define HV_HASH_MIDIIN 0x149631bE +#define HV_HASH_MIDIREALTIMEIN 0x6FFF0BCF + +#define HV_HASH_NOTEOUT 0xD1D4AC2 +#define HV_HASH_CTLOUT 0xE5e2A040 +#define HV_HASH_PGMOUT 0x8753E39E +#define HV_HASH_TOUCHOUT 0x476D4387 +#define HV_HASH_BENDOUT 0xE8458013 +#define HV_HASH_MIDIOUT 0x6511DE55 +#define HV_HASH_MIDIOUTPORT 0x165707E4 + +#define MIDI_RT_CLOCK 0xF8 +#define MIDI_RT_START 0xFA +#define MIDI_RT_CONTINUE 0xFB +#define MIDI_RT_STOP 0xFC +#define MIDI_RT_ACTIVESENSE 0xFE +#define MIDI_RT_RESET 0xFF + +// midi realtime messages +std::set mrtSet { + MIDI_RT_CLOCK, + MIDI_RT_START, + MIDI_RT_CONTINUE, + MIDI_RT_STOP, + MIDI_RT_RESET +}; + + +START_NAMESPACE_DISTRHO + + +// ------------------------------------------------------------------- +// Heavy Send and Print hooks + +static void hvSendHookFunc(HeavyContextInterface *c, const char *sendName, uint32_t sendHash, const HvMessage *m) +{ + HeavyDPF_EP_MK1* plugin = (HeavyDPF_EP_MK1*)c->getUserData(); + if (plugin != nullptr) + { +#if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT + plugin->handleMidiSend(sendHash, m); +#endif + } +} + +static void hvPrintHookFunc(HeavyContextInterface *c, const char *printLabel, const char *msgString, const HvMessage *m) +{ + char buf[64]; + char* dst = buf; + int len = strnlen(printLabel, 48); + dst = strncpy(dst, printLabel, len); + dst = strcpy(dst, " "); + dst = strncpy(dst, msgString, 63-len); + printf("> %s \n", buf); +} + +// ------------------------------------------------------------------- +// Main DPF plugin class + +HeavyDPF_EP_MK1::HeavyDPF_EP_MK1() + : Plugin(HV_LV2_NUM_PARAMETERS, 0, 0) +{ + + + _context = new Heavy_EP_MK1(getSampleRate(), 10, 2, 2); + _context->setUserData(this); + _context->setSendHook(&hvSendHookFunc); + _context->setPrintHook(&hvPrintHookFunc); + + +} + +HeavyDPF_EP_MK1::~HeavyDPF_EP_MK1() { + delete _context; +} + +void HeavyDPF_EP_MK1::initParameter(uint32_t index, Parameter& parameter) +{ + +} + +// ------------------------------------------------------------------- +// Internal data + +float HeavyDPF_EP_MK1::getParameterValue(uint32_t index) const +{ + + return 0.0f; + +} + +void HeavyDPF_EP_MK1::setParameterValue(uint32_t index, float value) +{ + + // nothing to do + +} + + +// ------------------------------------------------------------------- +// Process + +// void HeavyDPF_EP_MK1::activate() +// { + +// } + +// void HeavyDPF_EP_MK1::deactivate() +// { + +// } + +#if DISTRHO_PLUGIN_WANT_MIDI_INPUT +// ------------------------------------------------------------------- +// Midi Input handler + +void HeavyDPF_EP_MK1::handleMidiInput(uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount) +{ + // Realtime events + const TimePosition& timePos(getTimePosition()); + bool reset = false; + + if (timePos.playing) + { + if (timePos.frame == 0) + { + _context->sendMessageToReceiverV(HV_HASH_MIDIREALTIMEIN, 0, + "ff", (float) MIDI_RT_RESET); + reset = true; + } + + if (! this->wasPlaying) + { + if (timePos.frame == 0) + { + _context->sendMessageToReceiverV(HV_HASH_MIDIREALTIMEIN, 0, + "ff", (float) MIDI_RT_START); + } + if (! reset) + { + _context->sendMessageToReceiverV(HV_HASH_MIDIREALTIMEIN, 0, + "ff", (float) MIDI_RT_CONTINUE); + } + } + } + else if (this->wasPlaying) + { + _context->sendMessageToReceiverV(HV_HASH_MIDIREALTIMEIN, 0, + "ff", (float) MIDI_RT_STOP); + } + this->wasPlaying = timePos.playing; + + // sending clock ticks + if (timePos.playing && timePos.bbt.valid) + { + float samplesPerBeat = 60 * getSampleRate() / timePos.bbt.beatsPerMinute; + float samplesPerTick = samplesPerBeat / 24.0; + + /* get state */ + double nextClockTick = this->nextClockTick; + double sampleAtCycleStart = this->sampleAtCycleStart; + double sampleAtCycleEnd = sampleAtCycleStart + frames; + + while (nextClockTick < sampleAtCycleEnd) { + _context->sendMessageToReceiverV(HV_HASH_MIDIREALTIMEIN, 1000*(nextClockTick - sampleAtCycleStart)/getSampleRate(), + "ff", (float) MIDI_RT_CLOCK); + nextClockTick += samplesPerTick; + } + + /* save variables for next cycle */ + this->sampleAtCycleStart = sampleAtCycleEnd; + this->nextClockTick = nextClockTick; + } + + // Midi events + for (uint32_t i=0; i < midiEventCount; ++i) + { + int status = midiEvents[i].data[0]; + int command = status & 0xF0; + int channel = status & 0x0F; + int data1 = midiEvents[i].data[1]; + int data2 = midiEvents[i].data[2]; + + // raw [midiin] messages + int dataSize = *(&midiEvents[i].data + 1) - midiEvents[i].data; + + for (int i = 0; i < dataSize; ++i) { + _context->sendMessageToReceiverV(HV_HASH_MIDIIN, 1000.0*timePos.frame/getSampleRate(), "ff", + (float) midiEvents[i].data[i], + (float) channel); + } + + if(mrtSet.find(status) != mrtSet.end()) + { + _context->sendMessageToReceiverV(HV_HASH_MIDIREALTIMEIN, 1000.0*timePos.frame/getSampleRate(), + "ff", (float) status); + } + + // typical midi messages + switch (command) { + case 0x80: { // note off + _context->sendMessageToReceiverV(HV_HASH_NOTEIN, 1000.0*timePos.frame/getSampleRate(), "fff", + (float) data1, // pitch + (float) 0, // velocity + (float) channel); + break; + } + case 0x90: { // note on + _context->sendMessageToReceiverV(HV_HASH_NOTEIN, 1000.0*timePos.frame/getSampleRate(), "fff", + (float) data1, // pitch + (float) data2, // velocity + (float) channel); + break; + } + case 0xB0: { // control change + _context->sendMessageToReceiverV(HV_HASH_CTLIN, 1000.0*timePos.frame/getSampleRate(), "fff", + (float) data2, // value + (float) data1, // cc number + (float) channel); + break; + } + case 0xC0: { // program change + _context->sendMessageToReceiverV(HV_HASH_PGMIN, 1000.0*timePos.frame/getSampleRate(), "ff", + (float) data1, + (float) channel); + break; + } + case 0xD0: { // aftertouch + _context->sendMessageToReceiverV(HV_HASH_TOUCHIN, 1000.0*timePos.frame/getSampleRate(), "ff", + (float) data1, + (float) channel); + break; + } + case 0xE0: { // pitch bend + // combine 7bit lsb and msb into 32bit int + hv_uint32_t value = (((hv_uint32_t) data2) << 7) | ((hv_uint32_t) data1); + _context->sendMessageToReceiverV(HV_HASH_BENDIN, 1000.0*timePos.frame/getSampleRate(), "ff", + (float) value, + (float) channel); + break; + } + default: break; + } + } +} +#endif + +#if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT +// ------------------------------------------------------------------- +// Midi Send handler + +void HeavyDPF_EP_MK1::handleMidiSend(uint32_t sendHash, const HvMessage *m) +{ + MidiEvent midiSendEvent; + midiSendEvent.frame = 0; + midiSendEvent.dataExt = nullptr; + + switch(sendHash){ + case HV_HASH_NOTEOUT: // __hv_noteout + { + uint8_t note = hv_msg_getFloat(m, 0); + uint8_t velocity = hv_msg_getFloat(m, 1); + uint8_t ch = hv_msg_getFloat(m, 2); + ch %= 16; // drop any pd "ports" + + midiSendEvent.size = 3; + if (velocity > 0){ + midiSendEvent.data[0] = 0x90 | ch; // noteon + } else { + midiSendEvent.data[0] = 0x80 | ch; // noteoff + } + midiSendEvent.data[1] = note; + midiSendEvent.data[2] = velocity; + + writeMidiEvent(midiSendEvent); + break; + } + case HV_HASH_CTLOUT: + { + uint8_t value = hv_msg_getFloat(m, 0); + uint8_t cc = hv_msg_getFloat(m, 1); + uint8_t ch = hv_msg_getFloat(m, 2); + ch %= 16; + + midiSendEvent.size = 3; + midiSendEvent.data[0] = 0xB0 | ch; // send CC + midiSendEvent.data[1] = cc; + midiSendEvent.data[2] = value; + + writeMidiEvent(midiSendEvent); + break; + } + case HV_HASH_PGMOUT: + { + uint8_t pgm = hv_msg_getFloat(m, 0); + uint8_t ch = hv_msg_getFloat(m, 1); + ch %= 16; + + midiSendEvent.size = 2; + midiSendEvent.data[0] = 0xC0 | ch; // send Program Change + midiSendEvent.data[1] = pgm; + + writeMidiEvent(midiSendEvent); + break; + } + case HV_HASH_TOUCHOUT: + { + uint8_t value = hv_msg_getFloat(m, 0); + uint8_t ch = hv_msg_getFloat(m, 1); + ch %= 16; + + midiSendEvent.size = 2; + midiSendEvent.data[0] = 0xD0 | ch; // send Touch + midiSendEvent.data[1] = value; + + writeMidiEvent(midiSendEvent); + break; + } + case HV_HASH_BENDOUT: + { + uint16_t value = hv_msg_getFloat(m, 0); + uint8_t lsb = value & 0x7F; + uint8_t msb = (value >> 7) & 0x7F; + uint8_t ch = hv_msg_getFloat(m, 1); + ch %= 16; + + midiSendEvent.size = 3; + midiSendEvent.data[0] = 0xE0 | ch; // send Bend + midiSendEvent.data[1] = lsb; + midiSendEvent.data[2] = msb; + + writeMidiEvent(midiSendEvent); + break; + } + case HV_HASH_MIDIOUT: // __hv_midiout + { + const uint8_t numElements = m->numElements; + if (numElements <=4 ) + { + for (int i = 0; i < numElements; ++i) + { + midiSendEvent.data[i] = hv_msg_getFloat(m, i); + } + } + else + { + printf("> we do not support sysex yet \n"); + break; + } + + // unsigned char* rawData = new unsigned char; + // for (int i = 0; i < numElements; ++i) { + // rawData[i] = (uint8_t) hv_msg_getFloat(m, i); + // printf("> data: %d \n", rawData[i]); + // } + + midiSendEvent.size = numElements; + // midiSendEvent.dataExt = (const uint8_t *) rawData; + + writeMidiEvent(midiSendEvent); + break; + } + default: + break; + } +} +#endif + +// ------------------------------------------------------------------- +// DPF Plugin run() loop + +#if DISTRHO_PLUGIN_WANT_MIDI_INPUT +void HeavyDPF_EP_MK1::run(const float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount) +{ + handleMidiInput(frames, midiEvents, midiEventCount); +#else +void HeavyDPF_EP_MK1::run(const float** inputs, float** outputs, uint32_t frames) +{ +#endif + _context->process((float**)inputs, outputs, frames); +} + +// ------------------------------------------------------------------- +// Callbacks + +void HeavyDPF_EP_MK1::sampleRateChanged(double newSampleRate) +{ + delete _context; + + _context = new Heavy_EP_MK1(newSampleRate, 10, 2, 2); + _context->setUserData(this); + _context->setSendHook(&hvSendHookFunc); + _context->setPrintHook(&hvPrintHookFunc); + + +} + + +// ----------------------------------------------------------------------- +/* Plugin entry point, called by DPF to create a new plugin instance. */ + +Plugin* createPlugin() +{ + return new HeavyDPF_EP_MK1(); +} + +// ----------------------------------------------------------------------- + +END_NAMESPACE_DISTRHO \ No newline at end of file diff --git a/plugin/source/HeavyDPF_EP_MK1.hpp b/plugin/source/HeavyDPF_EP_MK1.hpp new file mode 100644 index 0000000..ac391a1 --- /dev/null +++ b/plugin/source/HeavyDPF_EP_MK1.hpp @@ -0,0 +1,154 @@ +/** + * Copyright (c) 2022 Enzien Audio, Ltd. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions, and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the phrase "powered by heavy", + * the heavy logo, and a hyperlink to https://enzienaudio.com, all in a visible + * form. + * + * 2.1 If the Application is distributed in a store system (for example, + * the Apple "App Store" or "Google Play"), the phrase "powered by heavy" + * shall be included in the app description or the copyright text as well as + * the in the app itself. The heavy logo will shall be visible in the app + * itself as well. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef _HEAVY_LV2_EP_MK1_ +#define _HEAVY_LV2_EP_MK1_ + +#include "DistrhoPlugin.hpp" +#include "DistrhoPluginInfo.h" +#include "Heavy_EP_MK1.hpp" + +START_NAMESPACE_DISTRHO + +static void hvSendHookFunc(HeavyContextInterface *c, const char *sendName, uint32_t sendHash, const HvMessage *m); +static void hvPrintHookFunc(HeavyContextInterface *c, const char *printLabel, const char *msgString, const HvMessage *m); + +class HeavyDPF_EP_MK1 : public Plugin +{ +public: + enum Parameters + { + + }; + + HeavyDPF_EP_MK1(); + ~HeavyDPF_EP_MK1() override; + + void handleMidiInput(uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount); + void handleMidiSend(uint32_t sendHash, const HvMessage *m); + +protected: + // ------------------------------------------------------------------- + // Information + + const char* getLabel() const noexcept override + { + return "EP_MK1"; + } + + + const char* getDescription() const override + { + return "electric piano based on EP-MK1.pd"; + } + + + const char* getMaker() const noexcept override + { + + return "Wasted Audio"; + + } + + + + const char* getLicense() const noexcept override + { + + return "WTFPL"; + + } + + uint32_t getVersion() const noexcept override + { + + return d_version(0, 0, 1); + + } + + int64_t getUniqueId() const noexcept override + { + return int64_t( 0x2754D9B8 ); + } + + // ------------------------------------------------------------------- + // Init + + void initParameter(uint32_t index, Parameter& parameter) override; + + // ------------------------------------------------------------------- + // Internal data + + float getParameterValue(uint32_t index) const override; + void setParameterValue(uint32_t index, float value) override; + + // ------------------------------------------------------------------- + // Process + + // void activate() override; + // void deactivate() override; + +#if DISTRHO_PLUGIN_WANT_MIDI_INPUT + void run(const float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount) override; +#else + void run(const float** inputs, float** outputs, uint32_t frames) override; +#endif + + // ------------------------------------------------------------------- + // Callbacks + + void sampleRateChanged(double newSampleRate) override; + + // ------------------------------------------------------------------- + +private: + + + // transport values + bool wasPlaying; + float samplesProcessed; + double nextClockTick; + double sampleAtCycleStart; + + // heavy context + HeavyContextInterface *_context; + + // HeavyDPF_EP_MK1 fEP_MK1; + + DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(HeavyDPF_EP_MK1) +}; + +// ----------------------------------------------------------------------- + +END_NAMESPACE_DISTRHO + +#endif // _HEAVY_LV2_EP_MK1_ diff --git a/plugin/source/Heavy_EP_MK1.cpp b/plugin/source/Heavy_EP_MK1.cpp new file mode 100644 index 0000000..f8f1cc8 --- /dev/null +++ b/plugin/source/Heavy_EP_MK1.cpp @@ -0,0 +1,13116 @@ +/** + * Copyright (c) 2022 Enzien Audio, Ltd. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions, and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the phrase "powered by heavy", + * the heavy logo, and a hyperlink to https://enzienaudio.com, all in a visible + * form. + * + * 2.1 If the Application is distributed in a store system (for example, + * the Apple "App Store" or "Google Play"), the phrase "powered by heavy" + * shall be included in the app description or the copyright text as well as + * the in the app itself. The heavy logo will shall be visible in the app + * itself as well. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include "Heavy_EP_MK1.hpp" + +#define Context(_c) reinterpret_cast(_c) + + + +/* + * C Functions + */ + +extern "C" { + HV_EXPORT HeavyContextInterface *hv_EP_MK1_new(double sampleRate) { + return new Heavy_EP_MK1(sampleRate); + } + + HV_EXPORT HeavyContextInterface *hv_EP_MK1_new_with_options(double sampleRate, + int poolKb, int inQueueKb, int outQueueKb) { + return new Heavy_EP_MK1(sampleRate, poolKb, inQueueKb, outQueueKb); + } +} // extern "C" + + + + + + + +/* + * Class Functions + */ + +Heavy_EP_MK1::Heavy_EP_MK1(double sampleRate, int poolKb, int inQueueKb, int outQueueKb) + : HeavyContext(sampleRate, poolKb, inQueueKb, outQueueKb) { + numBytes += sRPole_init(&sRPole_xQE1l5IP); + numBytes += sPhasor_k_init(&sPhasor_1g348lth, 0.0f, sampleRate); + numBytes += sRPole_init(&sRPole_LJ2U55sy); + numBytes += sLine_init(&sLine_p3apF6qw); + numBytes += sLine_init(&sLine_Fe0sHHrh); + numBytes += sBiquad_init(&sBiquad_s_YKOSCulY); + numBytes += sBiquad_init(&sBiquad_s_WwgL7LgK); + numBytes += sRPole_init(&sRPole_Yh3y0fv7); + numBytes += sPhasor_k_init(&sPhasor_fT5BH6mJ, 0.0f, sampleRate); + numBytes += sRPole_init(&sRPole_OW9MoKMh); + numBytes += sLine_init(&sLine_hADdbIyX); + numBytes += sLine_init(&sLine_QOlaVO7i); + numBytes += sBiquad_init(&sBiquad_s_J2SXmwLe); + numBytes += sBiquad_init(&sBiquad_s_V1GxOo38); + numBytes += sRPole_init(&sRPole_fc8fozRB); + numBytes += sPhasor_k_init(&sPhasor_4cjQsVOb, 0.0f, sampleRate); + numBytes += sRPole_init(&sRPole_mUTFYoDS); + numBytes += sLine_init(&sLine_cIX3zJqu); + numBytes += sLine_init(&sLine_LhlRTRkY); + numBytes += sBiquad_init(&sBiquad_s_yl5UTiMA); + numBytes += sBiquad_init(&sBiquad_s_w1lsyZ09); + numBytes += sRPole_init(&sRPole_6w5YBg62); + numBytes += sPhasor_k_init(&sPhasor_D5sKYl8D, 0.0f, sampleRate); + numBytes += sRPole_init(&sRPole_RSpjeLQ7); + numBytes += sLine_init(&sLine_0sWTZ5AU); + numBytes += sLine_init(&sLine_RzEGSGrh); + numBytes += sBiquad_init(&sBiquad_s_RKAk6kYo); + numBytes += sBiquad_init(&sBiquad_s_tKqK3PD8); + numBytes += sRPole_init(&sRPole_rortzBCV); + numBytes += sPhasor_k_init(&sPhasor_EcWjv2sM, 0.0f, sampleRate); + numBytes += sRPole_init(&sRPole_h1PimpFg); + numBytes += sLine_init(&sLine_dkF12Ve6); + numBytes += sLine_init(&sLine_qf13Df9a); + numBytes += sBiquad_init(&sBiquad_s_5ZyVy244); + numBytes += sBiquad_init(&sBiquad_s_iY0l9PpE); + numBytes += sRPole_init(&sRPole_ENY5kCjf); + numBytes += sPhasor_k_init(&sPhasor_E5G3BDc3, 0.0f, sampleRate); + numBytes += sRPole_init(&sRPole_FcnY2nUH); + numBytes += sLine_init(&sLine_7VShF34d); + numBytes += sLine_init(&sLine_cB6SyVDf); + numBytes += sBiquad_init(&sBiquad_s_lTst5uXH); + numBytes += sBiquad_init(&sBiquad_s_bv0ayvgN); + numBytes += sRPole_init(&sRPole_KtL4KXWw); + numBytes += sPhasor_k_init(&sPhasor_c7vJg0xU, 0.0f, sampleRate); + numBytes += sRPole_init(&sRPole_rXfoSWbc); + numBytes += sLine_init(&sLine_j9bBmCVa); + numBytes += sLine_init(&sLine_sg8Xev4V); + numBytes += sBiquad_init(&sBiquad_s_cMP1tQbF); + numBytes += sBiquad_init(&sBiquad_s_gmGyDRT9); + numBytes += sRPole_init(&sRPole_hqPZA51z); + numBytes += sPhasor_k_init(&sPhasor_SazJp6hE, 0.0f, sampleRate); + numBytes += sRPole_init(&sRPole_i1z0QzqD); + numBytes += sLine_init(&sLine_B8Rawwja); + numBytes += sLine_init(&sLine_VEYj3jgK); + numBytes += sBiquad_init(&sBiquad_s_Tem2knmO); + numBytes += sBiquad_init(&sBiquad_s_LyFyGR1n); + numBytes += sRPole_init(&sRPole_FWviEoDV); + numBytes += sDel1_init(&sDel1_GoFPXWmZ); + numBytes += cSlice_init(&cSlice_elndZqvG, 2, 1); + numBytes += cSlice_init(&cSlice_8lQZHtLi, 1, 1); + numBytes += cSlice_init(&cSlice_YVJyinnD, 0, 1); + numBytes += cSlice_init(&cSlice_ARpUAMcU, 1, -1); + numBytes += cSlice_init(&cSlice_qZ4JKRTE, 1, -1); + numBytes += cVar_init_f(&cVar_cpIi4bZm, 0.0f); + numBytes += cIf_init(&cIf_YoRQTGhu, false); + numBytes += cVar_init_f(&cVar_QDfjXuFO, 0.0f); + numBytes += cIf_init(&cIf_f2jlbKVU, false); + numBytes += cIf_init(&cIf_mO03xd4v, false); + numBytes += cIf_init(&cIf_amyuKIUW, false); + numBytes += cIf_init(&cIf_KcTlrUJx, false); + numBytes += cIf_init(&cIf_smq6naFn, false); + numBytes += cPack_init(&cPack_BYT033Zm, 3, 0.0f, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_DhA4et2d, 1, -1); + numBytes += sVarf_init(&sVarf_RNGFp3NA, 0.0f, 0.0f, false); + numBytes += cVar_init_f(&cVar_ElxPJUxK, 3.0f); + numBytes += cBinop_init(&cBinop_BoHvJj3f, 0.0f); // __div + numBytes += sVarf_init(&sVarf_Yp4JGjbp, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_bjkjROgL, 1, 1); + numBytes += cSlice_init(&cSlice_X59Ms47y, 0, 1); + numBytes += cBinop_init(&cBinop_5BolRjUc, 1.0f); // __pow + numBytes += cDelay_init(this, &cDelay_XJtqLdR3, 2.0f); + numBytes += cPack_init(&cPack_Tc48KAjO, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_mxHzGYpx, 1, 1); + numBytes += cSlice_init(&cSlice_S1VOGbss, 0, 1); + numBytes += cVar_init_f(&cVar_sZ2r4PVf, 22050.0f); + numBytes += cBinop_init(&cBinop_3RBhQUO2, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_12WWjECf, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_JStffWNs, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_LdXQexFY, 2.0f); + numBytes += cPack_init(&cPack_mCFcgioO, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_Km00ydT2, 1, 1); + numBytes += cSlice_init(&cSlice_1Q9bVNNN, 0, 1); + numBytes += cVar_init_f(&cVar_NTVGi1rx, 22050.0f); + numBytes += cBinop_init(&cBinop_D5D0LaYe, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_MhpLVcYQ, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_dWTru9Kp, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_8PkrkbiL, 1, -1); + numBytes += cSlice_init(&cSlice_AxhMJRiu, 1, -1); + numBytes += cBinop_init(&cBinop_AUvUrY4R, 1.0f); // __pow + numBytes += sVarf_init(&sVarf_0vvlNiX4, 44100.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_yz2BQm5L, 44100.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_yN9o31WM, 3.0f); + numBytes += sVarf_init(&sVarf_pkqNsRE6, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_qZFKZiPY, 2.0f); + numBytes += cDelay_init(this, &cDelay_u4RfWjOf, 3.0f); + numBytes += cDelay_init(this, &cDelay_HvShZWxN, 3.0f); + numBytes += cDelay_init(this, &cDelay_62QExDOA, 3.0f); + numBytes += cDelay_init(this, &cDelay_twfJBpos, 3.0f); + numBytes += cIf_init(&cIf_uB5Z1HTu, false); + numBytes += cBinop_init(&cBinop_gRen83wr, 0.0f); // __pow + numBytes += cPack_init(&cPack_H3oA1KXj, 2, 0.0f, 0.0f); + numBytes += cBinop_init(&cBinop_H0pkypkT, 2048.0f); // __mul + numBytes += sVarf_init(&sVarf_5c1hNZPU, -1.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_mmQmNb4h, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_U88OzJYl, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_E7C2HtOj, 0.0f, 0.0f, false); + numBytes += cVar_init_f(&cVar_W2qTdReU, 1.0f); + numBytes += cVar_init_f(&cVar_t9FMWBot, 0.0f); + numBytes += cSlice_init(&cSlice_0qBP9nWd, 1, -1); + numBytes += cSlice_init(&cSlice_tESkokbe, 1, -1); + numBytes += cSlice_init(&cSlice_o4tsP9dq, 1, 1); + numBytes += cSlice_init(&cSlice_FCBGNY5K, 0, 1); + numBytes += cVar_init_f(&cVar_nFgGc4Zm, 0.0f); + numBytes += cIf_init(&cIf_D4wcmJuh, false); + numBytes += cIf_init(&cIf_c0zUMuUL, false); + numBytes += cIf_init(&cIf_D3NPspDa, false); + numBytes += cVar_init_f(&cVar_h9fOsrnu, 0.0f); + numBytes += cIf_init(&cIf_aU22ke9k, false); + numBytes += cVar_init_f(&cVar_nFPgN4cq, 0.0f); + numBytes += cIf_init(&cIf_47eGoYaP, false); + numBytes += cBinop_init(&cBinop_RBY4x1dy, 0.0f); // __lt + numBytes += cVar_init_f(&cVar_G6zKrSxh, 8.0f); + numBytes += cTabread_init(&cTabread_PauJffJY, &hTable_jDLA3bj2); // 1148-used + numBytes += cSlice_init(&cSlice_yetBqfVw, 1, -1); + numBytes += cVar_init_s(&cVar_TLOWGcxL, "1148-used"); + numBytes += cBinop_init(&cBinop_zGtokhdj, 0.0f); // __min + numBytes += cTabread_init(&cTabread_KpXSrXsH, &hTable_103Wn1Ed); // 1148-ids + numBytes += cSlice_init(&cSlice_o3FM47ae, 1, -1); + numBytes += cVar_init_s(&cVar_5rfRjuLO, "1148-ids"); + numBytes += cBinop_init(&cBinop_FKqtHwiD, 0.0f); // __min + numBytes += cVar_init_f(&cVar_YQvRzRkM, 0.0f); + numBytes += cSlice_init(&cSlice_kuLRrEzT, 1, 1); + numBytes += cSlice_init(&cSlice_zdBnuOil, 0, 1); + numBytes += cTabread_init(&cTabread_ZQApb8qU, &hTable_zrjAPWjU); // 1148-pitches + numBytes += cSlice_init(&cSlice_JhRv8Rsb, 1, -1); + numBytes += cVar_init_s(&cVar_RJ9OHYRE, "1148-pitches"); + numBytes += cBinop_init(&cBinop_anj1Q63b, 0.0f); // __min + numBytes += cVar_init_f(&cVar_uyfxho1R, 0.0f); + numBytes += cVar_init_f(&cVar_6P11HIk6, 0.0f); + numBytes += cIf_init(&cIf_UIdc2Y3S, false); + numBytes += cTabwrite_init(&cTabwrite_phRkfVNE, &hTable_jDLA3bj2); // 1148-used + numBytes += cSlice_init(&cSlice_XQ59cW9c, 1, -1); + numBytes += cTabwrite_init(&cTabwrite_srERlrc2, &hTable_103Wn1Ed); // 1148-ids + numBytes += cSlice_init(&cSlice_92qaa8G2, 1, -1); + numBytes += cVar_init_f(&cVar_FxOwbdbW, 0.0f); + numBytes += cVar_init_f(&cVar_qiKMdCfe, 0.0f); + numBytes += cSlice_init(&cSlice_uEndvnwx, 1, 1); + numBytes += cSlice_init(&cSlice_IZt7JHNk, 0, 1); + numBytes += cPack_init(&cPack_81OkRPDa, 2, 0.0f, 0.0f); + numBytes += cBinop_init(&cBinop_RFdaE8WW, 0.0f); // __eq + numBytes += cBinop_init(&cBinop_7PEtvA9O, 0.0f); // __logand + numBytes += cBinop_init(&cBinop_DNEcWV5z, 0.0f); // __logand + numBytes += cBinop_init(&cBinop_01bWJPHc, 0.0f); // __lt + numBytes += cIf_init(&cIf_TFIJca8L, false); + numBytes += cVar_init_f(&cVar_cKm6INBi, 0.0f); + numBytes += cIf_init(&cIf_ibFYYATN, false); + numBytes += cVar_init_f(&cVar_QJUrAoEP, 0.0f); + numBytes += cIf_init(&cIf_o3dHJNrP, false); + numBytes += cBinop_init(&cBinop_fXXfM7sT, 0.0f); // __lt + numBytes += cVar_init_f(&cVar_YNI0kMWD, 8.0f); + numBytes += cTabwrite_init(&cTabwrite_4XAIFIT1, &hTable_jDLA3bj2); // 1148-used + numBytes += cSlice_init(&cSlice_Ahl4XFE1, 1, -1); + numBytes += cTabread_init(&cTabread_v2Y3w5Js, &hTable_jDLA3bj2); // 1148-used + numBytes += cSlice_init(&cSlice_KfTlOVnb, 1, -1); + numBytes += cVar_init_s(&cVar_xlGGAJyo, "1148-used"); + numBytes += cBinop_init(&cBinop_4OhIorOU, 0.0f); // __min + numBytes += cIf_init(&cIf_9Pnl6QKg, false); + numBytes += cTabread_init(&cTabread_3p4zBAxb, &hTable_zrjAPWjU); // 1148-pitches + numBytes += cSlice_init(&cSlice_3TTb2icc, 1, -1); + numBytes += cVar_init_s(&cVar_ALLgM3kz, "1148-pitches"); + numBytes += cBinop_init(&cBinop_9ycQILEU, 0.0f); // __min + numBytes += cIf_init(&cIf_4hIlFUU3, false); + numBytes += cVar_init_f(&cVar_QV1FHuAQ, 0.0f); + numBytes += cIf_init(&cIf_8SDdSAUy, false); + numBytes += cVar_init_f(&cVar_OFdGnxYb, 0.0f); + numBytes += cIf_init(&cIf_iPBiNEnD, false); + numBytes += cBinop_init(&cBinop_EHSnhdCg, 0.0f); // __lt + numBytes += cVar_init_f(&cVar_gyUPexf9, 8.0f); + numBytes += cTabwrite_init(&cTabwrite_mwtkLMr5, &hTable_jDLA3bj2); // 1148-used + numBytes += cSlice_init(&cSlice_687b49wk, 1, -1); + numBytes += cTabwrite_init(&cTabwrite_t4h14qem, &hTable_103Wn1Ed); // 1148-ids + numBytes += cSlice_init(&cSlice_TpNaIlmR, 1, -1); + numBytes += cTabwrite_init(&cTabwrite_Xc9EqI71, &hTable_zrjAPWjU); // 1148-pitches + numBytes += cSlice_init(&cSlice_uriW0Yse, 1, -1); + numBytes += cIf_init(&cIf_N2eqUNfm, false); + numBytes += cVar_init_f(&cVar_INvadq4g, 0.0f); + numBytes += cIf_init(&cIf_MXYQ077D, false); + numBytes += cVar_init_f(&cVar_cdEnC7IL, 0.0f); + numBytes += cIf_init(&cIf_MuTE4IBy, false); + numBytes += cBinop_init(&cBinop_fiXM9NS8, 0.0f); // __lt + numBytes += cVar_init_f(&cVar_OkVpRRSw, 8.0f); + numBytes += cVar_init_f(&cVar_XpmYbjT4, 0.0f); + numBytes += cIf_init(&cIf_0cDBtrS9, false); + numBytes += cVar_init_f(&cVar_iiualsly, 0.0f); + numBytes += cVar_init_f(&cVar_dx2ZQG4K, 0.0f); + numBytes += cVar_init_f(&cVar_OyUmAZI6, 0.0f); + numBytes += cIf_init(&cIf_YXo0WfYq, false); + numBytes += cIf_init(&cIf_dw0Rb8md, false); + numBytes += cPack_init(&cPack_TGa9AOTT, 2, 0.0f, 0.0f); + numBytes += cVar_init_f(&cVar_MfvQWInI, 0.0f); + numBytes += cSlice_init(&cSlice_SvNxgwyv, 1, 1); + numBytes += cSlice_init(&cSlice_84tpamIM, 0, 1); + numBytes += cVar_init_f(&cVar_bNgyqWRz, 0.0f); + numBytes += cIf_init(&cIf_30KS2vcA, false); + numBytes += cVar_init_f(&cVar_L9vaHYGJ, 0.0f); + numBytes += cVar_init_f(&cVar_u5tBj8Lb, 0.0f); + numBytes += cTabread_init(&cTabread_zixFG9DX, &hTable_jDLA3bj2); // 1148-used + numBytes += cSlice_init(&cSlice_mpKBBGkD, 1, -1); + numBytes += cVar_init_s(&cVar_qZNKNNj4, "1148-used"); + numBytes += cBinop_init(&cBinop_fTIYVYXR, 0.0f); // __min + numBytes += cTabread_init(&cTabread_r8YGsDv2, &hTable_103Wn1Ed); // 1148-ids + numBytes += cSlice_init(&cSlice_E3eGCS7T, 1, -1); + numBytes += cVar_init_s(&cVar_nqwB3gob, "1148-ids"); + numBytes += cBinop_init(&cBinop_RTJGzepK, 0.0f); // __min + numBytes += cTabwrite_init(&cTabwrite_AFpLtIy7, &hTable_zrjAPWjU); // 1148-pitches + numBytes += cSlice_init(&cSlice_Xgq2sBvz, 1, -1); + numBytes += cTabread_init(&cTabread_wzHGlVxe, &hTable_zrjAPWjU); // 1148-pitches + numBytes += cSlice_init(&cSlice_uQMKeyli, 1, -1); + numBytes += cVar_init_s(&cVar_6vM6OQsr, "1148-pitches"); + numBytes += cBinop_init(&cBinop_n6HPoGNU, 0.0f); // __min + numBytes += cTabwrite_init(&cTabwrite_7CqRGpzh, &hTable_zrjAPWjU); // 1148-pitches + numBytes += cSlice_init(&cSlice_fGAlwoVk, 1, -1); + numBytes += cTabwrite_init(&cTabwrite_f431WPJL, &hTable_jDLA3bj2); // 1148-used + numBytes += cSlice_init(&cSlice_oeypQYGk, 1, -1); + numBytes += cTabwrite_init(&cTabwrite_b1zrUtiJ, &hTable_103Wn1Ed); // 1148-ids + numBytes += cSlice_init(&cSlice_4y3BMUCB, 1, -1); + numBytes += cTabwrite_init(&cTabwrite_ZnyIyMwB, &hTable_103Wn1Ed); // 1148-ids + numBytes += cSlice_init(&cSlice_ahe4Nl54, 1, -1); + numBytes += cVar_init_f(&cVar_GiSxSddZ, 0.0f); + numBytes += cTabwrite_init(&cTabwrite_rhy4zqC2, &hTable_jDLA3bj2); // 1148-used + numBytes += cSlice_init(&cSlice_jJFqUT5D, 1, -1); + numBytes += cVar_init_f(&cVar_MitV4kWM, 0.0f); + numBytes += cSlice_init(&cSlice_vacnVbtY, 1, 1); + numBytes += cSlice_init(&cSlice_JP4mGNIp, 0, 1); + numBytes += cVar_init_f(&cVar_aVw41OwU, 0.0f); + numBytes += cBinop_init(&cBinop_Bhr229Ht, 0.0f); // __logand + numBytes += cBinop_init(&cBinop_VHLIISwe, 0.0f); // __lt + numBytes += cBinop_init(&cBinop_eieiD2dS, 0.0f); // __logand + numBytes += cBinop_init(&cBinop_wRpWrKWi, 0.0f); // __lt + numBytes += cBinop_init(&cBinop_0TCmOiUi, 0.0f); // __logand + numBytes += cBinop_init(&cBinop_60vLkGOw, 65535.0f); // __unimod + numBytes += hTable_init(&hTable_zrjAPWjU, 8); + numBytes += hTable_init(&hTable_jDLA3bj2, 8); + numBytes += hTable_init(&hTable_103Wn1Ed, 8); + numBytes += cSlice_init(&cSlice_2INuIXhx, 1, 1); + numBytes += cSlice_init(&cSlice_rIS4wCWL, 0, 1); + numBytes += cBinop_init(&cBinop_D4pAxZXo, 1.0f); // __pow + numBytes += cDelay_init(this, &cDelay_fChR2EMd, 2.0f); + numBytes += cPack_init(&cPack_5c1776aq, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_uOTUFrWe, 1, 1); + numBytes += cSlice_init(&cSlice_2v2J5hCG, 0, 1); + numBytes += cVar_init_f(&cVar_f7mZhooZ, 22050.0f); + numBytes += cBinop_init(&cBinop_lV6bOwnK, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_WD7C8chd, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_RcnTHRuu, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_1yRWlMR0, 2.0f); + numBytes += cPack_init(&cPack_SwGJLASp, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_dtyI5XH4, 1, 1); + numBytes += cSlice_init(&cSlice_0n4vTued, 0, 1); + numBytes += cVar_init_f(&cVar_cuvWDrFY, 22050.0f); + numBytes += cBinop_init(&cBinop_CgfALdqs, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_MfT4ifW4, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_vp8lIXCn, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_XuiDQjrM, 1, -1); + numBytes += cSlice_init(&cSlice_jf2Ro2dy, 1, -1); + numBytes += cBinop_init(&cBinop_JmxewGJv, 1.0f); // __pow + numBytes += sVarf_init(&sVarf_qx7mJTO2, 44100.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_Jiw4Es3V, 44100.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_a1Yr3GlD, 3.0f); + numBytes += sVarf_init(&sVarf_EnIDOsdo, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_odpMaBGc, 2.0f); + numBytes += cDelay_init(this, &cDelay_zIGcbWr6, 3.0f); + numBytes += cDelay_init(this, &cDelay_PYqe7fPW, 3.0f); + numBytes += cDelay_init(this, &cDelay_YTuA3aGI, 3.0f); + numBytes += cDelay_init(this, &cDelay_B0f8yaM4, 3.0f); + numBytes += cIf_init(&cIf_drS0YQ1l, false); + numBytes += cBinop_init(&cBinop_NbhbI6Aw, 0.0f); // __pow + numBytes += cPack_init(&cPack_nY24jnaO, 2, 0.0f, 0.0f); + numBytes += cBinop_init(&cBinop_R6mPsfGd, 2048.0f); // __mul + numBytes += sVarf_init(&sVarf_7rNwdeBI, -1.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_lvEgPbs3, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_iDRS34B2, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_3qDPWnPQ, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_qZT4eBYV, 1, 1); + numBytes += cSlice_init(&cSlice_7oNej4sG, 0, 1); + numBytes += cBinop_init(&cBinop_AUKqDMCP, 1.0f); // __pow + numBytes += cDelay_init(this, &cDelay_ZtwXRUif, 2.0f); + numBytes += cPack_init(&cPack_J0CLxFll, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_YosQUGW6, 1, 1); + numBytes += cSlice_init(&cSlice_w1ytFFHJ, 0, 1); + numBytes += cVar_init_f(&cVar_I5axLBa7, 22050.0f); + numBytes += cBinop_init(&cBinop_8mUuoz38, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_sChqoevv, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_oj8tkGiB, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_iN9nDqKH, 2.0f); + numBytes += cPack_init(&cPack_XcUCeI3v, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_nOSjeXgq, 1, 1); + numBytes += cSlice_init(&cSlice_qIBpEnnd, 0, 1); + numBytes += cVar_init_f(&cVar_6lY50lnm, 22050.0f); + numBytes += cBinop_init(&cBinop_KyQEhWTY, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_r2nB2y1m, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_WSO3zyqT, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_UaT8lPaC, 1, -1); + numBytes += cSlice_init(&cSlice_F4UGzXJD, 1, -1); + numBytes += cBinop_init(&cBinop_pNB7bAH5, 1.0f); // __pow + numBytes += sVarf_init(&sVarf_ruyibc4Y, 44100.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_zp8XrZmD, 44100.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_QLMdRIRC, 3.0f); + numBytes += sVarf_init(&sVarf_e5DnsKGN, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_Jj5JoN3X, 2.0f); + numBytes += cDelay_init(this, &cDelay_MT2IRF44, 3.0f); + numBytes += cDelay_init(this, &cDelay_kVeglpYz, 3.0f); + numBytes += cDelay_init(this, &cDelay_HjgtvZoF, 3.0f); + numBytes += cDelay_init(this, &cDelay_AQqKKBe7, 3.0f); + numBytes += cIf_init(&cIf_riRtEjEO, false); + numBytes += cBinop_init(&cBinop_kWGjKN5n, 0.0f); // __pow + numBytes += cPack_init(&cPack_X3O3xvTy, 2, 0.0f, 0.0f); + numBytes += cBinop_init(&cBinop_lyVu0twV, 2048.0f); // __mul + numBytes += sVarf_init(&sVarf_sna6KPtA, -1.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_1ozkl1Ar, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_zeHbGhXt, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_NOYgXabI, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_hv3mUgaW, 1, 1); + numBytes += cSlice_init(&cSlice_XWrWDCcW, 0, 1); + numBytes += cBinop_init(&cBinop_c0i1xbS9, 1.0f); // __pow + numBytes += cDelay_init(this, &cDelay_6qAkbHP4, 2.0f); + numBytes += cPack_init(&cPack_HKhQT7B9, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_FwTqvMn2, 1, 1); + numBytes += cSlice_init(&cSlice_DcHse9W3, 0, 1); + numBytes += cVar_init_f(&cVar_r5ixlHEt, 22050.0f); + numBytes += cBinop_init(&cBinop_HqjECEs6, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_DyUZzAkb, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_7O0Uks8x, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_fsNbhAVw, 2.0f); + numBytes += cPack_init(&cPack_8rASSedI, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_SQTrpvHR, 1, 1); + numBytes += cSlice_init(&cSlice_TEczJAdP, 0, 1); + numBytes += cVar_init_f(&cVar_9G2w7qnP, 22050.0f); + numBytes += cBinop_init(&cBinop_wtCPn2v7, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_K4mxXcbU, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_8A33dqbR, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_MO4iCVh1, 1, -1); + numBytes += cSlice_init(&cSlice_QuX5M4S2, 1, -1); + numBytes += cBinop_init(&cBinop_YN6RyC3N, 1.0f); // __pow + numBytes += sVarf_init(&sVarf_LGgQiJgX, 44100.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_tfwRhNIy, 44100.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_VB784pvz, 3.0f); + numBytes += sVarf_init(&sVarf_4WWOmkn4, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_BlyG4Dem, 2.0f); + numBytes += cDelay_init(this, &cDelay_lesker1N, 3.0f); + numBytes += cDelay_init(this, &cDelay_xS27Dv4p, 3.0f); + numBytes += cDelay_init(this, &cDelay_nlscGUxB, 3.0f); + numBytes += cDelay_init(this, &cDelay_8o62CkX0, 3.0f); + numBytes += cIf_init(&cIf_eE0PJb50, false); + numBytes += cBinop_init(&cBinop_dlGEIEnH, 0.0f); // __pow + numBytes += cPack_init(&cPack_ydX1v6ep, 2, 0.0f, 0.0f); + numBytes += cBinop_init(&cBinop_av6hA3La, 2048.0f); // __mul + numBytes += sVarf_init(&sVarf_2h60wK8h, -1.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_kx1tzfa7, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_nFQtbdVq, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_gMuBQaiz, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_jBZVqRID, 1, 1); + numBytes += cSlice_init(&cSlice_ZxsAnMyr, 0, 1); + numBytes += cBinop_init(&cBinop_0zmZNoDQ, 1.0f); // __pow + numBytes += cDelay_init(this, &cDelay_boef1Edm, 2.0f); + numBytes += cPack_init(&cPack_PKdgj686, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_ZYqqPMEU, 1, 1); + numBytes += cSlice_init(&cSlice_9r5FvGx8, 0, 1); + numBytes += cVar_init_f(&cVar_43FOqtBR, 22050.0f); + numBytes += cBinop_init(&cBinop_sG7uKtCn, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_P4bF2htA, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_Q2qDb61i, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_0g9RNRzd, 2.0f); + numBytes += cPack_init(&cPack_zvNQLNNm, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_OT28k0wW, 1, 1); + numBytes += cSlice_init(&cSlice_dX9iIu2e, 0, 1); + numBytes += cVar_init_f(&cVar_PQrhAZRa, 22050.0f); + numBytes += cBinop_init(&cBinop_oqqJ1Paq, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_Gzvbv7EO, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_9lhwrhxA, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_yX2gZFzd, 1, -1); + numBytes += cSlice_init(&cSlice_WyVXq3I4, 1, -1); + numBytes += cBinop_init(&cBinop_4gLdkR2v, 1.0f); // __pow + numBytes += sVarf_init(&sVarf_gG3oyfVr, 44100.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_LJPeQeRw, 44100.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_ouiGSpqr, 3.0f); + numBytes += sVarf_init(&sVarf_7P4pkLFI, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_QwttMs34, 2.0f); + numBytes += cDelay_init(this, &cDelay_ynpjLAAq, 3.0f); + numBytes += cDelay_init(this, &cDelay_8zQ9g5kN, 3.0f); + numBytes += cDelay_init(this, &cDelay_S4kddO82, 3.0f); + numBytes += cDelay_init(this, &cDelay_IMZb3bj3, 3.0f); + numBytes += cIf_init(&cIf_ZTxZJeNg, false); + numBytes += cBinop_init(&cBinop_WofbqBHk, 0.0f); // __pow + numBytes += cPack_init(&cPack_Q2kgvi4X, 2, 0.0f, 0.0f); + numBytes += cBinop_init(&cBinop_K7pbLD1Z, 2048.0f); // __mul + numBytes += sVarf_init(&sVarf_3PZoK8Te, -1.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_4tw7syWZ, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_Uj8v2gts, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_QndJgocL, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_YdkTn2WL, 1, 1); + numBytes += cSlice_init(&cSlice_IDtSoCz3, 0, 1); + numBytes += cBinop_init(&cBinop_uWnhLLWD, 1.0f); // __pow + numBytes += cDelay_init(this, &cDelay_LNwKVA6h, 2.0f); + numBytes += cPack_init(&cPack_TPCSHBXT, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_uN0zKAiB, 1, 1); + numBytes += cSlice_init(&cSlice_gNyzsSj0, 0, 1); + numBytes += cVar_init_f(&cVar_mrGWo2hl, 22050.0f); + numBytes += cBinop_init(&cBinop_6kvx4MW1, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_WdJqQKz5, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_ya0UY0D5, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_8ZZIXXPz, 2.0f); + numBytes += cPack_init(&cPack_5500f4rS, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_V7WIm3dA, 1, 1); + numBytes += cSlice_init(&cSlice_NBtNQH70, 0, 1); + numBytes += cVar_init_f(&cVar_2nrwCzMG, 22050.0f); + numBytes += cBinop_init(&cBinop_laWCPJWj, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_QJuMdqAL, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_lbmQbBe1, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_QjjpI8v1, 1, -1); + numBytes += cSlice_init(&cSlice_mq0IVuSG, 1, -1); + numBytes += cBinop_init(&cBinop_yktdhsb8, 1.0f); // __pow + numBytes += sVarf_init(&sVarf_bwlmwK6X, 44100.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_LY96DS0r, 44100.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_FpA49BkW, 3.0f); + numBytes += sVarf_init(&sVarf_2VaBCHEQ, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_Ksc6L6s1, 2.0f); + numBytes += cDelay_init(this, &cDelay_HD4QVfFN, 3.0f); + numBytes += cDelay_init(this, &cDelay_kEuwEux7, 3.0f); + numBytes += cDelay_init(this, &cDelay_v6eu2VXR, 3.0f); + numBytes += cDelay_init(this, &cDelay_kJiO8EHE, 3.0f); + numBytes += cIf_init(&cIf_CxGKJWrF, false); + numBytes += cBinop_init(&cBinop_gRP0w6t1, 0.0f); // __pow + numBytes += cPack_init(&cPack_IAED51KK, 2, 0.0f, 0.0f); + numBytes += cBinop_init(&cBinop_4QbhXBqM, 2048.0f); // __mul + numBytes += sVarf_init(&sVarf_p9lZuVC3, -1.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_9dY6u1g9, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_Tln43Iuf, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_jkwvGNGq, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_DP57ivEA, 1, 1); + numBytes += cSlice_init(&cSlice_Jed3KeQW, 0, 1); + numBytes += cBinop_init(&cBinop_nhMYm0st, 1.0f); // __pow + numBytes += cDelay_init(this, &cDelay_n7LU68W4, 2.0f); + numBytes += cPack_init(&cPack_Ty4AZCCD, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_eySO46yn, 1, 1); + numBytes += cSlice_init(&cSlice_KnxapYvS, 0, 1); + numBytes += cVar_init_f(&cVar_JD9szZbV, 22050.0f); + numBytes += cBinop_init(&cBinop_CATg6nPr, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_fNWQjrL4, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_1LU3jUnE, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_dEFDi52d, 2.0f); + numBytes += cPack_init(&cPack_uFHXRF1N, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_ADmSntnx, 1, 1); + numBytes += cSlice_init(&cSlice_S4L3afF2, 0, 1); + numBytes += cVar_init_f(&cVar_81HDz8CE, 22050.0f); + numBytes += cBinop_init(&cBinop_l8zt39cL, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_XOZLXNvW, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_H49aKc1Z, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_K6SmtxqU, 1, -1); + numBytes += cSlice_init(&cSlice_BHreXGfs, 1, -1); + numBytes += cBinop_init(&cBinop_ajNW3u8W, 1.0f); // __pow + numBytes += sVarf_init(&sVarf_tRrgHLef, 44100.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_jvcAXwqO, 44100.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_Eru9gouJ, 3.0f); + numBytes += sVarf_init(&sVarf_wMKdFxWD, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_md93CS7M, 2.0f); + numBytes += cDelay_init(this, &cDelay_UvgBzaAj, 3.0f); + numBytes += cDelay_init(this, &cDelay_M1nBpgGs, 3.0f); + numBytes += cDelay_init(this, &cDelay_9Ftkd6Fy, 3.0f); + numBytes += cDelay_init(this, &cDelay_8hDBcNPP, 3.0f); + numBytes += cIf_init(&cIf_BPYXa7JB, false); + numBytes += cBinop_init(&cBinop_2zKbOLUN, 0.0f); // __pow + numBytes += cPack_init(&cPack_mmRiOoWd, 2, 0.0f, 0.0f); + numBytes += cBinop_init(&cBinop_mrXlugiY, 2048.0f); // __mul + numBytes += sVarf_init(&sVarf_JwE9URmy, -1.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_kZnFwfGv, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_uSJzSkBR, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_OHtE4ZXn, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_kpwhR0tf, 1, 1); + numBytes += cSlice_init(&cSlice_oh4auhT2, 0, 1); + numBytes += cBinop_init(&cBinop_0uc0zW84, 1.0f); // __pow + numBytes += cDelay_init(this, &cDelay_Gn9nia4s, 2.0f); + numBytes += cPack_init(&cPack_0FFsXUe9, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_UWPDyIY4, 1, 1); + numBytes += cSlice_init(&cSlice_5Qfl8Kl3, 0, 1); + numBytes += cVar_init_f(&cVar_kyiC1Zf2, 22050.0f); + numBytes += cBinop_init(&cBinop_A5QHofQ9, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_yvUDRhOv, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_4J0MldFm, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_i2j9vtBd, 2.0f); + numBytes += cPack_init(&cPack_EgibIsHG, 2, 0.0f, 0.0f); + numBytes += cSlice_init(&cSlice_nx6xWTIv, 1, 1); + numBytes += cSlice_init(&cSlice_nRibR7JK, 0, 1); + numBytes += cVar_init_f(&cVar_2ZeHP4qZ, 22050.0f); + numBytes += cBinop_init(&cBinop_3GYF4I39, 0.0f); // __mul + numBytes += sVarf_init(&sVarf_14rNbRoM, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_w0y5ojuv, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_ccZGSBP7, 1, -1); + numBytes += cSlice_init(&cSlice_Ljp9kzNl, 1, -1); + numBytes += cBinop_init(&cBinop_CWI2ECk7, 1.0f); // __pow + numBytes += sVarf_init(&sVarf_xbpI8lwe, 44100.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_DiXqbjFE, 44100.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_3FZn93hs, 3.0f); + numBytes += sVarf_init(&sVarf_mprK3PVr, 0.0f, 0.0f, false); + numBytes += cDelay_init(this, &cDelay_rYvigZyQ, 2.0f); + numBytes += cDelay_init(this, &cDelay_El2I9C77, 3.0f); + numBytes += cDelay_init(this, &cDelay_IQg5PLnG, 3.0f); + numBytes += cDelay_init(this, &cDelay_TfNYpGKV, 3.0f); + numBytes += cDelay_init(this, &cDelay_SQWhXbuK, 3.0f); + numBytes += cIf_init(&cIf_7NsIHVOW, false); + numBytes += cBinop_init(&cBinop_JsfiF6qC, 0.0f); // __pow + numBytes += cPack_init(&cPack_knDzxs63, 2, 0.0f, 0.0f); + numBytes += cBinop_init(&cBinop_RHSLWQjL, 2048.0f); // __mul + numBytes += sVarf_init(&sVarf_Zj8nnBuC, -1.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_QC38XxDe, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_U2PPTpXa, 0.0f, 0.0f, false); + numBytes += sVarf_init(&sVarf_71RKkz2i, 0.0f, 0.0f, false); + numBytes += cSlice_init(&cSlice_05vVwRGe, 1, -1); + numBytes += cSlice_init(&cSlice_c3nXiTNC, 1, -1); + numBytes += cSlice_init(&cSlice_z8G0G5Eb, 1, -1); + numBytes += cSlice_init(&cSlice_2O5lvYJA, 1, -1); + numBytes += cSlice_init(&cSlice_if4TiRX7, 1, -1); + numBytes += cSlice_init(&cSlice_lpM95DRE, 1, -1); + numBytes += cSlice_init(&cSlice_GQUD4Nul, 1, -1); + + // schedule a message to trigger all loadbangs via the __hv_init receiver + scheduleMessageForReceiver(0xCE5CC65B, msg_initWithBang(HV_MESSAGE_ON_STACK(1), 0)); +} + +Heavy_EP_MK1::~Heavy_EP_MK1() { + cPack_free(&cPack_BYT033Zm); + cPack_free(&cPack_Tc48KAjO); + cPack_free(&cPack_mCFcgioO); + cPack_free(&cPack_H3oA1KXj); + cPack_free(&cPack_81OkRPDa); + cPack_free(&cPack_TGa9AOTT); + hTable_free(&hTable_zrjAPWjU); + hTable_free(&hTable_jDLA3bj2); + hTable_free(&hTable_103Wn1Ed); + cPack_free(&cPack_5c1776aq); + cPack_free(&cPack_SwGJLASp); + cPack_free(&cPack_nY24jnaO); + cPack_free(&cPack_J0CLxFll); + cPack_free(&cPack_XcUCeI3v); + cPack_free(&cPack_X3O3xvTy); + cPack_free(&cPack_HKhQT7B9); + cPack_free(&cPack_8rASSedI); + cPack_free(&cPack_ydX1v6ep); + cPack_free(&cPack_PKdgj686); + cPack_free(&cPack_zvNQLNNm); + cPack_free(&cPack_Q2kgvi4X); + cPack_free(&cPack_TPCSHBXT); + cPack_free(&cPack_5500f4rS); + cPack_free(&cPack_IAED51KK); + cPack_free(&cPack_Ty4AZCCD); + cPack_free(&cPack_uFHXRF1N); + cPack_free(&cPack_mmRiOoWd); + cPack_free(&cPack_0FFsXUe9); + cPack_free(&cPack_EgibIsHG); + cPack_free(&cPack_knDzxs63); +} + +HvTable *Heavy_EP_MK1::getTableForHash(hv_uint32_t tableHash) {switch (tableHash) { + case 0x15539905: return &hTable_zrjAPWjU; // 1148-pitches + case 0xFA0C1E3F: return &hTable_jDLA3bj2; // 1148-used + case 0x6C694DF7: return &hTable_103Wn1Ed; // 1148-ids + default: return nullptr; + } +} + +void Heavy_EP_MK1::scheduleMessageForReceiver(hv_uint32_t receiverHash, HvMessage *m) { + switch (receiverHash) { + case 0xFAF44138: { // 1001-buz-pha + mq_addMessageByTimestamp(&mq, m, 0, &cReceive_MGnMGx0X_sendMessage); + break; + } + case 0x77189A6A: { // 1001-poly + mq_addMessageByTimestamp(&mq, m, 0, &cReceive_YUPT5gm3_sendMessage); + break; + } + case 0xC184E4D: { // 1148-currentVoiceId + mq_addMessageByTimestamp(&mq, m, 0, &cReceive_Yvc0SbVa_sendMessage); + break; + } + case 0x9244BCF5: { // 1148-indexOff + mq_addMessageByTimestamp(&mq, m, 0, &cReceive_xWrZfXcb_sendMessage); + break; + } + case 0xAC295247: { // 1148-indexOn + mq_addMessageByTimestamp(&mq, m, 0, &cReceive_T5RYnxvy_sendMessage); + break; + } + case 0xBD43D8EE: { // 1148-isFirstOff + mq_addMessageByTimestamp(&mq, m, 0, &cReceive_YSOymCGl_sendMessage); + break; + } + case 0x10CBF248: { // 1148-isFirstOn + mq_addMessageByTimestamp(&mq, m, 0, &cReceive_UNQwjlFB_sendMessage); + break; + } + case 0x26D7995C: { // 1148-maxVoiceId + mq_addMessageByTimestamp(&mq, m, 0, &cReceive_VHVO9aGV_sendMessage); + break; + } + case 0x9D529A37: { // 1148-shouldSteal + mq_addMessageByTimestamp(&mq, m, 0, &cReceive_78vPaVrA_sendMessage); + break; + } + case 0x9C33624C: { // 1148-voiceId++ + mq_addMessageByTimestamp(&mq, m, 0, &cReceive_RehAy77I_sendMessage); + break; + } + case 0xCE5CC65B: { // __hv_init + mq_addMessageByTimestamp(&mq, m, 0, &cReceive_30ra41Ne_sendMessage); + break; + } + case 0x67E37CA3: { // __hv_notein + mq_addMessageByTimestamp(&mq, m, 0, &cReceive_xufwxl2p_sendMessage); + break; + } + default: return; + } +} + +int Heavy_EP_MK1::getParameterInfo(int index, HvParameterInfo *info) { + if (info != nullptr) { + switch (index) { + default: { + info->name = "invalid parameter index"; + info->hash = 0; + info->type = HvParameterType::HV_PARAM_TYPE_PARAMETER_IN; + info->minVal = 0.0f; + info->maxVal = 0.0f; + info->defaultVal = 0.0f; + break; + } + } + } + return 0; +} + + + +/* + * Send Function Implementations + */ + + +void Heavy_EP_MK1::cSlice_elndZqvG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cIf_onMessage(_c, &Context(_c)->cIf_mO03xd4v, 0, m, &cIf_mO03xd4v_sendMessage); + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 1.0f, 0, m, &cBinop_JhA9xsTS_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_8lQZHtLi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cIf_onMessage(_c, &Context(_c)->cIf_smq6naFn, 0, m, &cIf_smq6naFn_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_YVJyinnD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSwitchcase_la14mTXi_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x0: { // "0.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_ARpUAMcU, 0, m, &cSlice_ARpUAMcU_sendMessage); + break; + } + default: { + cMsg_eoZJvoMh_sendMessage(_c, 0, m); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_ARpUAMcU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cSwitchcase_e7WdcYT3_onMessage(_c, NULL, 0, m, NULL); + break; + } + case 1: { + cSwitchcase_e7WdcYT3_onMessage(_c, NULL, 0, m, NULL); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSwitchcase_e7WdcYT3_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x0: { // "0.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_qZ4JKRTE, 0, m, &cSlice_qZ4JKRTE_sendMessage); + break; + } + default: { + cMsg_zLbZWnFO_sendMessage(_c, 0, m); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_qZ4JKRTE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cSwitchcase_qYBxKwmu_onMessage(_c, NULL, 0, m, NULL); + break; + } + case 1: { + cSwitchcase_qYBxKwmu_onMessage(_c, NULL, 0, m, NULL); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_cpIi4bZm_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_s8vQ1BWG_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_YoRQTGhu, 0, m, &cIf_YoRQTGhu_sendMessage); +} + +void Heavy_EP_MK1::cUnop_eneqfT0P_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_pCiyJnjZ_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_mO03xd4v, 1, m, &cIf_mO03xd4v_sendMessage); +} + +void Heavy_EP_MK1::cUnop_q0eNViDL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_pCiyJnjZ_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_mO03xd4v, 1, m, &cIf_mO03xd4v_sendMessage); +} + +void Heavy_EP_MK1::cIf_YoRQTGhu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cUnop_onMessage(_c, HV_UNOP_CEIL, m, &cUnop_q0eNViDL_sendMessage); + break; + } + case 1: { + cUnop_onMessage(_c, HV_UNOP_FLOOR, m, &cUnop_eneqfT0P_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_s8vQ1BWG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_YoRQTGhu, 1, m, &cIf_YoRQTGhu_sendMessage); +} + +void Heavy_EP_MK1::cVar_QDfjXuFO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_TjJdcdK8_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_f2jlbKVU, 0, m, &cIf_f2jlbKVU_sendMessage); +} + +void Heavy_EP_MK1::cUnop_E4jP3u4J_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_9aJebTmn_sendMessage); +} + +void Heavy_EP_MK1::cUnop_7Y4zZuNv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_9aJebTmn_sendMessage); +} + +void Heavy_EP_MK1::cIf_f2jlbKVU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cUnop_onMessage(_c, HV_UNOP_CEIL, m, &cUnop_7Y4zZuNv_sendMessage); + break; + } + case 1: { + cUnop_onMessage(_c, HV_UNOP_FLOOR, m, &cUnop_E4jP3u4J_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_TjJdcdK8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_f2jlbKVU, 1, m, &cIf_f2jlbKVU_sendMessage); +} + +void Heavy_EP_MK1::cIf_mO03xd4v_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cVar_onMessage(_c, &Context(_c)->cVar_nFgGc4Zm, 0, m, &cVar_nFgGc4Zm_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cIf_amyuKIUW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cSwitchcase_qYBxKwmu_onMessage(_c, NULL, 0, m, NULL); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cIf_KcTlrUJx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cSwitchcase_qYBxKwmu_onMessage(_c, NULL, 0, m, NULL); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cIf_smq6naFn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cVar_onMessage(_c, &Context(_c)->cVar_nFgGc4Zm, 0, m, &cVar_nFgGc4Zm_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_9aJebTmn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_amyuKIUW, 1, m, &cIf_amyuKIUW_sendMessage); +} + +void Heavy_EP_MK1::cBinop_pCiyJnjZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_KcTlrUJx, 1, m, &cIf_KcTlrUJx_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_smq6naFn, 1, m, &cIf_smq6naFn_sendMessage); +} + +void Heavy_EP_MK1::cMsg_nPKwQsvv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(3); + msg_init(m, 3, msg_getTimestamp(n)); + msg_setElementToFrom(m, 0, n, 1); + msg_setElementToFrom(m, 1, n, 2); + msg_setElementToFrom(m, 2, n, 0); + cSwitchcase_la14mTXi_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_eoZJvoMh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setElementToFrom(m, 0, n, 2); + cIf_onMessage(_c, &Context(_c)->cIf_KcTlrUJx, 0, m, &cIf_KcTlrUJx_sendMessage); +} + +void Heavy_EP_MK1::cMsg_zLbZWnFO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setElementToFrom(m, 0, n, 1); + cIf_onMessage(_c, &Context(_c)->cIf_amyuKIUW, 0, m, &cIf_amyuKIUW_sendMessage); +} + +void Heavy_EP_MK1::cBinop_JhA9xsTS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cPack_BYT033Zm_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSend_AOX5cBQ7_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSwitchcase_oG9J2dvF_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_DhA4et2d, 0, m, &cSlice_DhA4et2d_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_DhA4et2d_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cSlice_onMessage(_c, &Context(_c)->cSlice_bjkjROgL, 0, m, &cSlice_bjkjROgL_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_X59Ms47y, 0, m, &cSlice_X59Ms47y_sendMessage); + break; + } + case 1: { + cSlice_onMessage(_c, &Context(_c)->cSlice_bjkjROgL, 0, m, &cSlice_bjkjROgL_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_X59Ms47y, 0, m, &cSlice_X59Ms47y_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_z60tURxy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_7Hb23T04_sendMessage); +} + +void Heavy_EP_MK1::cBinop_7Hb23T04_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 1.0f, 0, m, &cBinop_k9lbIrHi_sendMessage); + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, -1.0f, 0, m, &cBinop_rz4c8AUf_sendMessage); +} + +void Heavy_EP_MK1::cVar_ElxPJUxK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 1.0f, 0, m, &cBinop_jSKszev7_sendMessage); +} + +void Heavy_EP_MK1::cMsg_XSFgs2Vd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_1k6xs4ow_sendMessage); +} + +void Heavy_EP_MK1::cSystem_1k6xs4ow_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_BoHvJj3f, HV_BINOP_DIVIDE, 1, m, &cBinop_BoHvJj3f_sendMessage); +} + +void Heavy_EP_MK1::cBinop_k9lbIrHi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 0.5f, 0, m, &cBinop_34r4jXzz_sendMessage); +} + +void Heavy_EP_MK1::cBinop_34r4jXzz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_Yp4JGjbp, m); +} + +void Heavy_EP_MK1::cMsg_2ElBnTuR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 0.0f, 0, m, &cBinop_oX6ssrYL_sendMessage); +} + +void Heavy_EP_MK1::cBinop_oX6ssrYL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_z60tURxy_sendMessage); +} + +void Heavy_EP_MK1::cBinop_rz4c8AUf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_RNGFp3NA, m); +} + +void Heavy_EP_MK1::cBinop_jSKszev7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 6.28319f, 0, m, &cBinop_vPTjbp6l_sendMessage); +} + +void Heavy_EP_MK1::cBinop_vPTjbp6l_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_BoHvJj3f, HV_BINOP_DIVIDE, 0, m, &cBinop_BoHvJj3f_sendMessage); +} + +void Heavy_EP_MK1::cBinop_BoHvJj3f_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_2ElBnTuR_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_bjkjROgL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_JuKEhSjI_sendMessage); + cSwitchcase_dnVPVUlN_onMessage(_c, NULL, 0, m, NULL); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_X59Ms47y_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cDelay_onMessage(_c, &Context(_c)->cDelay_yN9o31WM, 0, m, &cDelay_yN9o31WM_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_qZhFVp8b_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_lzw09MRv_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_x7fI6QRT_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_kmODmaFn_sendMessage); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_1g348lth, 0, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_pkqNsRE6, m); +} + +void Heavy_EP_MK1::cBinop_puulPVJ8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_DrdAUms9_sendMessage); +} + +void Heavy_EP_MK1::cBinop_DrdAUms9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_5BolRjUc, HV_BINOP_POW, 1, m, &cBinop_5BolRjUc_sendMessage); + cMsg_puiweEqf_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_5BolRjUc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_qZhFVp8b_sendMessage); +} + +void Heavy_EP_MK1::cMsg_puiweEqf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_5BolRjUc, HV_BINOP_POW, 0, m, &cBinop_5BolRjUc_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_tPwb42ks_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_Y3SeyQLm_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_Y3SeyQLm_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_XJtqLdR3, 1, m, &cDelay_XJtqLdR3_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_zyxm9xt4_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_XJtqLdR3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_XJtqLdR3, m); + cPack_onMessage(_c, &Context(_c)->cPack_Tc48KAjO, 0, m, &cPack_Tc48KAjO_sendMessage); +} + +void Heavy_EP_MK1::cMsg_Y3SeyQLm_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_XJtqLdR3, 0, m, &cDelay_XJtqLdR3_sendMessage); +} + +void Heavy_EP_MK1::cCast_zyxm9xt4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_XJtqLdR3, 0, m, &cDelay_XJtqLdR3_sendMessage); +} + +void Heavy_EP_MK1::cPack_Tc48KAjO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_sau9kNWL_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_mxHzGYpx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_rt5iICvn_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_S1VOGbss_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_mmQmNb4h, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_sZ2r4PVf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_3RBhQUO2, HV_BINOP_MULTIPLY, 0, m, &cBinop_3RBhQUO2_sendMessage); +} + +void Heavy_EP_MK1::cMsg_iKXnugbR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_rsdZ4z9K_sendMessage); +} + +void Heavy_EP_MK1::cSystem_rsdZ4z9K_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_tjoYH8sh_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_3RBhQUO2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_si1yqlyW_sendMessage); +} + +void Heavy_EP_MK1::cBinop_k3xOFn9Y_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_3RBhQUO2, HV_BINOP_MULTIPLY, 1, m, &cBinop_3RBhQUO2_sendMessage); +} + +void Heavy_EP_MK1::cMsg_tjoYH8sh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_k3xOFn9Y_sendMessage); +} + +void Heavy_EP_MK1::cBinop_si1yqlyW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_RceFSyRR_sendMessage); +} + +void Heavy_EP_MK1::cBinop_RceFSyRR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_ByBj1s2m_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_JStffWNs, m); +} + +void Heavy_EP_MK1::cBinop_ByBj1s2m_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_12WWjECf, m); +} + +void Heavy_EP_MK1::cSwitchcase_PBqQjRJY_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_alTHVTBj_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_alTHVTBj_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_LdXQexFY, 1, m, &cDelay_LdXQexFY_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_q8WBZ5kV_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_LdXQexFY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_LdXQexFY, m); + cPack_onMessage(_c, &Context(_c)->cPack_mCFcgioO, 0, m, &cPack_mCFcgioO_sendMessage); +} + +void Heavy_EP_MK1::cMsg_alTHVTBj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_LdXQexFY, 0, m, &cDelay_LdXQexFY_sendMessage); +} + +void Heavy_EP_MK1::cCast_q8WBZ5kV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_LdXQexFY, 0, m, &cDelay_LdXQexFY_sendMessage); +} + +void Heavy_EP_MK1::cPack_mCFcgioO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_dkpepr67_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_Km00ydT2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_rPtKYy3M_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_1Q9bVNNN_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_U88OzJYl, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_NTVGi1rx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_D5D0LaYe, HV_BINOP_MULTIPLY, 0, m, &cBinop_D5D0LaYe_sendMessage); +} + +void Heavy_EP_MK1::cMsg_JMXe4Ma3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_jkVp0Kx6_sendMessage); +} + +void Heavy_EP_MK1::cSystem_jkVp0Kx6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_h8Wb1BsZ_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_D5D0LaYe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_mTfoFJLO_sendMessage); +} + +void Heavy_EP_MK1::cBinop_HA94hCLv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_D5D0LaYe, HV_BINOP_MULTIPLY, 1, m, &cBinop_D5D0LaYe_sendMessage); +} + +void Heavy_EP_MK1::cMsg_h8Wb1BsZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_HA94hCLv_sendMessage); +} + +void Heavy_EP_MK1::cBinop_mTfoFJLO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_A2KsUGjR_sendMessage); +} + +void Heavy_EP_MK1::cBinop_A2KsUGjR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_G6AE2PwA_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_dWTru9Kp, m); +} + +void Heavy_EP_MK1::cBinop_G6AE2PwA_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_MhpLVcYQ, m); +} + +void Heavy_EP_MK1::cSwitchcase_WUtKOy78_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_8PkrkbiL, 0, m, &cSlice_8PkrkbiL_sendMessage); + break; + } + case 0x0: { // "0.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_AxhMJRiu, 0, m, &cSlice_AxhMJRiu_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_8PkrkbiL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_puulPVJ8_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_puulPVJ8_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_AxhMJRiu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_aYuF0nQk_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_aYuF0nQk_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_Ti73JY9X_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_VFlsIg5P_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_QZxtFP7i_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_J9xHtT7Q_sendMessage); +} + +void Heavy_EP_MK1::cBinop_aYuF0nQk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_GBGRcaro_sendMessage); +} + +void Heavy_EP_MK1::cBinop_GBGRcaro_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_AUvUrY4R, HV_BINOP_POW, 1, m, &cBinop_AUvUrY4R_sendMessage); + cMsg_2BO3w29v_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_AUvUrY4R_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_Ti73JY9X_sendMessage); +} + +void Heavy_EP_MK1::cMsg_2BO3w29v_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_AUvUrY4R, HV_BINOP_POW, 0, m, &cBinop_AUvUrY4R_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_F7qGXQ00_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_HSlHEo3Y_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cCast_HSlHEo3Y_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_82unbjQp_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_LDzBBnIB_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_zrinnCdD_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_OxhalDGO_sendMessage); + cSwitchcase_qGp4pLv7_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_mwVDhc33_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_iEpbB1Tt_sendMessage); +} + +void Heavy_EP_MK1::cSystem_iEpbB1Tt_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_0vvlNiX4, m); +} + +void Heavy_EP_MK1::cMsg_h5Bsj9K4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_uncdQ37f_sendMessage); +} + +void Heavy_EP_MK1::cSystem_uncdQ37f_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_yz2BQm5L, m); +} + +void Heavy_EP_MK1::cDelay_yN9o31WM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_yN9o31WM, m); + cPack_onMessage(_c, &Context(_c)->cPack_H3oA1KXj, 0, m, &cPack_H3oA1KXj_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_aB1ee6eu_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_scaPpHxo_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_scaPpHxo_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_qZFKZiPY, 1, m, &cDelay_qZFKZiPY_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_L944F4zY_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_qZFKZiPY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_qZFKZiPY, m); + cMsg_gFJkvbAL_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_scaPpHxo_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_qZFKZiPY, 0, m, &cDelay_qZFKZiPY_sendMessage); +} + +void Heavy_EP_MK1::cCast_L944F4zY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_qZFKZiPY, 0, m, &cDelay_qZFKZiPY_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_Iv54fL1f_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_mQ7Y4evj_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_mQ7Y4evj_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_u4RfWjOf, 1, m, &cDelay_u4RfWjOf_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_ozYOhZf7_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_u4RfWjOf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_u4RfWjOf, m); + cMsg_8vfufbLe_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_mQ7Y4evj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_u4RfWjOf, 0, m, &cDelay_u4RfWjOf_sendMessage); +} + +void Heavy_EP_MK1::cCast_ozYOhZf7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_u4RfWjOf, 0, m, &cDelay_u4RfWjOf_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_qGp4pLv7_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_5za4dMJS_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_5za4dMJS_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_HvShZWxN, 1, m, &cDelay_HvShZWxN_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_1C4AfEl2_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_HvShZWxN_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_HvShZWxN, m); + cMsg_W4073HRq_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_5za4dMJS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_HvShZWxN, 0, m, &cDelay_HvShZWxN_sendMessage); +} + +void Heavy_EP_MK1::cCast_1C4AfEl2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_HvShZWxN, 0, m, &cDelay_HvShZWxN_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_Gx61poeH_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_u88Owd7O_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_u88Owd7O_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_62QExDOA, 1, m, &cDelay_62QExDOA_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_oZICOJL8_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_62QExDOA_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_62QExDOA, m); + cMsg_tNJJ6cBJ_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_u88Owd7O_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_62QExDOA, 0, m, &cDelay_62QExDOA_sendMessage); +} + +void Heavy_EP_MK1::cCast_oZICOJL8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_62QExDOA, 0, m, &cDelay_62QExDOA_sendMessage); +} + +void Heavy_EP_MK1::cDelay_twfJBpos_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_twfJBpos, m); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_c85ioJXE_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_dnVPVUlN_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x0: { // "0.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_DNh0wPJB_sendMessage); + break; + } + default: { + cDelay_onMessage(_c, &Context(_c)->cDelay_twfJBpos, 0, m, &cDelay_twfJBpos_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cCast_DNh0wPJB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cIf_uB5Z1HTu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_m0uJKNwI_sendMessage(_c, 0, m); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 485.0f, 0, m, &cBinop_1pfH37j6_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cMsg_gp9whmCc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 10.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_gRen83wr, HV_BINOP_POW, 0, m, &cBinop_gRen83wr_sendMessage); +} + +void Heavy_EP_MK1::cBinop_gRen83wr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_E7C2HtOj, m); +} + +void Heavy_EP_MK1::cBinop_7dajl5bE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 20.0f, 0, m, &cBinop_VtqrJbdm_sendMessage); +} + +void Heavy_EP_MK1::cCast_HYVll2lR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_maqKW0Ak_sendMessage); +} + +void Heavy_EP_MK1::cCast_B2ubKDES_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_uB5Z1HTu, 0, m, &cIf_uB5Z1HTu_sendMessage); +} + +void Heavy_EP_MK1::cBinop_maqKW0Ak_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_uB5Z1HTu, 1, m, &cIf_uB5Z1HTu_sendMessage); +} + +void Heavy_EP_MK1::cBinop_1pfH37j6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 100.0f, 0, m, &cBinop_7dajl5bE_sendMessage); +} + +void Heavy_EP_MK1::cMsg_m0uJKNwI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sVarf_onMessage(_c, &Context(_c)->sVarf_E7C2HtOj, m); +} + +void Heavy_EP_MK1::cBinop_VtqrJbdm_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_gRen83wr, HV_BINOP_POW, 1, m, &cBinop_gRen83wr_sendMessage); + cMsg_gp9whmCc_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cPack_H3oA1KXj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_ICgFJaLq_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_JuKEhSjI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_F7qGXQ00_onMessage(_c, NULL, 0, m, NULL); + cPack_onMessage(_c, &Context(_c)->cPack_H3oA1KXj, 1, m, &cPack_H3oA1KXj_sendMessage); +} + +void Heavy_EP_MK1::cMsg_pcZ5VfKf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_F8TudeNI_sendMessage); +} + +void Heavy_EP_MK1::cBinop_F8TudeNI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_H0pkypkT, HV_BINOP_MULTIPLY, 0, m, &cBinop_H0pkypkT_sendMessage); + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 128.0f, 0, m, &cBinop_dIYEAlww_sendMessage); +} + +void Heavy_EP_MK1::cCast_ZnbsczMl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_tPwb42ks_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_qnILIr3V_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_hLRXbqS8_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_sau9kNWL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_mxHzGYpx, 0, m, &cSlice_mxHzGYpx_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_S1VOGbss, 0, m, &cSlice_S1VOGbss_sendMessage); +} + +void Heavy_EP_MK1::cMsg_rt5iICvn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_j7sSgKsi_sendMessage); +} + +void Heavy_EP_MK1::cBinop_j7sSgKsi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_sZ2r4PVf, 0, m, &cVar_sZ2r4PVf_sendMessage); +} + +void Heavy_EP_MK1::cMsg_W4073HRq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_1g348lth, 1, m); +} + +void Heavy_EP_MK1::cBinop_H0pkypkT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_Tc48KAjO, 1, m, &cPack_Tc48KAjO_sendMessage); +} + +void Heavy_EP_MK1::cCast_82unbjQp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_Iv54fL1f_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_LDzBBnIB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_J9NUHt7W_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_J9NUHt7W_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 1.0f); + sLine_onMessage(_c, &Context(_c)->sLine_p3apF6qw, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_8vfufbLe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_p3apF6qw, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_7jMyosM4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_PBqQjRJY_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_ZoDeIpFy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_tfyjDxKP_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_dkpepr67_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_Km00ydT2, 0, m, &cSlice_Km00ydT2_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_1Q9bVNNN, 0, m, &cSlice_1Q9bVNNN_sendMessage); +} + +void Heavy_EP_MK1::cMsg_rPtKYy3M_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_3tTN8vR3_sendMessage); +} + +void Heavy_EP_MK1::cBinop_3tTN8vR3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_NTVGi1rx, 0, m, &cVar_NTVGi1rx_sendMessage); +} + +void Heavy_EP_MK1::cMsg_tfyjDxKP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 1.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_Km00ydT2, 0, m, &cSlice_Km00ydT2_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_1Q9bVNNN, 0, m, &cSlice_1Q9bVNNN_sendMessage); +} + +void Heavy_EP_MK1::cBinop_dIYEAlww_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_mCFcgioO, 1, m, &cPack_mCFcgioO_sendMessage); +} + +void Heavy_EP_MK1::cMsg_z4lOo8bC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 50.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_Km00ydT2, 0, m, &cSlice_Km00ydT2_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_1Q9bVNNN, 0, m, &cSlice_1Q9bVNNN_sendMessage); +} + +void Heavy_EP_MK1::cCast_J9xHtT7Q_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_Tc48KAjO, 0, m, &cPack_Tc48KAjO_sendMessage); +} + +void Heavy_EP_MK1::cCast_QZxtFP7i_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_pcZ5VfKf_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_VFlsIg5P_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_NuZfUb5j_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_x7fI6QRT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_pcZ5VfKf_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_kmODmaFn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_qnILIr3V_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_ZnbsczMl_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_ZoDeIpFy_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_7jMyosM4_sendMessage); +} + +void Heavy_EP_MK1::cCast_lzw09MRv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_5SkdkoAS_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_5SkdkoAS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2048.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_H0pkypkT, HV_BINOP_MULTIPLY, 1, m, &cBinop_H0pkypkT_sendMessage); +} + +void Heavy_EP_MK1::cCast_zrinnCdD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_Gx61poeH_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_OxhalDGO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_aB1ee6eu_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_tNJJ6cBJ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_Fe0sHHrh, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_gFJkvbAL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 20000.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_Fe0sHHrh, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_hLRXbqS8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.1f); + cSlice_onMessage(_c, &Context(_c)->cSlice_mxHzGYpx, 0, m, &cSlice_mxHzGYpx_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_S1VOGbss, 0, m, &cSlice_S1VOGbss_sendMessage); +} + +void Heavy_EP_MK1::cBinop_c85ioJXE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 126.0f, 0, m, &cBinop_lklbN5Wj_sendMessage); +} + +void Heavy_EP_MK1::cBinop_lklbN5Wj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_33fIYqZl_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_33fIYqZl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 0.0f, 0, m, &cBinop_7dgfWIsc_sendMessage); +} + +void Heavy_EP_MK1::cBinop_7dgfWIsc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, -30.0f, 0, m, &cBinop_IpPxuID9_sendMessage); +} + +void Heavy_EP_MK1::cBinop_IpPxuID9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 100.0f, 0, m, &cBinop_XKbyFfP1_sendMessage); +} + +void Heavy_EP_MK1::cBinop_XKbyFfP1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_HYVll2lR_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_B2ubKDES_sendMessage); +} + +void Heavy_EP_MK1::cMsg_NuZfUb5j_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 8.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_H0pkypkT, HV_BINOP_MULTIPLY, 1, m, &cBinop_H0pkypkT_sendMessage); +} + +void Heavy_EP_MK1::cMsg_ICgFJaLq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setElementToFrom(m, 0, n, 1); + msg_setElementToFrom(m, 1, n, 0); + cSwitchcase_WUtKOy78_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cVar_W2qTdReU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_NEQ, 0.0f, 0, m, &cBinop_7AH6hATD_sendMessage); +} + +void Heavy_EP_MK1::cVar_t9FMWBot_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_60vLkGOw, HV_BINOP_MOD_UNIPOLAR, 0, m, &cBinop_60vLkGOw_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_qYBxKwmu_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cSlice_onMessage(_c, &Context(_c)->cSlice_0qBP9nWd, 0, m, &cSlice_0qBP9nWd_sendMessage); + break; + } + case 0x47BE8354: { // "clear" + cSlice_onMessage(_c, &Context(_c)->cSlice_tESkokbe, 0, m, &cSlice_tESkokbe_sendMessage); + break; + } + default: { + cSlice_onMessage(_c, &Context(_c)->cSlice_o4tsP9dq, 0, m, &cSlice_o4tsP9dq_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_FCBGNY5K, 0, m, &cSlice_FCBGNY5K_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_0qBP9nWd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_K8rv8Ljd_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_Mc8k3hlh_sendMessage); + break; + } + case 1: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_K8rv8Ljd_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_Mc8k3hlh_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_tESkokbe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_kzNTGzTT_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_tQTbtkm7_sendMessage); + break; + } + case 1: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_kzNTGzTT_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_tQTbtkm7_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_o4tsP9dq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cVar_onMessage(_c, &Context(_c)->cVar_nFgGc4Zm, 0, m, &cVar_nFgGc4Zm_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_FCBGNY5K_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cIf_onMessage(_c, &Context(_c)->cIf_D4wcmJuh, 0, m, &cIf_D4wcmJuh_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_c0zUMuUL, 0, m, &cIf_c0zUMuUL_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_nFgGc4Zm_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_TGa9AOTT, 1, m, &cPack_TGa9AOTT_sendMessage); + cPack_onMessage(_c, &Context(_c)->cPack_81OkRPDa, 1, m, &cPack_81OkRPDa_sendMessage); + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_aRCf7ezT_sendMessage); +} + +void Heavy_EP_MK1::cIf_D4wcmJuh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_dcDNxpDA_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_HwYRa9lS_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_u85ozOpU_sendMessage); + cPack_onMessage(_c, &Context(_c)->cPack_TGa9AOTT, 0, m, &cPack_TGa9AOTT_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cIf_c0zUMuUL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cPack_onMessage(_c, &Context(_c)->cPack_81OkRPDa, 0, m, &cPack_81OkRPDa_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cIf_D3NPspDa_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_n8meYdCZ_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_1Y4FEehG_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_h9fOsrnu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_ZIpKuNn1_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_z1M5xDBU_sendMessage); +} + +void Heavy_EP_MK1::cIf_aU22ke9k_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_8XlFXMki_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_AzNh1LS8_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_zdLrBU74_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_aU22ke9k, 1, m, &cIf_aU22ke9k_sendMessage); +} + +void Heavy_EP_MK1::cVar_nFPgN4cq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_JAzKubmp_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_47eGoYaP, 0, m, &cIf_47eGoYaP_sendMessage); +} + +void Heavy_EP_MK1::cUnop_PXFSc0Xg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN_EQL, 1.0f, 0, m, &cBinop_zdLrBU74_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_aU22ke9k, 0, m, &cIf_aU22ke9k_sendMessage); +} + +void Heavy_EP_MK1::cUnop_dGHGrDep_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN_EQL, 1.0f, 0, m, &cBinop_zdLrBU74_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_aU22ke9k, 0, m, &cIf_aU22ke9k_sendMessage); +} + +void Heavy_EP_MK1::cIf_47eGoYaP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cUnop_onMessage(_c, HV_UNOP_CEIL, m, &cUnop_dGHGrDep_sendMessage); + break; + } + case 1: { + cUnop_onMessage(_c, HV_UNOP_FLOOR, m, &cUnop_PXFSc0Xg_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_JAzKubmp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_47eGoYaP, 1, m, &cIf_47eGoYaP_sendMessage); +} + +void Heavy_EP_MK1::cCast_z1M5xDBU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_D3NPspDa, 0, m, &cIf_D3NPspDa_sendMessage); +} + +void Heavy_EP_MK1::cCast_ZIpKuNn1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_RBY4x1dy, HV_BINOP_LESS_THAN, 0, m, &cBinop_RBY4x1dy_sendMessage); +} + +void Heavy_EP_MK1::cBinop_RBY4x1dy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_D3NPspDa, 1, m, &cIf_D3NPspDa_sendMessage); +} + +void Heavy_EP_MK1::cCast_8XlFXMki_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_RBY4x1dy, HV_BINOP_LESS_THAN, 1, m, &cBinop_RBY4x1dy_sendMessage); +} + +void Heavy_EP_MK1::cCast_AzNh1LS8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_hrgvc0UY_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_fiLZbzXB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_h9fOsrnu, 0, m, &cVar_h9fOsrnu_sendMessage); +} + +void Heavy_EP_MK1::cMsg_hrgvc0UY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + cVar_onMessage(_c, &Context(_c)->cVar_h9fOsrnu, 0, m, &cVar_h9fOsrnu_sendMessage); +} + +void Heavy_EP_MK1::cCast_1Y4FEehG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 1.0f, 0, m, &cBinop_fiLZbzXB_sendMessage); +} + +void Heavy_EP_MK1::cCast_n8meYdCZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_r2Mflo6h_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_sjy60rVr_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_5clhtePq_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_t07sRowU_sendMessage); +} + +void Heavy_EP_MK1::cVar_G6zKrSxh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_nFPgN4cq, 0, m, &cVar_nFPgN4cq_sendMessage); +} + +void Heavy_EP_MK1::cTabread_PauJffJY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_DNEcWV5z, HV_BINOP_LOGICAL_AND, 0, m, &cBinop_DNEcWV5z_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_5yG1TZto_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_yetBqfVw, 0, m, &cSlice_yetBqfVw_sendMessage); + break; + } + default: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_gQEr5Vzf_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_qEdTfHLx_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_yetBqfVw_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabread_onMessage(_c, &Context(_c)->cTabread_PauJffJY, 1, m, &cTabread_PauJffJY_sendMessage); + break; + } + case 1: { + cTabread_onMessage(_c, &Context(_c)->cTabread_PauJffJY, 1, m, &cTabread_PauJffJY_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_TLOWGcxL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_NacO35R0_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSystem_C94bpPZ1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_wvx1FFS8_sendMessage); +} + +void Heavy_EP_MK1::cBinop_MwEDiNmW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_zGtokhdj, HV_BINOP_MIN, 0, m, &cBinop_zGtokhdj_sendMessage); +} + +void Heavy_EP_MK1::cCast_qEdTfHLx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_MwEDiNmW_sendMessage); +} + +void Heavy_EP_MK1::cCast_gQEr5Vzf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_TLOWGcxL, 0, m, &cVar_TLOWGcxL_sendMessage); +} + +void Heavy_EP_MK1::cBinop_zGtokhdj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cTabread_onMessage(_c, &Context(_c)->cTabread_PauJffJY, 0, m, &cTabread_PauJffJY_sendMessage); +} + +void Heavy_EP_MK1::cMsg_NacO35R0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(3); + msg_init(m, 3, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "table"); + msg_setElementToFrom(m, 1, n, 0); + msg_setSymbol(m, 2, "length"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_C94bpPZ1_sendMessage); +} + +void Heavy_EP_MK1::cBinop_wvx1FFS8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_zGtokhdj, HV_BINOP_MIN, 1, m, &cBinop_zGtokhdj_sendMessage); +} + +void Heavy_EP_MK1::cTabread_KpXSrXsH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_lVQoNquY_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_kjGd09sO_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_PAnnPXlJ_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_o3FM47ae, 0, m, &cSlice_o3FM47ae_sendMessage); + break; + } + default: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_r4xpgQAp_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_gjQd6FHg_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_o3FM47ae_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabread_onMessage(_c, &Context(_c)->cTabread_KpXSrXsH, 1, m, &cTabread_KpXSrXsH_sendMessage); + break; + } + case 1: { + cTabread_onMessage(_c, &Context(_c)->cTabread_KpXSrXsH, 1, m, &cTabread_KpXSrXsH_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_5rfRjuLO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_da0oVKZL_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSystem_moa8uldG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_GsngWkWj_sendMessage); +} + +void Heavy_EP_MK1::cBinop_rQCjjERn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_FKqtHwiD, HV_BINOP_MIN, 0, m, &cBinop_FKqtHwiD_sendMessage); +} + +void Heavy_EP_MK1::cCast_gjQd6FHg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_rQCjjERn_sendMessage); +} + +void Heavy_EP_MK1::cCast_r4xpgQAp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_5rfRjuLO, 0, m, &cVar_5rfRjuLO_sendMessage); +} + +void Heavy_EP_MK1::cBinop_FKqtHwiD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cTabread_onMessage(_c, &Context(_c)->cTabread_KpXSrXsH, 0, m, &cTabread_KpXSrXsH_sendMessage); +} + +void Heavy_EP_MK1::cMsg_da0oVKZL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(3); + msg_init(m, 3, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "table"); + msg_setElementToFrom(m, 1, n, 0); + msg_setSymbol(m, 2, "length"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_moa8uldG_sendMessage); +} + +void Heavy_EP_MK1::cBinop_GsngWkWj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_FKqtHwiD, HV_BINOP_MIN, 1, m, &cBinop_FKqtHwiD_sendMessage); +} + +void Heavy_EP_MK1::cVar_YQvRzRkM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_phRkfVNE, 1, m, &cTabwrite_phRkfVNE_sendMessage); + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_srERlrc2, 1, m, &cTabwrite_srERlrc2_sendMessage); + cVar_onMessage(_c, &Context(_c)->cVar_qiKMdCfe, 1, m, &cVar_qiKMdCfe_sendMessage); +} + +void Heavy_EP_MK1::cSlice_kuLRrEzT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_zdBnuOil_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_fZQLrPZX_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_vqezTY2U_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cTabread_ZQApb8qU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_RFdaE8WW, HV_BINOP_EQ, 0, m, &cBinop_RFdaE8WW_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_a59Q0arE_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_JhRv8Rsb, 0, m, &cSlice_JhRv8Rsb_sendMessage); + break; + } + default: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_wPRiZIlB_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_GYSRok7h_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_JhRv8Rsb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabread_onMessage(_c, &Context(_c)->cTabread_ZQApb8qU, 1, m, &cTabread_ZQApb8qU_sendMessage); + break; + } + case 1: { + cTabread_onMessage(_c, &Context(_c)->cTabread_ZQApb8qU, 1, m, &cTabread_ZQApb8qU_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_RJ9OHYRE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_EfOXUvjM_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSystem_4iejHTOR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_t953EdC4_sendMessage); +} + +void Heavy_EP_MK1::cBinop_gIbVQO5V_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_anj1Q63b, HV_BINOP_MIN, 0, m, &cBinop_anj1Q63b_sendMessage); +} + +void Heavy_EP_MK1::cCast_GYSRok7h_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_gIbVQO5V_sendMessage); +} + +void Heavy_EP_MK1::cCast_wPRiZIlB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_RJ9OHYRE, 0, m, &cVar_RJ9OHYRE_sendMessage); +} + +void Heavy_EP_MK1::cBinop_anj1Q63b_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cTabread_onMessage(_c, &Context(_c)->cTabread_ZQApb8qU, 0, m, &cTabread_ZQApb8qU_sendMessage); +} + +void Heavy_EP_MK1::cMsg_EfOXUvjM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(3); + msg_init(m, 3, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "table"); + msg_setElementToFrom(m, 1, n, 0); + msg_setSymbol(m, 2, "length"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_4iejHTOR_sendMessage); +} + +void Heavy_EP_MK1::cBinop_t953EdC4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_anj1Q63b, HV_BINOP_MIN, 1, m, &cBinop_anj1Q63b_sendMessage); +} + +void Heavy_EP_MK1::cVar_uyfxho1R_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_01bWJPHc, HV_BINOP_LESS_THAN, 1, m, &cBinop_01bWJPHc_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_5744zJoT_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_nl7RC4Js_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cCast_nl7RC4Js_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_otsptKoG_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_OiE13JrK_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_Toelep2C_sendMessage); +} + +void Heavy_EP_MK1::cVar_6P11HIk6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_01bWJPHc, HV_BINOP_LESS_THAN, 1, m, &cBinop_01bWJPHc_sendMessage); +} + +void Heavy_EP_MK1::cIf_UIdc2Y3S_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_oaX9amtS_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_lC8f8LIc_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_ZP0FUoSx_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_uEndvnwx, 0, m, &cSlice_uEndvnwx_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_IZt7JHNk, 0, m, &cSlice_IZt7JHNk_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_JZbX8B3e_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cTabwrite_phRkfVNE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cSwitchcase_IUt7eNhX_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_XQ59cW9c, 0, m, &cSlice_XQ59cW9c_sendMessage); + break; + } + default: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_phRkfVNE, 0, m, &cTabwrite_phRkfVNE_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_XQ59cW9c_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_phRkfVNE, 2, m, &cTabwrite_phRkfVNE_sendMessage); + break; + } + case 1: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_phRkfVNE, 2, m, &cTabwrite_phRkfVNE_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cTabwrite_srERlrc2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cSwitchcase_XRXMyVgf_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_92qaa8G2, 0, m, &cSlice_92qaa8G2_sendMessage); + break; + } + default: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_srERlrc2, 0, m, &cTabwrite_srERlrc2_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_92qaa8G2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_srERlrc2, 2, m, &cTabwrite_srERlrc2_sendMessage); + break; + } + case 1: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_srERlrc2, 2, m, &cTabwrite_srERlrc2_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_FxOwbdbW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_XRXMyVgf_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cVar_qiKMdCfe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 1.0f, 0, m, &cBinop_EpXBdGxj_sendMessage); +} + +void Heavy_EP_MK1::cSlice_uEndvnwx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_IZt7JHNk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cPack_onMessage(_c, &Context(_c)->cPack_BYT033Zm, 1, m, &cPack_BYT033Zm_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cPack_81OkRPDa_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_59ayNLj0_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_zxoReFHB_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_kuLRrEzT, 0, m, &cSlice_kuLRrEzT_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_zdBnuOil, 0, m, &cSlice_zdBnuOil_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_UIdc2Y3S, 0, m, &cIf_UIdc2Y3S_sendMessage); +} + +void Heavy_EP_MK1::cCast_t07sRowU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_a59Q0arE_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_sjy60rVr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_PAnnPXlJ_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_r2Mflo6h_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_YQvRzRkM, 1, m, &cVar_YQvRzRkM_sendMessage); +} + +void Heavy_EP_MK1::cCast_5clhtePq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_5yG1TZto_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_xgIdlh3q_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + cIf_onMessage(_c, &Context(_c)->cIf_UIdc2Y3S, 1, m, &cIf_UIdc2Y3S_sendMessage); + cVar_onMessage(_c, &Context(_c)->cVar_YQvRzRkM, 0, m, &cVar_YQvRzRkM_sendMessage); +} + +void Heavy_EP_MK1::cMsg_DEENwYXO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + cIf_onMessage(_c, &Context(_c)->cIf_UIdc2Y3S, 1, m, &cIf_UIdc2Y3S_sendMessage); +} + +void Heavy_EP_MK1::cCast_zxoReFHB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_xgIdlh3q_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_59ayNLj0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_uyfxho1R, 0, m, &cVar_uyfxho1R_sendMessage); +} + +void Heavy_EP_MK1::cCast_fZQLrPZX_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_RFdaE8WW, HV_BINOP_EQ, 1, m, &cBinop_RFdaE8WW_sendMessage); +} + +void Heavy_EP_MK1::cCast_vqezTY2U_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_G6zKrSxh, 0, m, &cVar_G6zKrSxh_sendMessage); +} + +void Heavy_EP_MK1::cBinop_RFdaE8WW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_7PEtvA9O, HV_BINOP_LOGICAL_AND, 0, m, &cBinop_7PEtvA9O_sendMessage); +} + +void Heavy_EP_MK1::cBinop_7PEtvA9O_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_5744zJoT_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cBinop_DNEcWV5z_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_7PEtvA9O, HV_BINOP_LOGICAL_AND, 1, m, &cBinop_7PEtvA9O_sendMessage); +} + +void Heavy_EP_MK1::cBinop_01bWJPHc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_DNEcWV5z, HV_BINOP_LOGICAL_AND, 1, m, &cBinop_DNEcWV5z_sendMessage); +} + +void Heavy_EP_MK1::cCast_Toelep2C_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_YQvRzRkM, 0, m, &cVar_YQvRzRkM_sendMessage); +} + +void Heavy_EP_MK1::cCast_otsptKoG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_6P11HIk6, 0, m, &cVar_6P11HIk6_sendMessage); +} + +void Heavy_EP_MK1::cCast_OiE13JrK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_DEENwYXO_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_kjGd09sO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_01bWJPHc, HV_BINOP_LESS_THAN, 0, m, &cBinop_01bWJPHc_sendMessage); +} + +void Heavy_EP_MK1::cCast_lVQoNquY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_6P11HIk6, 1, m, &cVar_6P11HIk6_sendMessage); +} + +void Heavy_EP_MK1::cCast_v3d0oOQA_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_FxOwbdbW, 0, m, &cVar_FxOwbdbW_sendMessage); +} + +void Heavy_EP_MK1::cCast_tT8xPc3T_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSend_NjIhZ7gk_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSend_NjIhZ7gk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_RehAy77I_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_lC8f8LIc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_tT8xPc3T_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_v3d0oOQA_sendMessage); +} + +void Heavy_EP_MK1::cCast_oaX9amtS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_M9vQGpYc_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_M9vQGpYc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + cSwitchcase_IUt7eNhX_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_ZP0FUoSx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_d5XuoGTL_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_JZbX8B3e_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_qiKMdCfe, 0, m, &cVar_qiKMdCfe_sendMessage); +} + +void Heavy_EP_MK1::cMsg_d5XuoGTL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + cPack_onMessage(_c, &Context(_c)->cPack_BYT033Zm, 2, m, &cPack_BYT033Zm_sendMessage); +} + +void Heavy_EP_MK1::cIf_TFIJca8L_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_O4Q1pV7f_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_L0r15hIm_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_cKm6INBi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_OsZGs13Y_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_d65Rxi8V_sendMessage); +} + +void Heavy_EP_MK1::cIf_ibFYYATN_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_Tz96PA7l_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_zbdsGp4Q_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_I8mRYXHG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_ibFYYATN, 1, m, &cIf_ibFYYATN_sendMessage); +} + +void Heavy_EP_MK1::cVar_QJUrAoEP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_3kgvdtIu_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_o3dHJNrP, 0, m, &cIf_o3dHJNrP_sendMessage); +} + +void Heavy_EP_MK1::cUnop_txyu0gVn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN_EQL, 1.0f, 0, m, &cBinop_I8mRYXHG_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_ibFYYATN, 0, m, &cIf_ibFYYATN_sendMessage); +} + +void Heavy_EP_MK1::cUnop_sJpF83hS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN_EQL, 1.0f, 0, m, &cBinop_I8mRYXHG_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_ibFYYATN, 0, m, &cIf_ibFYYATN_sendMessage); +} + +void Heavy_EP_MK1::cIf_o3dHJNrP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cUnop_onMessage(_c, HV_UNOP_CEIL, m, &cUnop_sJpF83hS_sendMessage); + break; + } + case 1: { + cUnop_onMessage(_c, HV_UNOP_FLOOR, m, &cUnop_txyu0gVn_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_3kgvdtIu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_o3dHJNrP, 1, m, &cIf_o3dHJNrP_sendMessage); +} + +void Heavy_EP_MK1::cCast_OsZGs13Y_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_fXXfM7sT, HV_BINOP_LESS_THAN, 0, m, &cBinop_fXXfM7sT_sendMessage); +} + +void Heavy_EP_MK1::cCast_d65Rxi8V_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_TFIJca8L, 0, m, &cIf_TFIJca8L_sendMessage); +} + +void Heavy_EP_MK1::cBinop_fXXfM7sT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_TFIJca8L, 1, m, &cIf_TFIJca8L_sendMessage); +} + +void Heavy_EP_MK1::cCast_Tz96PA7l_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_fXXfM7sT, HV_BINOP_LESS_THAN, 1, m, &cBinop_fXXfM7sT_sendMessage); +} + +void Heavy_EP_MK1::cCast_zbdsGp4Q_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_PwyvfUkq_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_CDRpKtNX_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_cKm6INBi, 0, m, &cVar_cKm6INBi_sendMessage); +} + +void Heavy_EP_MK1::cMsg_PwyvfUkq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + cVar_onMessage(_c, &Context(_c)->cVar_cKm6INBi, 0, m, &cVar_cKm6INBi_sendMessage); +} + +void Heavy_EP_MK1::cCast_O4Q1pV7f_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_BABcar8i_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_IlvONaEH_sendMessage); +} + +void Heavy_EP_MK1::cCast_L0r15hIm_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 1.0f, 0, m, &cBinop_CDRpKtNX_sendMessage); +} + +void Heavy_EP_MK1::cVar_YNI0kMWD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_QJUrAoEP, 0, m, &cVar_QJUrAoEP_sendMessage); +} + +void Heavy_EP_MK1::cTabwrite_4XAIFIT1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cSwitchcase_svMWwU5f_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_Ahl4XFE1, 0, m, &cSlice_Ahl4XFE1_sendMessage); + break; + } + default: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_4XAIFIT1, 0, m, &cTabwrite_4XAIFIT1_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_Ahl4XFE1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_4XAIFIT1, 2, m, &cTabwrite_4XAIFIT1_sendMessage); + break; + } + case 1: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_4XAIFIT1, 2, m, &cTabwrite_4XAIFIT1_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cTabread_v2Y3w5Js_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_NEQ, 0.0f, 0, m, &cBinop_akFH16AP_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_skQ75NR9_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_KfTlOVnb, 0, m, &cSlice_KfTlOVnb_sendMessage); + break; + } + default: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_T1P9TfNh_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_YrH7suTO_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_KfTlOVnb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabread_onMessage(_c, &Context(_c)->cTabread_v2Y3w5Js, 1, m, &cTabread_v2Y3w5Js_sendMessage); + break; + } + case 1: { + cTabread_onMessage(_c, &Context(_c)->cTabread_v2Y3w5Js, 1, m, &cTabread_v2Y3w5Js_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_xlGGAJyo_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_cgmV7hzj_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSystem_pnjlb28E_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_zrolu0CB_sendMessage); +} + +void Heavy_EP_MK1::cBinop_mGNHy9HX_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_4OhIorOU, HV_BINOP_MIN, 0, m, &cBinop_4OhIorOU_sendMessage); +} + +void Heavy_EP_MK1::cCast_YrH7suTO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_mGNHy9HX_sendMessage); +} + +void Heavy_EP_MK1::cCast_T1P9TfNh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_xlGGAJyo, 0, m, &cVar_xlGGAJyo_sendMessage); +} + +void Heavy_EP_MK1::cBinop_4OhIorOU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cTabread_onMessage(_c, &Context(_c)->cTabread_v2Y3w5Js, 0, m, &cTabread_v2Y3w5Js_sendMessage); +} + +void Heavy_EP_MK1::cMsg_cgmV7hzj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(3); + msg_init(m, 3, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "table"); + msg_setElementToFrom(m, 1, n, 0); + msg_setSymbol(m, 2, "length"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_pnjlb28E_sendMessage); +} + +void Heavy_EP_MK1::cBinop_zrolu0CB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_4OhIorOU, HV_BINOP_MIN, 1, m, &cBinop_4OhIorOU_sendMessage); +} + +void Heavy_EP_MK1::cIf_9Pnl6QKg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_ACsUUs03_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_Pwj4c9ij_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_Y55V3JXd_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_TB6jVJx0_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_iN9dXiS0_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cTabread_3p4zBAxb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_BYT033Zm, 1, m, &cPack_BYT033Zm_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_D3NrhQzb_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_3TTb2icc, 0, m, &cSlice_3TTb2icc_sendMessage); + break; + } + default: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_moRgLKdQ_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_2PhtqbJs_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_3TTb2icc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabread_onMessage(_c, &Context(_c)->cTabread_3p4zBAxb, 1, m, &cTabread_3p4zBAxb_sendMessage); + break; + } + case 1: { + cTabread_onMessage(_c, &Context(_c)->cTabread_3p4zBAxb, 1, m, &cTabread_3p4zBAxb_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_ALLgM3kz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_Z15Lktot_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSystem_toydDMEZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_cWTIXbmQ_sendMessage); +} + +void Heavy_EP_MK1::cBinop_x6QzRkvq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_9ycQILEU, HV_BINOP_MIN, 0, m, &cBinop_9ycQILEU_sendMessage); +} + +void Heavy_EP_MK1::cCast_2PhtqbJs_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_x6QzRkvq_sendMessage); +} + +void Heavy_EP_MK1::cCast_moRgLKdQ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_ALLgM3kz, 0, m, &cVar_ALLgM3kz_sendMessage); +} + +void Heavy_EP_MK1::cBinop_9ycQILEU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cTabread_onMessage(_c, &Context(_c)->cTabread_3p4zBAxb, 0, m, &cTabread_3p4zBAxb_sendMessage); +} + +void Heavy_EP_MK1::cMsg_Z15Lktot_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(3); + msg_init(m, 3, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "table"); + msg_setElementToFrom(m, 1, n, 0); + msg_setSymbol(m, 2, "length"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_toydDMEZ_sendMessage); +} + +void Heavy_EP_MK1::cBinop_cWTIXbmQ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_9ycQILEU, HV_BINOP_MIN, 1, m, &cBinop_9ycQILEU_sendMessage); +} + +void Heavy_EP_MK1::cCast_K8rv8Ljd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_FqNyPWwF_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_Mc8k3hlh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_YNI0kMWD, 0, m, &cVar_YNI0kMWD_sendMessage); +} + +void Heavy_EP_MK1::cMsg_FqNyPWwF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + cSend_hiyIT3I9_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSend_hiyIT3I9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_RehAy77I_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_akFH16AP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_9Pnl6QKg, 1, m, &cIf_9Pnl6QKg_sendMessage); +} + +void Heavy_EP_MK1::cCast_IlvONaEH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_9Pnl6QKg, 0, m, &cIf_9Pnl6QKg_sendMessage); +} + +void Heavy_EP_MK1::cCast_BABcar8i_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_skQ75NR9_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_lx0ou6gW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + cPack_onMessage(_c, &Context(_c)->cPack_BYT033Zm, 2, m, &cPack_BYT033Zm_sendMessage); +} + +void Heavy_EP_MK1::cCast_Pwj4c9ij_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_D3NrhQzb_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_iN9dXiS0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSend_HkQLUnNC_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_TB6jVJx0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_OVwLKMkd_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_cCLqsJUy_sendMessage); +} + +void Heavy_EP_MK1::cCast_Y55V3JXd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 1.0f, 0, m, &cBinop_EpXBdGxj_sendMessage); +} + +void Heavy_EP_MK1::cCast_ACsUUs03_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_lx0ou6gW_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_cCLqsJUy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_GbFwLbYr_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_OVwLKMkd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_4XAIFIT1, 1, m, &cTabwrite_4XAIFIT1_sendMessage); +} + +void Heavy_EP_MK1::cMsg_GbFwLbYr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + cSwitchcase_svMWwU5f_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cSend_HkQLUnNC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_RehAy77I_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cIf_4hIlFUU3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_hERdrwbZ_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_rorsqFcn_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_QV1FHuAQ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_E7hj1L6l_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_6K1GAY3K_sendMessage); +} + +void Heavy_EP_MK1::cIf_8SDdSAUy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_2a8a6rMB_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_syhavs5K_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_tf6cjDqo_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_8SDdSAUy, 1, m, &cIf_8SDdSAUy_sendMessage); +} + +void Heavy_EP_MK1::cVar_OFdGnxYb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_X0hsC581_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_iPBiNEnD, 0, m, &cIf_iPBiNEnD_sendMessage); +} + +void Heavy_EP_MK1::cUnop_HQuF2Uw5_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN_EQL, 1.0f, 0, m, &cBinop_tf6cjDqo_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_8SDdSAUy, 0, m, &cIf_8SDdSAUy_sendMessage); +} + +void Heavy_EP_MK1::cUnop_MChGy2fT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN_EQL, 1.0f, 0, m, &cBinop_tf6cjDqo_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_8SDdSAUy, 0, m, &cIf_8SDdSAUy_sendMessage); +} + +void Heavy_EP_MK1::cIf_iPBiNEnD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cUnop_onMessage(_c, HV_UNOP_CEIL, m, &cUnop_MChGy2fT_sendMessage); + break; + } + case 1: { + cUnop_onMessage(_c, HV_UNOP_FLOOR, m, &cUnop_HQuF2Uw5_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_X0hsC581_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_iPBiNEnD, 1, m, &cIf_iPBiNEnD_sendMessage); +} + +void Heavy_EP_MK1::cCast_E7hj1L6l_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_EHSnhdCg, HV_BINOP_LESS_THAN, 0, m, &cBinop_EHSnhdCg_sendMessage); +} + +void Heavy_EP_MK1::cCast_6K1GAY3K_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_4hIlFUU3, 0, m, &cIf_4hIlFUU3_sendMessage); +} + +void Heavy_EP_MK1::cBinop_EHSnhdCg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_4hIlFUU3, 1, m, &cIf_4hIlFUU3_sendMessage); +} + +void Heavy_EP_MK1::cCast_2a8a6rMB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_EHSnhdCg, HV_BINOP_LESS_THAN, 1, m, &cBinop_EHSnhdCg_sendMessage); +} + +void Heavy_EP_MK1::cCast_syhavs5K_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_wL2IEA7O_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_oBnn7Qpa_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_QV1FHuAQ, 0, m, &cVar_QV1FHuAQ_sendMessage); +} + +void Heavy_EP_MK1::cMsg_wL2IEA7O_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + cVar_onMessage(_c, &Context(_c)->cVar_QV1FHuAQ, 0, m, &cVar_QV1FHuAQ_sendMessage); +} + +void Heavy_EP_MK1::cCast_rorsqFcn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 1.0f, 0, m, &cBinop_oBnn7Qpa_sendMessage); +} + +void Heavy_EP_MK1::cCast_hERdrwbZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_Xc9EqI71, 1, m, &cTabwrite_Xc9EqI71_sendMessage); + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_t4h14qem, 1, m, &cTabwrite_t4h14qem_sendMessage); + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_mwtkLMr5, 1, m, &cTabwrite_mwtkLMr5_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_GHLt8WPI_sendMessage); +} + +void Heavy_EP_MK1::cVar_gyUPexf9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_OFdGnxYb, 0, m, &cVar_OFdGnxYb_sendMessage); +} + +void Heavy_EP_MK1::cTabwrite_mwtkLMr5_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cSwitchcase_vE84ra0Q_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_687b49wk, 0, m, &cSlice_687b49wk_sendMessage); + break; + } + default: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_mwtkLMr5, 0, m, &cTabwrite_mwtkLMr5_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_687b49wk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_mwtkLMr5, 2, m, &cTabwrite_mwtkLMr5_sendMessage); + break; + } + case 1: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_mwtkLMr5, 2, m, &cTabwrite_mwtkLMr5_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cTabwrite_t4h14qem_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cSwitchcase_o5Iw8aY4_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_TpNaIlmR, 0, m, &cSlice_TpNaIlmR_sendMessage); + break; + } + default: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_t4h14qem, 0, m, &cTabwrite_t4h14qem_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_TpNaIlmR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_t4h14qem, 2, m, &cTabwrite_t4h14qem_sendMessage); + break; + } + case 1: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_t4h14qem, 2, m, &cTabwrite_t4h14qem_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cTabwrite_Xc9EqI71_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cSwitchcase_qxoy524G_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_uriW0Yse, 0, m, &cSlice_uriW0Yse_sendMessage); + break; + } + default: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_Xc9EqI71, 0, m, &cTabwrite_Xc9EqI71_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_uriW0Yse_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_Xc9EqI71, 2, m, &cTabwrite_Xc9EqI71_sendMessage); + break; + } + case 1: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_Xc9EqI71, 2, m, &cTabwrite_Xc9EqI71_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cMsg_wJpP8g92_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + cSwitchcase_qxoy524G_onMessage(_c, NULL, 0, m, NULL); + cSwitchcase_o5Iw8aY4_onMessage(_c, NULL, 0, m, NULL); + cSwitchcase_vE84ra0Q_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_tQTbtkm7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_gyUPexf9, 0, m, &cVar_gyUPexf9_sendMessage); +} + +void Heavy_EP_MK1::cCast_kzNTGzTT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_oeYJ9kzZ_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_oeYJ9kzZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + cSend_pZhDrNel_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSend_pZhDrNel_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_RehAy77I_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_GHLt8WPI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_wJpP8g92_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cIf_N2eqUNfm_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_eSt1Myvl_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_zHPXM7Vo_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_INvadq4g_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_M0vsPpvk_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_Aeno7EE6_sendMessage); +} + +void Heavy_EP_MK1::cIf_MXYQ077D_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_L1fYJdEq_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_WoShzqey_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_UT1t4ZTo_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_MXYQ077D, 1, m, &cIf_MXYQ077D_sendMessage); +} + +void Heavy_EP_MK1::cVar_cdEnC7IL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_Tgf0gGqC_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_MuTE4IBy, 0, m, &cIf_MuTE4IBy_sendMessage); +} + +void Heavy_EP_MK1::cUnop_tyiyS93M_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN_EQL, 1.0f, 0, m, &cBinop_UT1t4ZTo_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_MXYQ077D, 0, m, &cIf_MXYQ077D_sendMessage); +} + +void Heavy_EP_MK1::cUnop_rQdaBRHs_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN_EQL, 1.0f, 0, m, &cBinop_UT1t4ZTo_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_MXYQ077D, 0, m, &cIf_MXYQ077D_sendMessage); +} + +void Heavy_EP_MK1::cIf_MuTE4IBy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cUnop_onMessage(_c, HV_UNOP_CEIL, m, &cUnop_rQdaBRHs_sendMessage); + break; + } + case 1: { + cUnop_onMessage(_c, HV_UNOP_FLOOR, m, &cUnop_tyiyS93M_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_Tgf0gGqC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_MuTE4IBy, 1, m, &cIf_MuTE4IBy_sendMessage); +} + +void Heavy_EP_MK1::cCast_M0vsPpvk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_fiXM9NS8, HV_BINOP_LESS_THAN, 0, m, &cBinop_fiXM9NS8_sendMessage); +} + +void Heavy_EP_MK1::cCast_Aeno7EE6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_N2eqUNfm, 0, m, &cIf_N2eqUNfm_sendMessage); +} + +void Heavy_EP_MK1::cBinop_fiXM9NS8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_N2eqUNfm, 1, m, &cIf_N2eqUNfm_sendMessage); +} + +void Heavy_EP_MK1::cCast_L1fYJdEq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_fiXM9NS8, HV_BINOP_LESS_THAN, 1, m, &cBinop_fiXM9NS8_sendMessage); +} + +void Heavy_EP_MK1::cCast_WoShzqey_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_JMY8MiET_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_2rzB3hZ9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_INvadq4g, 0, m, &cVar_INvadq4g_sendMessage); +} + +void Heavy_EP_MK1::cMsg_JMY8MiET_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + cVar_onMessage(_c, &Context(_c)->cVar_INvadq4g, 0, m, &cVar_INvadq4g_sendMessage); +} + +void Heavy_EP_MK1::cCast_eSt1Myvl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_Rqdzzopc_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_QKm7gW5N_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_pRnu6zXa_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_MzF5Hl3g_sendMessage); +} + +void Heavy_EP_MK1::cCast_zHPXM7Vo_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 1.0f, 0, m, &cBinop_2rzB3hZ9_sendMessage); +} + +void Heavy_EP_MK1::cVar_OkVpRRSw_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_cdEnC7IL, 0, m, &cVar_cdEnC7IL_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_lEtY4E6Y_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_DuaZN2LR_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cCast_DuaZN2LR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_IQbanAHu_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_Xlp3vC4h_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_A5avvMDt_sendMessage); +} + +void Heavy_EP_MK1::cVar_XpmYbjT4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSend_yCYNWwSA_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cIf_0cDBtrS9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cSwitchcase_1LrlSH8t_onMessage(_c, NULL, 0, m, NULL); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_iiualsly_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSend_WSDDndNM_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSwitchcase_1LrlSH8t_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_LyTrBvaL_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cCast_LyTrBvaL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_yVBkpDUK_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_lzcrmloV_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_yyCIcfT1_sendMessage); +} + +void Heavy_EP_MK1::cVar_dx2ZQG4K_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_VHLIISwe, HV_BINOP_LESS_THAN, 1, m, &cBinop_VHLIISwe_sendMessage); +} + +void Heavy_EP_MK1::cVar_OyUmAZI6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_wRpWrKWi, HV_BINOP_LESS_THAN, 1, m, &cBinop_wRpWrKWi_sendMessage); +} + +void Heavy_EP_MK1::cIf_YXo0WfYq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cSlice_onMessage(_c, &Context(_c)->cSlice_SvNxgwyv, 0, m, &cSlice_SvNxgwyv_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_84tpamIM, 0, m, &cSlice_84tpamIM_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_ZJq0sCI6_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_IT7p1guU_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_7hJNNhYI_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cIf_dw0Rb8md_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_DCzwWFBE_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_vacnVbtY, 0, m, &cSlice_vacnVbtY_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_JP4mGNIp, 0, m, &cSlice_JP4mGNIp_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_todgcz4E_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_WkdFLadT_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_S7DTAUvH_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cPack_TGa9AOTT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_dw0Rb8md, 0, m, &cIf_dw0Rb8md_sendMessage); + cIf_onMessage(_c, &Context(_c)->cIf_YXo0WfYq, 0, m, &cIf_YXo0WfYq_sendMessage); +} + +void Heavy_EP_MK1::cVar_MfvQWInI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 1.0f, 0, m, &cBinop_EpXBdGxj_sendMessage); +} + +void Heavy_EP_MK1::cSlice_SvNxgwyv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cPack_onMessage(_c, &Context(_c)->cPack_BYT033Zm, 2, m, &cPack_BYT033Zm_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_84tpamIM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cSwitchcase_A5VlRO2i_onMessage(_c, NULL, 0, m, NULL); + cPack_onMessage(_c, &Context(_c)->cPack_BYT033Zm, 1, m, &cPack_BYT033Zm_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_bNgyqWRz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 1.0f, 0, m, &cBinop_EpXBdGxj_sendMessage); +} + +void Heavy_EP_MK1::cIf_30KS2vcA_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + break; + } + case 1: { + cIf_onMessage(_c, &Context(_c)->cIf_dw0Rb8md, 1, m, &cIf_dw0Rb8md_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_L9vaHYGJ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_fpmdvxdk_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cVar_u5tBj8Lb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_9NOLQx4h_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cTabread_zixFG9DX_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_za7kZ0e3_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_iG3mZ9o0_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_iwN4zIii_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_mpKBBGkD, 0, m, &cSlice_mpKBBGkD_sendMessage); + break; + } + default: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_lw2om64Y_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_v6d4l04b_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_mpKBBGkD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabread_onMessage(_c, &Context(_c)->cTabread_zixFG9DX, 1, m, &cTabread_zixFG9DX_sendMessage); + break; + } + case 1: { + cTabread_onMessage(_c, &Context(_c)->cTabread_zixFG9DX, 1, m, &cTabread_zixFG9DX_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_qZNKNNj4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_sFu4E3zK_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSystem_voLMvJtv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_wnEj2stC_sendMessage); +} + +void Heavy_EP_MK1::cBinop_178ekfBO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_fTIYVYXR, HV_BINOP_MIN, 0, m, &cBinop_fTIYVYXR_sendMessage); +} + +void Heavy_EP_MK1::cCast_v6d4l04b_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_178ekfBO_sendMessage); +} + +void Heavy_EP_MK1::cCast_lw2om64Y_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_qZNKNNj4, 0, m, &cVar_qZNKNNj4_sendMessage); +} + +void Heavy_EP_MK1::cBinop_fTIYVYXR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cTabread_onMessage(_c, &Context(_c)->cTabread_zixFG9DX, 0, m, &cTabread_zixFG9DX_sendMessage); +} + +void Heavy_EP_MK1::cMsg_sFu4E3zK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(3); + msg_init(m, 3, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "table"); + msg_setElementToFrom(m, 1, n, 0); + msg_setSymbol(m, 2, "length"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_voLMvJtv_sendMessage); +} + +void Heavy_EP_MK1::cBinop_wnEj2stC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_fTIYVYXR, HV_BINOP_MIN, 1, m, &cBinop_fTIYVYXR_sendMessage); +} + +void Heavy_EP_MK1::cTabread_r8YGsDv2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_aU6TuZlp_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_X1p3HUe3_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_6oxnYXEa_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_ZshqjpYa_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_E3eGCS7T, 0, m, &cSlice_E3eGCS7T_sendMessage); + break; + } + default: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_p8ajT9ad_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_bx7WNS9f_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_E3eGCS7T_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabread_onMessage(_c, &Context(_c)->cTabread_r8YGsDv2, 1, m, &cTabread_r8YGsDv2_sendMessage); + break; + } + case 1: { + cTabread_onMessage(_c, &Context(_c)->cTabread_r8YGsDv2, 1, m, &cTabread_r8YGsDv2_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_nqwB3gob_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_kDPZ8rkP_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSystem_dFJmqMg6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_lWgQPRpo_sendMessage); +} + +void Heavy_EP_MK1::cBinop_QSHAKfTC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_RTJGzepK, HV_BINOP_MIN, 0, m, &cBinop_RTJGzepK_sendMessage); +} + +void Heavy_EP_MK1::cCast_p8ajT9ad_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_nqwB3gob, 0, m, &cVar_nqwB3gob_sendMessage); +} + +void Heavy_EP_MK1::cCast_bx7WNS9f_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_QSHAKfTC_sendMessage); +} + +void Heavy_EP_MK1::cBinop_RTJGzepK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cTabread_onMessage(_c, &Context(_c)->cTabread_r8YGsDv2, 0, m, &cTabread_r8YGsDv2_sendMessage); +} + +void Heavy_EP_MK1::cMsg_kDPZ8rkP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(3); + msg_init(m, 3, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "table"); + msg_setElementToFrom(m, 1, n, 0); + msg_setSymbol(m, 2, "length"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_dFJmqMg6_sendMessage); +} + +void Heavy_EP_MK1::cBinop_lWgQPRpo_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_RTJGzepK, HV_BINOP_MIN, 1, m, &cBinop_RTJGzepK_sendMessage); +} + +void Heavy_EP_MK1::cTabwrite_AFpLtIy7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cSwitchcase_D2TZQizS_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_Xgq2sBvz, 0, m, &cSlice_Xgq2sBvz_sendMessage); + break; + } + default: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_AFpLtIy7, 0, m, &cTabwrite_AFpLtIy7_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_Xgq2sBvz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_AFpLtIy7, 2, m, &cTabwrite_AFpLtIy7_sendMessage); + break; + } + case 1: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_AFpLtIy7, 2, m, &cTabwrite_AFpLtIy7_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cTabread_wzHGlVxe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_BYT033Zm, 1, m, &cPack_BYT033Zm_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_fpmdvxdk_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_uQMKeyli, 0, m, &cSlice_uQMKeyli_sendMessage); + break; + } + default: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_QnJqLA1M_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_LeSduyOi_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_uQMKeyli_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabread_onMessage(_c, &Context(_c)->cTabread_wzHGlVxe, 1, m, &cTabread_wzHGlVxe_sendMessage); + break; + } + case 1: { + cTabread_onMessage(_c, &Context(_c)->cTabread_wzHGlVxe, 1, m, &cTabread_wzHGlVxe_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_6vM6OQsr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_2Bhduzp4_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSystem_96tJg7pf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_tZWF9Lfj_sendMessage); +} + +void Heavy_EP_MK1::cBinop_kDYam45V_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_n6HPoGNU, HV_BINOP_MIN, 0, m, &cBinop_n6HPoGNU_sendMessage); +} + +void Heavy_EP_MK1::cCast_QnJqLA1M_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_6vM6OQsr, 0, m, &cVar_6vM6OQsr_sendMessage); +} + +void Heavy_EP_MK1::cCast_LeSduyOi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_kDYam45V_sendMessage); +} + +void Heavy_EP_MK1::cBinop_n6HPoGNU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cTabread_onMessage(_c, &Context(_c)->cTabread_wzHGlVxe, 0, m, &cTabread_wzHGlVxe_sendMessage); +} + +void Heavy_EP_MK1::cMsg_2Bhduzp4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(3); + msg_init(m, 3, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "table"); + msg_setElementToFrom(m, 1, n, 0); + msg_setSymbol(m, 2, "length"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_96tJg7pf_sendMessage); +} + +void Heavy_EP_MK1::cBinop_tZWF9Lfj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_n6HPoGNU, HV_BINOP_MIN, 1, m, &cBinop_n6HPoGNU_sendMessage); +} + +void Heavy_EP_MK1::cTabwrite_7CqRGpzh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cSwitchcase_A5VlRO2i_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_fGAlwoVk, 0, m, &cSlice_fGAlwoVk_sendMessage); + break; + } + default: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_7CqRGpzh, 0, m, &cTabwrite_7CqRGpzh_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_fGAlwoVk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_7CqRGpzh, 2, m, &cTabwrite_7CqRGpzh_sendMessage); + break; + } + case 1: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_7CqRGpzh, 2, m, &cTabwrite_7CqRGpzh_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cTabwrite_f431WPJL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cSwitchcase_rOMtzLKD_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_oeypQYGk, 0, m, &cSlice_oeypQYGk_sendMessage); + break; + } + default: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_f431WPJL, 0, m, &cTabwrite_f431WPJL_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_oeypQYGk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_f431WPJL, 2, m, &cTabwrite_f431WPJL_sendMessage); + break; + } + case 1: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_f431WPJL, 2, m, &cTabwrite_f431WPJL_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cTabwrite_b1zrUtiJ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cSwitchcase_9NOLQx4h_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_4y3BMUCB, 0, m, &cSlice_4y3BMUCB_sendMessage); + break; + } + default: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_b1zrUtiJ, 0, m, &cTabwrite_b1zrUtiJ_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_4y3BMUCB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_b1zrUtiJ, 2, m, &cTabwrite_b1zrUtiJ_sendMessage); + break; + } + case 1: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_b1zrUtiJ, 2, m, &cTabwrite_b1zrUtiJ_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cTabwrite_ZnyIyMwB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cSwitchcase_TA35kVMw_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_ahe4Nl54, 0, m, &cSlice_ahe4Nl54_sendMessage); + break; + } + default: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_ZnyIyMwB, 0, m, &cTabwrite_ZnyIyMwB_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_ahe4Nl54_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_ZnyIyMwB, 2, m, &cTabwrite_ZnyIyMwB_sendMessage); + break; + } + case 1: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_ZnyIyMwB, 2, m, &cTabwrite_ZnyIyMwB_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_GiSxSddZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_TA35kVMw_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cTabwrite_rhy4zqC2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cSwitchcase_kkjJLu6h_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_jJFqUT5D, 0, m, &cSlice_jJFqUT5D_sendMessage); + break; + } + default: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_rhy4zqC2, 0, m, &cTabwrite_rhy4zqC2_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cSlice_jJFqUT5D_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_rhy4zqC2, 2, m, &cTabwrite_rhy4zqC2_sendMessage); + break; + } + case 1: { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_rhy4zqC2, 2, m, &cTabwrite_rhy4zqC2_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_MitV4kWM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_AoKOrzvT_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_a8KlujQB_sendMessage); +} + +void Heavy_EP_MK1::cSlice_vacnVbtY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cPack_onMessage(_c, &Context(_c)->cPack_BYT033Zm, 2, m, &cPack_BYT033Zm_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_JP4mGNIp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cSwitchcase_D2TZQizS_onMessage(_c, NULL, 0, m, NULL); + cPack_onMessage(_c, &Context(_c)->cPack_BYT033Zm, 1, m, &cPack_BYT033Zm_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_aVw41OwU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_0TCmOiUi, HV_BINOP_LOGICAL_AND, 0, m, &cBinop_0TCmOiUi_sendMessage); +} + +void Heavy_EP_MK1::cBinop_Bhr229Ht_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_1dEz7w9q_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_03VH1lVz_sendMessage); +} + +void Heavy_EP_MK1::cBinop_VHLIISwe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_eieiD2dS, HV_BINOP_LOGICAL_AND, 1, m, &cBinop_eieiD2dS_sendMessage); +} + +void Heavy_EP_MK1::cCast_MzF5Hl3g_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cCast_Rqdzzopc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_XpmYbjT4, 1, m, &cVar_XpmYbjT4_sendMessage); + cVar_onMessage(_c, &Context(_c)->cVar_iiualsly, 1, m, &cVar_iiualsly_sendMessage); +} + +void Heavy_EP_MK1::cCast_pRnu6zXa_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_iwN4zIii_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_QKm7gW5N_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_ZshqjpYa_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cSend_yCYNWwSA_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_T5RYnxvy_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_za7kZ0e3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_Bhr229Ht, HV_BINOP_LOGICAL_AND, 0, m, &cBinop_Bhr229Ht_sendMessage); +} + +void Heavy_EP_MK1::cCast_iG3mZ9o0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_xavIp2th_sendMessage); +} + +void Heavy_EP_MK1::cBinop_eieiD2dS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_0cDBtrS9, 0, m, &cIf_0cDBtrS9_sendMessage); +} + +void Heavy_EP_MK1::cBinop_xavIp2th_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_eieiD2dS, HV_BINOP_LOGICAL_AND, 0, m, &cBinop_eieiD2dS_sendMessage); +} + +void Heavy_EP_MK1::cCast_1dEz7w9q_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_lEtY4E6Y_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_03VH1lVz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_DGMgtVll_sendMessage); +} + +void Heavy_EP_MK1::cBinop_DGMgtVll_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_0cDBtrS9, 1, m, &cIf_0cDBtrS9_sendMessage); +} + +void Heavy_EP_MK1::cSend_WSDDndNM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_xWrZfXcb_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSend_Zs9LdfGr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_T5RYnxvy_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSend_rYRzeYO9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_xWrZfXcb_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_dcDNxpDA_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_Cctho0iq_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_HwYRa9lS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_MitV4kWM, 0, m, &cVar_MitV4kWM_sendMessage); +} + +void Heavy_EP_MK1::cCast_u85ozOpU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_OkVpRRSw, 0, m, &cVar_OkVpRRSw_sendMessage); +} + +void Heavy_EP_MK1::cBinop_wRpWrKWi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_Bhr229Ht, HV_BINOP_LOGICAL_AND, 1, m, &cBinop_Bhr229Ht_sendMessage); +} + +void Heavy_EP_MK1::cCast_X1p3HUe3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_wRpWrKWi, HV_BINOP_LESS_THAN, 0, m, &cBinop_wRpWrKWi_sendMessage); +} + +void Heavy_EP_MK1::cCast_aU6TuZlp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_dx2ZQG4K, 1, m, &cVar_dx2ZQG4K_sendMessage); + cVar_onMessage(_c, &Context(_c)->cVar_OyUmAZI6, 1, m, &cVar_OyUmAZI6_sendMessage); +} + +void Heavy_EP_MK1::cCast_6oxnYXEa_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_VHLIISwe, HV_BINOP_LESS_THAN, 0, m, &cBinop_VHLIISwe_sendMessage); +} + +void Heavy_EP_MK1::cCast_AoKOrzvT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_OyUmAZI6, 0, m, &cVar_OyUmAZI6_sendMessage); +} + +void Heavy_EP_MK1::cCast_a8KlujQB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_dx2ZQG4K, 0, m, &cVar_dx2ZQG4K_sendMessage); +} + +void Heavy_EP_MK1::cSend_uyNAOhx6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_YSOymCGl_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_yyCIcfT1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_iiualsly, 0, m, &cVar_iiualsly_sendMessage); +} + +void Heavy_EP_MK1::cCast_yVBkpDUK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_dx2ZQG4K, 0, m, &cVar_dx2ZQG4K_sendMessage); +} + +void Heavy_EP_MK1::cCast_lzcrmloV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_wHfZKWQu_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_wHfZKWQu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + cSend_uyNAOhx6_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_JgknPyfS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + cSend_Lrct6HgO_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSend_Lrct6HgO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_UNQwjlFB_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_A5avvMDt_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_XpmYbjT4, 0, m, &cVar_XpmYbjT4_sendMessage); +} + +void Heavy_EP_MK1::cCast_Xlp3vC4h_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_JgknPyfS_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_IQbanAHu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_OyUmAZI6, 0, m, &cVar_OyUmAZI6_sendMessage); +} + +void Heavy_EP_MK1::cMsg_Cctho0iq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + cSend_rYRzeYO9_sendMessage(_c, 0, m); + cSend_Zs9LdfGr_sendMessage(_c, 0, m); + cSend_x9mgTo5s_sendMessage(_c, 0, m); + cSend_NmT9TuoN_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSend_x9mgTo5s_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_UNQwjlFB_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSend_NmT9TuoN_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_YSOymCGl_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_xqKm824T_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_B3C8qnN1_sendMessage); +} + +void Heavy_EP_MK1::cCast_E0zeqvEo_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_YXo0WfYq, 1, m, &cIf_YXo0WfYq_sendMessage); +} + +void Heavy_EP_MK1::cBinop_0TCmOiUi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_30KS2vcA, 0, m, &cIf_30KS2vcA_sendMessage); +} + +void Heavy_EP_MK1::cBinop_B3C8qnN1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_aVw41OwU, 0, m, &cVar_aVw41OwU_sendMessage); +} + +void Heavy_EP_MK1::cMsg_5bcombzG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + cSwitchcase_rOMtzLKD_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_EhOUqbOE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + cSwitchcase_kkjJLu6h_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_UqYgiBZ0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_L9vaHYGJ, 0, m, &cVar_L9vaHYGJ_sendMessage); +} + +void Heavy_EP_MK1::cCast_QIOH6Z9s_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_bNgyqWRz, 0, m, &cVar_bNgyqWRz_sendMessage); +} + +void Heavy_EP_MK1::cCast_ck24J6RM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_9drSmKTs_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_9drSmKTs_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + cPack_onMessage(_c, &Context(_c)->cPack_BYT033Zm, 2, m, &cPack_BYT033Zm_sendMessage); +} + +void Heavy_EP_MK1::cCast_IT7p1guU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_5bcombzG_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_ZJq0sCI6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_MfvQWInI, 0, m, &cVar_MfvQWInI_sendMessage); +} + +void Heavy_EP_MK1::cCast_7hJNNhYI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_4IkDDX1c_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_1wJ4poyP_sendMessage); +} + +void Heavy_EP_MK1::cCast_4IkDDX1c_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSend_7OrG8WzM_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_1wJ4poyP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_u5tBj8Lb, 0, m, &cVar_u5tBj8Lb_sendMessage); +} + +void Heavy_EP_MK1::cSend_7OrG8WzM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_RehAy77I_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_Dp1wu1wH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSend_VtoZ7BwK_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_7sCGNTzx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_GiSxSddZ, 0, m, &cVar_GiSxSddZ_sendMessage); +} + +void Heavy_EP_MK1::cSend_VtoZ7BwK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_RehAy77I_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_DCzwWFBE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_ck24J6RM_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_UqYgiBZ0_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_QIOH6Z9s_sendMessage); +} + +void Heavy_EP_MK1::cCast_WkdFLadT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_EhOUqbOE_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_S7DTAUvH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_Dp1wu1wH_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_7sCGNTzx_sendMessage); +} + +void Heavy_EP_MK1::cCast_todgcz4E_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_bNgyqWRz, 0, m, &cVar_bNgyqWRz_sendMessage); +} + +void Heavy_EP_MK1::cCast_WmFpuX9z_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_0TCmOiUi, HV_BINOP_LOGICAL_AND, 1, m, &cBinop_0TCmOiUi_sendMessage); +} + +void Heavy_EP_MK1::cCast_hpLxvQwg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_aVw41OwU, 0, m, &cVar_aVw41OwU_sendMessage); +} + +void Heavy_EP_MK1::cSend_TNisPs3g_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_78vPaVrA_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_Qa8GSBYv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_t9FMWBot, 1, m, &cVar_t9FMWBot_sendMessage); +} + +void Heavy_EP_MK1::cSend_Vp3RAYli_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_Yvc0SbVa_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_EpXBdGxj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_BYT033Zm, 0, m, &cPack_BYT033Zm_sendMessage); +} + +void Heavy_EP_MK1::cBinop_60vLkGOw_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 1.0f, 0, m, &cBinop_Qa8GSBYv_sendMessage); + cSend_Vp3RAYli_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::hTable_zrjAPWjU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::hTable_jDLA3bj2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::hTable_103Wn1Ed_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cCast_GXrq5eSO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_W2qTdReU, 0, m, &cVar_W2qTdReU_sendMessage); +} + +void Heavy_EP_MK1::cCast_gjG7vzxq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_01i7Qlvj_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSend_14E5VKgj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_VHVO9aGV_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_01i7Qlvj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 65535.0f); + cSend_14E5VKgj_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_aRCf7ezT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_D4wcmJuh, 1, m, &cIf_D4wcmJuh_sendMessage); + cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_b9e8k91q_sendMessage); +} + +void Heavy_EP_MK1::cBinop_b9e8k91q_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_c0zUMuUL, 1, m, &cIf_c0zUMuUL_sendMessage); +} + +void Heavy_EP_MK1::cBinop_7AH6hATD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSend_TNisPs3g_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_2INuIXhx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_jxSH4lC7_sendMessage); + cSwitchcase_lBGbwojA_onMessage(_c, NULL, 0, m, NULL); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_rIS4wCWL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cDelay_onMessage(_c, &Context(_c)->cDelay_a1Yr3GlD, 0, m, &cDelay_a1Yr3GlD_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_anivr1Px_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_omE6hhyU_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_HPFjicw6_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_zkHxLmhP_sendMessage); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_fT5BH6mJ, 0, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_EnIDOsdo, m); +} + +void Heavy_EP_MK1::cBinop_Zzp7ey9u_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_qNNqg8fl_sendMessage); +} + +void Heavy_EP_MK1::cBinop_qNNqg8fl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_D4pAxZXo, HV_BINOP_POW, 1, m, &cBinop_D4pAxZXo_sendMessage); + cMsg_h9kP8P4g_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_D4pAxZXo_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_anivr1Px_sendMessage); +} + +void Heavy_EP_MK1::cMsg_h9kP8P4g_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_D4pAxZXo, HV_BINOP_POW, 0, m, &cBinop_D4pAxZXo_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_APJ4Rlvd_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_FGVof3f3_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_FGVof3f3_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_fChR2EMd, 1, m, &cDelay_fChR2EMd_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_3kbCJtC1_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_fChR2EMd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_fChR2EMd, m); + cPack_onMessage(_c, &Context(_c)->cPack_5c1776aq, 0, m, &cPack_5c1776aq_sendMessage); +} + +void Heavy_EP_MK1::cMsg_FGVof3f3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_fChR2EMd, 0, m, &cDelay_fChR2EMd_sendMessage); +} + +void Heavy_EP_MK1::cCast_3kbCJtC1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_fChR2EMd, 0, m, &cDelay_fChR2EMd_sendMessage); +} + +void Heavy_EP_MK1::cPack_5c1776aq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_3wCqimft_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_uOTUFrWe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_eS2Rovnu_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_2v2J5hCG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_lvEgPbs3, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_f7mZhooZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_lV6bOwnK, HV_BINOP_MULTIPLY, 0, m, &cBinop_lV6bOwnK_sendMessage); +} + +void Heavy_EP_MK1::cMsg_emXeKopE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_8NzDluXu_sendMessage); +} + +void Heavy_EP_MK1::cSystem_8NzDluXu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_QnG0Lrhv_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_lV6bOwnK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_Di0BSSgC_sendMessage); +} + +void Heavy_EP_MK1::cBinop_GbGYOiva_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_lV6bOwnK, HV_BINOP_MULTIPLY, 1, m, &cBinop_lV6bOwnK_sendMessage); +} + +void Heavy_EP_MK1::cMsg_QnG0Lrhv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_GbGYOiva_sendMessage); +} + +void Heavy_EP_MK1::cBinop_Di0BSSgC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_oqPfrp1J_sendMessage); +} + +void Heavy_EP_MK1::cBinop_oqPfrp1J_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_JmyVXmNs_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_RcnTHRuu, m); +} + +void Heavy_EP_MK1::cBinop_JmyVXmNs_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_WD7C8chd, m); +} + +void Heavy_EP_MK1::cSwitchcase_vgABNAXO_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_EADYdXGl_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_EADYdXGl_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_1yRWlMR0, 1, m, &cDelay_1yRWlMR0_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_6KCFIGwR_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_1yRWlMR0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_1yRWlMR0, m); + cPack_onMessage(_c, &Context(_c)->cPack_SwGJLASp, 0, m, &cPack_SwGJLASp_sendMessage); +} + +void Heavy_EP_MK1::cMsg_EADYdXGl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_1yRWlMR0, 0, m, &cDelay_1yRWlMR0_sendMessage); +} + +void Heavy_EP_MK1::cCast_6KCFIGwR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_1yRWlMR0, 0, m, &cDelay_1yRWlMR0_sendMessage); +} + +void Heavy_EP_MK1::cPack_SwGJLASp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_4VZAheL7_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_dtyI5XH4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_McFVZ0Ll_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_0n4vTued_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_iDRS34B2, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_cuvWDrFY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_CgfALdqs, HV_BINOP_MULTIPLY, 0, m, &cBinop_CgfALdqs_sendMessage); +} + +void Heavy_EP_MK1::cMsg_fxp86nbP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_cUfQczTw_sendMessage); +} + +void Heavy_EP_MK1::cSystem_cUfQczTw_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_7SQCIKgW_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_CgfALdqs_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_r5YmAXgy_sendMessage); +} + +void Heavy_EP_MK1::cBinop_qjO6txa1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_CgfALdqs, HV_BINOP_MULTIPLY, 1, m, &cBinop_CgfALdqs_sendMessage); +} + +void Heavy_EP_MK1::cMsg_7SQCIKgW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_qjO6txa1_sendMessage); +} + +void Heavy_EP_MK1::cBinop_r5YmAXgy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_4ZiErfzd_sendMessage); +} + +void Heavy_EP_MK1::cBinop_4ZiErfzd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_bEbE8c1Q_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_vp8lIXCn, m); +} + +void Heavy_EP_MK1::cBinop_bEbE8c1Q_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_MfT4ifW4, m); +} + +void Heavy_EP_MK1::cSwitchcase_lvSweEZ0_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_XuiDQjrM, 0, m, &cSlice_XuiDQjrM_sendMessage); + break; + } + case 0x0: { // "0.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_jf2Ro2dy, 0, m, &cSlice_jf2Ro2dy_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_XuiDQjrM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_Zzp7ey9u_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_Zzp7ey9u_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_jf2Ro2dy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_C9qeifus_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_C9qeifus_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_apMcAOFx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_pbsGlW4B_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_HbyyrDXM_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_xoZj2b3V_sendMessage); +} + +void Heavy_EP_MK1::cBinop_C9qeifus_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_cXPXdUfF_sendMessage); +} + +void Heavy_EP_MK1::cBinop_cXPXdUfF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_JmxewGJv, HV_BINOP_POW, 1, m, &cBinop_JmxewGJv_sendMessage); + cMsg_KqRClAmB_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_JmxewGJv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_apMcAOFx_sendMessage); +} + +void Heavy_EP_MK1::cMsg_KqRClAmB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_JmxewGJv, HV_BINOP_POW, 0, m, &cBinop_JmxewGJv_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_lO6w9D3S_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_8BHMru9s_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cCast_8BHMru9s_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_2XjwilZg_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_VQOHYJNi_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_oj0DbcAj_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_03MpBgyk_sendMessage); + cSwitchcase_YWGVI436_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_fNVYmuRq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_KdI1vnAr_sendMessage); +} + +void Heavy_EP_MK1::cSystem_KdI1vnAr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_qx7mJTO2, m); +} + +void Heavy_EP_MK1::cMsg_FyHDrtsd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_h4d3tlmE_sendMessage); +} + +void Heavy_EP_MK1::cSystem_h4d3tlmE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_Jiw4Es3V, m); +} + +void Heavy_EP_MK1::cDelay_a1Yr3GlD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_a1Yr3GlD, m); + cPack_onMessage(_c, &Context(_c)->cPack_nY24jnaO, 0, m, &cPack_nY24jnaO_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_dtNJQ6K6_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_bsPSOHBL_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_bsPSOHBL_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_odpMaBGc, 1, m, &cDelay_odpMaBGc_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_6WA4eR2z_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_odpMaBGc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_odpMaBGc, m); + cMsg_z5sQN4qF_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_bsPSOHBL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_odpMaBGc, 0, m, &cDelay_odpMaBGc_sendMessage); +} + +void Heavy_EP_MK1::cCast_6WA4eR2z_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_odpMaBGc, 0, m, &cDelay_odpMaBGc_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_7cpVtmSE_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_HMN6u30V_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_HMN6u30V_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_zIGcbWr6, 1, m, &cDelay_zIGcbWr6_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_z1AJRAYb_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_zIGcbWr6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_zIGcbWr6, m); + cMsg_lTPANKWv_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_HMN6u30V_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_zIGcbWr6, 0, m, &cDelay_zIGcbWr6_sendMessage); +} + +void Heavy_EP_MK1::cCast_z1AJRAYb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_zIGcbWr6, 0, m, &cDelay_zIGcbWr6_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_YWGVI436_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_i0g200qz_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_i0g200qz_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_PYqe7fPW, 1, m, &cDelay_PYqe7fPW_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_gKnnfuMu_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_PYqe7fPW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_PYqe7fPW, m); + cMsg_aHPfufNm_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_i0g200qz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_PYqe7fPW, 0, m, &cDelay_PYqe7fPW_sendMessage); +} + +void Heavy_EP_MK1::cCast_gKnnfuMu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_PYqe7fPW, 0, m, &cDelay_PYqe7fPW_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_s1xwGczR_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_2AEOqncp_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_2AEOqncp_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_YTuA3aGI, 1, m, &cDelay_YTuA3aGI_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_LELHGy7h_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_YTuA3aGI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_YTuA3aGI, m); + cMsg_lRds2qee_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_2AEOqncp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_YTuA3aGI, 0, m, &cDelay_YTuA3aGI_sendMessage); +} + +void Heavy_EP_MK1::cCast_LELHGy7h_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_YTuA3aGI, 0, m, &cDelay_YTuA3aGI_sendMessage); +} + +void Heavy_EP_MK1::cDelay_B0f8yaM4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_B0f8yaM4, m); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_zDi7M02d_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_lBGbwojA_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x0: { // "0.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_S9fNqTQF_sendMessage); + break; + } + default: { + cDelay_onMessage(_c, &Context(_c)->cDelay_B0f8yaM4, 0, m, &cDelay_B0f8yaM4_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cCast_S9fNqTQF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cIf_drS0YQ1l_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_9gpPNaLn_sendMessage(_c, 0, m); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 485.0f, 0, m, &cBinop_Cfh8L2Oh_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cMsg_3GE6O36z_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 10.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_NbhbI6Aw, HV_BINOP_POW, 0, m, &cBinop_NbhbI6Aw_sendMessage); +} + +void Heavy_EP_MK1::cBinop_NbhbI6Aw_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_3qDPWnPQ, m); +} + +void Heavy_EP_MK1::cBinop_pOL4RXb6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 20.0f, 0, m, &cBinop_f1GPe8wH_sendMessage); +} + +void Heavy_EP_MK1::cCast_ALLoyhj4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_drS0YQ1l, 0, m, &cIf_drS0YQ1l_sendMessage); +} + +void Heavy_EP_MK1::cCast_nWnQKHDf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_85xlG53a_sendMessage); +} + +void Heavy_EP_MK1::cBinop_85xlG53a_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_drS0YQ1l, 1, m, &cIf_drS0YQ1l_sendMessage); +} + +void Heavy_EP_MK1::cBinop_Cfh8L2Oh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 100.0f, 0, m, &cBinop_pOL4RXb6_sendMessage); +} + +void Heavy_EP_MK1::cMsg_9gpPNaLn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sVarf_onMessage(_c, &Context(_c)->sVarf_3qDPWnPQ, m); +} + +void Heavy_EP_MK1::cBinop_f1GPe8wH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_NbhbI6Aw, HV_BINOP_POW, 1, m, &cBinop_NbhbI6Aw_sendMessage); + cMsg_3GE6O36z_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cPack_nY24jnaO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_AToUhGDl_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_jxSH4lC7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_lO6w9D3S_onMessage(_c, NULL, 0, m, NULL); + cPack_onMessage(_c, &Context(_c)->cPack_nY24jnaO, 1, m, &cPack_nY24jnaO_sendMessage); +} + +void Heavy_EP_MK1::cMsg_Kr66zLqC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_C0Wn6bJr_sendMessage); +} + +void Heavy_EP_MK1::cBinop_C0Wn6bJr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_R6mPsfGd, HV_BINOP_MULTIPLY, 0, m, &cBinop_R6mPsfGd_sendMessage); + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 128.0f, 0, m, &cBinop_moMtXn4m_sendMessage); +} + +void Heavy_EP_MK1::cCast_8LglT0zT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_cs02sYyb_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_vSwCGGuH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_APJ4Rlvd_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_3wCqimft_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_uOTUFrWe, 0, m, &cSlice_uOTUFrWe_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_2v2J5hCG, 0, m, &cSlice_2v2J5hCG_sendMessage); +} + +void Heavy_EP_MK1::cMsg_eS2Rovnu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_rRe2nMN0_sendMessage); +} + +void Heavy_EP_MK1::cBinop_rRe2nMN0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_f7mZhooZ, 0, m, &cVar_f7mZhooZ_sendMessage); +} + +void Heavy_EP_MK1::cMsg_aHPfufNm_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_fT5BH6mJ, 1, m); +} + +void Heavy_EP_MK1::cBinop_R6mPsfGd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_5c1776aq, 1, m, &cPack_5c1776aq_sendMessage); +} + +void Heavy_EP_MK1::cCast_VQOHYJNi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_2pZV6Isa_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_2XjwilZg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_7cpVtmSE_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_2pZV6Isa_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 1.0f); + sLine_onMessage(_c, &Context(_c)->sLine_hADdbIyX, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_lTPANKWv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_hADdbIyX, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_qDV0Ytnx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_V4moeuRd_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_uZLgjKs3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_vgABNAXO_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_4VZAheL7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_dtyI5XH4, 0, m, &cSlice_dtyI5XH4_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_0n4vTued, 0, m, &cSlice_0n4vTued_sendMessage); +} + +void Heavy_EP_MK1::cMsg_McFVZ0Ll_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_kIOWepAR_sendMessage); +} + +void Heavy_EP_MK1::cBinop_kIOWepAR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_cuvWDrFY, 0, m, &cVar_cuvWDrFY_sendMessage); +} + +void Heavy_EP_MK1::cMsg_V4moeuRd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 1.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_dtyI5XH4, 0, m, &cSlice_dtyI5XH4_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_0n4vTued, 0, m, &cSlice_0n4vTued_sendMessage); +} + +void Heavy_EP_MK1::cBinop_moMtXn4m_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_SwGJLASp, 1, m, &cPack_SwGJLASp_sendMessage); +} + +void Heavy_EP_MK1::cMsg_HemNUF3Z_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 50.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_dtyI5XH4, 0, m, &cSlice_dtyI5XH4_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_0n4vTued, 0, m, &cSlice_0n4vTued_sendMessage); +} + +void Heavy_EP_MK1::cCast_pbsGlW4B_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_0QFSYRTy_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_HbyyrDXM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_Kr66zLqC_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_xoZj2b3V_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_5c1776aq, 0, m, &cPack_5c1776aq_sendMessage); +} + +void Heavy_EP_MK1::cCast_HPFjicw6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_Kr66zLqC_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_omE6hhyU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_NE37oH26_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_zkHxLmhP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_8LglT0zT_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_vSwCGGuH_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_qDV0Ytnx_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_uZLgjKs3_sendMessage); +} + +void Heavy_EP_MK1::cMsg_NE37oH26_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2048.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_R6mPsfGd, HV_BINOP_MULTIPLY, 1, m, &cBinop_R6mPsfGd_sendMessage); +} + +void Heavy_EP_MK1::cCast_oj0DbcAj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_s1xwGczR_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_03MpBgyk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_dtNJQ6K6_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_lRds2qee_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_QOlaVO7i, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_z5sQN4qF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 20000.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_QOlaVO7i, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_cs02sYyb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.1f); + cSlice_onMessage(_c, &Context(_c)->cSlice_uOTUFrWe, 0, m, &cSlice_uOTUFrWe_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_2v2J5hCG, 0, m, &cSlice_2v2J5hCG_sendMessage); +} + +void Heavy_EP_MK1::cBinop_zDi7M02d_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 126.0f, 0, m, &cBinop_k49e22Gp_sendMessage); +} + +void Heavy_EP_MK1::cBinop_k49e22Gp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_R48tlqs4_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_R48tlqs4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 0.0f, 0, m, &cBinop_NixFIDVe_sendMessage); +} + +void Heavy_EP_MK1::cBinop_NixFIDVe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, -30.0f, 0, m, &cBinop_zrBIyQso_sendMessage); +} + +void Heavy_EP_MK1::cBinop_zrBIyQso_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 100.0f, 0, m, &cBinop_dhr9C5zZ_sendMessage); +} + +void Heavy_EP_MK1::cBinop_dhr9C5zZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_nWnQKHDf_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_ALLoyhj4_sendMessage); +} + +void Heavy_EP_MK1::cMsg_0QFSYRTy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 8.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_R6mPsfGd, HV_BINOP_MULTIPLY, 1, m, &cBinop_R6mPsfGd_sendMessage); +} + +void Heavy_EP_MK1::cMsg_AToUhGDl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setElementToFrom(m, 0, n, 1); + msg_setElementToFrom(m, 1, n, 0); + cSwitchcase_lvSweEZ0_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cSlice_qZT4eBYV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_jSR9zS7N_sendMessage); + cSwitchcase_A3E6anWI_onMessage(_c, NULL, 0, m, NULL); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_7oNej4sG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cDelay_onMessage(_c, &Context(_c)->cDelay_QLMdRIRC, 0, m, &cDelay_QLMdRIRC_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_l3RXDCtN_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_X8ntNJtD_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_0TVO4cyV_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_VznD72iG_sendMessage); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_4cjQsVOb, 0, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_e5DnsKGN, m); +} + +void Heavy_EP_MK1::cBinop_tsESU4RN_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_nWXpuFVx_sendMessage); +} + +void Heavy_EP_MK1::cBinop_nWXpuFVx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_AUKqDMCP, HV_BINOP_POW, 1, m, &cBinop_AUKqDMCP_sendMessage); + cMsg_tuBmcMzI_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_AUKqDMCP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_l3RXDCtN_sendMessage); +} + +void Heavy_EP_MK1::cMsg_tuBmcMzI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_AUKqDMCP, HV_BINOP_POW, 0, m, &cBinop_AUKqDMCP_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_pgCsBXVe_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_kk9ldTid_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_kk9ldTid_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_ZtwXRUif, 1, m, &cDelay_ZtwXRUif_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_L5lS74o2_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_ZtwXRUif_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_ZtwXRUif, m); + cPack_onMessage(_c, &Context(_c)->cPack_J0CLxFll, 0, m, &cPack_J0CLxFll_sendMessage); +} + +void Heavy_EP_MK1::cMsg_kk9ldTid_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_ZtwXRUif, 0, m, &cDelay_ZtwXRUif_sendMessage); +} + +void Heavy_EP_MK1::cCast_L5lS74o2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_ZtwXRUif, 0, m, &cDelay_ZtwXRUif_sendMessage); +} + +void Heavy_EP_MK1::cPack_J0CLxFll_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_373QxMWp_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_YosQUGW6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_z9hpzokD_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_w1ytFFHJ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_1ozkl1Ar, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_I5axLBa7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_8mUuoz38, HV_BINOP_MULTIPLY, 0, m, &cBinop_8mUuoz38_sendMessage); +} + +void Heavy_EP_MK1::cMsg_xUIk35fz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_dhp6hY1K_sendMessage); +} + +void Heavy_EP_MK1::cSystem_dhp6hY1K_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_punPVQER_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_8mUuoz38_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_bjbPNxTO_sendMessage); +} + +void Heavy_EP_MK1::cBinop_llPN8wky_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_8mUuoz38, HV_BINOP_MULTIPLY, 1, m, &cBinop_8mUuoz38_sendMessage); +} + +void Heavy_EP_MK1::cMsg_punPVQER_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_llPN8wky_sendMessage); +} + +void Heavy_EP_MK1::cBinop_bjbPNxTO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_nCoZaBF0_sendMessage); +} + +void Heavy_EP_MK1::cBinop_nCoZaBF0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_9Mvq2M0P_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_oj8tkGiB, m); +} + +void Heavy_EP_MK1::cBinop_9Mvq2M0P_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_sChqoevv, m); +} + +void Heavy_EP_MK1::cSwitchcase_y8kaEfcl_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_sbFXwqUJ_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_sbFXwqUJ_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_iN9nDqKH, 1, m, &cDelay_iN9nDqKH_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_LaYbGFDV_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_iN9nDqKH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_iN9nDqKH, m); + cPack_onMessage(_c, &Context(_c)->cPack_XcUCeI3v, 0, m, &cPack_XcUCeI3v_sendMessage); +} + +void Heavy_EP_MK1::cMsg_sbFXwqUJ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_iN9nDqKH, 0, m, &cDelay_iN9nDqKH_sendMessage); +} + +void Heavy_EP_MK1::cCast_LaYbGFDV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_iN9nDqKH, 0, m, &cDelay_iN9nDqKH_sendMessage); +} + +void Heavy_EP_MK1::cPack_XcUCeI3v_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_uoSqrOtK_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_nOSjeXgq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_azNXhhOX_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_qIBpEnnd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_zeHbGhXt, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_6lY50lnm_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_KyQEhWTY, HV_BINOP_MULTIPLY, 0, m, &cBinop_KyQEhWTY_sendMessage); +} + +void Heavy_EP_MK1::cMsg_Axz1orYI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_mBQ668Zx_sendMessage); +} + +void Heavy_EP_MK1::cSystem_mBQ668Zx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_kVyfvXw5_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_KyQEhWTY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_WTmBkKQT_sendMessage); +} + +void Heavy_EP_MK1::cBinop_tLvLAlZL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_KyQEhWTY, HV_BINOP_MULTIPLY, 1, m, &cBinop_KyQEhWTY_sendMessage); +} + +void Heavy_EP_MK1::cMsg_kVyfvXw5_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_tLvLAlZL_sendMessage); +} + +void Heavy_EP_MK1::cBinop_WTmBkKQT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_jj4NG7qf_sendMessage); +} + +void Heavy_EP_MK1::cBinop_jj4NG7qf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_FGtkRlDO_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_WSO3zyqT, m); +} + +void Heavy_EP_MK1::cBinop_FGtkRlDO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_r2nB2y1m, m); +} + +void Heavy_EP_MK1::cSwitchcase_pqtCDn8K_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_UaT8lPaC, 0, m, &cSlice_UaT8lPaC_sendMessage); + break; + } + case 0x0: { // "0.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_F4UGzXJD, 0, m, &cSlice_F4UGzXJD_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_UaT8lPaC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_tsESU4RN_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_tsESU4RN_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_F4UGzXJD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_fJLC2pkO_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_fJLC2pkO_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_QrSnCJCJ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_IHqc9FA0_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_RYsIbmpD_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_QPhwkePi_sendMessage); +} + +void Heavy_EP_MK1::cBinop_fJLC2pkO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_Fa78vtHE_sendMessage); +} + +void Heavy_EP_MK1::cBinop_Fa78vtHE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_pNB7bAH5, HV_BINOP_POW, 1, m, &cBinop_pNB7bAH5_sendMessage); + cMsg_ACimLjhV_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_pNB7bAH5_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_QrSnCJCJ_sendMessage); +} + +void Heavy_EP_MK1::cMsg_ACimLjhV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_pNB7bAH5, HV_BINOP_POW, 0, m, &cBinop_pNB7bAH5_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_9ymEkSqF_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_aJfuyvxQ_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cCast_aJfuyvxQ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_K43UmDls_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_1ohY0MTH_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_dqXZ16ly_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_E9eETroy_sendMessage); + cSwitchcase_cL0RKMBM_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_vnInM2TA_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_qTrmIzZM_sendMessage); +} + +void Heavy_EP_MK1::cSystem_qTrmIzZM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_ruyibc4Y, m); +} + +void Heavy_EP_MK1::cMsg_zX4gvtjh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_4b4CSsPS_sendMessage); +} + +void Heavy_EP_MK1::cSystem_4b4CSsPS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_zp8XrZmD, m); +} + +void Heavy_EP_MK1::cDelay_QLMdRIRC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_QLMdRIRC, m); + cPack_onMessage(_c, &Context(_c)->cPack_X3O3xvTy, 0, m, &cPack_X3O3xvTy_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_xQdp3YLI_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_R8N3OM8Z_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_R8N3OM8Z_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_Jj5JoN3X, 1, m, &cDelay_Jj5JoN3X_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_P2zWlT8E_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_Jj5JoN3X_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_Jj5JoN3X, m); + cMsg_3D0wbw8W_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_R8N3OM8Z_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_Jj5JoN3X, 0, m, &cDelay_Jj5JoN3X_sendMessage); +} + +void Heavy_EP_MK1::cCast_P2zWlT8E_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_Jj5JoN3X, 0, m, &cDelay_Jj5JoN3X_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_vt3e34wU_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_v9CBBqPn_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_v9CBBqPn_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_MT2IRF44, 1, m, &cDelay_MT2IRF44_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_xQqze1C3_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_MT2IRF44_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_MT2IRF44, m); + cMsg_OA7ujY6d_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_v9CBBqPn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_MT2IRF44, 0, m, &cDelay_MT2IRF44_sendMessage); +} + +void Heavy_EP_MK1::cCast_xQqze1C3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_MT2IRF44, 0, m, &cDelay_MT2IRF44_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_cL0RKMBM_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_XHPdcOXe_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_XHPdcOXe_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_kVeglpYz, 1, m, &cDelay_kVeglpYz_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_PfH7zRUo_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_kVeglpYz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_kVeglpYz, m); + cMsg_Q4J8dJu7_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_XHPdcOXe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_kVeglpYz, 0, m, &cDelay_kVeglpYz_sendMessage); +} + +void Heavy_EP_MK1::cCast_PfH7zRUo_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_kVeglpYz, 0, m, &cDelay_kVeglpYz_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_jGfys04F_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_Gwj9Okrj_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_Gwj9Okrj_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_HjgtvZoF, 1, m, &cDelay_HjgtvZoF_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_DugDo7U9_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_HjgtvZoF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_HjgtvZoF, m); + cMsg_E21vn4iz_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_Gwj9Okrj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_HjgtvZoF, 0, m, &cDelay_HjgtvZoF_sendMessage); +} + +void Heavy_EP_MK1::cCast_DugDo7U9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_HjgtvZoF, 0, m, &cDelay_HjgtvZoF_sendMessage); +} + +void Heavy_EP_MK1::cDelay_AQqKKBe7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_AQqKKBe7, m); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_RDIdQCKh_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_A3E6anWI_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x0: { // "0.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_H1Xyhida_sendMessage); + break; + } + default: { + cDelay_onMessage(_c, &Context(_c)->cDelay_AQqKKBe7, 0, m, &cDelay_AQqKKBe7_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cCast_H1Xyhida_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cIf_riRtEjEO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_VRC3oFCN_sendMessage(_c, 0, m); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 485.0f, 0, m, &cBinop_5r1OUzKN_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cMsg_Dv0gbeDu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 10.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_kWGjKN5n, HV_BINOP_POW, 0, m, &cBinop_kWGjKN5n_sendMessage); +} + +void Heavy_EP_MK1::cBinop_kWGjKN5n_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_NOYgXabI, m); +} + +void Heavy_EP_MK1::cBinop_f5IHXl58_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 20.0f, 0, m, &cBinop_cyjUUiEB_sendMessage); +} + +void Heavy_EP_MK1::cCast_GnZxXwEh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_4fYWpMjF_sendMessage); +} + +void Heavy_EP_MK1::cCast_XtWPeINd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_riRtEjEO, 0, m, &cIf_riRtEjEO_sendMessage); +} + +void Heavy_EP_MK1::cBinop_4fYWpMjF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_riRtEjEO, 1, m, &cIf_riRtEjEO_sendMessage); +} + +void Heavy_EP_MK1::cBinop_5r1OUzKN_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 100.0f, 0, m, &cBinop_f5IHXl58_sendMessage); +} + +void Heavy_EP_MK1::cMsg_VRC3oFCN_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sVarf_onMessage(_c, &Context(_c)->sVarf_NOYgXabI, m); +} + +void Heavy_EP_MK1::cBinop_cyjUUiEB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_kWGjKN5n, HV_BINOP_POW, 1, m, &cBinop_kWGjKN5n_sendMessage); + cMsg_Dv0gbeDu_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cPack_X3O3xvTy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_1GrkztpU_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_jSR9zS7N_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_9ymEkSqF_onMessage(_c, NULL, 0, m, NULL); + cPack_onMessage(_c, &Context(_c)->cPack_X3O3xvTy, 1, m, &cPack_X3O3xvTy_sendMessage); +} + +void Heavy_EP_MK1::cMsg_UiZy1dIH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_NavqPfVK_sendMessage); +} + +void Heavy_EP_MK1::cBinop_NavqPfVK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_lyVu0twV, HV_BINOP_MULTIPLY, 0, m, &cBinop_lyVu0twV_sendMessage); + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 128.0f, 0, m, &cBinop_aLAYvppH_sendMessage); +} + +void Heavy_EP_MK1::cCast_9RZmugqL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_pgCsBXVe_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_4s3ICg4T_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_8FLxmPX4_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_373QxMWp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_YosQUGW6, 0, m, &cSlice_YosQUGW6_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_w1ytFFHJ, 0, m, &cSlice_w1ytFFHJ_sendMessage); +} + +void Heavy_EP_MK1::cMsg_z9hpzokD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_YopcEX5F_sendMessage); +} + +void Heavy_EP_MK1::cBinop_YopcEX5F_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_I5axLBa7, 0, m, &cVar_I5axLBa7_sendMessage); +} + +void Heavy_EP_MK1::cMsg_Q4J8dJu7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_4cjQsVOb, 1, m); +} + +void Heavy_EP_MK1::cBinop_lyVu0twV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_J0CLxFll, 1, m, &cPack_J0CLxFll_sendMessage); +} + +void Heavy_EP_MK1::cCast_1ohY0MTH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_LWirqX4o_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_K43UmDls_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_vt3e34wU_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_LWirqX4o_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 1.0f); + sLine_onMessage(_c, &Context(_c)->sLine_cIX3zJqu, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_OA7ujY6d_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_cIX3zJqu, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_6IqByR64_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_y8kaEfcl_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_uYrKbzq4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_nMKiO5o0_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_uoSqrOtK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_nOSjeXgq, 0, m, &cSlice_nOSjeXgq_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_qIBpEnnd, 0, m, &cSlice_qIBpEnnd_sendMessage); +} + +void Heavy_EP_MK1::cMsg_azNXhhOX_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_7ecYajZQ_sendMessage); +} + +void Heavy_EP_MK1::cBinop_7ecYajZQ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_6lY50lnm, 0, m, &cVar_6lY50lnm_sendMessage); +} + +void Heavy_EP_MK1::cMsg_nMKiO5o0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 1.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_nOSjeXgq, 0, m, &cSlice_nOSjeXgq_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_qIBpEnnd, 0, m, &cSlice_qIBpEnnd_sendMessage); +} + +void Heavy_EP_MK1::cBinop_aLAYvppH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_XcUCeI3v, 1, m, &cPack_XcUCeI3v_sendMessage); +} + +void Heavy_EP_MK1::cMsg_XEuGrYAQ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 50.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_nOSjeXgq, 0, m, &cSlice_nOSjeXgq_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_qIBpEnnd, 0, m, &cSlice_qIBpEnnd_sendMessage); +} + +void Heavy_EP_MK1::cCast_QPhwkePi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_J0CLxFll, 0, m, &cPack_J0CLxFll_sendMessage); +} + +void Heavy_EP_MK1::cCast_IHqc9FA0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_l00PrmVY_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_RYsIbmpD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_UiZy1dIH_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_VznD72iG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_4s3ICg4T_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_9RZmugqL_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_uYrKbzq4_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_6IqByR64_sendMessage); +} + +void Heavy_EP_MK1::cCast_0TVO4cyV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_UiZy1dIH_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_X8ntNJtD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_DpvC8iyV_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_DpvC8iyV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2048.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_lyVu0twV, HV_BINOP_MULTIPLY, 1, m, &cBinop_lyVu0twV_sendMessage); +} + +void Heavy_EP_MK1::cCast_dqXZ16ly_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_jGfys04F_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_E9eETroy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_xQdp3YLI_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_E21vn4iz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_LhlRTRkY, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_3D0wbw8W_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 20000.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_LhlRTRkY, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_8FLxmPX4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.1f); + cSlice_onMessage(_c, &Context(_c)->cSlice_YosQUGW6, 0, m, &cSlice_YosQUGW6_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_w1ytFFHJ, 0, m, &cSlice_w1ytFFHJ_sendMessage); +} + +void Heavy_EP_MK1::cBinop_RDIdQCKh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 126.0f, 0, m, &cBinop_dbIjZ05s_sendMessage); +} + +void Heavy_EP_MK1::cBinop_dbIjZ05s_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_mg7dkvqn_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_mg7dkvqn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 0.0f, 0, m, &cBinop_OdnvGDMS_sendMessage); +} + +void Heavy_EP_MK1::cBinop_OdnvGDMS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, -30.0f, 0, m, &cBinop_Doptl4KB_sendMessage); +} + +void Heavy_EP_MK1::cBinop_Doptl4KB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 100.0f, 0, m, &cBinop_pF0VBlT7_sendMessage); +} + +void Heavy_EP_MK1::cBinop_pF0VBlT7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_GnZxXwEh_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_XtWPeINd_sendMessage); +} + +void Heavy_EP_MK1::cMsg_l00PrmVY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 8.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_lyVu0twV, HV_BINOP_MULTIPLY, 1, m, &cBinop_lyVu0twV_sendMessage); +} + +void Heavy_EP_MK1::cMsg_1GrkztpU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setElementToFrom(m, 0, n, 1); + msg_setElementToFrom(m, 1, n, 0); + cSwitchcase_pqtCDn8K_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cSlice_hv3mUgaW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_7zgCesuw_sendMessage); + cSwitchcase_FxIazoX8_onMessage(_c, NULL, 0, m, NULL); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_XWrWDCcW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cDelay_onMessage(_c, &Context(_c)->cDelay_VB784pvz, 0, m, &cDelay_VB784pvz_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_k1cslq56_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_dh3TAdGP_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_C2nbcAxp_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_W6tBOTnb_sendMessage); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_D5sKYl8D, 0, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_4WWOmkn4, m); +} + +void Heavy_EP_MK1::cBinop_mFn54KU0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_nkoqLCHg_sendMessage); +} + +void Heavy_EP_MK1::cBinop_nkoqLCHg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_c0i1xbS9, HV_BINOP_POW, 1, m, &cBinop_c0i1xbS9_sendMessage); + cMsg_vtdhWGdp_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_c0i1xbS9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_k1cslq56_sendMessage); +} + +void Heavy_EP_MK1::cMsg_vtdhWGdp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_c0i1xbS9, HV_BINOP_POW, 0, m, &cBinop_c0i1xbS9_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_OuZLBvL4_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_BmsJaQFL_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_BmsJaQFL_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_6qAkbHP4, 1, m, &cDelay_6qAkbHP4_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_5Oo1MqXa_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_6qAkbHP4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_6qAkbHP4, m); + cPack_onMessage(_c, &Context(_c)->cPack_HKhQT7B9, 0, m, &cPack_HKhQT7B9_sendMessage); +} + +void Heavy_EP_MK1::cMsg_BmsJaQFL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_6qAkbHP4, 0, m, &cDelay_6qAkbHP4_sendMessage); +} + +void Heavy_EP_MK1::cCast_5Oo1MqXa_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_6qAkbHP4, 0, m, &cDelay_6qAkbHP4_sendMessage); +} + +void Heavy_EP_MK1::cPack_HKhQT7B9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_z7tFHTdk_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_FwTqvMn2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_fbZMtyOu_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_DcHse9W3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_kx1tzfa7, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_r5ixlHEt_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_HqjECEs6, HV_BINOP_MULTIPLY, 0, m, &cBinop_HqjECEs6_sendMessage); +} + +void Heavy_EP_MK1::cMsg_EZLaZJk9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_SMrHWdXB_sendMessage); +} + +void Heavy_EP_MK1::cSystem_SMrHWdXB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_pdB8k1j2_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_HqjECEs6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_zGb3Cnpa_sendMessage); +} + +void Heavy_EP_MK1::cBinop_3kpJHHGx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_HqjECEs6, HV_BINOP_MULTIPLY, 1, m, &cBinop_HqjECEs6_sendMessage); +} + +void Heavy_EP_MK1::cMsg_pdB8k1j2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_3kpJHHGx_sendMessage); +} + +void Heavy_EP_MK1::cBinop_zGb3Cnpa_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_gcPqtQGi_sendMessage); +} + +void Heavy_EP_MK1::cBinop_gcPqtQGi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_TzI3zrOK_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_7O0Uks8x, m); +} + +void Heavy_EP_MK1::cBinop_TzI3zrOK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_DyUZzAkb, m); +} + +void Heavy_EP_MK1::cSwitchcase_VZIwLCKY_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_R6ucXJ9d_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_R6ucXJ9d_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_fsNbhAVw, 1, m, &cDelay_fsNbhAVw_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_h1Kd5tf8_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_fsNbhAVw_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_fsNbhAVw, m); + cPack_onMessage(_c, &Context(_c)->cPack_8rASSedI, 0, m, &cPack_8rASSedI_sendMessage); +} + +void Heavy_EP_MK1::cMsg_R6ucXJ9d_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_fsNbhAVw, 0, m, &cDelay_fsNbhAVw_sendMessage); +} + +void Heavy_EP_MK1::cCast_h1Kd5tf8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_fsNbhAVw, 0, m, &cDelay_fsNbhAVw_sendMessage); +} + +void Heavy_EP_MK1::cPack_8rASSedI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_qI4eBhFz_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_SQTrpvHR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_9gEcXN0Q_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_TEczJAdP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_nFQtbdVq, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_9G2w7qnP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_wtCPn2v7, HV_BINOP_MULTIPLY, 0, m, &cBinop_wtCPn2v7_sendMessage); +} + +void Heavy_EP_MK1::cMsg_cGPaQMM6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_xxiMeu4W_sendMessage); +} + +void Heavy_EP_MK1::cSystem_xxiMeu4W_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_EW0528j1_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_wtCPn2v7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_WjxnTodE_sendMessage); +} + +void Heavy_EP_MK1::cBinop_M3xbRzHZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_wtCPn2v7, HV_BINOP_MULTIPLY, 1, m, &cBinop_wtCPn2v7_sendMessage); +} + +void Heavy_EP_MK1::cMsg_EW0528j1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_M3xbRzHZ_sendMessage); +} + +void Heavy_EP_MK1::cBinop_WjxnTodE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_2gqweucP_sendMessage); +} + +void Heavy_EP_MK1::cBinop_2gqweucP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_CVrmPTW2_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_8A33dqbR, m); +} + +void Heavy_EP_MK1::cBinop_CVrmPTW2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_K4mxXcbU, m); +} + +void Heavy_EP_MK1::cSwitchcase_7VmBeFDc_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_MO4iCVh1, 0, m, &cSlice_MO4iCVh1_sendMessage); + break; + } + case 0x0: { // "0.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_QuX5M4S2, 0, m, &cSlice_QuX5M4S2_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_MO4iCVh1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_mFn54KU0_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_mFn54KU0_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_QuX5M4S2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_MGu6DZGz_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_MGu6DZGz_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_VbNqWaoC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_tOlKdVU3_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_DuodSYz6_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_HUgTLaW8_sendMessage); +} + +void Heavy_EP_MK1::cBinop_MGu6DZGz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_hsln8cTe_sendMessage); +} + +void Heavy_EP_MK1::cBinop_hsln8cTe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_YN6RyC3N, HV_BINOP_POW, 1, m, &cBinop_YN6RyC3N_sendMessage); + cMsg_mxr67C8l_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_YN6RyC3N_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_VbNqWaoC_sendMessage); +} + +void Heavy_EP_MK1::cMsg_mxr67C8l_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_YN6RyC3N, HV_BINOP_POW, 0, m, &cBinop_YN6RyC3N_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_ImYmO42I_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_E6y5dwjY_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cCast_E6y5dwjY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_zQBVGHM3_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_0ZfNJd7D_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_Zxo46jA0_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_kveJf1Sf_sendMessage); + cSwitchcase_Y3RBjbcE_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_lYOaGMwk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_lKIgXgzR_sendMessage); +} + +void Heavy_EP_MK1::cSystem_lKIgXgzR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_LGgQiJgX, m); +} + +void Heavy_EP_MK1::cMsg_7KV6tt6Z_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_9J223NWs_sendMessage); +} + +void Heavy_EP_MK1::cSystem_9J223NWs_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_tfwRhNIy, m); +} + +void Heavy_EP_MK1::cDelay_VB784pvz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_VB784pvz, m); + cPack_onMessage(_c, &Context(_c)->cPack_ydX1v6ep, 0, m, &cPack_ydX1v6ep_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_ydBi8MSl_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_RlSWCAcx_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_RlSWCAcx_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_BlyG4Dem, 1, m, &cDelay_BlyG4Dem_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_e3MU2AC0_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_BlyG4Dem_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_BlyG4Dem, m); + cMsg_yNYaSFdF_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_RlSWCAcx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_BlyG4Dem, 0, m, &cDelay_BlyG4Dem_sendMessage); +} + +void Heavy_EP_MK1::cCast_e3MU2AC0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_BlyG4Dem, 0, m, &cDelay_BlyG4Dem_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_1f79Z8tz_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_VaYAOZMq_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_VaYAOZMq_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_lesker1N, 1, m, &cDelay_lesker1N_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_ieiXglU5_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_lesker1N_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_lesker1N, m); + cMsg_C0QJdxdQ_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_VaYAOZMq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_lesker1N, 0, m, &cDelay_lesker1N_sendMessage); +} + +void Heavy_EP_MK1::cCast_ieiXglU5_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_lesker1N, 0, m, &cDelay_lesker1N_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_Y3RBjbcE_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_pXFlrQ1U_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_pXFlrQ1U_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_xS27Dv4p, 1, m, &cDelay_xS27Dv4p_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_nfzHets3_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_xS27Dv4p_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_xS27Dv4p, m); + cMsg_fY1gA9w2_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_pXFlrQ1U_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_xS27Dv4p, 0, m, &cDelay_xS27Dv4p_sendMessage); +} + +void Heavy_EP_MK1::cCast_nfzHets3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_xS27Dv4p, 0, m, &cDelay_xS27Dv4p_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_GWKDlTzw_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_fmDFusag_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_fmDFusag_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_nlscGUxB, 1, m, &cDelay_nlscGUxB_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_Hwx0FeG8_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_nlscGUxB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_nlscGUxB, m); + cMsg_GPvBkq5J_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_fmDFusag_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_nlscGUxB, 0, m, &cDelay_nlscGUxB_sendMessage); +} + +void Heavy_EP_MK1::cCast_Hwx0FeG8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_nlscGUxB, 0, m, &cDelay_nlscGUxB_sendMessage); +} + +void Heavy_EP_MK1::cDelay_8o62CkX0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_8o62CkX0, m); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_03KuiZFi_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_FxIazoX8_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x0: { // "0.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_BW4KDBEE_sendMessage); + break; + } + default: { + cDelay_onMessage(_c, &Context(_c)->cDelay_8o62CkX0, 0, m, &cDelay_8o62CkX0_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cCast_BW4KDBEE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cIf_eE0PJb50_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_J7V6QIXZ_sendMessage(_c, 0, m); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 485.0f, 0, m, &cBinop_3P1RBOib_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cMsg_HydQQl0s_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 10.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_dlGEIEnH, HV_BINOP_POW, 0, m, &cBinop_dlGEIEnH_sendMessage); +} + +void Heavy_EP_MK1::cBinop_dlGEIEnH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_gMuBQaiz, m); +} + +void Heavy_EP_MK1::cBinop_JIbo3cDI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 20.0f, 0, m, &cBinop_qdM3r4g0_sendMessage); +} + +void Heavy_EP_MK1::cCast_9YBnlLR5_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_pCXsFq1U_sendMessage); +} + +void Heavy_EP_MK1::cCast_G02Qw2wI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_eE0PJb50, 0, m, &cIf_eE0PJb50_sendMessage); +} + +void Heavy_EP_MK1::cBinop_pCXsFq1U_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_eE0PJb50, 1, m, &cIf_eE0PJb50_sendMessage); +} + +void Heavy_EP_MK1::cBinop_3P1RBOib_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 100.0f, 0, m, &cBinop_JIbo3cDI_sendMessage); +} + +void Heavy_EP_MK1::cMsg_J7V6QIXZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sVarf_onMessage(_c, &Context(_c)->sVarf_gMuBQaiz, m); +} + +void Heavy_EP_MK1::cBinop_qdM3r4g0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_dlGEIEnH, HV_BINOP_POW, 1, m, &cBinop_dlGEIEnH_sendMessage); + cMsg_HydQQl0s_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cPack_ydX1v6ep_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_QBtHS11y_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_7zgCesuw_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_ImYmO42I_onMessage(_c, NULL, 0, m, NULL); + cPack_onMessage(_c, &Context(_c)->cPack_ydX1v6ep, 1, m, &cPack_ydX1v6ep_sendMessage); +} + +void Heavy_EP_MK1::cMsg_AjbwGNok_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_xCpzb0GP_sendMessage); +} + +void Heavy_EP_MK1::cBinop_xCpzb0GP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_av6hA3La, HV_BINOP_MULTIPLY, 0, m, &cBinop_av6hA3La_sendMessage); + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 128.0f, 0, m, &cBinop_E8SMKbju_sendMessage); +} + +void Heavy_EP_MK1::cCast_ESX30QvR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_OuZLBvL4_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_IkUEaZ1v_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_f84WaAVS_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_z7tFHTdk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_FwTqvMn2, 0, m, &cSlice_FwTqvMn2_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_DcHse9W3, 0, m, &cSlice_DcHse9W3_sendMessage); +} + +void Heavy_EP_MK1::cMsg_fbZMtyOu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_6hJ2N7Mg_sendMessage); +} + +void Heavy_EP_MK1::cBinop_6hJ2N7Mg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_r5ixlHEt, 0, m, &cVar_r5ixlHEt_sendMessage); +} + +void Heavy_EP_MK1::cMsg_fY1gA9w2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_D5sKYl8D, 1, m); +} + +void Heavy_EP_MK1::cBinop_av6hA3La_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_HKhQT7B9, 1, m, &cPack_HKhQT7B9_sendMessage); +} + +void Heavy_EP_MK1::cCast_zQBVGHM3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_1f79Z8tz_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_0ZfNJd7D_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_uwlYxoQz_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_uwlYxoQz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 1.0f); + sLine_onMessage(_c, &Context(_c)->sLine_0sWTZ5AU, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_C0QJdxdQ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_0sWTZ5AU, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_wUSD8D2p_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_Cb6tqB6O_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_6BTUuGXc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_VZIwLCKY_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_qI4eBhFz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_SQTrpvHR, 0, m, &cSlice_SQTrpvHR_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_TEczJAdP, 0, m, &cSlice_TEczJAdP_sendMessage); +} + +void Heavy_EP_MK1::cMsg_9gEcXN0Q_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_doxG9FU3_sendMessage); +} + +void Heavy_EP_MK1::cBinop_doxG9FU3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_9G2w7qnP, 0, m, &cVar_9G2w7qnP_sendMessage); +} + +void Heavy_EP_MK1::cMsg_Cb6tqB6O_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 1.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_SQTrpvHR, 0, m, &cSlice_SQTrpvHR_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_TEczJAdP, 0, m, &cSlice_TEczJAdP_sendMessage); +} + +void Heavy_EP_MK1::cBinop_E8SMKbju_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_8rASSedI, 1, m, &cPack_8rASSedI_sendMessage); +} + +void Heavy_EP_MK1::cMsg_mQMFYsBj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 50.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_SQTrpvHR, 0, m, &cSlice_SQTrpvHR_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_TEczJAdP, 0, m, &cSlice_TEczJAdP_sendMessage); +} + +void Heavy_EP_MK1::cCast_HUgTLaW8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_HKhQT7B9, 0, m, &cPack_HKhQT7B9_sendMessage); +} + +void Heavy_EP_MK1::cCast_tOlKdVU3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_4c8BwGsk_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_DuodSYz6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_AjbwGNok_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_C2nbcAxp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_AjbwGNok_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_W6tBOTnb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_IkUEaZ1v_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_ESX30QvR_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_wUSD8D2p_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_6BTUuGXc_sendMessage); +} + +void Heavy_EP_MK1::cCast_dh3TAdGP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_u3kusKbw_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_u3kusKbw_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2048.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_av6hA3La, HV_BINOP_MULTIPLY, 1, m, &cBinop_av6hA3La_sendMessage); +} + +void Heavy_EP_MK1::cCast_kveJf1Sf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_ydBi8MSl_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_Zxo46jA0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_GWKDlTzw_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_GPvBkq5J_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_RzEGSGrh, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_yNYaSFdF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 20000.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_RzEGSGrh, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_f84WaAVS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.1f); + cSlice_onMessage(_c, &Context(_c)->cSlice_FwTqvMn2, 0, m, &cSlice_FwTqvMn2_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_DcHse9W3, 0, m, &cSlice_DcHse9W3_sendMessage); +} + +void Heavy_EP_MK1::cBinop_03KuiZFi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 126.0f, 0, m, &cBinop_m6xlByYI_sendMessage); +} + +void Heavy_EP_MK1::cBinop_m6xlByYI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_cymXe6mx_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_cymXe6mx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 0.0f, 0, m, &cBinop_1qw1bhOJ_sendMessage); +} + +void Heavy_EP_MK1::cBinop_1qw1bhOJ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, -30.0f, 0, m, &cBinop_PxyOdmoJ_sendMessage); +} + +void Heavy_EP_MK1::cBinop_PxyOdmoJ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 100.0f, 0, m, &cBinop_xVrj7M6A_sendMessage); +} + +void Heavy_EP_MK1::cBinop_xVrj7M6A_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_9YBnlLR5_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_G02Qw2wI_sendMessage); +} + +void Heavy_EP_MK1::cMsg_4c8BwGsk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 8.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_av6hA3La, HV_BINOP_MULTIPLY, 1, m, &cBinop_av6hA3La_sendMessage); +} + +void Heavy_EP_MK1::cMsg_QBtHS11y_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setElementToFrom(m, 0, n, 1); + msg_setElementToFrom(m, 1, n, 0); + cSwitchcase_7VmBeFDc_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cSlice_jBZVqRID_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_TwOQys3E_sendMessage); + cSwitchcase_wLEk9jUQ_onMessage(_c, NULL, 0, m, NULL); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_ZxsAnMyr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cDelay_onMessage(_c, &Context(_c)->cDelay_ouiGSpqr, 0, m, &cDelay_ouiGSpqr_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_8D0zCOwK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_3wJNYSfn_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_joBtXzWK_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_bKX7cNBW_sendMessage); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_EcWjv2sM, 0, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_7P4pkLFI, m); +} + +void Heavy_EP_MK1::cBinop_BFi55qXh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_a8Dmzxhi_sendMessage); +} + +void Heavy_EP_MK1::cBinop_a8Dmzxhi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_0zmZNoDQ, HV_BINOP_POW, 1, m, &cBinop_0zmZNoDQ_sendMessage); + cMsg_BKXRP7SB_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_0zmZNoDQ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_8D0zCOwK_sendMessage); +} + +void Heavy_EP_MK1::cMsg_BKXRP7SB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_0zmZNoDQ, HV_BINOP_POW, 0, m, &cBinop_0zmZNoDQ_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_0tNZuopx_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_b3dOoUE9_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_b3dOoUE9_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_boef1Edm, 1, m, &cDelay_boef1Edm_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_sQrbAz25_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_boef1Edm_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_boef1Edm, m); + cPack_onMessage(_c, &Context(_c)->cPack_PKdgj686, 0, m, &cPack_PKdgj686_sendMessage); +} + +void Heavy_EP_MK1::cMsg_b3dOoUE9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_boef1Edm, 0, m, &cDelay_boef1Edm_sendMessage); +} + +void Heavy_EP_MK1::cCast_sQrbAz25_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_boef1Edm, 0, m, &cDelay_boef1Edm_sendMessage); +} + +void Heavy_EP_MK1::cPack_PKdgj686_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_mTgLwddF_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_ZYqqPMEU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_emIZO9r0_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_9r5FvGx8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_4tw7syWZ, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_43FOqtBR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_sG7uKtCn, HV_BINOP_MULTIPLY, 0, m, &cBinop_sG7uKtCn_sendMessage); +} + +void Heavy_EP_MK1::cMsg_0b6oTzRv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_TfDHTZTQ_sendMessage); +} + +void Heavy_EP_MK1::cSystem_TfDHTZTQ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_ZPbTlDVC_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_sG7uKtCn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_4484JP4i_sendMessage); +} + +void Heavy_EP_MK1::cBinop_idtx5U4Z_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_sG7uKtCn, HV_BINOP_MULTIPLY, 1, m, &cBinop_sG7uKtCn_sendMessage); +} + +void Heavy_EP_MK1::cMsg_ZPbTlDVC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_idtx5U4Z_sendMessage); +} + +void Heavy_EP_MK1::cBinop_4484JP4i_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_VS2moOM6_sendMessage); +} + +void Heavy_EP_MK1::cBinop_VS2moOM6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_uoPduPOh_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_Q2qDb61i, m); +} + +void Heavy_EP_MK1::cBinop_uoPduPOh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_P4bF2htA, m); +} + +void Heavy_EP_MK1::cSwitchcase_dasMg2O8_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_CFDXVYei_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_CFDXVYei_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_0g9RNRzd, 1, m, &cDelay_0g9RNRzd_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_khXLU10O_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_0g9RNRzd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_0g9RNRzd, m); + cPack_onMessage(_c, &Context(_c)->cPack_zvNQLNNm, 0, m, &cPack_zvNQLNNm_sendMessage); +} + +void Heavy_EP_MK1::cMsg_CFDXVYei_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_0g9RNRzd, 0, m, &cDelay_0g9RNRzd_sendMessage); +} + +void Heavy_EP_MK1::cCast_khXLU10O_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_0g9RNRzd, 0, m, &cDelay_0g9RNRzd_sendMessage); +} + +void Heavy_EP_MK1::cPack_zvNQLNNm_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_dhWXbkCm_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_OT28k0wW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_zf9NWU2Y_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_dX9iIu2e_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_Uj8v2gts, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_PQrhAZRa_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_oqqJ1Paq, HV_BINOP_MULTIPLY, 0, m, &cBinop_oqqJ1Paq_sendMessage); +} + +void Heavy_EP_MK1::cMsg_pkFtiTnu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_LEccOHgH_sendMessage); +} + +void Heavy_EP_MK1::cSystem_LEccOHgH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_Dhca3X8S_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_oqqJ1Paq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_7hb1OHvN_sendMessage); +} + +void Heavy_EP_MK1::cBinop_nbWNwOai_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_oqqJ1Paq, HV_BINOP_MULTIPLY, 1, m, &cBinop_oqqJ1Paq_sendMessage); +} + +void Heavy_EP_MK1::cMsg_Dhca3X8S_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_nbWNwOai_sendMessage); +} + +void Heavy_EP_MK1::cBinop_7hb1OHvN_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_gspRXxvt_sendMessage); +} + +void Heavy_EP_MK1::cBinop_gspRXxvt_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_Yp2K2bFn_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_9lhwrhxA, m); +} + +void Heavy_EP_MK1::cBinop_Yp2K2bFn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_Gzvbv7EO, m); +} + +void Heavy_EP_MK1::cSwitchcase_HLr2sT4G_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_yX2gZFzd, 0, m, &cSlice_yX2gZFzd_sendMessage); + break; + } + case 0x0: { // "0.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_WyVXq3I4, 0, m, &cSlice_WyVXq3I4_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_yX2gZFzd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_BFi55qXh_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_BFi55qXh_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_WyVXq3I4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_H0Q3gbjl_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_H0Q3gbjl_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_qSBIWrss_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_Z4yPnLuA_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_IGOP15ec_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_j8PzT9ic_sendMessage); +} + +void Heavy_EP_MK1::cBinop_H0Q3gbjl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_UOds2bwZ_sendMessage); +} + +void Heavy_EP_MK1::cBinop_UOds2bwZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_4gLdkR2v, HV_BINOP_POW, 1, m, &cBinop_4gLdkR2v_sendMessage); + cMsg_LavURYtr_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_4gLdkR2v_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_qSBIWrss_sendMessage); +} + +void Heavy_EP_MK1::cMsg_LavURYtr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_4gLdkR2v, HV_BINOP_POW, 0, m, &cBinop_4gLdkR2v_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_CRShH4uR_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_MBcjL5vu_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cCast_MBcjL5vu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_rnEOSonc_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_K0gOKmNO_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_C864gYhG_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_FxwX0WGF_sendMessage); + cSwitchcase_YNEcloRv_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_ug9sv1mV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_OegaO66V_sendMessage); +} + +void Heavy_EP_MK1::cSystem_OegaO66V_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_gG3oyfVr, m); +} + +void Heavy_EP_MK1::cMsg_37gYBrZv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_54HbbWEF_sendMessage); +} + +void Heavy_EP_MK1::cSystem_54HbbWEF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_LJPeQeRw, m); +} + +void Heavy_EP_MK1::cDelay_ouiGSpqr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_ouiGSpqr, m); + cPack_onMessage(_c, &Context(_c)->cPack_Q2kgvi4X, 0, m, &cPack_Q2kgvi4X_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_2pQzutyz_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_7dURQOkB_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_7dURQOkB_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_QwttMs34, 1, m, &cDelay_QwttMs34_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_fiLSD1a8_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_QwttMs34_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_QwttMs34, m); + cMsg_9h8G172A_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_7dURQOkB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_QwttMs34, 0, m, &cDelay_QwttMs34_sendMessage); +} + +void Heavy_EP_MK1::cCast_fiLSD1a8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_QwttMs34, 0, m, &cDelay_QwttMs34_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_1WQogOMx_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_2mrdE5XU_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_2mrdE5XU_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_ynpjLAAq, 1, m, &cDelay_ynpjLAAq_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_hfPWaCT9_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_ynpjLAAq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_ynpjLAAq, m); + cMsg_Hibi7sqo_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_2mrdE5XU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_ynpjLAAq, 0, m, &cDelay_ynpjLAAq_sendMessage); +} + +void Heavy_EP_MK1::cCast_hfPWaCT9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_ynpjLAAq, 0, m, &cDelay_ynpjLAAq_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_YNEcloRv_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_0kE9k5nr_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_0kE9k5nr_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_8zQ9g5kN, 1, m, &cDelay_8zQ9g5kN_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_WFxvrVBl_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_8zQ9g5kN_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_8zQ9g5kN, m); + cMsg_wSRNQSnT_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_0kE9k5nr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_8zQ9g5kN, 0, m, &cDelay_8zQ9g5kN_sendMessage); +} + +void Heavy_EP_MK1::cCast_WFxvrVBl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_8zQ9g5kN, 0, m, &cDelay_8zQ9g5kN_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_iKdqEjv6_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_CMzciL5O_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_CMzciL5O_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_S4kddO82, 1, m, &cDelay_S4kddO82_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_eF1E20Al_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_S4kddO82_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_S4kddO82, m); + cMsg_WTUX3k30_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_CMzciL5O_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_S4kddO82, 0, m, &cDelay_S4kddO82_sendMessage); +} + +void Heavy_EP_MK1::cCast_eF1E20Al_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_S4kddO82, 0, m, &cDelay_S4kddO82_sendMessage); +} + +void Heavy_EP_MK1::cDelay_IMZb3bj3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_IMZb3bj3, m); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_ahqchjeT_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_wLEk9jUQ_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x0: { // "0.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_qeF9BmG7_sendMessage); + break; + } + default: { + cDelay_onMessage(_c, &Context(_c)->cDelay_IMZb3bj3, 0, m, &cDelay_IMZb3bj3_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cCast_qeF9BmG7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cIf_ZTxZJeNg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_WxyRATiB_sendMessage(_c, 0, m); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 485.0f, 0, m, &cBinop_93XUb6ci_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cMsg_Mypfyhhi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 10.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_WofbqBHk, HV_BINOP_POW, 0, m, &cBinop_WofbqBHk_sendMessage); +} + +void Heavy_EP_MK1::cBinop_WofbqBHk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_QndJgocL, m); +} + +void Heavy_EP_MK1::cBinop_TBS1MzlW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 20.0f, 0, m, &cBinop_ByESvDhb_sendMessage); +} + +void Heavy_EP_MK1::cCast_9yzE6rZl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_H2yxUgdZ_sendMessage); +} + +void Heavy_EP_MK1::cCast_KjmrJTfq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_ZTxZJeNg, 0, m, &cIf_ZTxZJeNg_sendMessage); +} + +void Heavy_EP_MK1::cBinop_H2yxUgdZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_ZTxZJeNg, 1, m, &cIf_ZTxZJeNg_sendMessage); +} + +void Heavy_EP_MK1::cBinop_93XUb6ci_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 100.0f, 0, m, &cBinop_TBS1MzlW_sendMessage); +} + +void Heavy_EP_MK1::cMsg_WxyRATiB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sVarf_onMessage(_c, &Context(_c)->sVarf_QndJgocL, m); +} + +void Heavy_EP_MK1::cBinop_ByESvDhb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_WofbqBHk, HV_BINOP_POW, 1, m, &cBinop_WofbqBHk_sendMessage); + cMsg_Mypfyhhi_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cPack_Q2kgvi4X_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_fEdoPEOS_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_TwOQys3E_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_CRShH4uR_onMessage(_c, NULL, 0, m, NULL); + cPack_onMessage(_c, &Context(_c)->cPack_Q2kgvi4X, 1, m, &cPack_Q2kgvi4X_sendMessage); +} + +void Heavy_EP_MK1::cMsg_KH2G7xkh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_xWe7L4zj_sendMessage); +} + +void Heavy_EP_MK1::cBinop_xWe7L4zj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_K7pbLD1Z, HV_BINOP_MULTIPLY, 0, m, &cBinop_K7pbLD1Z_sendMessage); + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 128.0f, 0, m, &cBinop_8hrzCrt9_sendMessage); +} + +void Heavy_EP_MK1::cCast_zcQvtdXn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_HK3wrSdz_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_jyic7ZqL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_0tNZuopx_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_mTgLwddF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_ZYqqPMEU, 0, m, &cSlice_ZYqqPMEU_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_9r5FvGx8, 0, m, &cSlice_9r5FvGx8_sendMessage); +} + +void Heavy_EP_MK1::cMsg_emIZO9r0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_Z6h5tmz3_sendMessage); +} + +void Heavy_EP_MK1::cBinop_Z6h5tmz3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_43FOqtBR, 0, m, &cVar_43FOqtBR_sendMessage); +} + +void Heavy_EP_MK1::cMsg_wSRNQSnT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_EcWjv2sM, 1, m); +} + +void Heavy_EP_MK1::cBinop_K7pbLD1Z_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_PKdgj686, 1, m, &cPack_PKdgj686_sendMessage); +} + +void Heavy_EP_MK1::cCast_rnEOSonc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_1WQogOMx_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_K0gOKmNO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_qUsjHa38_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_qUsjHa38_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 1.0f); + sLine_onMessage(_c, &Context(_c)->sLine_dkF12Ve6, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_Hibi7sqo_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_dkF12Ve6, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_3knme7ox_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_dasMg2O8_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_UqHlaIWS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_n6bwrVpU_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_dhWXbkCm_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_OT28k0wW, 0, m, &cSlice_OT28k0wW_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_dX9iIu2e, 0, m, &cSlice_dX9iIu2e_sendMessage); +} + +void Heavy_EP_MK1::cMsg_zf9NWU2Y_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_OTHnCVRL_sendMessage); +} + +void Heavy_EP_MK1::cBinop_OTHnCVRL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_PQrhAZRa, 0, m, &cVar_PQrhAZRa_sendMessage); +} + +void Heavy_EP_MK1::cMsg_n6bwrVpU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 1.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_OT28k0wW, 0, m, &cSlice_OT28k0wW_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_dX9iIu2e, 0, m, &cSlice_dX9iIu2e_sendMessage); +} + +void Heavy_EP_MK1::cBinop_8hrzCrt9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_zvNQLNNm, 1, m, &cPack_zvNQLNNm_sendMessage); +} + +void Heavy_EP_MK1::cMsg_HXadA5UE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 50.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_OT28k0wW, 0, m, &cSlice_OT28k0wW_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_dX9iIu2e, 0, m, &cSlice_dX9iIu2e_sendMessage); +} + +void Heavy_EP_MK1::cCast_j8PzT9ic_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_PKdgj686, 0, m, &cPack_PKdgj686_sendMessage); +} + +void Heavy_EP_MK1::cCast_Z4yPnLuA_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_rjuAtuSd_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_IGOP15ec_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_KH2G7xkh_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_3wJNYSfn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_v5xOJFu4_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_bKX7cNBW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_zcQvtdXn_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_jyic7ZqL_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_UqHlaIWS_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_3knme7ox_sendMessage); +} + +void Heavy_EP_MK1::cCast_joBtXzWK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_KH2G7xkh_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_v5xOJFu4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2048.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_K7pbLD1Z, HV_BINOP_MULTIPLY, 1, m, &cBinop_K7pbLD1Z_sendMessage); +} + +void Heavy_EP_MK1::cCast_FxwX0WGF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_2pQzutyz_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_C864gYhG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_iKdqEjv6_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_WTUX3k30_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_qf13Df9a, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_9h8G172A_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 20000.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_qf13Df9a, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_HK3wrSdz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.1f); + cSlice_onMessage(_c, &Context(_c)->cSlice_ZYqqPMEU, 0, m, &cSlice_ZYqqPMEU_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_9r5FvGx8, 0, m, &cSlice_9r5FvGx8_sendMessage); +} + +void Heavy_EP_MK1::cBinop_ahqchjeT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 126.0f, 0, m, &cBinop_SS75KJNe_sendMessage); +} + +void Heavy_EP_MK1::cBinop_SS75KJNe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_fvqvkU8j_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_fvqvkU8j_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 0.0f, 0, m, &cBinop_BpYFlK4l_sendMessage); +} + +void Heavy_EP_MK1::cBinop_BpYFlK4l_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, -30.0f, 0, m, &cBinop_YiTSNoeT_sendMessage); +} + +void Heavy_EP_MK1::cBinop_YiTSNoeT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 100.0f, 0, m, &cBinop_FueLORJu_sendMessage); +} + +void Heavy_EP_MK1::cBinop_FueLORJu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_9yzE6rZl_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_KjmrJTfq_sendMessage); +} + +void Heavy_EP_MK1::cMsg_rjuAtuSd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 8.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_K7pbLD1Z, HV_BINOP_MULTIPLY, 1, m, &cBinop_K7pbLD1Z_sendMessage); +} + +void Heavy_EP_MK1::cMsg_fEdoPEOS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setElementToFrom(m, 0, n, 1); + msg_setElementToFrom(m, 1, n, 0); + cSwitchcase_HLr2sT4G_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cSlice_YdkTn2WL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_SeoxEpEW_sendMessage); + cSwitchcase_KhWvkQGW_onMessage(_c, NULL, 0, m, NULL); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_IDtSoCz3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cDelay_onMessage(_c, &Context(_c)->cDelay_FpA49BkW, 0, m, &cDelay_FpA49BkW_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_MCRwxge6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_fQhFLMED_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_tqTUMqUi_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_ZD7HSBiV_sendMessage); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_E5G3BDc3, 0, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_2VaBCHEQ, m); +} + +void Heavy_EP_MK1::cBinop_yeO0TBWK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_QFXcKD54_sendMessage); +} + +void Heavy_EP_MK1::cBinop_QFXcKD54_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_uWnhLLWD, HV_BINOP_POW, 1, m, &cBinop_uWnhLLWD_sendMessage); + cMsg_UvKpFABm_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_uWnhLLWD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_MCRwxge6_sendMessage); +} + +void Heavy_EP_MK1::cMsg_UvKpFABm_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_uWnhLLWD, HV_BINOP_POW, 0, m, &cBinop_uWnhLLWD_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_ezgzLcgn_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_p9jyzeym_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_p9jyzeym_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_LNwKVA6h, 1, m, &cDelay_LNwKVA6h_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_XvGm9o4Q_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_LNwKVA6h_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_LNwKVA6h, m); + cPack_onMessage(_c, &Context(_c)->cPack_TPCSHBXT, 0, m, &cPack_TPCSHBXT_sendMessage); +} + +void Heavy_EP_MK1::cMsg_p9jyzeym_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_LNwKVA6h, 0, m, &cDelay_LNwKVA6h_sendMessage); +} + +void Heavy_EP_MK1::cCast_XvGm9o4Q_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_LNwKVA6h, 0, m, &cDelay_LNwKVA6h_sendMessage); +} + +void Heavy_EP_MK1::cPack_TPCSHBXT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_dEhJmgRF_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_uN0zKAiB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_yP4v5nNM_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_gNyzsSj0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_9dY6u1g9, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_mrGWo2hl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_6kvx4MW1, HV_BINOP_MULTIPLY, 0, m, &cBinop_6kvx4MW1_sendMessage); +} + +void Heavy_EP_MK1::cMsg_0KIBKjcE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_WSf7WIv4_sendMessage); +} + +void Heavy_EP_MK1::cSystem_WSf7WIv4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_JtowgWnI_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_6kvx4MW1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_yF8yz2t1_sendMessage); +} + +void Heavy_EP_MK1::cBinop_G67N2Obe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_6kvx4MW1, HV_BINOP_MULTIPLY, 1, m, &cBinop_6kvx4MW1_sendMessage); +} + +void Heavy_EP_MK1::cMsg_JtowgWnI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_G67N2Obe_sendMessage); +} + +void Heavy_EP_MK1::cBinop_yF8yz2t1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_tAnpPZo8_sendMessage); +} + +void Heavy_EP_MK1::cBinop_tAnpPZo8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_SRfrcYXZ_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_ya0UY0D5, m); +} + +void Heavy_EP_MK1::cBinop_SRfrcYXZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_WdJqQKz5, m); +} + +void Heavy_EP_MK1::cSwitchcase_UtrhqNBS_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_4RKAbsEh_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_4RKAbsEh_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_8ZZIXXPz, 1, m, &cDelay_8ZZIXXPz_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_GWLDX8FC_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_8ZZIXXPz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_8ZZIXXPz, m); + cPack_onMessage(_c, &Context(_c)->cPack_5500f4rS, 0, m, &cPack_5500f4rS_sendMessage); +} + +void Heavy_EP_MK1::cMsg_4RKAbsEh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_8ZZIXXPz, 0, m, &cDelay_8ZZIXXPz_sendMessage); +} + +void Heavy_EP_MK1::cCast_GWLDX8FC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_8ZZIXXPz, 0, m, &cDelay_8ZZIXXPz_sendMessage); +} + +void Heavy_EP_MK1::cPack_5500f4rS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_epTObcqo_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_V7WIm3dA_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_maDapn8d_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_NBtNQH70_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_Tln43Iuf, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_2nrwCzMG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_laWCPJWj, HV_BINOP_MULTIPLY, 0, m, &cBinop_laWCPJWj_sendMessage); +} + +void Heavy_EP_MK1::cMsg_lBdzS1y9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_PcD9gYPr_sendMessage); +} + +void Heavy_EP_MK1::cSystem_PcD9gYPr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_6bndNwzZ_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_laWCPJWj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_FxqAL3Iz_sendMessage); +} + +void Heavy_EP_MK1::cBinop_XRHl9hCk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_laWCPJWj, HV_BINOP_MULTIPLY, 1, m, &cBinop_laWCPJWj_sendMessage); +} + +void Heavy_EP_MK1::cMsg_6bndNwzZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_XRHl9hCk_sendMessage); +} + +void Heavy_EP_MK1::cBinop_FxqAL3Iz_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_uRKPU5nd_sendMessage); +} + +void Heavy_EP_MK1::cBinop_uRKPU5nd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_QCh9dt7w_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_lbmQbBe1, m); +} + +void Heavy_EP_MK1::cBinop_QCh9dt7w_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_QJuMdqAL, m); +} + +void Heavy_EP_MK1::cSwitchcase_KfKBNZ1L_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_QjjpI8v1, 0, m, &cSlice_QjjpI8v1_sendMessage); + break; + } + case 0x0: { // "0.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_mq0IVuSG, 0, m, &cSlice_mq0IVuSG_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_QjjpI8v1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_yeO0TBWK_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_yeO0TBWK_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_mq0IVuSG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_KuuB7P1e_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_KuuB7P1e_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_6TnJ4LDS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_ri54zFOR_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_seJyTUwT_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_C70yAhkD_sendMessage); +} + +void Heavy_EP_MK1::cBinop_KuuB7P1e_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_WcuevvmP_sendMessage); +} + +void Heavy_EP_MK1::cBinop_WcuevvmP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_yktdhsb8, HV_BINOP_POW, 1, m, &cBinop_yktdhsb8_sendMessage); + cMsg_ZKM96kn2_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_yktdhsb8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_6TnJ4LDS_sendMessage); +} + +void Heavy_EP_MK1::cMsg_ZKM96kn2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_yktdhsb8, HV_BINOP_POW, 0, m, &cBinop_yktdhsb8_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_lLPhmlID_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_zvQI1Kd2_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cCast_zvQI1Kd2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_ARxFbiyZ_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_0bQ3YrqF_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_0panBpL9_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_fvV9VMDq_sendMessage); + cSwitchcase_pkwO6v0F_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_duSEFOQ2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_oxVnMnXG_sendMessage); +} + +void Heavy_EP_MK1::cSystem_oxVnMnXG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_bwlmwK6X, m); +} + +void Heavy_EP_MK1::cMsg_OmjfJHO2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_LLUvzUDy_sendMessage); +} + +void Heavy_EP_MK1::cSystem_LLUvzUDy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_LY96DS0r, m); +} + +void Heavy_EP_MK1::cDelay_FpA49BkW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_FpA49BkW, m); + cPack_onMessage(_c, &Context(_c)->cPack_IAED51KK, 0, m, &cPack_IAED51KK_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_bZfJUN9p_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_55yu4tIW_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_55yu4tIW_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_Ksc6L6s1, 1, m, &cDelay_Ksc6L6s1_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_tFC7OPru_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_Ksc6L6s1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_Ksc6L6s1, m); + cMsg_rY9qYCDT_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_55yu4tIW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_Ksc6L6s1, 0, m, &cDelay_Ksc6L6s1_sendMessage); +} + +void Heavy_EP_MK1::cCast_tFC7OPru_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_Ksc6L6s1, 0, m, &cDelay_Ksc6L6s1_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_JhOu3BlT_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_6nW5oczT_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_6nW5oczT_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_HD4QVfFN, 1, m, &cDelay_HD4QVfFN_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_c2rXE83Z_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_HD4QVfFN_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_HD4QVfFN, m); + cMsg_mvBWrNAc_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_6nW5oczT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_HD4QVfFN, 0, m, &cDelay_HD4QVfFN_sendMessage); +} + +void Heavy_EP_MK1::cCast_c2rXE83Z_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_HD4QVfFN, 0, m, &cDelay_HD4QVfFN_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_pkwO6v0F_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_pKlDVOMZ_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_pKlDVOMZ_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_kEuwEux7, 1, m, &cDelay_kEuwEux7_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_WhqT1RWV_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_kEuwEux7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_kEuwEux7, m); + cMsg_12eibmLg_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_pKlDVOMZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_kEuwEux7, 0, m, &cDelay_kEuwEux7_sendMessage); +} + +void Heavy_EP_MK1::cCast_WhqT1RWV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_kEuwEux7, 0, m, &cDelay_kEuwEux7_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_lv6hvuVN_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_MYsZWUB0_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_MYsZWUB0_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_v6eu2VXR, 1, m, &cDelay_v6eu2VXR_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_q57F9a4k_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_v6eu2VXR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_v6eu2VXR, m); + cMsg_pbeOxslE_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_MYsZWUB0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_v6eu2VXR, 0, m, &cDelay_v6eu2VXR_sendMessage); +} + +void Heavy_EP_MK1::cCast_q57F9a4k_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_v6eu2VXR, 0, m, &cDelay_v6eu2VXR_sendMessage); +} + +void Heavy_EP_MK1::cDelay_kJiO8EHE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_kJiO8EHE, m); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_DujDieyG_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_KhWvkQGW_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x0: { // "0.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_QzeuJzkP_sendMessage); + break; + } + default: { + cDelay_onMessage(_c, &Context(_c)->cDelay_kJiO8EHE, 0, m, &cDelay_kJiO8EHE_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cCast_QzeuJzkP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cIf_CxGKJWrF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_KCdLhw9p_sendMessage(_c, 0, m); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 485.0f, 0, m, &cBinop_7R1BuOcK_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cMsg_67CDvPpH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 10.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_gRP0w6t1, HV_BINOP_POW, 0, m, &cBinop_gRP0w6t1_sendMessage); +} + +void Heavy_EP_MK1::cBinop_gRP0w6t1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_jkwvGNGq, m); +} + +void Heavy_EP_MK1::cBinop_6957mrj0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 20.0f, 0, m, &cBinop_guqgmXzk_sendMessage); +} + +void Heavy_EP_MK1::cCast_PasVdEIu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_ygZpnClk_sendMessage); +} + +void Heavy_EP_MK1::cCast_wuAUZWeX_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_CxGKJWrF, 0, m, &cIf_CxGKJWrF_sendMessage); +} + +void Heavy_EP_MK1::cBinop_ygZpnClk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_CxGKJWrF, 1, m, &cIf_CxGKJWrF_sendMessage); +} + +void Heavy_EP_MK1::cBinop_7R1BuOcK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 100.0f, 0, m, &cBinop_6957mrj0_sendMessage); +} + +void Heavy_EP_MK1::cMsg_KCdLhw9p_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sVarf_onMessage(_c, &Context(_c)->sVarf_jkwvGNGq, m); +} + +void Heavy_EP_MK1::cBinop_guqgmXzk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_gRP0w6t1, HV_BINOP_POW, 1, m, &cBinop_gRP0w6t1_sendMessage); + cMsg_67CDvPpH_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cPack_IAED51KK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_W8jdGFW5_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_SeoxEpEW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_lLPhmlID_onMessage(_c, NULL, 0, m, NULL); + cPack_onMessage(_c, &Context(_c)->cPack_IAED51KK, 1, m, &cPack_IAED51KK_sendMessage); +} + +void Heavy_EP_MK1::cMsg_ESSsls21_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_cqeoyNml_sendMessage); +} + +void Heavy_EP_MK1::cBinop_cqeoyNml_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_4QbhXBqM, HV_BINOP_MULTIPLY, 0, m, &cBinop_4QbhXBqM_sendMessage); + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 128.0f, 0, m, &cBinop_0lbLqOnp_sendMessage); +} + +void Heavy_EP_MK1::cCast_FuyajRsH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_ezgzLcgn_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_LvJ2wEk3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_U9KDZkV1_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_dEhJmgRF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_uN0zKAiB, 0, m, &cSlice_uN0zKAiB_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_gNyzsSj0, 0, m, &cSlice_gNyzsSj0_sendMessage); +} + +void Heavy_EP_MK1::cMsg_yP4v5nNM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_j1bGLY45_sendMessage); +} + +void Heavy_EP_MK1::cBinop_j1bGLY45_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_mrGWo2hl, 0, m, &cVar_mrGWo2hl_sendMessage); +} + +void Heavy_EP_MK1::cMsg_12eibmLg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_E5G3BDc3, 1, m); +} + +void Heavy_EP_MK1::cBinop_4QbhXBqM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_TPCSHBXT, 1, m, &cPack_TPCSHBXT_sendMessage); +} + +void Heavy_EP_MK1::cCast_0bQ3YrqF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_pgQvI5cl_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_ARxFbiyZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_JhOu3BlT_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_pgQvI5cl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 1.0f); + sLine_onMessage(_c, &Context(_c)->sLine_7VShF34d, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_mvBWrNAc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_7VShF34d, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_tAN8PWzQ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_U1WUhvfv_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_qfXDYMic_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_UtrhqNBS_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_epTObcqo_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_V7WIm3dA, 0, m, &cSlice_V7WIm3dA_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_NBtNQH70, 0, m, &cSlice_NBtNQH70_sendMessage); +} + +void Heavy_EP_MK1::cMsg_maDapn8d_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_LxB78UXU_sendMessage); +} + +void Heavy_EP_MK1::cBinop_LxB78UXU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_2nrwCzMG, 0, m, &cVar_2nrwCzMG_sendMessage); +} + +void Heavy_EP_MK1::cMsg_U1WUhvfv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 1.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_V7WIm3dA, 0, m, &cSlice_V7WIm3dA_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_NBtNQH70, 0, m, &cSlice_NBtNQH70_sendMessage); +} + +void Heavy_EP_MK1::cBinop_0lbLqOnp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_5500f4rS, 1, m, &cPack_5500f4rS_sendMessage); +} + +void Heavy_EP_MK1::cMsg_pCDxJ11J_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 50.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_V7WIm3dA, 0, m, &cSlice_V7WIm3dA_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_NBtNQH70, 0, m, &cSlice_NBtNQH70_sendMessage); +} + +void Heavy_EP_MK1::cCast_C70yAhkD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_TPCSHBXT, 0, m, &cPack_TPCSHBXT_sendMessage); +} + +void Heavy_EP_MK1::cCast_ri54zFOR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_R67BfFZp_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_seJyTUwT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_ESSsls21_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_ZD7HSBiV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_LvJ2wEk3_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_FuyajRsH_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_tAN8PWzQ_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_qfXDYMic_sendMessage); +} + +void Heavy_EP_MK1::cCast_tqTUMqUi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_ESSsls21_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_fQhFLMED_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_589toPCL_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_589toPCL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2048.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_4QbhXBqM, HV_BINOP_MULTIPLY, 1, m, &cBinop_4QbhXBqM_sendMessage); +} + +void Heavy_EP_MK1::cCast_0panBpL9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_lv6hvuVN_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_fvV9VMDq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_bZfJUN9p_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_pbeOxslE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_cB6SyVDf, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_rY9qYCDT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 20000.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_cB6SyVDf, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_U9KDZkV1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.1f); + cSlice_onMessage(_c, &Context(_c)->cSlice_uN0zKAiB, 0, m, &cSlice_uN0zKAiB_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_gNyzsSj0, 0, m, &cSlice_gNyzsSj0_sendMessage); +} + +void Heavy_EP_MK1::cBinop_DujDieyG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 126.0f, 0, m, &cBinop_uW0B7FY8_sendMessage); +} + +void Heavy_EP_MK1::cBinop_uW0B7FY8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_pvvvyjWZ_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_pvvvyjWZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 0.0f, 0, m, &cBinop_7grpLFXN_sendMessage); +} + +void Heavy_EP_MK1::cBinop_7grpLFXN_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, -30.0f, 0, m, &cBinop_aCHgNo2I_sendMessage); +} + +void Heavy_EP_MK1::cBinop_aCHgNo2I_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 100.0f, 0, m, &cBinop_XRrhABpI_sendMessage); +} + +void Heavy_EP_MK1::cBinop_XRrhABpI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_PasVdEIu_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_wuAUZWeX_sendMessage); +} + +void Heavy_EP_MK1::cMsg_R67BfFZp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 8.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_4QbhXBqM, HV_BINOP_MULTIPLY, 1, m, &cBinop_4QbhXBqM_sendMessage); +} + +void Heavy_EP_MK1::cMsg_W8jdGFW5_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setElementToFrom(m, 0, n, 1); + msg_setElementToFrom(m, 1, n, 0); + cSwitchcase_KfKBNZ1L_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cSlice_DP57ivEA_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_LiMj0H1p_sendMessage); + cSwitchcase_5yZ4bMmj_onMessage(_c, NULL, 0, m, NULL); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_Jed3KeQW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cDelay_onMessage(_c, &Context(_c)->cDelay_Eru9gouJ, 0, m, &cDelay_Eru9gouJ_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_XWJ2Jqvu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_RxFf9vpl_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_kUVyFe3n_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_KQQK3QFZ_sendMessage); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_c7vJg0xU, 0, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_wMKdFxWD, m); +} + +void Heavy_EP_MK1::cBinop_1OXqZ6Bg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_L6DcXzbK_sendMessage); +} + +void Heavy_EP_MK1::cBinop_L6DcXzbK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_nhMYm0st, HV_BINOP_POW, 1, m, &cBinop_nhMYm0st_sendMessage); + cMsg_rNIiSd33_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_nhMYm0st_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_XWJ2Jqvu_sendMessage); +} + +void Heavy_EP_MK1::cMsg_rNIiSd33_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_nhMYm0st, HV_BINOP_POW, 0, m, &cBinop_nhMYm0st_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_MLt0O8yg_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_EiR4r4A2_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_EiR4r4A2_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_n7LU68W4, 1, m, &cDelay_n7LU68W4_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_0UPpbu1i_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_n7LU68W4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_n7LU68W4, m); + cPack_onMessage(_c, &Context(_c)->cPack_Ty4AZCCD, 0, m, &cPack_Ty4AZCCD_sendMessage); +} + +void Heavy_EP_MK1::cMsg_EiR4r4A2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_n7LU68W4, 0, m, &cDelay_n7LU68W4_sendMessage); +} + +void Heavy_EP_MK1::cCast_0UPpbu1i_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_n7LU68W4, 0, m, &cDelay_n7LU68W4_sendMessage); +} + +void Heavy_EP_MK1::cPack_Ty4AZCCD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_y9otndkl_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_eySO46yn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_mOOlRxTK_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_KnxapYvS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_kZnFwfGv, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_JD9szZbV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_CATg6nPr, HV_BINOP_MULTIPLY, 0, m, &cBinop_CATg6nPr_sendMessage); +} + +void Heavy_EP_MK1::cMsg_KXtXNOXa_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_kBcjJvxp_sendMessage); +} + +void Heavy_EP_MK1::cSystem_kBcjJvxp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_OPUlBkwh_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_CATg6nPr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_4P51wQVc_sendMessage); +} + +void Heavy_EP_MK1::cBinop_fXBy05cL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_CATg6nPr, HV_BINOP_MULTIPLY, 1, m, &cBinop_CATg6nPr_sendMessage); +} + +void Heavy_EP_MK1::cMsg_OPUlBkwh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_fXBy05cL_sendMessage); +} + +void Heavy_EP_MK1::cBinop_4P51wQVc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_DZiVayHP_sendMessage); +} + +void Heavy_EP_MK1::cBinop_DZiVayHP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_21680sPq_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_1LU3jUnE, m); +} + +void Heavy_EP_MK1::cBinop_21680sPq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_fNWQjrL4, m); +} + +void Heavy_EP_MK1::cSwitchcase_SIDB48EI_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_TJmmUm5U_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_TJmmUm5U_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_dEFDi52d, 1, m, &cDelay_dEFDi52d_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_wPee7GS2_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_dEFDi52d_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_dEFDi52d, m); + cPack_onMessage(_c, &Context(_c)->cPack_uFHXRF1N, 0, m, &cPack_uFHXRF1N_sendMessage); +} + +void Heavy_EP_MK1::cMsg_TJmmUm5U_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_dEFDi52d, 0, m, &cDelay_dEFDi52d_sendMessage); +} + +void Heavy_EP_MK1::cCast_wPee7GS2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_dEFDi52d, 0, m, &cDelay_dEFDi52d_sendMessage); +} + +void Heavy_EP_MK1::cPack_uFHXRF1N_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_LNpaIlFU_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_ADmSntnx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_hxFLOadH_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_S4L3afF2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_uSJzSkBR, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_81HDz8CE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_l8zt39cL, HV_BINOP_MULTIPLY, 0, m, &cBinop_l8zt39cL_sendMessage); +} + +void Heavy_EP_MK1::cMsg_qRQ3L6AU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_ihOT8CW7_sendMessage); +} + +void Heavy_EP_MK1::cSystem_ihOT8CW7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_0iV9pJKf_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_l8zt39cL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_IX3mHvPq_sendMessage); +} + +void Heavy_EP_MK1::cBinop_7CG1MZIg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_l8zt39cL, HV_BINOP_MULTIPLY, 1, m, &cBinop_l8zt39cL_sendMessage); +} + +void Heavy_EP_MK1::cMsg_0iV9pJKf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_7CG1MZIg_sendMessage); +} + +void Heavy_EP_MK1::cBinop_IX3mHvPq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_qJXVtB2A_sendMessage); +} + +void Heavy_EP_MK1::cBinop_qJXVtB2A_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_BNTxg7wx_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_H49aKc1Z, m); +} + +void Heavy_EP_MK1::cBinop_BNTxg7wx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_XOZLXNvW, m); +} + +void Heavy_EP_MK1::cSwitchcase_FvgdxOkD_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_K6SmtxqU, 0, m, &cSlice_K6SmtxqU_sendMessage); + break; + } + case 0x0: { // "0.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_BHreXGfs, 0, m, &cSlice_BHreXGfs_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_K6SmtxqU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_1OXqZ6Bg_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_1OXqZ6Bg_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_BHreXGfs_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_zwbFLVjY_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_zwbFLVjY_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_ky3Oc79Z_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_tj0WiuA4_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_wEEN8feL_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_jsHkXYE2_sendMessage); +} + +void Heavy_EP_MK1::cBinop_zwbFLVjY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_5Eah3OBE_sendMessage); +} + +void Heavy_EP_MK1::cBinop_5Eah3OBE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_ajNW3u8W, HV_BINOP_POW, 1, m, &cBinop_ajNW3u8W_sendMessage); + cMsg_OusnrNph_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_ajNW3u8W_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_ky3Oc79Z_sendMessage); +} + +void Heavy_EP_MK1::cMsg_OusnrNph_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_ajNW3u8W, HV_BINOP_POW, 0, m, &cBinop_ajNW3u8W_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_yHQBYmnf_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_wLxvsE6d_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cCast_wLxvsE6d_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_0pDnxeRd_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_YhfQGkQv_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_cXXTcBNa_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_2W3kMZr0_sendMessage); + cSwitchcase_zPJOqjLQ_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_w9j1Cdjk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_wf9WYwuy_sendMessage); +} + +void Heavy_EP_MK1::cSystem_wf9WYwuy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_tRrgHLef, m); +} + +void Heavy_EP_MK1::cMsg_dHvyDREf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_4tmfAejR_sendMessage); +} + +void Heavy_EP_MK1::cSystem_4tmfAejR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_jvcAXwqO, m); +} + +void Heavy_EP_MK1::cDelay_Eru9gouJ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_Eru9gouJ, m); + cPack_onMessage(_c, &Context(_c)->cPack_mmRiOoWd, 0, m, &cPack_mmRiOoWd_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_iphHSLaK_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_rhxubJln_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_rhxubJln_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_md93CS7M, 1, m, &cDelay_md93CS7M_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_6wIpt0f5_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_md93CS7M_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_md93CS7M, m); + cMsg_q4ou76oU_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_rhxubJln_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_md93CS7M, 0, m, &cDelay_md93CS7M_sendMessage); +} + +void Heavy_EP_MK1::cCast_6wIpt0f5_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_md93CS7M, 0, m, &cDelay_md93CS7M_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_Kbkd3R0N_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_oOiNLMaR_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_oOiNLMaR_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_UvgBzaAj, 1, m, &cDelay_UvgBzaAj_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_JDJQipxH_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_UvgBzaAj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_UvgBzaAj, m); + cMsg_O9aaqDcW_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_oOiNLMaR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_UvgBzaAj, 0, m, &cDelay_UvgBzaAj_sendMessage); +} + +void Heavy_EP_MK1::cCast_JDJQipxH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_UvgBzaAj, 0, m, &cDelay_UvgBzaAj_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_zPJOqjLQ_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_aLvxbWK8_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_aLvxbWK8_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_M1nBpgGs, 1, m, &cDelay_M1nBpgGs_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_xKZO3BGD_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_M1nBpgGs_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_M1nBpgGs, m); + cMsg_pvqTzqZi_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_aLvxbWK8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_M1nBpgGs, 0, m, &cDelay_M1nBpgGs_sendMessage); +} + +void Heavy_EP_MK1::cCast_xKZO3BGD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_M1nBpgGs, 0, m, &cDelay_M1nBpgGs_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_SP2hdOgO_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_qLJXwPi3_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_qLJXwPi3_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_9Ftkd6Fy, 1, m, &cDelay_9Ftkd6Fy_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_5rZAbeSu_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_9Ftkd6Fy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_9Ftkd6Fy, m); + cMsg_emZ4AHDA_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_qLJXwPi3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_9Ftkd6Fy, 0, m, &cDelay_9Ftkd6Fy_sendMessage); +} + +void Heavy_EP_MK1::cCast_5rZAbeSu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_9Ftkd6Fy, 0, m, &cDelay_9Ftkd6Fy_sendMessage); +} + +void Heavy_EP_MK1::cDelay_8hDBcNPP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_8hDBcNPP, m); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_nAVnFHzn_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_5yZ4bMmj_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x0: { // "0.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_YEv4mvrq_sendMessage); + break; + } + default: { + cDelay_onMessage(_c, &Context(_c)->cDelay_8hDBcNPP, 0, m, &cDelay_8hDBcNPP_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cCast_YEv4mvrq_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cIf_BPYXa7JB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_8VLFejsr_sendMessage(_c, 0, m); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 485.0f, 0, m, &cBinop_KARnIlLo_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cMsg_mELWUgjr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 10.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_2zKbOLUN, HV_BINOP_POW, 0, m, &cBinop_2zKbOLUN_sendMessage); +} + +void Heavy_EP_MK1::cBinop_2zKbOLUN_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_OHtE4ZXn, m); +} + +void Heavy_EP_MK1::cBinop_ZOs8DKQs_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 20.0f, 0, m, &cBinop_i9YyF27D_sendMessage); +} + +void Heavy_EP_MK1::cCast_JCdLNV35_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_BPYXa7JB, 0, m, &cIf_BPYXa7JB_sendMessage); +} + +void Heavy_EP_MK1::cCast_dzWVGIcK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_KK4RoHV1_sendMessage); +} + +void Heavy_EP_MK1::cBinop_KK4RoHV1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_BPYXa7JB, 1, m, &cIf_BPYXa7JB_sendMessage); +} + +void Heavy_EP_MK1::cBinop_KARnIlLo_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 100.0f, 0, m, &cBinop_ZOs8DKQs_sendMessage); +} + +void Heavy_EP_MK1::cMsg_8VLFejsr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sVarf_onMessage(_c, &Context(_c)->sVarf_OHtE4ZXn, m); +} + +void Heavy_EP_MK1::cBinop_i9YyF27D_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_2zKbOLUN, HV_BINOP_POW, 1, m, &cBinop_2zKbOLUN_sendMessage); + cMsg_mELWUgjr_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cPack_mmRiOoWd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_1yChKnRB_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_LiMj0H1p_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_yHQBYmnf_onMessage(_c, NULL, 0, m, NULL); + cPack_onMessage(_c, &Context(_c)->cPack_mmRiOoWd, 1, m, &cPack_mmRiOoWd_sendMessage); +} + +void Heavy_EP_MK1::cMsg_PiRptExk_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_Iui2p1my_sendMessage); +} + +void Heavy_EP_MK1::cBinop_Iui2p1my_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_mrXlugiY, HV_BINOP_MULTIPLY, 0, m, &cBinop_mrXlugiY_sendMessage); + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 128.0f, 0, m, &cBinop_1oVhcKAe_sendMessage); +} + +void Heavy_EP_MK1::cCast_JfIIyAwg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_O5mrDaec_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_rIzOVftP_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_MLt0O8yg_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_y9otndkl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_eySO46yn, 0, m, &cSlice_eySO46yn_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_KnxapYvS, 0, m, &cSlice_KnxapYvS_sendMessage); +} + +void Heavy_EP_MK1::cMsg_mOOlRxTK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_oVUrXZdH_sendMessage); +} + +void Heavy_EP_MK1::cBinop_oVUrXZdH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_JD9szZbV, 0, m, &cVar_JD9szZbV_sendMessage); +} + +void Heavy_EP_MK1::cMsg_pvqTzqZi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_c7vJg0xU, 1, m); +} + +void Heavy_EP_MK1::cBinop_mrXlugiY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_Ty4AZCCD, 1, m, &cPack_Ty4AZCCD_sendMessage); +} + +void Heavy_EP_MK1::cCast_YhfQGkQv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_qBcuZRgZ_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_0pDnxeRd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_Kbkd3R0N_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_qBcuZRgZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 1.0f); + sLine_onMessage(_c, &Context(_c)->sLine_j9bBmCVa, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_O9aaqDcW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_j9bBmCVa, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_JctnXzZ6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_SIDB48EI_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_QtcmGkpO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_DanocuFQ_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_LNpaIlFU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_ADmSntnx, 0, m, &cSlice_ADmSntnx_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_S4L3afF2, 0, m, &cSlice_S4L3afF2_sendMessage); +} + +void Heavy_EP_MK1::cMsg_hxFLOadH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_Q3fdZqnO_sendMessage); +} + +void Heavy_EP_MK1::cBinop_Q3fdZqnO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_81HDz8CE, 0, m, &cVar_81HDz8CE_sendMessage); +} + +void Heavy_EP_MK1::cMsg_DanocuFQ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 1.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_ADmSntnx, 0, m, &cSlice_ADmSntnx_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_S4L3afF2, 0, m, &cSlice_S4L3afF2_sendMessage); +} + +void Heavy_EP_MK1::cBinop_1oVhcKAe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_uFHXRF1N, 1, m, &cPack_uFHXRF1N_sendMessage); +} + +void Heavy_EP_MK1::cMsg_etboRD1p_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 50.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_ADmSntnx, 0, m, &cSlice_ADmSntnx_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_S4L3afF2, 0, m, &cSlice_S4L3afF2_sendMessage); +} + +void Heavy_EP_MK1::cCast_wEEN8feL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_PiRptExk_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_jsHkXYE2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_Ty4AZCCD, 0, m, &cPack_Ty4AZCCD_sendMessage); +} + +void Heavy_EP_MK1::cCast_tj0WiuA4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_RZ0SPTOO_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_RxFf9vpl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_HMxya2xZ_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_KQQK3QFZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_JfIIyAwg_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_rIzOVftP_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_QtcmGkpO_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_JctnXzZ6_sendMessage); +} + +void Heavy_EP_MK1::cCast_kUVyFe3n_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_PiRptExk_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_HMxya2xZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2048.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_mrXlugiY, HV_BINOP_MULTIPLY, 1, m, &cBinop_mrXlugiY_sendMessage); +} + +void Heavy_EP_MK1::cCast_cXXTcBNa_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_SP2hdOgO_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_2W3kMZr0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_iphHSLaK_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_emZ4AHDA_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_sg8Xev4V, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_q4ou76oU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 20000.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_sg8Xev4V, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_O5mrDaec_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.1f); + cSlice_onMessage(_c, &Context(_c)->cSlice_eySO46yn, 0, m, &cSlice_eySO46yn_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_KnxapYvS, 0, m, &cSlice_KnxapYvS_sendMessage); +} + +void Heavy_EP_MK1::cBinop_nAVnFHzn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 126.0f, 0, m, &cBinop_x5YXpkez_sendMessage); +} + +void Heavy_EP_MK1::cBinop_x5YXpkez_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_Rli0KmaV_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_Rli0KmaV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 0.0f, 0, m, &cBinop_PoYID1D7_sendMessage); +} + +void Heavy_EP_MK1::cBinop_PoYID1D7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, -30.0f, 0, m, &cBinop_PXx3naOw_sendMessage); +} + +void Heavy_EP_MK1::cBinop_PXx3naOw_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 100.0f, 0, m, &cBinop_pGk0g3cc_sendMessage); +} + +void Heavy_EP_MK1::cBinop_pGk0g3cc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_dzWVGIcK_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_JCdLNV35_sendMessage); +} + +void Heavy_EP_MK1::cMsg_RZ0SPTOO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 8.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_mrXlugiY, HV_BINOP_MULTIPLY, 1, m, &cBinop_mrXlugiY_sendMessage); +} + +void Heavy_EP_MK1::cMsg_1yChKnRB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setElementToFrom(m, 0, n, 1); + msg_setElementToFrom(m, 1, n, 0); + cSwitchcase_FvgdxOkD_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cSlice_kpwhR0tf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_Lo45ltl1_sendMessage); + cSwitchcase_4bJ7vNfF_onMessage(_c, NULL, 0, m, NULL); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_oh4auhT2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cDelay_onMessage(_c, &Context(_c)->cDelay_3FZn93hs, 0, m, &cDelay_3FZn93hs_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_9GkGoUNy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_2IDEfKFL_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_0rSymidU_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_i0XIaf1t_sendMessage); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_SazJp6hE, 0, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_mprK3PVr, m); +} + +void Heavy_EP_MK1::cBinop_20OqfaGo_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_jZbyfo4f_sendMessage); +} + +void Heavy_EP_MK1::cBinop_jZbyfo4f_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_0uc0zW84, HV_BINOP_POW, 1, m, &cBinop_0uc0zW84_sendMessage); + cMsg_kb4IGhUs_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_0uc0zW84_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_9GkGoUNy_sendMessage); +} + +void Heavy_EP_MK1::cMsg_kb4IGhUs_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_0uc0zW84, HV_BINOP_POW, 0, m, &cBinop_0uc0zW84_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_rMfZDNZW_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_DCIzo1or_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_DCIzo1or_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_Gn9nia4s, 1, m, &cDelay_Gn9nia4s_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_xgotwYzR_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_Gn9nia4s_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_Gn9nia4s, m); + cPack_onMessage(_c, &Context(_c)->cPack_0FFsXUe9, 0, m, &cPack_0FFsXUe9_sendMessage); +} + +void Heavy_EP_MK1::cMsg_DCIzo1or_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_Gn9nia4s, 0, m, &cDelay_Gn9nia4s_sendMessage); +} + +void Heavy_EP_MK1::cCast_xgotwYzR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_Gn9nia4s, 0, m, &cDelay_Gn9nia4s_sendMessage); +} + +void Heavy_EP_MK1::cPack_0FFsXUe9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_ISJj7OwQ_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_UWPDyIY4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_mEI45YN0_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_5Qfl8Kl3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_QC38XxDe, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_kyiC1Zf2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_A5QHofQ9, HV_BINOP_MULTIPLY, 0, m, &cBinop_A5QHofQ9_sendMessage); +} + +void Heavy_EP_MK1::cMsg_hDZvWMG1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_AIHWizth_sendMessage); +} + +void Heavy_EP_MK1::cSystem_AIHWizth_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_FBLUET1E_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_A5QHofQ9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_IMhCCKPw_sendMessage); +} + +void Heavy_EP_MK1::cBinop_D136IKQ5_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_A5QHofQ9, HV_BINOP_MULTIPLY, 1, m, &cBinop_A5QHofQ9_sendMessage); +} + +void Heavy_EP_MK1::cMsg_FBLUET1E_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_D136IKQ5_sendMessage); +} + +void Heavy_EP_MK1::cBinop_IMhCCKPw_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_r1TUkR2L_sendMessage); +} + +void Heavy_EP_MK1::cBinop_r1TUkR2L_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_CZyqnm4Q_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_4J0MldFm, m); +} + +void Heavy_EP_MK1::cBinop_CZyqnm4Q_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_yvUDRhOv, m); +} + +void Heavy_EP_MK1::cSwitchcase_4cD0pfyC_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_CoaLfaFv_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_CoaLfaFv_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_i2j9vtBd, 1, m, &cDelay_i2j9vtBd_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_grCwKwJK_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_i2j9vtBd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_i2j9vtBd, m); + cPack_onMessage(_c, &Context(_c)->cPack_EgibIsHG, 0, m, &cPack_EgibIsHG_sendMessage); +} + +void Heavy_EP_MK1::cMsg_CoaLfaFv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_i2j9vtBd, 0, m, &cDelay_i2j9vtBd_sendMessage); +} + +void Heavy_EP_MK1::cCast_grCwKwJK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_i2j9vtBd, 0, m, &cDelay_i2j9vtBd_sendMessage); +} + +void Heavy_EP_MK1::cPack_EgibIsHG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_vVR1067u_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cSlice_nx6xWTIv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_wPGSZ374_sendMessage(_c, 0, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_nRibR7JK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + sVarf_onMessage(_c, &Context(_c)->sVarf_U2PPTpXa, m); + break; + } + case 1: { + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cVar_2ZeHP4qZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_3GYF4I39, HV_BINOP_MULTIPLY, 0, m, &cBinop_3GYF4I39_sendMessage); +} + +void Heavy_EP_MK1::cMsg_eFIgSVQb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_rVjKxSWj_sendMessage); +} + +void Heavy_EP_MK1::cSystem_rVjKxSWj_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_HRfxxP3f_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_3GYF4I39_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 1.0f, 0, m, &cBinop_iAd21jN7_sendMessage); +} + +void Heavy_EP_MK1::cBinop_FyKBZYzr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_3GYF4I39, HV_BINOP_MULTIPLY, 1, m, &cBinop_3GYF4I39_sendMessage); +} + +void Heavy_EP_MK1::cMsg_HRfxxP3f_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 6.28319f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_FyKBZYzr_sendMessage); +} + +void Heavy_EP_MK1::cBinop_iAd21jN7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_JuAm7KIS_sendMessage); +} + +void Heavy_EP_MK1::cBinop_JuAm7KIS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_wkitl7VS_sendMessage); + sVarf_onMessage(_c, &Context(_c)->sVarf_w0y5ojuv, m); +} + +void Heavy_EP_MK1::cBinop_wkitl7VS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_14rNbRoM, m); +} + +void Heavy_EP_MK1::cSwitchcase_AlMaGzAy_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_ccZGSBP7, 0, m, &cSlice_ccZGSBP7_sendMessage); + break; + } + case 0x0: { // "0.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_Ljp9kzNl, 0, m, &cSlice_Ljp9kzNl_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_ccZGSBP7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_20OqfaGo_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_20OqfaGo_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSlice_Ljp9kzNl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_GLx6aHXJ_sendMessage); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 69.0f, 0, m, &cBinop_GLx6aHXJ_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cBinop_HMJc0N5e_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_f66uQpzU_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_jQ3DV4oR_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_Rp4fOhNx_sendMessage); +} + +void Heavy_EP_MK1::cBinop_GLx6aHXJ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 12.0f, 0, m, &cBinop_14YQ1uDS_sendMessage); +} + +void Heavy_EP_MK1::cBinop_14YQ1uDS_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_CWI2ECk7, HV_BINOP_POW, 1, m, &cBinop_CWI2ECk7_sendMessage); + cMsg_L5ydR6Yi_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_CWI2ECk7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 440.0f, 0, m, &cBinop_HMJc0N5e_sendMessage); +} + +void Heavy_EP_MK1::cMsg_L5ydR6Yi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_CWI2ECk7, HV_BINOP_POW, 0, m, &cBinop_CWI2ECk7_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_4Oxw3M2i_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x3F800000: { // "1.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_lDCkN1Kf_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cCast_lDCkN1Kf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_vNxezH8y_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_wrpHr5h4_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_2B0squbx_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_xEnOiPtC_sendMessage); + cSwitchcase_QCOcZL0k_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_aIK2Du5A_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_REqzQemd_sendMessage); +} + +void Heavy_EP_MK1::cSystem_REqzQemd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_xbpI8lwe, m); +} + +void Heavy_EP_MK1::cMsg_mUqtQDle_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_p9cn2unM_sendMessage); +} + +void Heavy_EP_MK1::cSystem_p9cn2unM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_DiXqbjFE, m); +} + +void Heavy_EP_MK1::cDelay_3FZn93hs_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_3FZn93hs, m); + cPack_onMessage(_c, &Context(_c)->cPack_knDzxs63, 0, m, &cPack_knDzxs63_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_m0cBL5CC_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_4t6Hq55c_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_4t6Hq55c_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_rYvigZyQ, 1, m, &cDelay_rYvigZyQ_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_3Szlj56g_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_rYvigZyQ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_rYvigZyQ, m); + cMsg_b60XF5JT_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_4t6Hq55c_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_rYvigZyQ, 0, m, &cDelay_rYvigZyQ_sendMessage); +} + +void Heavy_EP_MK1::cCast_3Szlj56g_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_rYvigZyQ, 0, m, &cDelay_rYvigZyQ_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_8EwDqalS_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_v5mHUs55_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_v5mHUs55_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_El2I9C77, 1, m, &cDelay_El2I9C77_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_xdGIes8s_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_El2I9C77_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_El2I9C77, m); + cMsg_UThFMZyR_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_v5mHUs55_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_El2I9C77, 0, m, &cDelay_El2I9C77_sendMessage); +} + +void Heavy_EP_MK1::cCast_xdGIes8s_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_El2I9C77, 0, m, &cDelay_El2I9C77_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_QCOcZL0k_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_DFPVnsBM_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_DFPVnsBM_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_IQg5PLnG, 1, m, &cDelay_IQg5PLnG_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_NqAjhx31_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_IQg5PLnG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_IQg5PLnG, m); + cMsg_FVIIT6ue_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_DFPVnsBM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_IQg5PLnG, 0, m, &cDelay_IQg5PLnG_sendMessage); +} + +void Heavy_EP_MK1::cCast_NqAjhx31_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_IQg5PLnG, 0, m, &cDelay_IQg5PLnG_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_VNlVhLop_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x7A5B032D: { // "stop" + cMsg_ss1rlpM4_sendMessage(_c, 0, m); + break; + } + default: { + cMsg_ss1rlpM4_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_TfNYpGKV, 1, m, &cDelay_TfNYpGKV_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_cEXkdH3i_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cDelay_TfNYpGKV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_TfNYpGKV, m); + cMsg_Tv18BrFM_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_ss1rlpM4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_TfNYpGKV, 0, m, &cDelay_TfNYpGKV_sendMessage); +} + +void Heavy_EP_MK1::cCast_cEXkdH3i_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_TfNYpGKV, 0, m, &cDelay_TfNYpGKV_sendMessage); +} + +void Heavy_EP_MK1::cDelay_SQWhXbuK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_SQWhXbuK, m); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 1.0f, 0, m, &cBinop_vTikcOK9_sendMessage); +} + +void Heavy_EP_MK1::cSwitchcase_4bJ7vNfF_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x0: { // "0.0" + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_432gH9F6_sendMessage); + break; + } + default: { + cDelay_onMessage(_c, &Context(_c)->cDelay_SQWhXbuK, 0, m, &cDelay_SQWhXbuK_sendMessage); + break; + } + } +} + +void Heavy_EP_MK1::cCast_432gH9F6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { +} + +void Heavy_EP_MK1::cIf_7NsIHVOW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cMsg_57hlhbxL_sendMessage(_c, 0, m); + break; + } + case 1: { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 485.0f, 0, m, &cBinop_dx9EgukM_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cMsg_8zJCSbxV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 10.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_JsfiF6qC, HV_BINOP_POW, 0, m, &cBinop_JsfiF6qC_sendMessage); +} + +void Heavy_EP_MK1::cBinop_JsfiF6qC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_71RKkz2i, m); +} + +void Heavy_EP_MK1::cBinop_7hjoygWC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 20.0f, 0, m, &cBinop_HgHg89r7_sendMessage); +} + +void Heavy_EP_MK1::cCast_P0nhFNeb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_Pd5lqoR8_sendMessage); +} + +void Heavy_EP_MK1::cCast_OR53sAy6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_7NsIHVOW, 0, m, &cIf_7NsIHVOW_sendMessage); +} + +void Heavy_EP_MK1::cBinop_Pd5lqoR8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_7NsIHVOW, 1, m, &cIf_7NsIHVOW_sendMessage); +} + +void Heavy_EP_MK1::cBinop_dx9EgukM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 100.0f, 0, m, &cBinop_7hjoygWC_sendMessage); +} + +void Heavy_EP_MK1::cMsg_57hlhbxL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sVarf_onMessage(_c, &Context(_c)->sVarf_71RKkz2i, m); +} + +void Heavy_EP_MK1::cBinop_HgHg89r7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_JsfiF6qC, HV_BINOP_POW, 1, m, &cBinop_JsfiF6qC_sendMessage); + cMsg_8zJCSbxV_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cPack_knDzxs63_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_12GlrbhH_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cBinop_Lo45ltl1_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_4Oxw3M2i_onMessage(_c, NULL, 0, m, NULL); + cPack_onMessage(_c, &Context(_c)->cPack_knDzxs63, 1, m, &cPack_knDzxs63_sendMessage); +} + +void Heavy_EP_MK1::cMsg_mbwAJXPL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_PFUxS9Go_sendMessage); +} + +void Heavy_EP_MK1::cBinop_PFUxS9Go_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_RHSLWQjL, HV_BINOP_MULTIPLY, 0, m, &cBinop_RHSLWQjL_sendMessage); + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, 128.0f, 0, m, &cBinop_17N4JcCh_sendMessage); +} + +void Heavy_EP_MK1::cCast_7NAvYHLM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_rMfZDNZW_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_J9J1vN7D_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_xWQxJdsi_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_ISJj7OwQ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_UWPDyIY4, 0, m, &cSlice_UWPDyIY4_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_5Qfl8Kl3, 0, m, &cSlice_5Qfl8Kl3_sendMessage); +} + +void Heavy_EP_MK1::cMsg_mEI45YN0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_Q5wsYYlY_sendMessage); +} + +void Heavy_EP_MK1::cBinop_Q5wsYYlY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_kyiC1Zf2, 0, m, &cVar_kyiC1Zf2_sendMessage); +} + +void Heavy_EP_MK1::cMsg_FVIIT6ue_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_SazJp6hE, 1, m); +} + +void Heavy_EP_MK1::cBinop_RHSLWQjL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_0FFsXUe9, 1, m, &cPack_0FFsXUe9_sendMessage); +} + +void Heavy_EP_MK1::cCast_wrpHr5h4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_4HMeafoY_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_vNxezH8y_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_8EwDqalS_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_4HMeafoY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 1.0f); + sLine_onMessage(_c, &Context(_c)->sLine_B8Rawwja, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_UThFMZyR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_B8Rawwja, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_QpX8KJ1s_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_4cD0pfyC_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_rk2leRf0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_MMOQOcXb_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_vVR1067u_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setElementToFrom(m, 1, n, 1); + cSlice_onMessage(_c, &Context(_c)->cSlice_nx6xWTIv, 0, m, &cSlice_nx6xWTIv_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_nRibR7JK, 0, m, &cSlice_nRibR7JK_sendMessage); +} + +void Heavy_EP_MK1::cMsg_wPGSZ374_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1000.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 0.0f, 0, m, &cBinop_09LNF0Eg_sendMessage); +} + +void Heavy_EP_MK1::cBinop_09LNF0Eg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_2ZeHP4qZ, 0, m, &cVar_2ZeHP4qZ_sendMessage); +} + +void Heavy_EP_MK1::cMsg_MMOQOcXb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 1.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_nx6xWTIv, 0, m, &cSlice_nx6xWTIv_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_nRibR7JK, 0, m, &cSlice_nRibR7JK_sendMessage); +} + +void Heavy_EP_MK1::cBinop_17N4JcCh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_EgibIsHG, 1, m, &cPack_EgibIsHG_sendMessage); +} + +void Heavy_EP_MK1::cMsg_1YqmG8JV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 50.0f); + cSlice_onMessage(_c, &Context(_c)->cSlice_nx6xWTIv, 0, m, &cSlice_nx6xWTIv_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_nRibR7JK, 0, m, &cSlice_nRibR7JK_sendMessage); +} + +void Heavy_EP_MK1::cCast_f66uQpzU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_bXl02GUf_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_Rp4fOhNx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cPack_onMessage(_c, &Context(_c)->cPack_0FFsXUe9, 0, m, &cPack_0FFsXUe9_sendMessage); +} + +void Heavy_EP_MK1::cCast_jQ3DV4oR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_mbwAJXPL_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_0rSymidU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_mbwAJXPL_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_2IDEfKFL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_ievitM3h_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cCast_i0XIaf1t_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_J9J1vN7D_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_7NAvYHLM_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_rk2leRf0_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_QpX8KJ1s_sendMessage); +} + +void Heavy_EP_MK1::cMsg_ievitM3h_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 2048.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_RHSLWQjL, HV_BINOP_MULTIPLY, 1, m, &cBinop_RHSLWQjL_sendMessage); +} + +void Heavy_EP_MK1::cCast_2B0squbx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_VNlVhLop_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cCast_xEnOiPtC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_m0cBL5CC_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_Tv18BrFM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_VEYj3jgK, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_b60XF5JT_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 20000.0f); + msg_setFloat(m, 1, 0.0f); + sLine_onMessage(_c, &Context(_c)->sLine_VEYj3jgK, 0, m, NULL); +} + +void Heavy_EP_MK1::cMsg_xWQxJdsi_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setFloat(m, 1, 0.1f); + cSlice_onMessage(_c, &Context(_c)->cSlice_UWPDyIY4, 0, m, &cSlice_UWPDyIY4_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_5Qfl8Kl3, 0, m, &cSlice_5Qfl8Kl3_sendMessage); +} + +void Heavy_EP_MK1::cBinop_vTikcOK9_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 126.0f, 0, m, &cBinop_4LE3oFAE_sendMessage); +} + +void Heavy_EP_MK1::cBinop_4LE3oFAE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_LbalmIoa_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cMsg_LbalmIoa_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + msg_setElementToFrom(m, 1, n, 0); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 0.0f, 0, m, &cBinop_ghZEl5yM_sendMessage); +} + +void Heavy_EP_MK1::cBinop_ghZEl5yM_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, -30.0f, 0, m, &cBinop_Af1mNKzv_sendMessage); +} + +void Heavy_EP_MK1::cBinop_Af1mNKzv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 100.0f, 0, m, &cBinop_XzeBh5jF_sendMessage); +} + +void Heavy_EP_MK1::cBinop_XzeBh5jF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_P0nhFNeb_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_OR53sAy6_sendMessage); +} + +void Heavy_EP_MK1::cMsg_bXl02GUf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 8.0f); + cBinop_onMessage(_c, &Context(_c)->cBinop_RHSLWQjL, HV_BINOP_MULTIPLY, 1, m, &cBinop_RHSLWQjL_sendMessage); +} + +void Heavy_EP_MK1::cMsg_12GlrbhH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) { + HvMessage *m = nullptr; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setElementToFrom(m, 0, n, 1); + msg_setElementToFrom(m, 1, n, 0); + cSwitchcase_AlMaGzAy_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cSwitchcase_oJjbF3oR_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x40000000: { // "2.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_05vVwRGe, 0, m, &cSlice_05vVwRGe_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_05vVwRGe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cSlice_onMessage(_c, &Context(_c)->cSlice_2INuIXhx, 0, m, &cSlice_2INuIXhx_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_rIS4wCWL, 0, m, &cSlice_rIS4wCWL_sendMessage); + break; + } + case 1: { + cSlice_onMessage(_c, &Context(_c)->cSlice_2INuIXhx, 0, m, &cSlice_2INuIXhx_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_rIS4wCWL, 0, m, &cSlice_rIS4wCWL_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSwitchcase_CI4f9r5B_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x40400000: { // "3.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_c3nXiTNC, 0, m, &cSlice_c3nXiTNC_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_c3nXiTNC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cSlice_onMessage(_c, &Context(_c)->cSlice_qZT4eBYV, 0, m, &cSlice_qZT4eBYV_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_7oNej4sG, 0, m, &cSlice_7oNej4sG_sendMessage); + break; + } + case 1: { + cSlice_onMessage(_c, &Context(_c)->cSlice_qZT4eBYV, 0, m, &cSlice_qZT4eBYV_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_7oNej4sG, 0, m, &cSlice_7oNej4sG_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSwitchcase_0kq1xuMz_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x40800000: { // "4.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_z8G0G5Eb, 0, m, &cSlice_z8G0G5Eb_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_z8G0G5Eb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cSlice_onMessage(_c, &Context(_c)->cSlice_hv3mUgaW, 0, m, &cSlice_hv3mUgaW_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_XWrWDCcW, 0, m, &cSlice_XWrWDCcW_sendMessage); + break; + } + case 1: { + cSlice_onMessage(_c, &Context(_c)->cSlice_hv3mUgaW, 0, m, &cSlice_hv3mUgaW_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_XWrWDCcW, 0, m, &cSlice_XWrWDCcW_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSwitchcase_zGa1EpH7_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x40A00000: { // "5.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_2O5lvYJA, 0, m, &cSlice_2O5lvYJA_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_2O5lvYJA_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cSlice_onMessage(_c, &Context(_c)->cSlice_jBZVqRID, 0, m, &cSlice_jBZVqRID_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_ZxsAnMyr, 0, m, &cSlice_ZxsAnMyr_sendMessage); + break; + } + case 1: { + cSlice_onMessage(_c, &Context(_c)->cSlice_jBZVqRID, 0, m, &cSlice_jBZVqRID_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_ZxsAnMyr, 0, m, &cSlice_ZxsAnMyr_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSwitchcase_7i9NfnFn_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x40C00000: { // "6.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_if4TiRX7, 0, m, &cSlice_if4TiRX7_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_if4TiRX7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cSlice_onMessage(_c, &Context(_c)->cSlice_YdkTn2WL, 0, m, &cSlice_YdkTn2WL_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_IDtSoCz3, 0, m, &cSlice_IDtSoCz3_sendMessage); + break; + } + case 1: { + cSlice_onMessage(_c, &Context(_c)->cSlice_YdkTn2WL, 0, m, &cSlice_YdkTn2WL_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_IDtSoCz3, 0, m, &cSlice_IDtSoCz3_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSwitchcase_nPhn8cUn_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x40E00000: { // "7.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_lpM95DRE, 0, m, &cSlice_lpM95DRE_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_lpM95DRE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cSlice_onMessage(_c, &Context(_c)->cSlice_DP57ivEA, 0, m, &cSlice_DP57ivEA_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_Jed3KeQW, 0, m, &cSlice_Jed3KeQW_sendMessage); + break; + } + case 1: { + cSlice_onMessage(_c, &Context(_c)->cSlice_DP57ivEA, 0, m, &cSlice_DP57ivEA_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_Jed3KeQW, 0, m, &cSlice_Jed3KeQW_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSwitchcase_ZvI2MPL9_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m, 0)) { + case 0x41000000: { // "8.0" + cSlice_onMessage(_c, &Context(_c)->cSlice_GQUD4Nul, 0, m, &cSlice_GQUD4Nul_sendMessage); + break; + } + default: { + break; + } + } +} + +void Heavy_EP_MK1::cSlice_GQUD4Nul_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + switch (letIn) { + case 0: { + cSlice_onMessage(_c, &Context(_c)->cSlice_kpwhR0tf, 0, m, &cSlice_kpwhR0tf_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_oh4auhT2, 0, m, &cSlice_oh4auhT2_sendMessage); + break; + } + case 1: { + cSlice_onMessage(_c, &Context(_c)->cSlice_kpwhR0tf, 0, m, &cSlice_kpwhR0tf_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_oh4auhT2, 0, m, &cSlice_oh4auhT2_sendMessage); + break; + } + default: return; + } +} + +void Heavy_EP_MK1::cSend_AOX5cBQ7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cReceive_YUPT5gm3_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cReceive_30ra41Ne_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cMsg_mwVDhc33_sendMessage(_c, 0, m); + cMsg_h5Bsj9K4_sendMessage(_c, 0, m); + cMsg_fNVYmuRq_sendMessage(_c, 0, m); + cMsg_FyHDrtsd_sendMessage(_c, 0, m); + cMsg_vnInM2TA_sendMessage(_c, 0, m); + cMsg_zX4gvtjh_sendMessage(_c, 0, m); + cMsg_lYOaGMwk_sendMessage(_c, 0, m); + cMsg_7KV6tt6Z_sendMessage(_c, 0, m); + cMsg_ug9sv1mV_sendMessage(_c, 0, m); + cMsg_37gYBrZv_sendMessage(_c, 0, m); + cMsg_duSEFOQ2_sendMessage(_c, 0, m); + cMsg_OmjfJHO2_sendMessage(_c, 0, m); + cMsg_w9j1Cdjk_sendMessage(_c, 0, m); + cMsg_dHvyDREf_sendMessage(_c, 0, m); + cMsg_aIK2Du5A_sendMessage(_c, 0, m); + cMsg_mUqtQDle_sendMessage(_c, 0, m); + cMsg_iKXnugbR_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_sZ2r4PVf, 0, m, &cVar_sZ2r4PVf_sendMessage); + cMsg_JMXe4Ma3_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_NTVGi1rx, 0, m, &cVar_NTVGi1rx_sendMessage); + cMsg_emXeKopE_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_f7mZhooZ, 0, m, &cVar_f7mZhooZ_sendMessage); + cMsg_fxp86nbP_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_cuvWDrFY, 0, m, &cVar_cuvWDrFY_sendMessage); + cMsg_xUIk35fz_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_I5axLBa7, 0, m, &cVar_I5axLBa7_sendMessage); + cMsg_Axz1orYI_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_6lY50lnm, 0, m, &cVar_6lY50lnm_sendMessage); + cMsg_EZLaZJk9_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_r5ixlHEt, 0, m, &cVar_r5ixlHEt_sendMessage); + cMsg_cGPaQMM6_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_9G2w7qnP, 0, m, &cVar_9G2w7qnP_sendMessage); + cMsg_0b6oTzRv_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_43FOqtBR, 0, m, &cVar_43FOqtBR_sendMessage); + cMsg_pkFtiTnu_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_PQrhAZRa, 0, m, &cVar_PQrhAZRa_sendMessage); + cMsg_0KIBKjcE_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_mrGWo2hl, 0, m, &cVar_mrGWo2hl_sendMessage); + cMsg_lBdzS1y9_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_2nrwCzMG, 0, m, &cVar_2nrwCzMG_sendMessage); + cMsg_KXtXNOXa_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_JD9szZbV, 0, m, &cVar_JD9szZbV_sendMessage); + cMsg_qRQ3L6AU_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_81HDz8CE, 0, m, &cVar_81HDz8CE_sendMessage); + cMsg_hDZvWMG1_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_kyiC1Zf2, 0, m, &cVar_kyiC1Zf2_sendMessage); + cMsg_eFIgSVQb_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_2ZeHP4qZ, 0, m, &cVar_2ZeHP4qZ_sendMessage); + cVar_onMessage(_c, &Context(_c)->cVar_cpIi4bZm, 0, m, &cVar_cpIi4bZm_sendMessage); + cVar_onMessage(_c, &Context(_c)->cVar_QDfjXuFO, 0, m, &cVar_QDfjXuFO_sendMessage); + cMsg_XSFgs2Vd_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_ElxPJUxK, 0, m, &cVar_ElxPJUxK_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_gjG7vzxq_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_GXrq5eSO_sendMessage); +} + +void Heavy_EP_MK1::cReceive_xufwxl2p_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSlice_onMessage(_c, &Context(_c)->cSlice_elndZqvG, 0, m, &cSlice_elndZqvG_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_8lQZHtLi, 0, m, &cSlice_8lQZHtLi_sendMessage); + cSlice_onMessage(_c, &Context(_c)->cSlice_YVJyinnD, 0, m, &cSlice_YVJyinnD_sendMessage); + cMsg_nPKwQsvv_sendMessage(_c, 0, m); +} + +void Heavy_EP_MK1::cReceive_YUPT5gm3_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cSwitchcase_oG9J2dvF_onMessage(_c, NULL, 0, m, NULL); + cSwitchcase_oJjbF3oR_onMessage(_c, NULL, 0, m, NULL); + cSwitchcase_CI4f9r5B_onMessage(_c, NULL, 0, m, NULL); + cSwitchcase_0kq1xuMz_onMessage(_c, NULL, 0, m, NULL); + cSwitchcase_zGa1EpH7_onMessage(_c, NULL, 0, m, NULL); + cSwitchcase_7i9NfnFn_onMessage(_c, NULL, 0, m, NULL); + cSwitchcase_nPhn8cUn_onMessage(_c, NULL, 0, m, NULL); + cSwitchcase_ZvI2MPL9_onMessage(_c, NULL, 0, m, NULL); +} + +void Heavy_EP_MK1::cReceive_MGnMGx0X_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_5c1hNZPU, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_7rNwdeBI, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_sna6KPtA, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_2h60wK8h, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_3PZoK8Te, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_p9lZuVC3, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_JwE9URmy, m); + sVarf_onMessage(_c, &Context(_c)->sVarf_Zj8nnBuC, m); +} + +void Heavy_EP_MK1::cReceive_78vPaVrA_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cIf_onMessage(_c, &Context(_c)->cIf_30KS2vcA, 1, m, &cIf_30KS2vcA_sendMessage); +} + +void Heavy_EP_MK1::cReceive_Yvc0SbVa_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_FxOwbdbW, 1, m, &cVar_FxOwbdbW_sendMessage); + cVar_onMessage(_c, &Context(_c)->cVar_u5tBj8Lb, 1, m, &cVar_u5tBj8Lb_sendMessage); + cVar_onMessage(_c, &Context(_c)->cVar_GiSxSddZ, 1, m, &cVar_GiSxSddZ_sendMessage); +} + +void Heavy_EP_MK1::cReceive_RehAy77I_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_t9FMWBot, 0, m, &cVar_t9FMWBot_sendMessage); +} + +void Heavy_EP_MK1::cReceive_VHVO9aGV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_uyfxho1R, 1, m, &cVar_uyfxho1R_sendMessage); + cVar_onMessage(_c, &Context(_c)->cVar_MitV4kWM, 1, m, &cVar_MitV4kWM_sendMessage); + cBinop_onMessage(_c, &Context(_c)->cBinop_60vLkGOw, HV_BINOP_MOD_UNIPOLAR, 1, m, &cBinop_60vLkGOw_sendMessage); +} + +void Heavy_EP_MK1::cReceive_T5RYnxvy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_AFpLtIy7, 1, m, &cTabwrite_AFpLtIy7_sendMessage); + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_rhy4zqC2, 1, m, &cTabwrite_rhy4zqC2_sendMessage); + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_ZnyIyMwB, 1, m, &cTabwrite_ZnyIyMwB_sendMessage); + cVar_onMessage(_c, &Context(_c)->cVar_bNgyqWRz, 1, m, &cVar_bNgyqWRz_sendMessage); + cVar_onMessage(_c, &Context(_c)->cVar_L9vaHYGJ, 1, m, &cVar_L9vaHYGJ_sendMessage); +} + +void Heavy_EP_MK1::cReceive_xWrZfXcb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cVar_onMessage(_c, &Context(_c)->cVar_MfvQWInI, 1, m, &cVar_MfvQWInI_sendMessage); + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_b1zrUtiJ, 1, m, &cTabwrite_b1zrUtiJ_sendMessage); + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_7CqRGpzh, 1, m, &cTabwrite_7CqRGpzh_sendMessage); + cTabwrite_onMessage(_c, &Context(_c)->cTabwrite_f431WPJL, 1, m, &cTabwrite_f431WPJL_sendMessage); +} + +void Heavy_EP_MK1::cReceive_YSOymCGl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_xqKm824T_sendMessage); + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_E0zeqvEo_sendMessage); +} + +void Heavy_EP_MK1::cReceive_UNQwjlFB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) { + cCast_onMessage(_c, HV_CAST_FLOAT, 0, m, &cCast_WmFpuX9z_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_hpLxvQwg_sendMessage); +} + + + + +/* + * Context Process Implementation + */ + +int Heavy_EP_MK1::process(float **inputBuffers, float **outputBuffers, int n) { + while (hLp_hasData(&inQueue)) { + hv_uint32_t numBytes = 0; + ReceiverMessagePair *p = reinterpret_cast(hLp_getReadBuffer(&inQueue, &numBytes)); + hv_assert(numBytes >= sizeof(ReceiverMessagePair)); + scheduleMessageForReceiver(p->receiverHash, &p->msg); + hLp_consume(&inQueue); + } + const int n4 = n & ~HV_N_SIMD_MASK; // ensure that the block size is a multiple of HV_N_SIMD + + // temporary signal vars + hv_bufferf_t Bf0, Bf1, Bf2, Bf3, Bf4, Bf5, Bf6, Bf7, Bf8, Bf9, Bf10, Bf11, Bf12, Bf13; + + // input and output vars + hv_bufferf_t O0, O1; + + // declare and init the zero buffer + hv_bufferf_t ZERO; __hv_zero_f(VOf(ZERO)); + + hv_uint32_t nextBlock = blockStartTimestamp; + for (int n = 0; n < n4; n += HV_N_SIMD) { + + // process all of the messages for this block + nextBlock += HV_N_SIMD; + while (mq_hasMessageBefore(&mq, nextBlock)) { + MessageNode *const node = mq_peek(&mq); + node->sendMessage(this, node->let, node->m); + mq_pop(&mq); + } + + + + // zero output buffers + __hv_zero_f(VOf(O0)); + __hv_zero_f(VOf(O1)); + + // process all signal functions + __hv_var_k_f(VOf(Bf0), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_varread_f(&sVarf_mmQmNb4h, VOf(Bf1)); + __hv_varread_f(&sVarf_JStffWNs, VOf(Bf2)); + __hv_mul_f(VIf(Bf1), VIf(Bf2), VOf(Bf2)); + __hv_varread_f(&sVarf_12WWjECf, VOf(Bf1)); + __hv_rpole_f(&sRPole_xQE1l5IP, VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_phasor_k_f(&sPhasor_1g348lth, VOf(Bf2)); + __hv_var_k_f(VOf(Bf3), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_floor_f(VIf(Bf3), VOf(Bf4)); + __hv_sub_f(VIf(Bf3), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf3), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf4), VIf(Bf3), VOf(Bf3)); + __hv_abs_f(VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf4), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf3), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf3), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf4), VIf(Bf3), VOf(Bf3)); + __hv_mul_f(VIf(Bf3), VIf(Bf3), VOf(Bf4)); + __hv_mul_f(VIf(Bf3), VIf(Bf4), VOf(Bf5)); + __hv_mul_f(VIf(Bf5), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf6), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf7), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf5), VIf(Bf7), VOf(Bf7)); + __hv_sub_f(VIf(Bf3), VIf(Bf7), VOf(Bf7)); + __hv_fma_f(VIf(Bf4), VIf(Bf6), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf6), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_var_k_f(VOf(Bf4), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf2), VIf(Bf6), VIf(Bf4), VOf(Bf4)); + __hv_floor_f(VIf(Bf4), VOf(Bf6)); + __hv_sub_f(VIf(Bf4), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf4), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf6), VIf(Bf4), VOf(Bf4)); + __hv_abs_f(VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf6), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf4), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf4), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf6), VIf(Bf4), VOf(Bf4)); + __hv_mul_f(VIf(Bf4), VIf(Bf4), VOf(Bf6)); + __hv_mul_f(VIf(Bf4), VIf(Bf6), VOf(Bf3)); + __hv_mul_f(VIf(Bf3), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf5), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf8), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf3), VIf(Bf8), VOf(Bf8)); + __hv_sub_f(VIf(Bf4), VIf(Bf8), VOf(Bf8)); + __hv_fma_f(VIf(Bf6), VIf(Bf5), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf5), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf8), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf8), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_var_k_f(VOf(Bf6), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf2), VIf(Bf8), VIf(Bf6), VOf(Bf6)); + __hv_floor_f(VIf(Bf6), VOf(Bf8)); + __hv_sub_f(VIf(Bf6), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf6), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf8), VIf(Bf6), VOf(Bf6)); + __hv_abs_f(VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf8), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf6), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf6), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf8), VIf(Bf6), VOf(Bf6)); + __hv_mul_f(VIf(Bf6), VIf(Bf6), VOf(Bf8)); + __hv_mul_f(VIf(Bf6), VIf(Bf8), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf4), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf3), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_sub_f(VIf(Bf6), VIf(Bf3), VOf(Bf3)); + __hv_fma_f(VIf(Bf8), VIf(Bf4), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf4), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_div_f(VIf(Bf3), VIf(Bf4), VOf(Bf4)); + __hv_add_f(VIf(Bf5), VIf(Bf4), VOf(Bf4)); + __hv_varread_f(&sVarf_U88OzJYl, VOf(Bf5)); + __hv_varread_f(&sVarf_dWTru9Kp, VOf(Bf3)); + __hv_mul_f(VIf(Bf5), VIf(Bf3), VOf(Bf3)); + __hv_varread_f(&sVarf_MhpLVcYQ, VOf(Bf5)); + __hv_rpole_f(&sRPole_LJ2U55sy, VIf(Bf3), VIf(Bf5), VOf(Bf5)); + __hv_mul_f(VIf(Bf4), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf4), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf5), VIf(Bf4), VOf(Bf4)); + __hv_fma_f(VIf(Bf1), VIf(Bf7), VIf(Bf4), VOf(Bf4)); + __hv_varread_f(&sVarf_E7C2HtOj, VOf(Bf7)); + __hv_mul_f(VIf(Bf4), VIf(Bf7), VOf(Bf7)); + __hv_line_f(&sLine_p3apF6qw, VOf(Bf4)); + __hv_mul_f(VIf(Bf7), VIf(Bf4), VOf(Bf7)); + __hv_var_k_f(VOf(Bf1), 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f); + __hv_mul_f(VIf(Bf7), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf5), 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f); + __hv_line_f(&sLine_Fe0sHHrh, VOf(Bf3)); + __hv_add_f(VIf(Bf5), VIf(Bf3), VOf(Bf5)); + __hv_var_k_f(VOf(Bf8), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf9), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf8), VIf(Bf9), VOf(Bf9)); + __hv_div_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf2), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf5), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf5), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf2), VIf(Bf5), VOf(Bf5)); + __hv_varread_f(&sVarf_0vvlNiX4, VOf(Bf2)); + __hv_div_f(VIf(Bf5), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf5), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf5), VOf(Bf5)); + __hv_floor_f(VIf(Bf5), VOf(Bf8)); + __hv_sub_f(VIf(Bf5), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf5), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf8), VIf(Bf5), VOf(Bf5)); + __hv_abs_f(VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf8), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf5), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf5), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf8), VIf(Bf5), VOf(Bf5)); + __hv_mul_f(VIf(Bf5), VIf(Bf5), VOf(Bf8)); + __hv_mul_f(VIf(Bf5), VIf(Bf8), VOf(Bf10)); + __hv_mul_f(VIf(Bf10), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf11), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf12), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf10), VIf(Bf12), VOf(Bf12)); + __hv_sub_f(VIf(Bf5), VIf(Bf12), VOf(Bf12)); + __hv_fma_f(VIf(Bf8), VIf(Bf11), VIf(Bf12), VOf(Bf12)); + __hv_mul_f(VIf(Bf9), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf9), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf12), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf12), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf9), VIf(Bf12), VOf(Bf12)); + __hv_div_f(VIf(Bf6), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_floor_f(VIf(Bf2), VOf(Bf11)); + __hv_sub_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf11), VIf(Bf2), VOf(Bf2)); + __hv_abs_f(VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf11), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf2), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf11), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf2), VOf(Bf11)); + __hv_mul_f(VIf(Bf2), VIf(Bf11), VOf(Bf8)); + __hv_mul_f(VIf(Bf8), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf5), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf10), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf8), VIf(Bf10), VOf(Bf10)); + __hv_sub_f(VIf(Bf2), VIf(Bf10), VOf(Bf10)); + __hv_fma_f(VIf(Bf11), VIf(Bf5), VIf(Bf10), VOf(Bf10)); + __hv_sub_f(VIf(Bf6), VIf(Bf10), VOf(Bf6)); + __hv_var_k_f(VOf(Bf5), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf6), VIf(Bf5), VOf(Bf5)); + __hv_mul_f(VIf(Bf12), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf6), VIf(Bf10), VOf(Bf6)); + __hv_mul_f(VIf(Bf12), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf11), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf11), VIf(Bf10), VOf(Bf11)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf11), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf12), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf11), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf10), VIf(Bf11), VOf(Bf11)); + __hv_mul_f(VIf(Bf12), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf10), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf10), VIf(Bf9), VOf(Bf9)); + __hv_mul_f(VIf(Bf12), VIf(Bf9), VOf(Bf9)); + __hv_biquad_f(&sBiquad_s_YKOSCulY, VIf(Bf1), VIf(Bf5), VIf(Bf6), VIf(Bf2), VIf(Bf11), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf11), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf9), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf9), 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f); + __hv_min_f(VIf(Bf11), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf11), -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f); + __hv_max_f(VIf(Bf9), VIf(Bf11), VOf(Bf11)); + __hv_mul_f(VIf(Bf11), VIf(Bf11), VOf(Bf9)); + __hv_var_k_f(VOf(Bf2), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_add_f(VIf(Bf9), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf6), 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f); + __hv_var_k_f(VOf(Bf5), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_fma_f(VIf(Bf9), VIf(Bf6), VIf(Bf5), VOf(Bf5)); + __hv_div_f(VIf(Bf2), VIf(Bf5), VOf(Bf5)); + __hv_mul_f(VIf(Bf11), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf11), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf5), VIf(Bf11), VOf(Bf5)); + __hv_pow_f(VIf(Bf0), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf0), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf5), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf5), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_pow_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_div_f(VIf(Bf5), VIf(Bf11), VOf(Bf11)); + __hv_mul_f(VIf(Bf0), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf0), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf5), 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f); + __hv_pow_f(VIf(Bf11), VIf(Bf5), VOf(Bf5)); + __hv_varread_f(&sVarf_5c1hNZPU, VOf(Bf2)); + __hv_mul_f(VIf(Bf5), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf5), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf2), VIf(Bf5), VOf(Bf5)); + __hv_fma_f(VIf(Bf11), VIf(Bf0), VIf(Bf5), VOf(Bf5)); + __hv_varread_f(&sVarf_pkqNsRE6, VOf(Bf0)); + __hv_add_f(VIf(Bf3), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf3), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf11), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf6), 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f); + __hv_min_f(VIf(Bf3), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf3), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf6), VIf(Bf3), VOf(Bf3)); + __hv_div_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf2), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf0), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf0), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf2), VIf(Bf0), VOf(Bf0)); + __hv_varread_f(&sVarf_yz2BQm5L, VOf(Bf2)); + __hv_div_f(VIf(Bf0), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf0), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf0), VOf(Bf0)); + __hv_floor_f(VIf(Bf0), VOf(Bf6)); + __hv_sub_f(VIf(Bf0), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf0), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf6), VIf(Bf0), VOf(Bf0)); + __hv_abs_f(VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf6), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf0), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf0), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf6), VIf(Bf0), VOf(Bf0)); + __hv_mul_f(VIf(Bf0), VIf(Bf0), VOf(Bf6)); + __hv_mul_f(VIf(Bf0), VIf(Bf6), VOf(Bf9)); + __hv_mul_f(VIf(Bf9), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf1), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf12), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf9), VIf(Bf12), VOf(Bf12)); + __hv_sub_f(VIf(Bf0), VIf(Bf12), VOf(Bf12)); + __hv_fma_f(VIf(Bf6), VIf(Bf1), VIf(Bf12), VOf(Bf12)); + __hv_mul_f(VIf(Bf3), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf3), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf12), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf12), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf3), VIf(Bf12), VOf(Bf12)); + __hv_div_f(VIf(Bf11), VIf(Bf12), VOf(Bf12)); + __hv_floor_f(VIf(Bf2), VOf(Bf11)); + __hv_sub_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf11), VIf(Bf2), VOf(Bf2)); + __hv_abs_f(VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf11), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf2), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf11), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf2), VOf(Bf11)); + __hv_mul_f(VIf(Bf2), VIf(Bf11), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf6), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf0), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf1), VIf(Bf0), VOf(Bf0)); + __hv_sub_f(VIf(Bf2), VIf(Bf0), VOf(Bf0)); + __hv_fma_f(VIf(Bf11), VIf(Bf6), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf0), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf11), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf6), VIf(Bf11), VOf(Bf11)); + __hv_mul_f(VIf(Bf12), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf0), VIf(Bf6), VOf(Bf6)); + __hv_neg_f(VIf(Bf6), VOf(Bf6)); + __hv_mul_f(VIf(Bf12), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf0), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf12), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf2), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf0), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf12), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf0), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf0), VIf(Bf3), VOf(Bf3)); + __hv_mul_f(VIf(Bf12), VIf(Bf3), VOf(Bf3)); + __hv_biquad_f(&sBiquad_s_WwgL7LgK, VIf(Bf5), VIf(Bf11), VIf(Bf6), VIf(Bf1), VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_fma_f(VIf(Bf3), VIf(Bf4), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf4), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_div_f(VIf(Bf7), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf7), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_varread_f(&sVarf_lvEgPbs3, VOf(Bf3)); + __hv_varread_f(&sVarf_RcnTHRuu, VOf(Bf2)); + __hv_mul_f(VIf(Bf3), VIf(Bf2), VOf(Bf2)); + __hv_varread_f(&sVarf_WD7C8chd, VOf(Bf3)); + __hv_rpole_f(&sRPole_Yh3y0fv7, VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_phasor_k_f(&sPhasor_fT5BH6mJ, VOf(Bf2)); + __hv_var_k_f(VOf(Bf1), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_floor_f(VIf(Bf1), VOf(Bf6)); + __hv_sub_f(VIf(Bf1), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf6), VIf(Bf1), VOf(Bf1)); + __hv_abs_f(VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf6), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf1), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf6), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf1), VOf(Bf6)); + __hv_mul_f(VIf(Bf1), VIf(Bf6), VOf(Bf11)); + __hv_mul_f(VIf(Bf11), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf5), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf12), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf11), VIf(Bf12), VOf(Bf12)); + __hv_sub_f(VIf(Bf1), VIf(Bf12), VOf(Bf12)); + __hv_fma_f(VIf(Bf6), VIf(Bf5), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf5), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_var_k_f(VOf(Bf6), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf2), VIf(Bf5), VIf(Bf6), VOf(Bf6)); + __hv_floor_f(VIf(Bf6), VOf(Bf5)); + __hv_sub_f(VIf(Bf6), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf6), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf5), VIf(Bf6), VOf(Bf6)); + __hv_abs_f(VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf5), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf6), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf6), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf5), VIf(Bf6), VOf(Bf6)); + __hv_mul_f(VIf(Bf6), VIf(Bf6), VOf(Bf5)); + __hv_mul_f(VIf(Bf6), VIf(Bf5), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf11), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf0), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf1), VIf(Bf0), VOf(Bf0)); + __hv_sub_f(VIf(Bf6), VIf(Bf0), VOf(Bf0)); + __hv_fma_f(VIf(Bf5), VIf(Bf11), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf11), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf0), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf0), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_var_k_f(VOf(Bf5), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf2), VIf(Bf0), VIf(Bf5), VOf(Bf5)); + __hv_floor_f(VIf(Bf5), VOf(Bf0)); + __hv_sub_f(VIf(Bf5), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf5), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf0), VIf(Bf5), VOf(Bf5)); + __hv_abs_f(VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf0), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf5), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf5), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf0), VIf(Bf5), VOf(Bf5)); + __hv_mul_f(VIf(Bf5), VIf(Bf5), VOf(Bf0)); + __hv_mul_f(VIf(Bf5), VIf(Bf0), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf6), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf1), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_sub_f(VIf(Bf5), VIf(Bf1), VOf(Bf1)); + __hv_fma_f(VIf(Bf0), VIf(Bf6), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf6), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_div_f(VIf(Bf1), VIf(Bf6), VOf(Bf6)); + __hv_add_f(VIf(Bf11), VIf(Bf6), VOf(Bf6)); + __hv_varread_f(&sVarf_iDRS34B2, VOf(Bf11)); + __hv_varread_f(&sVarf_vp8lIXCn, VOf(Bf1)); + __hv_mul_f(VIf(Bf11), VIf(Bf1), VOf(Bf1)); + __hv_varread_f(&sVarf_MfT4ifW4, VOf(Bf11)); + __hv_rpole_f(&sRPole_OW9MoKMh, VIf(Bf1), VIf(Bf11), VOf(Bf11)); + __hv_mul_f(VIf(Bf6), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf6), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf11), VIf(Bf6), VOf(Bf6)); + __hv_fma_f(VIf(Bf3), VIf(Bf12), VIf(Bf6), VOf(Bf6)); + __hv_varread_f(&sVarf_3qDPWnPQ, VOf(Bf12)); + __hv_mul_f(VIf(Bf6), VIf(Bf12), VOf(Bf12)); + __hv_line_f(&sLine_hADdbIyX, VOf(Bf6)); + __hv_mul_f(VIf(Bf12), VIf(Bf6), VOf(Bf12)); + __hv_var_k_f(VOf(Bf3), 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f); + __hv_mul_f(VIf(Bf12), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf11), 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f); + __hv_line_f(&sLine_QOlaVO7i, VOf(Bf1)); + __hv_add_f(VIf(Bf11), VIf(Bf1), VOf(Bf11)); + __hv_var_k_f(VOf(Bf0), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf5), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf9), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf0), VIf(Bf9), VOf(Bf9)); + __hv_div_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf2), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf11), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf11), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_varread_f(&sVarf_qx7mJTO2, VOf(Bf2)); + __hv_div_f(VIf(Bf11), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf11), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_floor_f(VIf(Bf11), VOf(Bf0)); + __hv_sub_f(VIf(Bf11), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf11), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf0), VIf(Bf11), VOf(Bf11)); + __hv_abs_f(VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf0), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf11), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf11), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf0), VIf(Bf11), VOf(Bf11)); + __hv_mul_f(VIf(Bf11), VIf(Bf11), VOf(Bf0)); + __hv_mul_f(VIf(Bf11), VIf(Bf0), VOf(Bf10)); + __hv_mul_f(VIf(Bf10), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf8), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf13), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf10), VIf(Bf13), VOf(Bf13)); + __hv_sub_f(VIf(Bf11), VIf(Bf13), VOf(Bf13)); + __hv_fma_f(VIf(Bf0), VIf(Bf8), VIf(Bf13), VOf(Bf13)); + __hv_mul_f(VIf(Bf9), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf9), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf13), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf13), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf9), VIf(Bf13), VOf(Bf13)); + __hv_div_f(VIf(Bf5), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf5), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_floor_f(VIf(Bf2), VOf(Bf8)); + __hv_sub_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf8), VIf(Bf2), VOf(Bf2)); + __hv_abs_f(VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf8), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf2), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf8), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf2), VOf(Bf8)); + __hv_mul_f(VIf(Bf2), VIf(Bf8), VOf(Bf0)); + __hv_mul_f(VIf(Bf0), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf11), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf10), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf0), VIf(Bf10), VOf(Bf10)); + __hv_sub_f(VIf(Bf2), VIf(Bf10), VOf(Bf10)); + __hv_fma_f(VIf(Bf8), VIf(Bf11), VIf(Bf10), VOf(Bf10)); + __hv_sub_f(VIf(Bf5), VIf(Bf10), VOf(Bf5)); + __hv_var_k_f(VOf(Bf11), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf5), VIf(Bf11), VOf(Bf11)); + __hv_mul_f(VIf(Bf13), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf5), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf5), VIf(Bf10), VOf(Bf5)); + __hv_mul_f(VIf(Bf13), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf8), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf8), VIf(Bf10), VOf(Bf8)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf8), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf13), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf8), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf10), VIf(Bf8), VOf(Bf8)); + __hv_mul_f(VIf(Bf13), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf10), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf10), VIf(Bf9), VOf(Bf9)); + __hv_mul_f(VIf(Bf13), VIf(Bf9), VOf(Bf9)); + __hv_biquad_f(&sBiquad_s_J2SXmwLe, VIf(Bf3), VIf(Bf11), VIf(Bf5), VIf(Bf2), VIf(Bf8), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf8), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf9), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf9), 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f); + __hv_min_f(VIf(Bf8), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf8), -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f); + __hv_max_f(VIf(Bf9), VIf(Bf8), VOf(Bf8)); + __hv_mul_f(VIf(Bf8), VIf(Bf8), VOf(Bf9)); + __hv_var_k_f(VOf(Bf2), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_add_f(VIf(Bf9), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf5), 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f); + __hv_var_k_f(VOf(Bf11), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_fma_f(VIf(Bf9), VIf(Bf5), VIf(Bf11), VOf(Bf11)); + __hv_div_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_mul_f(VIf(Bf8), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf8), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf11), VIf(Bf8), VOf(Bf11)); + __hv_pow_f(VIf(Bf7), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf7), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf11), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf11), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_pow_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_div_f(VIf(Bf11), VIf(Bf8), VOf(Bf8)); + __hv_mul_f(VIf(Bf7), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf7), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf11), 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f); + __hv_pow_f(VIf(Bf8), VIf(Bf11), VOf(Bf11)); + __hv_varread_f(&sVarf_7rNwdeBI, VOf(Bf2)); + __hv_mul_f(VIf(Bf11), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf11), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_fma_f(VIf(Bf8), VIf(Bf7), VIf(Bf11), VOf(Bf11)); + __hv_varread_f(&sVarf_EnIDOsdo, VOf(Bf7)); + __hv_add_f(VIf(Bf1), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf1), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf8), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf5), 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f); + __hv_min_f(VIf(Bf1), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf1), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf5), VIf(Bf1), VOf(Bf1)); + __hv_div_f(VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf2), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf7), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf7), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf2), VIf(Bf7), VOf(Bf7)); + __hv_varread_f(&sVarf_Jiw4Es3V, VOf(Bf2)); + __hv_div_f(VIf(Bf7), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf7), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf7), VOf(Bf7)); + __hv_floor_f(VIf(Bf7), VOf(Bf5)); + __hv_sub_f(VIf(Bf7), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf7), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf5), VIf(Bf7), VOf(Bf7)); + __hv_abs_f(VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf5), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf7), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf7), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf5), VIf(Bf7), VOf(Bf7)); + __hv_mul_f(VIf(Bf7), VIf(Bf7), VOf(Bf5)); + __hv_mul_f(VIf(Bf7), VIf(Bf5), VOf(Bf9)); + __hv_mul_f(VIf(Bf9), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf3), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf13), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf9), VIf(Bf13), VOf(Bf13)); + __hv_sub_f(VIf(Bf7), VIf(Bf13), VOf(Bf13)); + __hv_fma_f(VIf(Bf5), VIf(Bf3), VIf(Bf13), VOf(Bf13)); + __hv_mul_f(VIf(Bf1), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf13), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf13), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf1), VIf(Bf13), VOf(Bf13)); + __hv_div_f(VIf(Bf8), VIf(Bf13), VOf(Bf13)); + __hv_floor_f(VIf(Bf2), VOf(Bf8)); + __hv_sub_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf8), VIf(Bf2), VOf(Bf2)); + __hv_abs_f(VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf8), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf2), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf8), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf2), VOf(Bf8)); + __hv_mul_f(VIf(Bf2), VIf(Bf8), VOf(Bf3)); + __hv_mul_f(VIf(Bf3), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf5), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf7), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf3), VIf(Bf7), VOf(Bf7)); + __hv_sub_f(VIf(Bf2), VIf(Bf7), VOf(Bf7)); + __hv_fma_f(VIf(Bf8), VIf(Bf5), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf5), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf7), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf8), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf5), VIf(Bf8), VOf(Bf8)); + __hv_mul_f(VIf(Bf13), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf5), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf7), VIf(Bf5), VOf(Bf5)); + __hv_neg_f(VIf(Bf5), VOf(Bf5)); + __hv_mul_f(VIf(Bf13), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf7), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf3), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_mul_f(VIf(Bf13), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf2), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf7), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf13), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf7), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf7), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf13), VIf(Bf1), VOf(Bf1)); + __hv_biquad_f(&sBiquad_s_V1GxOo38, VIf(Bf11), VIf(Bf8), VIf(Bf5), VIf(Bf3), VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_fma_f(VIf(Bf1), VIf(Bf6), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf6), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_div_f(VIf(Bf12), VIf(Bf6), VOf(Bf6)); + __hv_add_f(VIf(Bf4), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf4), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_varread_f(&sVarf_1ozkl1Ar, VOf(Bf12)); + __hv_varread_f(&sVarf_oj8tkGiB, VOf(Bf1)); + __hv_mul_f(VIf(Bf12), VIf(Bf1), VOf(Bf1)); + __hv_varread_f(&sVarf_sChqoevv, VOf(Bf12)); + __hv_rpole_f(&sRPole_fc8fozRB, VIf(Bf1), VIf(Bf12), VOf(Bf12)); + __hv_phasor_k_f(&sPhasor_4cjQsVOb, VOf(Bf1)); + __hv_var_k_f(VOf(Bf2), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf2), VOf(Bf2)); + __hv_floor_f(VIf(Bf2), VOf(Bf3)); + __hv_sub_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf3), VIf(Bf2), VOf(Bf2)); + __hv_abs_f(VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf3), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf2), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf3), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf2), VOf(Bf3)); + __hv_mul_f(VIf(Bf2), VIf(Bf3), VOf(Bf5)); + __hv_mul_f(VIf(Bf5), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf8), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf11), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf5), VIf(Bf11), VOf(Bf11)); + __hv_sub_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_fma_f(VIf(Bf3), VIf(Bf8), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf8), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_var_k_f(VOf(Bf3), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf1), VIf(Bf8), VIf(Bf3), VOf(Bf3)); + __hv_floor_f(VIf(Bf3), VOf(Bf8)); + __hv_sub_f(VIf(Bf3), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf3), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf8), VIf(Bf3), VOf(Bf3)); + __hv_abs_f(VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf8), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf3), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf3), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf8), VIf(Bf3), VOf(Bf3)); + __hv_mul_f(VIf(Bf3), VIf(Bf3), VOf(Bf8)); + __hv_mul_f(VIf(Bf3), VIf(Bf8), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf5), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf13), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf2), VIf(Bf13), VOf(Bf13)); + __hv_sub_f(VIf(Bf3), VIf(Bf13), VOf(Bf13)); + __hv_fma_f(VIf(Bf8), VIf(Bf5), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf5), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf13), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf13), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_var_k_f(VOf(Bf8), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf1), VIf(Bf13), VIf(Bf8), VOf(Bf8)); + __hv_floor_f(VIf(Bf8), VOf(Bf13)); + __hv_sub_f(VIf(Bf8), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf8), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf13), VIf(Bf8), VOf(Bf8)); + __hv_abs_f(VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf13), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf8), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf8), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf13), VIf(Bf8), VOf(Bf8)); + __hv_mul_f(VIf(Bf8), VIf(Bf8), VOf(Bf13)); + __hv_mul_f(VIf(Bf8), VIf(Bf13), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf3), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf2), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf1), VIf(Bf2), VOf(Bf2)); + __hv_sub_f(VIf(Bf8), VIf(Bf2), VOf(Bf2)); + __hv_fma_f(VIf(Bf13), VIf(Bf3), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf3), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_div_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_add_f(VIf(Bf5), VIf(Bf3), VOf(Bf3)); + __hv_varread_f(&sVarf_zeHbGhXt, VOf(Bf5)); + __hv_varread_f(&sVarf_WSO3zyqT, VOf(Bf2)); + __hv_mul_f(VIf(Bf5), VIf(Bf2), VOf(Bf2)); + __hv_varread_f(&sVarf_r2nB2y1m, VOf(Bf5)); + __hv_rpole_f(&sRPole_mUTFYoDS, VIf(Bf2), VIf(Bf5), VOf(Bf5)); + __hv_mul_f(VIf(Bf3), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf3), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf5), VIf(Bf3), VOf(Bf3)); + __hv_fma_f(VIf(Bf12), VIf(Bf11), VIf(Bf3), VOf(Bf3)); + __hv_varread_f(&sVarf_NOYgXabI, VOf(Bf11)); + __hv_mul_f(VIf(Bf3), VIf(Bf11), VOf(Bf11)); + __hv_line_f(&sLine_cIX3zJqu, VOf(Bf3)); + __hv_mul_f(VIf(Bf11), VIf(Bf3), VOf(Bf11)); + __hv_var_k_f(VOf(Bf12), 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f); + __hv_mul_f(VIf(Bf11), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf5), 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f); + __hv_line_f(&sLine_LhlRTRkY, VOf(Bf2)); + __hv_add_f(VIf(Bf5), VIf(Bf2), VOf(Bf5)); + __hv_var_k_f(VOf(Bf13), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf8), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf1), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf7), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf13), VIf(Bf7), VOf(Bf7)); + __hv_div_f(VIf(Bf1), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf1), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf5), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf5), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf1), VIf(Bf5), VOf(Bf5)); + __hv_varread_f(&sVarf_ruyibc4Y, VOf(Bf1)); + __hv_div_f(VIf(Bf5), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf5), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf5), VOf(Bf5)); + __hv_floor_f(VIf(Bf5), VOf(Bf13)); + __hv_sub_f(VIf(Bf5), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf5), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf13), VIf(Bf5), VOf(Bf5)); + __hv_abs_f(VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf13), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf5), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf5), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf13), VIf(Bf5), VOf(Bf5)); + __hv_mul_f(VIf(Bf5), VIf(Bf5), VOf(Bf13)); + __hv_mul_f(VIf(Bf5), VIf(Bf13), VOf(Bf9)); + __hv_mul_f(VIf(Bf9), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf10), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf0), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf9), VIf(Bf0), VOf(Bf0)); + __hv_sub_f(VIf(Bf5), VIf(Bf0), VOf(Bf0)); + __hv_fma_f(VIf(Bf13), VIf(Bf10), VIf(Bf0), VOf(Bf0)); + __hv_mul_f(VIf(Bf7), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf7), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf0), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf0), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf7), VIf(Bf0), VOf(Bf0)); + __hv_div_f(VIf(Bf8), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf8), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_floor_f(VIf(Bf1), VOf(Bf10)); + __hv_sub_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf10), VIf(Bf1), VOf(Bf1)); + __hv_abs_f(VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf10), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf1), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf10), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf1), VOf(Bf10)); + __hv_mul_f(VIf(Bf1), VIf(Bf10), VOf(Bf13)); + __hv_mul_f(VIf(Bf13), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf5), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf9), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf13), VIf(Bf9), VOf(Bf9)); + __hv_sub_f(VIf(Bf1), VIf(Bf9), VOf(Bf9)); + __hv_fma_f(VIf(Bf10), VIf(Bf5), VIf(Bf9), VOf(Bf9)); + __hv_sub_f(VIf(Bf8), VIf(Bf9), VOf(Bf8)); + __hv_var_k_f(VOf(Bf5), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf8), VIf(Bf5), VOf(Bf5)); + __hv_mul_f(VIf(Bf0), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf8), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf8), VIf(Bf9), VOf(Bf8)); + __hv_mul_f(VIf(Bf0), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf10), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf10), VIf(Bf9), VOf(Bf10)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf10), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf0), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf10), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf9), VIf(Bf10), VOf(Bf10)); + __hv_mul_f(VIf(Bf0), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf9), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf9), VIf(Bf7), VOf(Bf7)); + __hv_mul_f(VIf(Bf0), VIf(Bf7), VOf(Bf7)); + __hv_biquad_f(&sBiquad_s_yl5UTiMA, VIf(Bf12), VIf(Bf5), VIf(Bf8), VIf(Bf1), VIf(Bf10), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf10), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf7), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf7), 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f); + __hv_min_f(VIf(Bf10), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf10), -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f); + __hv_max_f(VIf(Bf7), VIf(Bf10), VOf(Bf10)); + __hv_mul_f(VIf(Bf10), VIf(Bf10), VOf(Bf7)); + __hv_var_k_f(VOf(Bf1), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_add_f(VIf(Bf7), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf8), 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f); + __hv_var_k_f(VOf(Bf5), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_fma_f(VIf(Bf7), VIf(Bf8), VIf(Bf5), VOf(Bf5)); + __hv_div_f(VIf(Bf1), VIf(Bf5), VOf(Bf5)); + __hv_mul_f(VIf(Bf10), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf10), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf5), VIf(Bf10), VOf(Bf5)); + __hv_pow_f(VIf(Bf4), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf4), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf5), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf5), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf1), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_pow_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_div_f(VIf(Bf5), VIf(Bf10), VOf(Bf10)); + __hv_mul_f(VIf(Bf4), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf4), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf5), 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f); + __hv_pow_f(VIf(Bf10), VIf(Bf5), VOf(Bf5)); + __hv_varread_f(&sVarf_sna6KPtA, VOf(Bf1)); + __hv_mul_f(VIf(Bf5), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf5), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf1), VIf(Bf5), VOf(Bf5)); + __hv_fma_f(VIf(Bf10), VIf(Bf4), VIf(Bf5), VOf(Bf5)); + __hv_varread_f(&sVarf_e5DnsKGN, VOf(Bf4)); + __hv_add_f(VIf(Bf2), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf2), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf10), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf1), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf8), 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f); + __hv_min_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf2), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf8), VIf(Bf2), VOf(Bf2)); + __hv_div_f(VIf(Bf1), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf1), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf4), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf4), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf1), VIf(Bf4), VOf(Bf4)); + __hv_varread_f(&sVarf_zp8XrZmD, VOf(Bf1)); + __hv_div_f(VIf(Bf4), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf4), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf4), VOf(Bf4)); + __hv_floor_f(VIf(Bf4), VOf(Bf8)); + __hv_sub_f(VIf(Bf4), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf4), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf8), VIf(Bf4), VOf(Bf4)); + __hv_abs_f(VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf8), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf4), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf4), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf8), VIf(Bf4), VOf(Bf4)); + __hv_mul_f(VIf(Bf4), VIf(Bf4), VOf(Bf8)); + __hv_mul_f(VIf(Bf4), VIf(Bf8), VOf(Bf7)); + __hv_mul_f(VIf(Bf7), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf12), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf0), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf7), VIf(Bf0), VOf(Bf0)); + __hv_sub_f(VIf(Bf4), VIf(Bf0), VOf(Bf0)); + __hv_fma_f(VIf(Bf8), VIf(Bf12), VIf(Bf0), VOf(Bf0)); + __hv_mul_f(VIf(Bf2), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf0), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf0), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf2), VIf(Bf0), VOf(Bf0)); + __hv_div_f(VIf(Bf10), VIf(Bf0), VOf(Bf0)); + __hv_floor_f(VIf(Bf1), VOf(Bf10)); + __hv_sub_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf10), VIf(Bf1), VOf(Bf1)); + __hv_abs_f(VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf10), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf1), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf10), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf1), VOf(Bf10)); + __hv_mul_f(VIf(Bf1), VIf(Bf10), VOf(Bf12)); + __hv_mul_f(VIf(Bf12), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf8), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf4), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf12), VIf(Bf4), VOf(Bf4)); + __hv_sub_f(VIf(Bf1), VIf(Bf4), VOf(Bf4)); + __hv_fma_f(VIf(Bf10), VIf(Bf8), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf8), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf4), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf10), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf8), VIf(Bf10), VOf(Bf10)); + __hv_mul_f(VIf(Bf0), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf8), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf4), VIf(Bf8), VOf(Bf8)); + __hv_neg_f(VIf(Bf8), VOf(Bf8)); + __hv_mul_f(VIf(Bf0), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf1), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf4), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf12), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf1), VIf(Bf12), VOf(Bf12)); + __hv_mul_f(VIf(Bf0), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf1), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf4), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf0), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf4), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf4), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf0), VIf(Bf2), VOf(Bf2)); + __hv_biquad_f(&sBiquad_s_w1lsyZ09, VIf(Bf5), VIf(Bf10), VIf(Bf8), VIf(Bf12), VIf(Bf1), VIf(Bf2), VOf(Bf2)); + __hv_fma_f(VIf(Bf2), VIf(Bf3), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf3), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_div_f(VIf(Bf11), VIf(Bf3), VOf(Bf3)); + __hv_add_f(VIf(Bf6), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf6), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_varread_f(&sVarf_kx1tzfa7, VOf(Bf11)); + __hv_varread_f(&sVarf_7O0Uks8x, VOf(Bf2)); + __hv_mul_f(VIf(Bf11), VIf(Bf2), VOf(Bf2)); + __hv_varread_f(&sVarf_DyUZzAkb, VOf(Bf11)); + __hv_rpole_f(&sRPole_6w5YBg62, VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_phasor_k_f(&sPhasor_D5sKYl8D, VOf(Bf2)); + __hv_var_k_f(VOf(Bf1), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_floor_f(VIf(Bf1), VOf(Bf12)); + __hv_sub_f(VIf(Bf1), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf12), VIf(Bf1), VOf(Bf1)); + __hv_abs_f(VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf12), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf1), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf12), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf1), VOf(Bf12)); + __hv_mul_f(VIf(Bf1), VIf(Bf12), VOf(Bf8)); + __hv_mul_f(VIf(Bf8), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf10), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf5), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf8), VIf(Bf5), VOf(Bf5)); + __hv_sub_f(VIf(Bf1), VIf(Bf5), VOf(Bf5)); + __hv_fma_f(VIf(Bf12), VIf(Bf10), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf10), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_var_k_f(VOf(Bf12), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf2), VIf(Bf10), VIf(Bf12), VOf(Bf12)); + __hv_floor_f(VIf(Bf12), VOf(Bf10)); + __hv_sub_f(VIf(Bf12), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf12), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf10), VIf(Bf12), VOf(Bf12)); + __hv_abs_f(VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf10), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf12), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf12), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf10), VIf(Bf12), VOf(Bf12)); + __hv_mul_f(VIf(Bf12), VIf(Bf12), VOf(Bf10)); + __hv_mul_f(VIf(Bf12), VIf(Bf10), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf8), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf0), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf1), VIf(Bf0), VOf(Bf0)); + __hv_sub_f(VIf(Bf12), VIf(Bf0), VOf(Bf0)); + __hv_fma_f(VIf(Bf10), VIf(Bf8), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf8), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf0), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf0), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_var_k_f(VOf(Bf10), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf2), VIf(Bf0), VIf(Bf10), VOf(Bf10)); + __hv_floor_f(VIf(Bf10), VOf(Bf0)); + __hv_sub_f(VIf(Bf10), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf10), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf0), VIf(Bf10), VOf(Bf10)); + __hv_abs_f(VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf0), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf10), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf10), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf0), VIf(Bf10), VOf(Bf10)); + __hv_mul_f(VIf(Bf10), VIf(Bf10), VOf(Bf0)); + __hv_mul_f(VIf(Bf10), VIf(Bf0), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf12), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf1), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_sub_f(VIf(Bf10), VIf(Bf1), VOf(Bf1)); + __hv_fma_f(VIf(Bf0), VIf(Bf12), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf12), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_div_f(VIf(Bf1), VIf(Bf12), VOf(Bf12)); + __hv_add_f(VIf(Bf8), VIf(Bf12), VOf(Bf12)); + __hv_varread_f(&sVarf_nFQtbdVq, VOf(Bf8)); + __hv_varread_f(&sVarf_8A33dqbR, VOf(Bf1)); + __hv_mul_f(VIf(Bf8), VIf(Bf1), VOf(Bf1)); + __hv_varread_f(&sVarf_K4mxXcbU, VOf(Bf8)); + __hv_rpole_f(&sRPole_RSpjeLQ7, VIf(Bf1), VIf(Bf8), VOf(Bf8)); + __hv_mul_f(VIf(Bf12), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf12), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf8), VIf(Bf12), VOf(Bf12)); + __hv_fma_f(VIf(Bf11), VIf(Bf5), VIf(Bf12), VOf(Bf12)); + __hv_varread_f(&sVarf_gMuBQaiz, VOf(Bf5)); + __hv_mul_f(VIf(Bf12), VIf(Bf5), VOf(Bf5)); + __hv_line_f(&sLine_0sWTZ5AU, VOf(Bf12)); + __hv_mul_f(VIf(Bf5), VIf(Bf12), VOf(Bf5)); + __hv_var_k_f(VOf(Bf11), 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f); + __hv_mul_f(VIf(Bf5), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf8), 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f); + __hv_line_f(&sLine_RzEGSGrh, VOf(Bf1)); + __hv_add_f(VIf(Bf8), VIf(Bf1), VOf(Bf8)); + __hv_var_k_f(VOf(Bf0), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf10), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf4), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf0), VIf(Bf4), VOf(Bf4)); + __hv_div_f(VIf(Bf2), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf2), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf8), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf8), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_varread_f(&sVarf_LGgQiJgX, VOf(Bf2)); + __hv_div_f(VIf(Bf8), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf8), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_floor_f(VIf(Bf8), VOf(Bf0)); + __hv_sub_f(VIf(Bf8), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf8), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf0), VIf(Bf8), VOf(Bf8)); + __hv_abs_f(VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf0), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf8), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf8), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf0), VIf(Bf8), VOf(Bf8)); + __hv_mul_f(VIf(Bf8), VIf(Bf8), VOf(Bf0)); + __hv_mul_f(VIf(Bf8), VIf(Bf0), VOf(Bf7)); + __hv_mul_f(VIf(Bf7), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf9), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf13), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf7), VIf(Bf13), VOf(Bf13)); + __hv_sub_f(VIf(Bf8), VIf(Bf13), VOf(Bf13)); + __hv_fma_f(VIf(Bf0), VIf(Bf9), VIf(Bf13), VOf(Bf13)); + __hv_mul_f(VIf(Bf4), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf4), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf13), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf13), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf4), VIf(Bf13), VOf(Bf13)); + __hv_div_f(VIf(Bf10), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf10), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_floor_f(VIf(Bf2), VOf(Bf9)); + __hv_sub_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf9), VIf(Bf2), VOf(Bf2)); + __hv_abs_f(VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf9), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf2), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf9), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf2), VOf(Bf9)); + __hv_mul_f(VIf(Bf2), VIf(Bf9), VOf(Bf0)); + __hv_mul_f(VIf(Bf0), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf8), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf7), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf0), VIf(Bf7), VOf(Bf7)); + __hv_sub_f(VIf(Bf2), VIf(Bf7), VOf(Bf7)); + __hv_fma_f(VIf(Bf9), VIf(Bf8), VIf(Bf7), VOf(Bf7)); + __hv_sub_f(VIf(Bf10), VIf(Bf7), VOf(Bf10)); + __hv_var_k_f(VOf(Bf8), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf10), VIf(Bf8), VOf(Bf8)); + __hv_mul_f(VIf(Bf13), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf10), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf10), VIf(Bf7), VOf(Bf10)); + __hv_mul_f(VIf(Bf13), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf9), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf9), VIf(Bf7), VOf(Bf9)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf9), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf13), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf9), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf7), VIf(Bf9), VOf(Bf9)); + __hv_mul_f(VIf(Bf13), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf7), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf7), VIf(Bf4), VOf(Bf4)); + __hv_mul_f(VIf(Bf13), VIf(Bf4), VOf(Bf4)); + __hv_biquad_f(&sBiquad_s_RKAk6kYo, VIf(Bf11), VIf(Bf8), VIf(Bf10), VIf(Bf2), VIf(Bf9), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf9), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf4), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf4), 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f); + __hv_min_f(VIf(Bf9), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf9), -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f); + __hv_max_f(VIf(Bf4), VIf(Bf9), VOf(Bf9)); + __hv_mul_f(VIf(Bf9), VIf(Bf9), VOf(Bf4)); + __hv_var_k_f(VOf(Bf2), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_add_f(VIf(Bf4), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf10), 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f); + __hv_var_k_f(VOf(Bf8), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_fma_f(VIf(Bf4), VIf(Bf10), VIf(Bf8), VOf(Bf8)); + __hv_div_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_mul_f(VIf(Bf9), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf9), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf8), VIf(Bf9), VOf(Bf8)); + __hv_pow_f(VIf(Bf6), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf8), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf8), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_pow_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_div_f(VIf(Bf8), VIf(Bf9), VOf(Bf9)); + __hv_mul_f(VIf(Bf6), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf8), 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f); + __hv_pow_f(VIf(Bf9), VIf(Bf8), VOf(Bf8)); + __hv_varread_f(&sVarf_2h60wK8h, VOf(Bf2)); + __hv_mul_f(VIf(Bf8), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf8), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_fma_f(VIf(Bf9), VIf(Bf6), VIf(Bf8), VOf(Bf8)); + __hv_varread_f(&sVarf_4WWOmkn4, VOf(Bf6)); + __hv_add_f(VIf(Bf1), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf1), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf9), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf10), 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f); + __hv_min_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf1), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf10), VIf(Bf1), VOf(Bf1)); + __hv_div_f(VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf2), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf6), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf6), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf2), VIf(Bf6), VOf(Bf6)); + __hv_varread_f(&sVarf_tfwRhNIy, VOf(Bf2)); + __hv_div_f(VIf(Bf6), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf6), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf6), VOf(Bf6)); + __hv_floor_f(VIf(Bf6), VOf(Bf10)); + __hv_sub_f(VIf(Bf6), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf6), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf10), VIf(Bf6), VOf(Bf6)); + __hv_abs_f(VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf10), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf6), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf6), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf10), VIf(Bf6), VOf(Bf6)); + __hv_mul_f(VIf(Bf6), VIf(Bf6), VOf(Bf10)); + __hv_mul_f(VIf(Bf6), VIf(Bf10), VOf(Bf4)); + __hv_mul_f(VIf(Bf4), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf11), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf13), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf4), VIf(Bf13), VOf(Bf13)); + __hv_sub_f(VIf(Bf6), VIf(Bf13), VOf(Bf13)); + __hv_fma_f(VIf(Bf10), VIf(Bf11), VIf(Bf13), VOf(Bf13)); + __hv_mul_f(VIf(Bf1), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf13), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf13), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf1), VIf(Bf13), VOf(Bf13)); + __hv_div_f(VIf(Bf9), VIf(Bf13), VOf(Bf13)); + __hv_floor_f(VIf(Bf2), VOf(Bf9)); + __hv_sub_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf9), VIf(Bf2), VOf(Bf2)); + __hv_abs_f(VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf9), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf2), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf9), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf2), VOf(Bf9)); + __hv_mul_f(VIf(Bf2), VIf(Bf9), VOf(Bf11)); + __hv_mul_f(VIf(Bf11), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf10), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf6), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf11), VIf(Bf6), VOf(Bf6)); + __hv_sub_f(VIf(Bf2), VIf(Bf6), VOf(Bf6)); + __hv_fma_f(VIf(Bf9), VIf(Bf10), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf10), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf6), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf9), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf10), VIf(Bf9), VOf(Bf9)); + __hv_mul_f(VIf(Bf13), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf10), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf6), VIf(Bf10), VOf(Bf10)); + __hv_neg_f(VIf(Bf10), VOf(Bf10)); + __hv_mul_f(VIf(Bf13), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf6), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf11), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_mul_f(VIf(Bf13), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf2), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf6), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf13), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf6), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf13), VIf(Bf1), VOf(Bf1)); + __hv_biquad_f(&sBiquad_s_tKqK3PD8, VIf(Bf8), VIf(Bf9), VIf(Bf10), VIf(Bf11), VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_fma_f(VIf(Bf1), VIf(Bf12), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf12), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_div_f(VIf(Bf5), VIf(Bf12), VOf(Bf12)); + __hv_add_f(VIf(Bf3), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf3), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_varread_f(&sVarf_4tw7syWZ, VOf(Bf5)); + __hv_varread_f(&sVarf_Q2qDb61i, VOf(Bf1)); + __hv_mul_f(VIf(Bf5), VIf(Bf1), VOf(Bf1)); + __hv_varread_f(&sVarf_P4bF2htA, VOf(Bf5)); + __hv_rpole_f(&sRPole_rortzBCV, VIf(Bf1), VIf(Bf5), VOf(Bf5)); + __hv_phasor_k_f(&sPhasor_EcWjv2sM, VOf(Bf1)); + __hv_var_k_f(VOf(Bf2), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf2), VOf(Bf2)); + __hv_floor_f(VIf(Bf2), VOf(Bf11)); + __hv_sub_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf11), VIf(Bf2), VOf(Bf2)); + __hv_abs_f(VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf11), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf2), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf11), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf2), VOf(Bf11)); + __hv_mul_f(VIf(Bf2), VIf(Bf11), VOf(Bf10)); + __hv_mul_f(VIf(Bf10), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf9), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf8), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf10), VIf(Bf8), VOf(Bf8)); + __hv_sub_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_fma_f(VIf(Bf11), VIf(Bf9), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf9), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_var_k_f(VOf(Bf11), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf1), VIf(Bf9), VIf(Bf11), VOf(Bf11)); + __hv_floor_f(VIf(Bf11), VOf(Bf9)); + __hv_sub_f(VIf(Bf11), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf11), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf9), VIf(Bf11), VOf(Bf11)); + __hv_abs_f(VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf9), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf11), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf11), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf9), VIf(Bf11), VOf(Bf11)); + __hv_mul_f(VIf(Bf11), VIf(Bf11), VOf(Bf9)); + __hv_mul_f(VIf(Bf11), VIf(Bf9), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf10), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf13), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf2), VIf(Bf13), VOf(Bf13)); + __hv_sub_f(VIf(Bf11), VIf(Bf13), VOf(Bf13)); + __hv_fma_f(VIf(Bf9), VIf(Bf10), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf10), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf13), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf13), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_var_k_f(VOf(Bf9), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf1), VIf(Bf13), VIf(Bf9), VOf(Bf9)); + __hv_floor_f(VIf(Bf9), VOf(Bf13)); + __hv_sub_f(VIf(Bf9), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf9), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf13), VIf(Bf9), VOf(Bf9)); + __hv_abs_f(VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf13), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf9), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf9), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf13), VIf(Bf9), VOf(Bf9)); + __hv_mul_f(VIf(Bf9), VIf(Bf9), VOf(Bf13)); + __hv_mul_f(VIf(Bf9), VIf(Bf13), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf11), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf2), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf1), VIf(Bf2), VOf(Bf2)); + __hv_sub_f(VIf(Bf9), VIf(Bf2), VOf(Bf2)); + __hv_fma_f(VIf(Bf13), VIf(Bf11), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf11), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_div_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_add_f(VIf(Bf10), VIf(Bf11), VOf(Bf11)); + __hv_varread_f(&sVarf_Uj8v2gts, VOf(Bf10)); + __hv_varread_f(&sVarf_9lhwrhxA, VOf(Bf2)); + __hv_mul_f(VIf(Bf10), VIf(Bf2), VOf(Bf2)); + __hv_varread_f(&sVarf_Gzvbv7EO, VOf(Bf10)); + __hv_rpole_f(&sRPole_h1PimpFg, VIf(Bf2), VIf(Bf10), VOf(Bf10)); + __hv_mul_f(VIf(Bf11), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf11), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf10), VIf(Bf11), VOf(Bf11)); + __hv_fma_f(VIf(Bf5), VIf(Bf8), VIf(Bf11), VOf(Bf11)); + __hv_varread_f(&sVarf_QndJgocL, VOf(Bf8)); + __hv_mul_f(VIf(Bf11), VIf(Bf8), VOf(Bf8)); + __hv_line_f(&sLine_dkF12Ve6, VOf(Bf11)); + __hv_mul_f(VIf(Bf8), VIf(Bf11), VOf(Bf8)); + __hv_var_k_f(VOf(Bf5), 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f); + __hv_mul_f(VIf(Bf8), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf10), 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f); + __hv_line_f(&sLine_qf13Df9a, VOf(Bf2)); + __hv_add_f(VIf(Bf10), VIf(Bf2), VOf(Bf10)); + __hv_var_k_f(VOf(Bf13), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf9), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf1), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf6), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf13), VIf(Bf6), VOf(Bf6)); + __hv_div_f(VIf(Bf1), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf1), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf10), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf10), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_varread_f(&sVarf_gG3oyfVr, VOf(Bf1)); + __hv_div_f(VIf(Bf10), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf10), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_floor_f(VIf(Bf10), VOf(Bf13)); + __hv_sub_f(VIf(Bf10), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf10), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf13), VIf(Bf10), VOf(Bf10)); + __hv_abs_f(VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf13), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf10), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf10), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf13), VIf(Bf10), VOf(Bf10)); + __hv_mul_f(VIf(Bf10), VIf(Bf10), VOf(Bf13)); + __hv_mul_f(VIf(Bf10), VIf(Bf13), VOf(Bf4)); + __hv_mul_f(VIf(Bf4), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf7), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf0), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf4), VIf(Bf0), VOf(Bf0)); + __hv_sub_f(VIf(Bf10), VIf(Bf0), VOf(Bf0)); + __hv_fma_f(VIf(Bf13), VIf(Bf7), VIf(Bf0), VOf(Bf0)); + __hv_mul_f(VIf(Bf6), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf6), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf0), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf0), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf6), VIf(Bf0), VOf(Bf0)); + __hv_div_f(VIf(Bf9), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf9), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_floor_f(VIf(Bf1), VOf(Bf7)); + __hv_sub_f(VIf(Bf1), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf7), VIf(Bf1), VOf(Bf1)); + __hv_abs_f(VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf7), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf1), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf7), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf1), VOf(Bf7)); + __hv_mul_f(VIf(Bf1), VIf(Bf7), VOf(Bf13)); + __hv_mul_f(VIf(Bf13), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf10), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf4), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf13), VIf(Bf4), VOf(Bf4)); + __hv_sub_f(VIf(Bf1), VIf(Bf4), VOf(Bf4)); + __hv_fma_f(VIf(Bf7), VIf(Bf10), VIf(Bf4), VOf(Bf4)); + __hv_sub_f(VIf(Bf9), VIf(Bf4), VOf(Bf9)); + __hv_var_k_f(VOf(Bf10), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf9), VIf(Bf10), VOf(Bf10)); + __hv_mul_f(VIf(Bf0), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf9), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf9), VIf(Bf4), VOf(Bf9)); + __hv_mul_f(VIf(Bf0), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf7), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf7), VIf(Bf4), VOf(Bf7)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf7), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf0), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf7), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf4), VIf(Bf7), VOf(Bf7)); + __hv_mul_f(VIf(Bf0), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf4), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf4), VIf(Bf6), VOf(Bf6)); + __hv_mul_f(VIf(Bf0), VIf(Bf6), VOf(Bf6)); + __hv_biquad_f(&sBiquad_s_5ZyVy244, VIf(Bf5), VIf(Bf10), VIf(Bf9), VIf(Bf1), VIf(Bf7), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf7), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf6), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf6), 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f); + __hv_min_f(VIf(Bf7), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf7), -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f); + __hv_max_f(VIf(Bf6), VIf(Bf7), VOf(Bf7)); + __hv_mul_f(VIf(Bf7), VIf(Bf7), VOf(Bf6)); + __hv_var_k_f(VOf(Bf1), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_add_f(VIf(Bf6), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf9), 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f); + __hv_var_k_f(VOf(Bf10), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_fma_f(VIf(Bf6), VIf(Bf9), VIf(Bf10), VOf(Bf10)); + __hv_div_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_mul_f(VIf(Bf7), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf7), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf10), VIf(Bf7), VOf(Bf10)); + __hv_pow_f(VIf(Bf3), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf3), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf10), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf10), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf1), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_pow_f(VIf(Bf1), VIf(Bf7), VOf(Bf7)); + __hv_div_f(VIf(Bf10), VIf(Bf7), VOf(Bf7)); + __hv_mul_f(VIf(Bf3), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf3), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf10), 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f); + __hv_pow_f(VIf(Bf7), VIf(Bf10), VOf(Bf10)); + __hv_varread_f(&sVarf_3PZoK8Te, VOf(Bf1)); + __hv_mul_f(VIf(Bf10), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf10), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_fma_f(VIf(Bf7), VIf(Bf3), VIf(Bf10), VOf(Bf10)); + __hv_varread_f(&sVarf_7P4pkLFI, VOf(Bf3)); + __hv_add_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf2), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf7), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf1), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf9), 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f); + __hv_min_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf2), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf9), VIf(Bf2), VOf(Bf2)); + __hv_div_f(VIf(Bf1), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf1), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf3), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf3), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf1), VIf(Bf3), VOf(Bf3)); + __hv_varread_f(&sVarf_LJPeQeRw, VOf(Bf1)); + __hv_div_f(VIf(Bf3), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf3), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf3), VOf(Bf3)); + __hv_floor_f(VIf(Bf3), VOf(Bf9)); + __hv_sub_f(VIf(Bf3), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf3), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf9), VIf(Bf3), VOf(Bf3)); + __hv_abs_f(VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf9), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf3), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf3), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf9), VIf(Bf3), VOf(Bf3)); + __hv_mul_f(VIf(Bf3), VIf(Bf3), VOf(Bf9)); + __hv_mul_f(VIf(Bf3), VIf(Bf9), VOf(Bf6)); + __hv_mul_f(VIf(Bf6), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf5), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf0), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf6), VIf(Bf0), VOf(Bf0)); + __hv_sub_f(VIf(Bf3), VIf(Bf0), VOf(Bf0)); + __hv_fma_f(VIf(Bf9), VIf(Bf5), VIf(Bf0), VOf(Bf0)); + __hv_mul_f(VIf(Bf2), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf0), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf0), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf2), VIf(Bf0), VOf(Bf0)); + __hv_div_f(VIf(Bf7), VIf(Bf0), VOf(Bf0)); + __hv_floor_f(VIf(Bf1), VOf(Bf7)); + __hv_sub_f(VIf(Bf1), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf7), VIf(Bf1), VOf(Bf1)); + __hv_abs_f(VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf7), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf1), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf7), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf1), VOf(Bf7)); + __hv_mul_f(VIf(Bf1), VIf(Bf7), VOf(Bf5)); + __hv_mul_f(VIf(Bf5), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf9), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf3), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf5), VIf(Bf3), VOf(Bf3)); + __hv_sub_f(VIf(Bf1), VIf(Bf3), VOf(Bf3)); + __hv_fma_f(VIf(Bf7), VIf(Bf9), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf9), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf3), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf7), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf9), VIf(Bf7), VOf(Bf7)); + __hv_mul_f(VIf(Bf0), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf9), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf3), VIf(Bf9), VOf(Bf9)); + __hv_neg_f(VIf(Bf9), VOf(Bf9)); + __hv_mul_f(VIf(Bf0), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf1), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf3), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf5), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf1), VIf(Bf5), VOf(Bf5)); + __hv_mul_f(VIf(Bf0), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf1), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf3), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf0), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf3), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf3), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf0), VIf(Bf2), VOf(Bf2)); + __hv_biquad_f(&sBiquad_s_iY0l9PpE, VIf(Bf10), VIf(Bf7), VIf(Bf9), VIf(Bf5), VIf(Bf1), VIf(Bf2), VOf(Bf2)); + __hv_fma_f(VIf(Bf2), VIf(Bf11), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf11), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_div_f(VIf(Bf8), VIf(Bf11), VOf(Bf11)); + __hv_add_f(VIf(Bf12), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf12), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_varread_f(&sVarf_9dY6u1g9, VOf(Bf8)); + __hv_varread_f(&sVarf_ya0UY0D5, VOf(Bf2)); + __hv_mul_f(VIf(Bf8), VIf(Bf2), VOf(Bf2)); + __hv_varread_f(&sVarf_WdJqQKz5, VOf(Bf8)); + __hv_rpole_f(&sRPole_ENY5kCjf, VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_phasor_k_f(&sPhasor_E5G3BDc3, VOf(Bf2)); + __hv_var_k_f(VOf(Bf1), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_floor_f(VIf(Bf1), VOf(Bf5)); + __hv_sub_f(VIf(Bf1), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf5), VIf(Bf1), VOf(Bf1)); + __hv_abs_f(VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf5), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf1), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf5), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf1), VOf(Bf5)); + __hv_mul_f(VIf(Bf1), VIf(Bf5), VOf(Bf9)); + __hv_mul_f(VIf(Bf9), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf7), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf10), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf9), VIf(Bf10), VOf(Bf10)); + __hv_sub_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_fma_f(VIf(Bf5), VIf(Bf7), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf7), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_var_k_f(VOf(Bf5), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf2), VIf(Bf7), VIf(Bf5), VOf(Bf5)); + __hv_floor_f(VIf(Bf5), VOf(Bf7)); + __hv_sub_f(VIf(Bf5), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf5), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf7), VIf(Bf5), VOf(Bf5)); + __hv_abs_f(VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf7), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf5), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf5), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf7), VIf(Bf5), VOf(Bf5)); + __hv_mul_f(VIf(Bf5), VIf(Bf5), VOf(Bf7)); + __hv_mul_f(VIf(Bf5), VIf(Bf7), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf9), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf0), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf1), VIf(Bf0), VOf(Bf0)); + __hv_sub_f(VIf(Bf5), VIf(Bf0), VOf(Bf0)); + __hv_fma_f(VIf(Bf7), VIf(Bf9), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf9), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf0), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf0), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_var_k_f(VOf(Bf7), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf2), VIf(Bf0), VIf(Bf7), VOf(Bf7)); + __hv_floor_f(VIf(Bf7), VOf(Bf0)); + __hv_sub_f(VIf(Bf7), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf7), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf0), VIf(Bf7), VOf(Bf7)); + __hv_abs_f(VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf0), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf7), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf7), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf0), VIf(Bf7), VOf(Bf7)); + __hv_mul_f(VIf(Bf7), VIf(Bf7), VOf(Bf0)); + __hv_mul_f(VIf(Bf7), VIf(Bf0), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf5), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf1), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_sub_f(VIf(Bf7), VIf(Bf1), VOf(Bf1)); + __hv_fma_f(VIf(Bf0), VIf(Bf5), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf5), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_div_f(VIf(Bf1), VIf(Bf5), VOf(Bf5)); + __hv_add_f(VIf(Bf9), VIf(Bf5), VOf(Bf5)); + __hv_varread_f(&sVarf_Tln43Iuf, VOf(Bf9)); + __hv_varread_f(&sVarf_lbmQbBe1, VOf(Bf1)); + __hv_mul_f(VIf(Bf9), VIf(Bf1), VOf(Bf1)); + __hv_varread_f(&sVarf_QJuMdqAL, VOf(Bf9)); + __hv_rpole_f(&sRPole_FcnY2nUH, VIf(Bf1), VIf(Bf9), VOf(Bf9)); + __hv_mul_f(VIf(Bf5), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf5), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf9), VIf(Bf5), VOf(Bf5)); + __hv_fma_f(VIf(Bf8), VIf(Bf10), VIf(Bf5), VOf(Bf5)); + __hv_varread_f(&sVarf_jkwvGNGq, VOf(Bf10)); + __hv_mul_f(VIf(Bf5), VIf(Bf10), VOf(Bf10)); + __hv_line_f(&sLine_7VShF34d, VOf(Bf5)); + __hv_mul_f(VIf(Bf10), VIf(Bf5), VOf(Bf10)); + __hv_var_k_f(VOf(Bf8), 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f); + __hv_mul_f(VIf(Bf10), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf9), 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f); + __hv_line_f(&sLine_cB6SyVDf, VOf(Bf1)); + __hv_add_f(VIf(Bf9), VIf(Bf1), VOf(Bf9)); + __hv_var_k_f(VOf(Bf0), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf7), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf3), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf0), VIf(Bf3), VOf(Bf3)); + __hv_div_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf2), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf9), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf9), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_varread_f(&sVarf_bwlmwK6X, VOf(Bf2)); + __hv_div_f(VIf(Bf9), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf9), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_floor_f(VIf(Bf9), VOf(Bf0)); + __hv_sub_f(VIf(Bf9), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf9), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf0), VIf(Bf9), VOf(Bf9)); + __hv_abs_f(VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf0), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf9), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf9), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf0), VIf(Bf9), VOf(Bf9)); + __hv_mul_f(VIf(Bf9), VIf(Bf9), VOf(Bf0)); + __hv_mul_f(VIf(Bf9), VIf(Bf0), VOf(Bf6)); + __hv_mul_f(VIf(Bf6), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf4), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf13), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf6), VIf(Bf13), VOf(Bf13)); + __hv_sub_f(VIf(Bf9), VIf(Bf13), VOf(Bf13)); + __hv_fma_f(VIf(Bf0), VIf(Bf4), VIf(Bf13), VOf(Bf13)); + __hv_mul_f(VIf(Bf3), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf3), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf13), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf13), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf3), VIf(Bf13), VOf(Bf13)); + __hv_div_f(VIf(Bf7), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf7), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_floor_f(VIf(Bf2), VOf(Bf4)); + __hv_sub_f(VIf(Bf2), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf4), VIf(Bf2), VOf(Bf2)); + __hv_abs_f(VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf4), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf2), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf4), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf2), VOf(Bf4)); + __hv_mul_f(VIf(Bf2), VIf(Bf4), VOf(Bf0)); + __hv_mul_f(VIf(Bf0), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf9), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf6), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf0), VIf(Bf6), VOf(Bf6)); + __hv_sub_f(VIf(Bf2), VIf(Bf6), VOf(Bf6)); + __hv_fma_f(VIf(Bf4), VIf(Bf9), VIf(Bf6), VOf(Bf6)); + __hv_sub_f(VIf(Bf7), VIf(Bf6), VOf(Bf7)); + __hv_var_k_f(VOf(Bf9), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf7), VIf(Bf9), VOf(Bf9)); + __hv_mul_f(VIf(Bf13), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf7), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf7), VIf(Bf6), VOf(Bf7)); + __hv_mul_f(VIf(Bf13), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf4), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf4), VIf(Bf6), VOf(Bf4)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf4), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf13), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf4), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf6), VIf(Bf4), VOf(Bf4)); + __hv_mul_f(VIf(Bf13), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf6), VIf(Bf3), VOf(Bf3)); + __hv_mul_f(VIf(Bf13), VIf(Bf3), VOf(Bf3)); + __hv_biquad_f(&sBiquad_s_lTst5uXH, VIf(Bf8), VIf(Bf9), VIf(Bf7), VIf(Bf2), VIf(Bf4), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf4), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf3), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf3), 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f); + __hv_min_f(VIf(Bf4), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf4), -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f); + __hv_max_f(VIf(Bf3), VIf(Bf4), VOf(Bf4)); + __hv_mul_f(VIf(Bf4), VIf(Bf4), VOf(Bf3)); + __hv_var_k_f(VOf(Bf2), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_add_f(VIf(Bf3), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf7), 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f); + __hv_var_k_f(VOf(Bf9), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_fma_f(VIf(Bf3), VIf(Bf7), VIf(Bf9), VOf(Bf9)); + __hv_div_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_mul_f(VIf(Bf4), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf4), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf9), VIf(Bf4), VOf(Bf9)); + __hv_pow_f(VIf(Bf12), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf12), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf9), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf9), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_pow_f(VIf(Bf2), VIf(Bf4), VOf(Bf4)); + __hv_div_f(VIf(Bf9), VIf(Bf4), VOf(Bf4)); + __hv_mul_f(VIf(Bf12), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf12), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf9), 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f); + __hv_pow_f(VIf(Bf4), VIf(Bf9), VOf(Bf9)); + __hv_varread_f(&sVarf_p9lZuVC3, VOf(Bf2)); + __hv_mul_f(VIf(Bf9), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf9), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_fma_f(VIf(Bf4), VIf(Bf12), VIf(Bf9), VOf(Bf9)); + __hv_varread_f(&sVarf_2VaBCHEQ, VOf(Bf12)); + __hv_add_f(VIf(Bf1), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf1), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf4), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf7), 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f); + __hv_min_f(VIf(Bf1), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf1), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf7), VIf(Bf1), VOf(Bf1)); + __hv_div_f(VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf2), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf12), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf12), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf2), VIf(Bf12), VOf(Bf12)); + __hv_varread_f(&sVarf_LY96DS0r, VOf(Bf2)); + __hv_div_f(VIf(Bf12), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf12), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf12), VOf(Bf12)); + __hv_floor_f(VIf(Bf12), VOf(Bf7)); + __hv_sub_f(VIf(Bf12), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf12), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf7), VIf(Bf12), VOf(Bf12)); + __hv_abs_f(VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf7), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf12), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf12), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf7), VIf(Bf12), VOf(Bf12)); + __hv_mul_f(VIf(Bf12), VIf(Bf12), VOf(Bf7)); + __hv_mul_f(VIf(Bf12), VIf(Bf7), VOf(Bf3)); + __hv_mul_f(VIf(Bf3), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf8), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf13), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf3), VIf(Bf13), VOf(Bf13)); + __hv_sub_f(VIf(Bf12), VIf(Bf13), VOf(Bf13)); + __hv_fma_f(VIf(Bf7), VIf(Bf8), VIf(Bf13), VOf(Bf13)); + __hv_mul_f(VIf(Bf1), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf13), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf13), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf1), VIf(Bf13), VOf(Bf13)); + __hv_div_f(VIf(Bf4), VIf(Bf13), VOf(Bf13)); + __hv_floor_f(VIf(Bf2), VOf(Bf4)); + __hv_sub_f(VIf(Bf2), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf4), VIf(Bf2), VOf(Bf2)); + __hv_abs_f(VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf4), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf2), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf4), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf2), VOf(Bf4)); + __hv_mul_f(VIf(Bf2), VIf(Bf4), VOf(Bf8)); + __hv_mul_f(VIf(Bf8), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf7), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf12), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf8), VIf(Bf12), VOf(Bf12)); + __hv_sub_f(VIf(Bf2), VIf(Bf12), VOf(Bf12)); + __hv_fma_f(VIf(Bf4), VIf(Bf7), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf7), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf12), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf4), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf7), VIf(Bf4), VOf(Bf4)); + __hv_mul_f(VIf(Bf13), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf7), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf12), VIf(Bf7), VOf(Bf7)); + __hv_neg_f(VIf(Bf7), VOf(Bf7)); + __hv_mul_f(VIf(Bf13), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf12), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf8), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_mul_f(VIf(Bf13), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf2), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf12), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf13), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf12), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf12), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf13), VIf(Bf1), VOf(Bf1)); + __hv_biquad_f(&sBiquad_s_bv0ayvgN, VIf(Bf9), VIf(Bf4), VIf(Bf7), VIf(Bf8), VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_fma_f(VIf(Bf1), VIf(Bf5), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf5), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_div_f(VIf(Bf10), VIf(Bf5), VOf(Bf5)); + __hv_add_f(VIf(Bf11), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf11), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_varread_f(&sVarf_kZnFwfGv, VOf(Bf10)); + __hv_varread_f(&sVarf_1LU3jUnE, VOf(Bf1)); + __hv_mul_f(VIf(Bf10), VIf(Bf1), VOf(Bf1)); + __hv_varread_f(&sVarf_fNWQjrL4, VOf(Bf10)); + __hv_rpole_f(&sRPole_KtL4KXWw, VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_phasor_k_f(&sPhasor_c7vJg0xU, VOf(Bf1)); + __hv_var_k_f(VOf(Bf2), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf2), VOf(Bf2)); + __hv_floor_f(VIf(Bf2), VOf(Bf8)); + __hv_sub_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf8), VIf(Bf2), VOf(Bf2)); + __hv_abs_f(VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf8), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf2), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf8), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf2), VOf(Bf8)); + __hv_mul_f(VIf(Bf2), VIf(Bf8), VOf(Bf7)); + __hv_mul_f(VIf(Bf7), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf4), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf9), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf7), VIf(Bf9), VOf(Bf9)); + __hv_sub_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_fma_f(VIf(Bf8), VIf(Bf4), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf4), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_var_k_f(VOf(Bf8), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf1), VIf(Bf4), VIf(Bf8), VOf(Bf8)); + __hv_floor_f(VIf(Bf8), VOf(Bf4)); + __hv_sub_f(VIf(Bf8), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf8), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf4), VIf(Bf8), VOf(Bf8)); + __hv_abs_f(VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf4), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf8), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf8), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf4), VIf(Bf8), VOf(Bf8)); + __hv_mul_f(VIf(Bf8), VIf(Bf8), VOf(Bf4)); + __hv_mul_f(VIf(Bf8), VIf(Bf4), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf7), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf13), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf2), VIf(Bf13), VOf(Bf13)); + __hv_sub_f(VIf(Bf8), VIf(Bf13), VOf(Bf13)); + __hv_fma_f(VIf(Bf4), VIf(Bf7), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf7), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf13), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf13), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_var_k_f(VOf(Bf4), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf1), VIf(Bf13), VIf(Bf4), VOf(Bf4)); + __hv_floor_f(VIf(Bf4), VOf(Bf13)); + __hv_sub_f(VIf(Bf4), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf4), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf13), VIf(Bf4), VOf(Bf4)); + __hv_abs_f(VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf13), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf4), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf4), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf13), VIf(Bf4), VOf(Bf4)); + __hv_mul_f(VIf(Bf4), VIf(Bf4), VOf(Bf13)); + __hv_mul_f(VIf(Bf4), VIf(Bf13), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf8), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf2), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf1), VIf(Bf2), VOf(Bf2)); + __hv_sub_f(VIf(Bf4), VIf(Bf2), VOf(Bf2)); + __hv_fma_f(VIf(Bf13), VIf(Bf8), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf8), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_div_f(VIf(Bf2), VIf(Bf8), VOf(Bf8)); + __hv_add_f(VIf(Bf7), VIf(Bf8), VOf(Bf8)); + __hv_varread_f(&sVarf_uSJzSkBR, VOf(Bf7)); + __hv_varread_f(&sVarf_H49aKc1Z, VOf(Bf2)); + __hv_mul_f(VIf(Bf7), VIf(Bf2), VOf(Bf2)); + __hv_varread_f(&sVarf_XOZLXNvW, VOf(Bf7)); + __hv_rpole_f(&sRPole_rXfoSWbc, VIf(Bf2), VIf(Bf7), VOf(Bf7)); + __hv_mul_f(VIf(Bf8), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf8), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf7), VIf(Bf8), VOf(Bf8)); + __hv_fma_f(VIf(Bf10), VIf(Bf9), VIf(Bf8), VOf(Bf8)); + __hv_varread_f(&sVarf_OHtE4ZXn, VOf(Bf9)); + __hv_mul_f(VIf(Bf8), VIf(Bf9), VOf(Bf9)); + __hv_line_f(&sLine_j9bBmCVa, VOf(Bf8)); + __hv_mul_f(VIf(Bf9), VIf(Bf8), VOf(Bf9)); + __hv_var_k_f(VOf(Bf10), 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f); + __hv_mul_f(VIf(Bf9), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf7), 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f); + __hv_line_f(&sLine_sg8Xev4V, VOf(Bf2)); + __hv_add_f(VIf(Bf7), VIf(Bf2), VOf(Bf7)); + __hv_var_k_f(VOf(Bf13), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf4), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf1), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf12), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf13), VIf(Bf12), VOf(Bf12)); + __hv_div_f(VIf(Bf1), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf1), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf7), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf7), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf1), VIf(Bf7), VOf(Bf7)); + __hv_varread_f(&sVarf_tRrgHLef, VOf(Bf1)); + __hv_div_f(VIf(Bf7), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf7), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf7), VOf(Bf7)); + __hv_floor_f(VIf(Bf7), VOf(Bf13)); + __hv_sub_f(VIf(Bf7), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf7), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf13), VIf(Bf7), VOf(Bf7)); + __hv_abs_f(VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf13), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf7), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf7), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf13), VIf(Bf7), VOf(Bf7)); + __hv_mul_f(VIf(Bf7), VIf(Bf7), VOf(Bf13)); + __hv_mul_f(VIf(Bf7), VIf(Bf13), VOf(Bf3)); + __hv_mul_f(VIf(Bf3), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf6), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf0), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf3), VIf(Bf0), VOf(Bf0)); + __hv_sub_f(VIf(Bf7), VIf(Bf0), VOf(Bf0)); + __hv_fma_f(VIf(Bf13), VIf(Bf6), VIf(Bf0), VOf(Bf0)); + __hv_mul_f(VIf(Bf12), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf12), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf0), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf0), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf12), VIf(Bf0), VOf(Bf0)); + __hv_div_f(VIf(Bf4), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf4), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_floor_f(VIf(Bf1), VOf(Bf6)); + __hv_sub_f(VIf(Bf1), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf6), VIf(Bf1), VOf(Bf1)); + __hv_abs_f(VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf6), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf1), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf6), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf1), VOf(Bf6)); + __hv_mul_f(VIf(Bf1), VIf(Bf6), VOf(Bf13)); + __hv_mul_f(VIf(Bf13), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf7), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf3), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf13), VIf(Bf3), VOf(Bf3)); + __hv_sub_f(VIf(Bf1), VIf(Bf3), VOf(Bf3)); + __hv_fma_f(VIf(Bf6), VIf(Bf7), VIf(Bf3), VOf(Bf3)); + __hv_sub_f(VIf(Bf4), VIf(Bf3), VOf(Bf4)); + __hv_var_k_f(VOf(Bf7), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf4), VIf(Bf7), VOf(Bf7)); + __hv_mul_f(VIf(Bf0), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf4), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf4), VIf(Bf3), VOf(Bf4)); + __hv_mul_f(VIf(Bf0), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf6), VIf(Bf3), VOf(Bf6)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf6), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf0), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf6), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf3), VIf(Bf6), VOf(Bf6)); + __hv_mul_f(VIf(Bf0), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf3), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf3), VIf(Bf12), VOf(Bf12)); + __hv_mul_f(VIf(Bf0), VIf(Bf12), VOf(Bf12)); + __hv_biquad_f(&sBiquad_s_cMP1tQbF, VIf(Bf10), VIf(Bf7), VIf(Bf4), VIf(Bf1), VIf(Bf6), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf6), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf12), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf12), 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f); + __hv_min_f(VIf(Bf6), VIf(Bf12), VOf(Bf12)); + __hv_var_k_f(VOf(Bf6), -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f); + __hv_max_f(VIf(Bf12), VIf(Bf6), VOf(Bf6)); + __hv_mul_f(VIf(Bf6), VIf(Bf6), VOf(Bf12)); + __hv_var_k_f(VOf(Bf1), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_add_f(VIf(Bf12), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf4), 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f); + __hv_var_k_f(VOf(Bf7), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_fma_f(VIf(Bf12), VIf(Bf4), VIf(Bf7), VOf(Bf7)); + __hv_div_f(VIf(Bf1), VIf(Bf7), VOf(Bf7)); + __hv_mul_f(VIf(Bf6), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf6), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf7), VIf(Bf6), VOf(Bf7)); + __hv_pow_f(VIf(Bf11), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf11), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf7), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf7), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf1), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_pow_f(VIf(Bf1), VIf(Bf6), VOf(Bf6)); + __hv_div_f(VIf(Bf7), VIf(Bf6), VOf(Bf6)); + __hv_mul_f(VIf(Bf11), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf11), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf7), 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f); + __hv_pow_f(VIf(Bf6), VIf(Bf7), VOf(Bf7)); + __hv_varread_f(&sVarf_JwE9URmy, VOf(Bf1)); + __hv_mul_f(VIf(Bf7), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf7), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf1), VIf(Bf7), VOf(Bf7)); + __hv_fma_f(VIf(Bf6), VIf(Bf11), VIf(Bf7), VOf(Bf7)); + __hv_varread_f(&sVarf_wMKdFxWD, VOf(Bf11)); + __hv_add_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf2), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf1), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf4), 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f); + __hv_min_f(VIf(Bf2), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf2), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf4), VIf(Bf2), VOf(Bf2)); + __hv_div_f(VIf(Bf1), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf1), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf11), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf11), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf1), VIf(Bf11), VOf(Bf11)); + __hv_varread_f(&sVarf_jvcAXwqO, VOf(Bf1)); + __hv_div_f(VIf(Bf11), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf11), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf11), VOf(Bf11)); + __hv_floor_f(VIf(Bf11), VOf(Bf4)); + __hv_sub_f(VIf(Bf11), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf11), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf4), VIf(Bf11), VOf(Bf11)); + __hv_abs_f(VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf4), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf11), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf11), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf4), VIf(Bf11), VOf(Bf11)); + __hv_mul_f(VIf(Bf11), VIf(Bf11), VOf(Bf4)); + __hv_mul_f(VIf(Bf11), VIf(Bf4), VOf(Bf12)); + __hv_mul_f(VIf(Bf12), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf10), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf0), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf12), VIf(Bf0), VOf(Bf0)); + __hv_sub_f(VIf(Bf11), VIf(Bf0), VOf(Bf0)); + __hv_fma_f(VIf(Bf4), VIf(Bf10), VIf(Bf0), VOf(Bf0)); + __hv_mul_f(VIf(Bf2), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf0), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf0), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf2), VIf(Bf0), VOf(Bf0)); + __hv_div_f(VIf(Bf6), VIf(Bf0), VOf(Bf0)); + __hv_floor_f(VIf(Bf1), VOf(Bf6)); + __hv_sub_f(VIf(Bf1), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf6), VIf(Bf1), VOf(Bf1)); + __hv_abs_f(VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf6), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf1), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf6), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf1), VOf(Bf6)); + __hv_mul_f(VIf(Bf1), VIf(Bf6), VOf(Bf10)); + __hv_mul_f(VIf(Bf10), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf4), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf11), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf10), VIf(Bf11), VOf(Bf11)); + __hv_sub_f(VIf(Bf1), VIf(Bf11), VOf(Bf11)); + __hv_fma_f(VIf(Bf6), VIf(Bf4), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf4), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf11), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf6), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf4), VIf(Bf6), VOf(Bf6)); + __hv_mul_f(VIf(Bf0), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf4), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf11), VIf(Bf4), VOf(Bf4)); + __hv_neg_f(VIf(Bf4), VOf(Bf4)); + __hv_mul_f(VIf(Bf0), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf1), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf11), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf10), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_mul_f(VIf(Bf0), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf1), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf11), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf0), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf11), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf11), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf0), VIf(Bf2), VOf(Bf2)); + __hv_biquad_f(&sBiquad_s_gmGyDRT9, VIf(Bf7), VIf(Bf6), VIf(Bf4), VIf(Bf10), VIf(Bf1), VIf(Bf2), VOf(Bf2)); + __hv_fma_f(VIf(Bf2), VIf(Bf8), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf8), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_div_f(VIf(Bf9), VIf(Bf8), VOf(Bf8)); + __hv_add_f(VIf(Bf5), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf5), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_varread_f(&sVarf_QC38XxDe, VOf(Bf9)); + __hv_varread_f(&sVarf_4J0MldFm, VOf(Bf2)); + __hv_mul_f(VIf(Bf9), VIf(Bf2), VOf(Bf2)); + __hv_varread_f(&sVarf_yvUDRhOv, VOf(Bf9)); + __hv_rpole_f(&sRPole_hqPZA51z, VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_phasor_k_f(&sPhasor_SazJp6hE, VOf(Bf2)); + __hv_var_k_f(VOf(Bf1), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_floor_f(VIf(Bf1), VOf(Bf10)); + __hv_sub_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf10), VIf(Bf1), VOf(Bf1)); + __hv_abs_f(VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf10), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf1), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf10), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf1), VOf(Bf10)); + __hv_mul_f(VIf(Bf1), VIf(Bf10), VOf(Bf4)); + __hv_mul_f(VIf(Bf4), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf6), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf7), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf4), VIf(Bf7), VOf(Bf7)); + __hv_sub_f(VIf(Bf1), VIf(Bf7), VOf(Bf7)); + __hv_fma_f(VIf(Bf10), VIf(Bf6), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf6), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_var_k_f(VOf(Bf10), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf2), VIf(Bf6), VIf(Bf10), VOf(Bf10)); + __hv_floor_f(VIf(Bf10), VOf(Bf6)); + __hv_sub_f(VIf(Bf10), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf10), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf6), VIf(Bf10), VOf(Bf10)); + __hv_abs_f(VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf6), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf10), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf10), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf6), VIf(Bf10), VOf(Bf10)); + __hv_mul_f(VIf(Bf10), VIf(Bf10), VOf(Bf6)); + __hv_mul_f(VIf(Bf10), VIf(Bf6), VOf(Bf1)); + __hv_mul_f(VIf(Bf1), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf4), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf0), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf1), VIf(Bf0), VOf(Bf0)); + __hv_sub_f(VIf(Bf10), VIf(Bf0), VOf(Bf0)); + __hv_fma_f(VIf(Bf6), VIf(Bf4), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf4), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf0), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf0), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_var_k_f(VOf(Bf6), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_fms_f(VIf(Bf2), VIf(Bf0), VIf(Bf6), VOf(Bf6)); + __hv_floor_f(VIf(Bf6), VOf(Bf0)); + __hv_sub_f(VIf(Bf6), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf6), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf0), VIf(Bf6), VOf(Bf6)); + __hv_abs_f(VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf0), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf6), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf6), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf0), VIf(Bf6), VOf(Bf6)); + __hv_mul_f(VIf(Bf6), VIf(Bf6), VOf(Bf0)); + __hv_mul_f(VIf(Bf6), VIf(Bf0), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf10), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf1), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_sub_f(VIf(Bf6), VIf(Bf1), VOf(Bf1)); + __hv_fma_f(VIf(Bf0), VIf(Bf10), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf10), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_div_f(VIf(Bf1), VIf(Bf10), VOf(Bf10)); + __hv_add_f(VIf(Bf4), VIf(Bf10), VOf(Bf10)); + __hv_varread_f(&sVarf_U2PPTpXa, VOf(Bf4)); + __hv_varread_f(&sVarf_w0y5ojuv, VOf(Bf1)); + __hv_mul_f(VIf(Bf4), VIf(Bf1), VOf(Bf1)); + __hv_varread_f(&sVarf_14rNbRoM, VOf(Bf4)); + __hv_rpole_f(&sRPole_i1z0QzqD, VIf(Bf1), VIf(Bf4), VOf(Bf4)); + __hv_mul_f(VIf(Bf10), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf10), 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f, 7.0f); + __hv_div_f(VIf(Bf4), VIf(Bf10), VOf(Bf10)); + __hv_fma_f(VIf(Bf9), VIf(Bf7), VIf(Bf10), VOf(Bf10)); + __hv_varread_f(&sVarf_71RKkz2i, VOf(Bf7)); + __hv_mul_f(VIf(Bf10), VIf(Bf7), VOf(Bf7)); + __hv_line_f(&sLine_B8Rawwja, VOf(Bf10)); + __hv_mul_f(VIf(Bf7), VIf(Bf10), VOf(Bf7)); + __hv_var_k_f(VOf(Bf9), 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f, 0.707946f); + __hv_mul_f(VIf(Bf7), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf4), 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f); + __hv_line_f(&sLine_VEYj3jgK, VOf(Bf1)); + __hv_add_f(VIf(Bf4), VIf(Bf1), VOf(Bf4)); + __hv_var_k_f(VOf(Bf0), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf11), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf0), VIf(Bf11), VOf(Bf11)); + __hv_div_f(VIf(Bf2), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf2), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf4), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf4), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf2), VIf(Bf4), VOf(Bf4)); + __hv_varread_f(&sVarf_xbpI8lwe, VOf(Bf2)); + __hv_div_f(VIf(Bf4), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf4), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf4), VOf(Bf4)); + __hv_floor_f(VIf(Bf4), VOf(Bf0)); + __hv_sub_f(VIf(Bf4), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf4), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf0), VIf(Bf4), VOf(Bf4)); + __hv_abs_f(VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf0), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf4), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf4), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf0), VIf(Bf4), VOf(Bf4)); + __hv_mul_f(VIf(Bf4), VIf(Bf4), VOf(Bf0)); + __hv_mul_f(VIf(Bf4), VIf(Bf0), VOf(Bf12)); + __hv_mul_f(VIf(Bf12), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf3), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf13), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf12), VIf(Bf13), VOf(Bf13)); + __hv_sub_f(VIf(Bf4), VIf(Bf13), VOf(Bf13)); + __hv_fma_f(VIf(Bf0), VIf(Bf3), VIf(Bf13), VOf(Bf13)); + __hv_mul_f(VIf(Bf11), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf11), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf13), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf13), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf11), VIf(Bf13), VOf(Bf13)); + __hv_div_f(VIf(Bf6), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_floor_f(VIf(Bf2), VOf(Bf3)); + __hv_sub_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf3), VIf(Bf2), VOf(Bf2)); + __hv_abs_f(VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf3), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf2), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf3), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf2), VOf(Bf3)); + __hv_mul_f(VIf(Bf2), VIf(Bf3), VOf(Bf0)); + __hv_mul_f(VIf(Bf0), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf4), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf12), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf0), VIf(Bf12), VOf(Bf12)); + __hv_sub_f(VIf(Bf2), VIf(Bf12), VOf(Bf12)); + __hv_fma_f(VIf(Bf3), VIf(Bf4), VIf(Bf12), VOf(Bf12)); + __hv_sub_f(VIf(Bf6), VIf(Bf12), VOf(Bf6)); + __hv_var_k_f(VOf(Bf4), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf6), VIf(Bf4), VOf(Bf4)); + __hv_mul_f(VIf(Bf13), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf6), VIf(Bf12), VOf(Bf6)); + __hv_mul_f(VIf(Bf13), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf3), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf3), VIf(Bf12), VOf(Bf3)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf3), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf13), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf3), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf12), VIf(Bf3), VOf(Bf3)); + __hv_mul_f(VIf(Bf13), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf12), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf12), VIf(Bf11), VOf(Bf11)); + __hv_mul_f(VIf(Bf13), VIf(Bf11), VOf(Bf11)); + __hv_biquad_f(&sBiquad_s_Tem2knmO, VIf(Bf9), VIf(Bf4), VIf(Bf6), VIf(Bf2), VIf(Bf3), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf3), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf11), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf11), 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f); + __hv_min_f(VIf(Bf3), VIf(Bf11), VOf(Bf11)); + __hv_var_k_f(VOf(Bf3), -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f); + __hv_max_f(VIf(Bf11), VIf(Bf3), VOf(Bf3)); + __hv_mul_f(VIf(Bf3), VIf(Bf3), VOf(Bf11)); + __hv_var_k_f(VOf(Bf2), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_add_f(VIf(Bf11), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf6), 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f); + __hv_var_k_f(VOf(Bf4), 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f, 27.0f); + __hv_fma_f(VIf(Bf11), VIf(Bf6), VIf(Bf4), VOf(Bf4)); + __hv_div_f(VIf(Bf2), VIf(Bf4), VOf(Bf4)); + __hv_mul_f(VIf(Bf3), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf3), 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f); + __hv_mul_f(VIf(Bf4), VIf(Bf3), VOf(Bf4)); + __hv_pow_f(VIf(Bf5), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf5), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf4), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf4), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_pow_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_div_f(VIf(Bf4), VIf(Bf3), VOf(Bf3)); + __hv_mul_f(VIf(Bf5), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf5), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf4), 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, 4.0f); + __hv_pow_f(VIf(Bf3), VIf(Bf4), VOf(Bf4)); + __hv_varread_f(&sVarf_Zj8nnBuC, VOf(Bf2)); + __hv_mul_f(VIf(Bf4), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf4), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf2), VIf(Bf4), VOf(Bf4)); + __hv_fma_f(VIf(Bf3), VIf(Bf5), VIf(Bf4), VOf(Bf4)); + __hv_varread_f(&sVarf_mprK3PVr, VOf(Bf5)); + __hv_add_f(VIf(Bf1), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf1), 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f, 0.404061f); + __hv_var_k_f(VOf(Bf3), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_var_k_f(VOf(Bf6), 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f); + __hv_min_f(VIf(Bf1), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf1), 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f); + __hv_max_f(VIf(Bf6), VIf(Bf1), VOf(Bf1)); + __hv_div_f(VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf2), 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f, 20000.0f); + __hv_min_f(VIf(Bf5), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf5), 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 20.0f); + __hv_max_f(VIf(Bf2), VIf(Bf5), VOf(Bf5)); + __hv_varread_f(&sVarf_DiXqbjFE, VOf(Bf2)); + __hv_div_f(VIf(Bf5), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf5), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf5), VOf(Bf5)); + __hv_floor_f(VIf(Bf5), VOf(Bf6)); + __hv_sub_f(VIf(Bf5), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf5), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf6), VIf(Bf5), VOf(Bf5)); + __hv_abs_f(VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf6), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf5), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf5), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf6), VIf(Bf5), VOf(Bf5)); + __hv_mul_f(VIf(Bf5), VIf(Bf5), VOf(Bf6)); + __hv_mul_f(VIf(Bf5), VIf(Bf6), VOf(Bf11)); + __hv_mul_f(VIf(Bf11), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf9), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf13), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf11), VIf(Bf13), VOf(Bf13)); + __hv_sub_f(VIf(Bf5), VIf(Bf13), VOf(Bf13)); + __hv_fma_f(VIf(Bf6), VIf(Bf9), VIf(Bf13), VOf(Bf13)); + __hv_mul_f(VIf(Bf1), VIf(Bf13), VOf(Bf13)); + __hv_var_k_f(VOf(Bf1), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf13), VIf(Bf1), VOf(Bf1)); + __hv_var_k_f(VOf(Bf13), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf1), VIf(Bf13), VOf(Bf13)); + __hv_div_f(VIf(Bf3), VIf(Bf13), VOf(Bf13)); + __hv_floor_f(VIf(Bf2), VOf(Bf3)); + __hv_sub_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf2), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_sub_f(VIf(Bf3), VIf(Bf2), VOf(Bf2)); + __hv_abs_f(VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf3), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f); + __hv_sub_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf2), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f); + __hv_mul_f(VIf(Bf3), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf2), VIf(Bf2), VOf(Bf3)); + __hv_mul_f(VIf(Bf2), VIf(Bf3), VOf(Bf9)); + __hv_mul_f(VIf(Bf9), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf6), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f); + __hv_var_k_f(VOf(Bf5), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f); + __hv_mul_f(VIf(Bf9), VIf(Bf5), VOf(Bf5)); + __hv_sub_f(VIf(Bf2), VIf(Bf5), VOf(Bf5)); + __hv_fma_f(VIf(Bf3), VIf(Bf6), VIf(Bf5), VOf(Bf5)); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf5), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf3), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf6), VIf(Bf3), VOf(Bf3)); + __hv_mul_f(VIf(Bf13), VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf6), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf5), VIf(Bf6), VOf(Bf6)); + __hv_neg_f(VIf(Bf6), VOf(Bf6)); + __hv_mul_f(VIf(Bf13), VIf(Bf6), VOf(Bf6)); + __hv_var_k_f(VOf(Bf2), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_add_f(VIf(Bf5), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf9), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); + __hv_mul_f(VIf(Bf2), VIf(Bf9), VOf(Bf9)); + __hv_mul_f(VIf(Bf13), VIf(Bf9), VOf(Bf9)); + __hv_var_k_f(VOf(Bf2), -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f); + __hv_mul_f(VIf(Bf5), VIf(Bf2), VOf(Bf2)); + __hv_mul_f(VIf(Bf13), VIf(Bf2), VOf(Bf2)); + __hv_var_k_f(VOf(Bf5), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_sub_f(VIf(Bf5), VIf(Bf1), VOf(Bf1)); + __hv_mul_f(VIf(Bf13), VIf(Bf1), VOf(Bf1)); + __hv_biquad_f(&sBiquad_s_LyFyGR1n, VIf(Bf4), VIf(Bf3), VIf(Bf6), VIf(Bf9), VIf(Bf2), VIf(Bf1), VOf(Bf1)); + __hv_fma_f(VIf(Bf1), VIf(Bf10), VIf(Bf7), VOf(Bf7)); + __hv_var_k_f(VOf(Bf10), 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f); + __hv_div_f(VIf(Bf7), VIf(Bf10), VOf(Bf10)); + __hv_add_f(VIf(Bf8), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf8), 0.7f, 0.7f, 0.7f, 0.7f, 0.7f, 0.7f, 0.7f, 0.7f); + __hv_mul_f(VIf(Bf10), VIf(Bf8), VOf(Bf8)); + __hv_var_k_f(VOf(Bf10), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_min_f(VIf(Bf8), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf8), -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f); + __hv_max_f(VIf(Bf10), VIf(Bf8), VOf(Bf8)); + __hv_varread_f(&sVarf_RNGFp3NA, VOf(Bf10)); + __hv_rpole_f(&sRPole_FWviEoDV, VIf(Bf8), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf8), 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + __hv_del1_f(&sDel1_GoFPXWmZ, VIf(Bf10), VOf(Bf7)); + __hv_mul_f(VIf(Bf7), VIf(Bf8), VOf(Bf8)); + __hv_sub_f(VIf(Bf10), VIf(Bf8), VOf(Bf8)); + __hv_varread_f(&sVarf_Yp4JGjbp, VOf(Bf10)); + __hv_mul_f(VIf(Bf8), VIf(Bf10), VOf(Bf10)); + __hv_var_k_f(VOf(Bf8), 0.7f, 0.7f, 0.7f, 0.7f, 0.7f, 0.7f, 0.7f, 0.7f); + __hv_mul_f(VIf(Bf10), VIf(Bf8), VOf(Bf8)); + __hv_add_f(VIf(Bf8), VIf(O0), VOf(O0)); + __hv_add_f(VIf(Bf8), VIf(O1), VOf(O1)); + + // save output vars to output buffer + __hv_store_f(outputBuffers[0]+n, VIf(O0)); + __hv_store_f(outputBuffers[1]+n, VIf(O1)); + } + + blockStartTimestamp = nextBlock; + + return n4; // return the number of frames processed +} + +int Heavy_EP_MK1::processInline(float *inputBuffers, float *outputBuffers, int n4) { + hv_assert(!(n4 & HV_N_SIMD_MASK)); // ensure that n4 is a multiple of HV_N_SIMD + + // define the heavy input buffer for 0 channel(s) + float **const bIn = NULL; + + // define the heavy output buffer for 2 channel(s) + float **const bOut = reinterpret_cast(hv_alloca(2*sizeof(float *))); + bOut[0] = outputBuffers+(0*n4); + bOut[1] = outputBuffers+(1*n4); + + int n = process(bIn, bOut, n4); + return n; +} + +int Heavy_EP_MK1::processInlineInterleaved(float *inputBuffers, float *outputBuffers, int n4) { + hv_assert(n4 & ~HV_N_SIMD_MASK); // ensure that n4 is a multiple of HV_N_SIMD + + // define the heavy input buffer for 0 channel(s), uninterleave + float *const bIn = NULL; + + // define the heavy output buffer for 2 channel(s) + float *const bOut = reinterpret_cast(hv_alloca(2*n4*sizeof(float))); + + int n = processInline(bIn, bOut, n4); + + // interleave the heavy output into the output buffer + #if HV_SIMD_AVX + for (int i = 0, j = 0; j < n4; j += 8, i += 16) { + __m256 x = _mm256_load_ps(bOut+j); // LLLLLLLL + __m256 y = _mm256_load_ps(bOut+n4+j); // RRRRRRRR + __m256 a = _mm256_unpacklo_ps(x, y); // LRLRLRLR + __m256 b = _mm256_unpackhi_ps(x, y); // LRLRLRLR + _mm256_store_ps(outputBuffers+i, a); + _mm256_store_ps(outputBuffers+8+i, b); + } + #elif HV_SIMD_SSE + for (int i = 0, j = 0; j < n4; j += 4, i += 8) { + __m128 x = _mm_load_ps(bOut+j); // LLLL + __m128 y = _mm_load_ps(bOut+n4+j); // RRRR + __m128 a = _mm_unpacklo_ps(x, y); // LRLR + __m128 b = _mm_unpackhi_ps(x, y); // LRLR + _mm_store_ps(outputBuffers+i, a); + _mm_store_ps(outputBuffers+4+i, b); + } + #elif HV_SIMD_NEON + // https://community.arm.com/groups/processors/blog/2012/03/13/coding-for-neon--part-5-rearranging-vectors + for (int i = 0, j = 0; j < n4; j += 4, i += 8) { + float32x4_t x = vld1q_f32(bOut+j); + float32x4_t y = vld1q_f32(bOut+n4+j); + float32x4x2_t z = {x, y}; + vst2q_f32(outputBuffers+i, z); // interleave and store + } + #else // HV_SIMD_NONE + for (int i = 0; i < 2; ++i) { + for (int j = 0; j < n4; ++j) { + outputBuffers[i+2*j] = bOut[i*n4+j]; + } + } + #endif + + return n; +} diff --git a/plugin/source/Heavy_EP_MK1.h b/plugin/source/Heavy_EP_MK1.h new file mode 100644 index 0000000..a216c2b --- /dev/null +++ b/plugin/source/Heavy_EP_MK1.h @@ -0,0 +1,72 @@ +/** + * Copyright (c) 2022 Enzien Audio, Ltd. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions, and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the phrase "powered by heavy", + * the heavy logo, and a hyperlink to https://enzienaudio.com, all in a visible + * form. + * + * 2.1 If the Application is distributed in a store system (for example, + * the Apple "App Store" or "Google Play"), the phrase "powered by heavy" + * shall be included in the app description or the copyright text as well as + * the in the app itself. The heavy logo will shall be visible in the app + * itself as well. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef _HEAVY_EP_MK1_H_ +#define _HEAVY_EP_MK1_H_ + +#include "HvHeavy.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if HV_APPLE +#pragma mark - Heavy Context +#endif + + + +/** + * Creates a new patch instance. + * Sample rate should be positive and in Hertz, e.g. 44100.0. + */ +HeavyContextInterface *hv_EP_MK1_new(double sampleRate); + +/** + * Creates a new patch instance. + * @param sampleRate Sample rate should be positive (> 0) and in Hertz, e.g. 48000.0. + * @param poolKb Pool size is in kilobytes, and determines the maximum amount of memory + * allocated to messages at any time. By default this is 10 KB. + * @param inQueueKb The size of the input message queue in kilobytes. It determines the + * amount of memory dedicated to holding scheduled messages between calls to + * process(). Default is 2 KB. + * @param outQueueKb The size of the output message queue in kilobytes. It determines the + * amount of memory dedicated to holding scheduled messages to the default sendHook. + * See getNextSentMessage() for info on accessing these messages. Default is 0 KB. + */ +HeavyContextInterface *hv_EP_MK1_new_with_options(double sampleRate, int poolKb, int inQueueKb, int outQueueKb); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_EP_MK1_H_ diff --git a/plugin/source/Heavy_EP_MK1.hpp b/plugin/source/Heavy_EP_MK1.hpp new file mode 100644 index 0000000..944cdac --- /dev/null +++ b/plugin/source/Heavy_EP_MK1.hpp @@ -0,0 +1,2345 @@ +/** + * Copyright (c) 2022 Enzien Audio, Ltd. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions, and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the phrase "powered by heavy", + * the heavy logo, and a hyperlink to https://enzienaudio.com, all in a visible + * form. + * + * 2.1 If the Application is distributed in a store system (for example, + * the Apple "App Store" or "Google Play"), the phrase "powered by heavy" + * shall be included in the app description or the copyright text as well as + * the in the app itself. The heavy logo will shall be visible in the app + * itself as well. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef _HEAVY_CONTEXT_EP_MK1_HPP_ +#define _HEAVY_CONTEXT_EP_MK1_HPP_ + +// object includes +#include "HeavyContext.hpp" +#include "HvSignalDel1.h" +#include "HvControlPack.h" +#include "HvControlDelay.h" +#include "HvControlSystem.h" +#include "HvControlVar.h" +#include "HvControlCast.h" +#include "HvTable.h" +#include "HvControlBinop.h" +#include "HvControlTabwrite.h" +#include "HvSignalVar.h" +#include "HvControlSlice.h" +#include "HvSignalLine.h" +#include "HvSignalPhasor.h" +#include "HvControlTabread.h" +#include "HvControlUnop.h" +#include "HvControlIf.h" +#include "HvMath.h" +#include "HvSignalRPole.h" +#include "HvSignalBiquad.h" + +class Heavy_EP_MK1 : public HeavyContext { + + public: + Heavy_EP_MK1(double sampleRate, int poolKb=10, int inQueueKb=2, int outQueueKb=0); + ~Heavy_EP_MK1(); + + const char *getName() override { return "EP_MK1"; } + int getNumInputChannels() override { return 0; } + int getNumOutputChannels() override { return 2; } + + int process(float **inputBuffers, float **outputBuffer, int n) override; + int processInline(float *inputBuffers, float *outputBuffer, int n) override; + int processInlineInterleaved(float *inputBuffers, float *outputBuffer, int n) override; + + int getParameterInfo(int index, HvParameterInfo *info) override; + + private: + HvTable *getTableForHash(hv_uint32_t tableHash) override; + void scheduleMessageForReceiver(hv_uint32_t receiverHash, HvMessage *m) override; + + // static sendMessage functions + static void cSlice_elndZqvG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_8lQZHtLi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_YVJyinnD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_la14mTXi_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_ARpUAMcU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_e7WdcYT3_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_qZ4JKRTE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_cpIi4bZm_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cUnop_eneqfT0P_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cUnop_q0eNViDL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_YoRQTGhu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_s8vQ1BWG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_QDfjXuFO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cUnop_E4jP3u4J_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cUnop_7Y4zZuNv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_f2jlbKVU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_TjJdcdK8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_mO03xd4v_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_amyuKIUW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_KcTlrUJx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_smq6naFn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_9aJebTmn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_pCiyJnjZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_nPKwQsvv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_eoZJvoMh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_zLbZWnFO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_JhA9xsTS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_BYT033Zm_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_oG9J2dvF_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_DhA4et2d_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_z60tURxy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_7Hb23T04_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_ElxPJUxK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_XSFgs2Vd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_1k6xs4ow_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_k9lbIrHi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_34r4jXzz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_2ElBnTuR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_oX6ssrYL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_rz4c8AUf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_jSKszev7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_vPTjbp6l_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_BoHvJj3f_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_bjkjROgL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_X59Ms47y_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_qZhFVp8b_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_puulPVJ8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_DrdAUms9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_5BolRjUc_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_puiweEqf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_tPwb42ks_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_XJtqLdR3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_Y3SeyQLm_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_zyxm9xt4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_Tc48KAjO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_mxHzGYpx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_S1VOGbss_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_sZ2r4PVf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_iKXnugbR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_rsdZ4z9K_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_3RBhQUO2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_k3xOFn9Y_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_tjoYH8sh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_si1yqlyW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_RceFSyRR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_ByBj1s2m_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_PBqQjRJY_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_LdXQexFY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_alTHVTBj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_q8WBZ5kV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_mCFcgioO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_Km00ydT2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_1Q9bVNNN_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_NTVGi1rx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_JMXe4Ma3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_jkVp0Kx6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_D5D0LaYe_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_HA94hCLv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_h8Wb1BsZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_mTfoFJLO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_A2KsUGjR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_G6AE2PwA_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_WUtKOy78_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_8PkrkbiL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_AxhMJRiu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Ti73JY9X_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_aYuF0nQk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_GBGRcaro_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_AUvUrY4R_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_2BO3w29v_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_F7qGXQ00_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_HSlHEo3Y_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_mwVDhc33_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_iEpbB1Tt_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_h5Bsj9K4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_uncdQ37f_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_yN9o31WM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_aB1ee6eu_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_qZFKZiPY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_scaPpHxo_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_L944F4zY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_Iv54fL1f_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_u4RfWjOf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_mQ7Y4evj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_ozYOhZf7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_qGp4pLv7_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_HvShZWxN_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_5za4dMJS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_1C4AfEl2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_Gx61poeH_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_62QExDOA_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_u88Owd7O_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_oZICOJL8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_twfJBpos_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_dnVPVUlN_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_DNh0wPJB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_uB5Z1HTu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_gp9whmCc_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_gRen83wr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_7dajl5bE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_HYVll2lR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_B2ubKDES_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_maqKW0Ak_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_1pfH37j6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_m0uJKNwI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_VtqrJbdm_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_H3oA1KXj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_JuKEhSjI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_pcZ5VfKf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_F8TudeNI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_ZnbsczMl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_qnILIr3V_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_sau9kNWL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_rt5iICvn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_j7sSgKsi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_W4073HRq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_H0pkypkT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_82unbjQp_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_LDzBBnIB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_J9NUHt7W_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_8vfufbLe_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_7jMyosM4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_ZoDeIpFy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_dkpepr67_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_rPtKYy3M_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_3tTN8vR3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_tfyjDxKP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_dIYEAlww_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_z4lOo8bC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_J9xHtT7Q_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_QZxtFP7i_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_VFlsIg5P_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_x7fI6QRT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_kmODmaFn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_lzw09MRv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_5SkdkoAS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_zrinnCdD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_OxhalDGO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_tNJJ6cBJ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_gFJkvbAL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_hLRXbqS8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_c85ioJXE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_lklbN5Wj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_33fIYqZl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_7dgfWIsc_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_IpPxuID9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_XKbyFfP1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_NuZfUb5j_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_ICgFJaLq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_W2qTdReU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_t9FMWBot_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_qYBxKwmu_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_0qBP9nWd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_tESkokbe_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_o4tsP9dq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_FCBGNY5K_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_nFgGc4Zm_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_D4wcmJuh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_c0zUMuUL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_D3NPspDa_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_h9fOsrnu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_aU22ke9k_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_zdLrBU74_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_nFPgN4cq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cUnop_PXFSc0Xg_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cUnop_dGHGrDep_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_47eGoYaP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_JAzKubmp_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_z1M5xDBU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_ZIpKuNn1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_RBY4x1dy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_8XlFXMki_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_AzNh1LS8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_fiLZbzXB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_hrgvc0UY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_1Y4FEehG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_n8meYdCZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_G6zKrSxh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabread_PauJffJY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_5yG1TZto_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_yetBqfVw_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_TLOWGcxL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_C94bpPZ1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_MwEDiNmW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_qEdTfHLx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_gQEr5Vzf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_zGtokhdj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_NacO35R0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_wvx1FFS8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabread_KpXSrXsH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_PAnnPXlJ_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_o3FM47ae_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_5rfRjuLO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_moa8uldG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_rQCjjERn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_gjQd6FHg_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_r4xpgQAp_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_FKqtHwiD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_da0oVKZL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_GsngWkWj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_YQvRzRkM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_kuLRrEzT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_zdBnuOil_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabread_ZQApb8qU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_a59Q0arE_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_JhRv8Rsb_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_RJ9OHYRE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_4iejHTOR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_gIbVQO5V_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_GYSRok7h_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_wPRiZIlB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_anj1Q63b_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_EfOXUvjM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_t953EdC4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_uyfxho1R_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_5744zJoT_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_nl7RC4Js_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_6P11HIk6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_UIdc2Y3S_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabwrite_phRkfVNE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_IUt7eNhX_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_XQ59cW9c_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabwrite_srERlrc2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_XRXMyVgf_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_92qaa8G2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_FxOwbdbW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_qiKMdCfe_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_uEndvnwx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_IZt7JHNk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_81OkRPDa_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_t07sRowU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_sjy60rVr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_r2Mflo6h_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_5clhtePq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_xgIdlh3q_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_DEENwYXO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_zxoReFHB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_59ayNLj0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_fZQLrPZX_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_vqezTY2U_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_RFdaE8WW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_7PEtvA9O_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_DNEcWV5z_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_01bWJPHc_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_Toelep2C_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_otsptKoG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_OiE13JrK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_kjGd09sO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_lVQoNquY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_v3d0oOQA_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_tT8xPc3T_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_NjIhZ7gk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_lC8f8LIc_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_oaX9amtS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_M9vQGpYc_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_ZP0FUoSx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_JZbX8B3e_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_d5XuoGTL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_TFIJca8L_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_cKm6INBi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_ibFYYATN_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_I8mRYXHG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_QJUrAoEP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cUnop_txyu0gVn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cUnop_sJpF83hS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_o3dHJNrP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_3kgvdtIu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_OsZGs13Y_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_d65Rxi8V_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_fXXfM7sT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_Tz96PA7l_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_zbdsGp4Q_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_CDRpKtNX_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_PwyvfUkq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_O4Q1pV7f_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_L0r15hIm_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_YNI0kMWD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabwrite_4XAIFIT1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_svMWwU5f_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_Ahl4XFE1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabread_v2Y3w5Js_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_skQ75NR9_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_KfTlOVnb_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_xlGGAJyo_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_pnjlb28E_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_mGNHy9HX_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_YrH7suTO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_T1P9TfNh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_4OhIorOU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_cgmV7hzj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_zrolu0CB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_9Pnl6QKg_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabread_3p4zBAxb_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_D3NrhQzb_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_3TTb2icc_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_ALLgM3kz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_toydDMEZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_x6QzRkvq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_2PhtqbJs_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_moRgLKdQ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_9ycQILEU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_Z15Lktot_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_cWTIXbmQ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_K8rv8Ljd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_Mc8k3hlh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_FqNyPWwF_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_hiyIT3I9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_akFH16AP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_IlvONaEH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_BABcar8i_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_lx0ou6gW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_Pwj4c9ij_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_iN9dXiS0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_TB6jVJx0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_Y55V3JXd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_ACsUUs03_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_cCLqsJUy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_OVwLKMkd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_GbFwLbYr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_HkQLUnNC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_4hIlFUU3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_QV1FHuAQ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_8SDdSAUy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_tf6cjDqo_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_OFdGnxYb_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cUnop_HQuF2Uw5_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cUnop_MChGy2fT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_iPBiNEnD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_X0hsC581_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_E7hj1L6l_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_6K1GAY3K_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_EHSnhdCg_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_2a8a6rMB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_syhavs5K_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_oBnn7Qpa_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_wL2IEA7O_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_rorsqFcn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_hERdrwbZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_gyUPexf9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabwrite_mwtkLMr5_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_vE84ra0Q_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_687b49wk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabwrite_t4h14qem_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_o5Iw8aY4_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_TpNaIlmR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabwrite_Xc9EqI71_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_qxoy524G_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_uriW0Yse_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_wJpP8g92_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_tQTbtkm7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_kzNTGzTT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_oeYJ9kzZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_pZhDrNel_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_GHLt8WPI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_N2eqUNfm_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_INvadq4g_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_MXYQ077D_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_UT1t4ZTo_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_cdEnC7IL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cUnop_tyiyS93M_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cUnop_rQdaBRHs_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_MuTE4IBy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Tgf0gGqC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_M0vsPpvk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_Aeno7EE6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_fiXM9NS8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_L1fYJdEq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_WoShzqey_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_2rzB3hZ9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_JMY8MiET_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_eSt1Myvl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_zHPXM7Vo_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_OkVpRRSw_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_lEtY4E6Y_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_DuaZN2LR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_XpmYbjT4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_0cDBtrS9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_iiualsly_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_1LrlSH8t_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_LyTrBvaL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_dx2ZQG4K_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_OyUmAZI6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_YXo0WfYq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_dw0Rb8md_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_TGa9AOTT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_MfvQWInI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_SvNxgwyv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_84tpamIM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_bNgyqWRz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_30KS2vcA_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_L9vaHYGJ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_u5tBj8Lb_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabread_zixFG9DX_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_iwN4zIii_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_mpKBBGkD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_qZNKNNj4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_voLMvJtv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_178ekfBO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_v6d4l04b_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_lw2om64Y_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_fTIYVYXR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_sFu4E3zK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_wnEj2stC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabread_r8YGsDv2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_ZshqjpYa_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_E3eGCS7T_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_nqwB3gob_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_dFJmqMg6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_QSHAKfTC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_p8ajT9ad_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_bx7WNS9f_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_RTJGzepK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_kDPZ8rkP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_lWgQPRpo_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabwrite_AFpLtIy7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_D2TZQizS_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_Xgq2sBvz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabread_wzHGlVxe_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_fpmdvxdk_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_uQMKeyli_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_6vM6OQsr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_96tJg7pf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_kDYam45V_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_QnJqLA1M_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_LeSduyOi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_n6HPoGNU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_2Bhduzp4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_tZWF9Lfj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabwrite_7CqRGpzh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_A5VlRO2i_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_fGAlwoVk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabwrite_f431WPJL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_rOMtzLKD_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_oeypQYGk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabwrite_b1zrUtiJ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_9NOLQx4h_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_4y3BMUCB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabwrite_ZnyIyMwB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_TA35kVMw_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_ahe4Nl54_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_GiSxSddZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cTabwrite_rhy4zqC2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_kkjJLu6h_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_jJFqUT5D_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_MitV4kWM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_vacnVbtY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_JP4mGNIp_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_aVw41OwU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Bhr229Ht_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_VHLIISwe_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_MzF5Hl3g_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_Rqdzzopc_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_pRnu6zXa_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_QKm7gW5N_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_yCYNWwSA_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_za7kZ0e3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_iG3mZ9o0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_eieiD2dS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_xavIp2th_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_1dEz7w9q_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_03VH1lVz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_DGMgtVll_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_WSDDndNM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_Zs9LdfGr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_rYRzeYO9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_dcDNxpDA_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_HwYRa9lS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_u85ozOpU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_wRpWrKWi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_X1p3HUe3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_aU6TuZlp_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_6oxnYXEa_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_AoKOrzvT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_a8KlujQB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_uyNAOhx6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_yyCIcfT1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_yVBkpDUK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_lzcrmloV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_wHfZKWQu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_JgknPyfS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_Lrct6HgO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_A5avvMDt_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_Xlp3vC4h_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_IQbanAHu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_Cctho0iq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_x9mgTo5s_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_NmT9TuoN_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_xqKm824T_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_E0zeqvEo_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_0TCmOiUi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_B3C8qnN1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_5bcombzG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_EhOUqbOE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_UqYgiBZ0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_QIOH6Z9s_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_ck24J6RM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_9drSmKTs_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_IT7p1guU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_ZJq0sCI6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_7hJNNhYI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_4IkDDX1c_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_1wJ4poyP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_7OrG8WzM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_Dp1wu1wH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_7sCGNTzx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_VtoZ7BwK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_DCzwWFBE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_WkdFLadT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_S7DTAUvH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_todgcz4E_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_WmFpuX9z_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_hpLxvQwg_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_TNisPs3g_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Qa8GSBYv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_Vp3RAYli_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_EpXBdGxj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_60vLkGOw_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void hTable_zrjAPWjU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void hTable_jDLA3bj2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void hTable_103Wn1Ed_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_GXrq5eSO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_gjG7vzxq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_14E5VKgj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_01i7Qlvj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_aRCf7ezT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_b9e8k91q_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_7AH6hATD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_2INuIXhx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_rIS4wCWL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_anivr1Px_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Zzp7ey9u_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_qNNqg8fl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_D4pAxZXo_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_h9kP8P4g_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_APJ4Rlvd_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_fChR2EMd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_FGVof3f3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_3kbCJtC1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_5c1776aq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_uOTUFrWe_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_2v2J5hCG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_f7mZhooZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_emXeKopE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_8NzDluXu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_lV6bOwnK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_GbGYOiva_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_QnG0Lrhv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Di0BSSgC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_oqPfrp1J_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_JmyVXmNs_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_vgABNAXO_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_1yRWlMR0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_EADYdXGl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_6KCFIGwR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_SwGJLASp_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_dtyI5XH4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_0n4vTued_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_cuvWDrFY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_fxp86nbP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_cUfQczTw_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_CgfALdqs_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_qjO6txa1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_7SQCIKgW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_r5YmAXgy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_4ZiErfzd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_bEbE8c1Q_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_lvSweEZ0_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_XuiDQjrM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_jf2Ro2dy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_apMcAOFx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_C9qeifus_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_cXPXdUfF_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_JmxewGJv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_KqRClAmB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_lO6w9D3S_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_8BHMru9s_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_fNVYmuRq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_KdI1vnAr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_FyHDrtsd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_h4d3tlmE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_a1Yr3GlD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_dtNJQ6K6_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_odpMaBGc_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_bsPSOHBL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_6WA4eR2z_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_7cpVtmSE_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_zIGcbWr6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_HMN6u30V_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_z1AJRAYb_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_YWGVI436_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_PYqe7fPW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_i0g200qz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_gKnnfuMu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_s1xwGczR_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_YTuA3aGI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_2AEOqncp_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_LELHGy7h_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_B0f8yaM4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_lBGbwojA_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_S9fNqTQF_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_drS0YQ1l_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_3GE6O36z_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_NbhbI6Aw_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_pOL4RXb6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_ALLoyhj4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_nWnQKHDf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_85xlG53a_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Cfh8L2Oh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_9gpPNaLn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_f1GPe8wH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_nY24jnaO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_jxSH4lC7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_Kr66zLqC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_C0Wn6bJr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_8LglT0zT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_vSwCGGuH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_3wCqimft_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_eS2Rovnu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_rRe2nMN0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_aHPfufNm_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_R6mPsfGd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_VQOHYJNi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_2XjwilZg_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_2pZV6Isa_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_lTPANKWv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_qDV0Ytnx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_uZLgjKs3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_4VZAheL7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_McFVZ0Ll_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_kIOWepAR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_V4moeuRd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_moMtXn4m_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_HemNUF3Z_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_pbsGlW4B_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_HbyyrDXM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_xoZj2b3V_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_HPFjicw6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_omE6hhyU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_zkHxLmhP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_NE37oH26_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_oj0DbcAj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_03MpBgyk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_lRds2qee_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_z5sQN4qF_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_cs02sYyb_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_zDi7M02d_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_k49e22Gp_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_R48tlqs4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_NixFIDVe_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_zrBIyQso_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_dhr9C5zZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_0QFSYRTy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_AToUhGDl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_qZT4eBYV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_7oNej4sG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_l3RXDCtN_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_tsESU4RN_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_nWXpuFVx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_AUKqDMCP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_tuBmcMzI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_pgCsBXVe_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_ZtwXRUif_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_kk9ldTid_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_L5lS74o2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_J0CLxFll_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_YosQUGW6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_w1ytFFHJ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_I5axLBa7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_xUIk35fz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_dhp6hY1K_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_8mUuoz38_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_llPN8wky_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_punPVQER_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_bjbPNxTO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_nCoZaBF0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_9Mvq2M0P_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_y8kaEfcl_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_iN9nDqKH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_sbFXwqUJ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_LaYbGFDV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_XcUCeI3v_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_nOSjeXgq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_qIBpEnnd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_6lY50lnm_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_Axz1orYI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_mBQ668Zx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_KyQEhWTY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_tLvLAlZL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_kVyfvXw5_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_WTmBkKQT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_jj4NG7qf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_FGtkRlDO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_pqtCDn8K_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_UaT8lPaC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_F4UGzXJD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_QrSnCJCJ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_fJLC2pkO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Fa78vtHE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_pNB7bAH5_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_ACimLjhV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_9ymEkSqF_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_aJfuyvxQ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_vnInM2TA_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_qTrmIzZM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_zX4gvtjh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_4b4CSsPS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_QLMdRIRC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_xQdp3YLI_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_Jj5JoN3X_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_R8N3OM8Z_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_P2zWlT8E_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_vt3e34wU_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_MT2IRF44_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_v9CBBqPn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_xQqze1C3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_cL0RKMBM_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_kVeglpYz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_XHPdcOXe_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_PfH7zRUo_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_jGfys04F_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_HjgtvZoF_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_Gwj9Okrj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_DugDo7U9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_AQqKKBe7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_A3E6anWI_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_H1Xyhida_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_riRtEjEO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_Dv0gbeDu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_kWGjKN5n_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_f5IHXl58_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_GnZxXwEh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_XtWPeINd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_4fYWpMjF_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_5r1OUzKN_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_VRC3oFCN_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_cyjUUiEB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_X3O3xvTy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_jSR9zS7N_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_UiZy1dIH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_NavqPfVK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_9RZmugqL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_4s3ICg4T_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_373QxMWp_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_z9hpzokD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_YopcEX5F_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_Q4J8dJu7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_lyVu0twV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_1ohY0MTH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_K43UmDls_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_LWirqX4o_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_OA7ujY6d_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_6IqByR64_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_uYrKbzq4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_uoSqrOtK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_azNXhhOX_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_7ecYajZQ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_nMKiO5o0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_aLAYvppH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_XEuGrYAQ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_QPhwkePi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_IHqc9FA0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_RYsIbmpD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_VznD72iG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_0TVO4cyV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_X8ntNJtD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_DpvC8iyV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_dqXZ16ly_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_E9eETroy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_E21vn4iz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_3D0wbw8W_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_8FLxmPX4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_RDIdQCKh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_dbIjZ05s_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_mg7dkvqn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_OdnvGDMS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Doptl4KB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_pF0VBlT7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_l00PrmVY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_1GrkztpU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_hv3mUgaW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_XWrWDCcW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_k1cslq56_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_mFn54KU0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_nkoqLCHg_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_c0i1xbS9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_vtdhWGdp_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_OuZLBvL4_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_6qAkbHP4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_BmsJaQFL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_5Oo1MqXa_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_HKhQT7B9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_FwTqvMn2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_DcHse9W3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_r5ixlHEt_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_EZLaZJk9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_SMrHWdXB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_HqjECEs6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_3kpJHHGx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_pdB8k1j2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_zGb3Cnpa_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_gcPqtQGi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_TzI3zrOK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_VZIwLCKY_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_fsNbhAVw_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_R6ucXJ9d_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_h1Kd5tf8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_8rASSedI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_SQTrpvHR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_TEczJAdP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_9G2w7qnP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_cGPaQMM6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_xxiMeu4W_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_wtCPn2v7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_M3xbRzHZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_EW0528j1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_WjxnTodE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_2gqweucP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_CVrmPTW2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_7VmBeFDc_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_MO4iCVh1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_QuX5M4S2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_VbNqWaoC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_MGu6DZGz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_hsln8cTe_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_YN6RyC3N_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_mxr67C8l_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_ImYmO42I_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_E6y5dwjY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_lYOaGMwk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_lKIgXgzR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_7KV6tt6Z_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_9J223NWs_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_VB784pvz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_ydBi8MSl_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_BlyG4Dem_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_RlSWCAcx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_e3MU2AC0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_1f79Z8tz_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_lesker1N_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_VaYAOZMq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_ieiXglU5_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_Y3RBjbcE_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_xS27Dv4p_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_pXFlrQ1U_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_nfzHets3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_GWKDlTzw_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_nlscGUxB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_fmDFusag_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_Hwx0FeG8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_8o62CkX0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_FxIazoX8_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_BW4KDBEE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_eE0PJb50_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_HydQQl0s_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_dlGEIEnH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_JIbo3cDI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_9YBnlLR5_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_G02Qw2wI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_pCXsFq1U_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_3P1RBOib_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_J7V6QIXZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_qdM3r4g0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_ydX1v6ep_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_7zgCesuw_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_AjbwGNok_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_xCpzb0GP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_ESX30QvR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_IkUEaZ1v_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_z7tFHTdk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_fbZMtyOu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_6hJ2N7Mg_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_fY1gA9w2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_av6hA3La_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_zQBVGHM3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_0ZfNJd7D_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_uwlYxoQz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_C0QJdxdQ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_wUSD8D2p_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_6BTUuGXc_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_qI4eBhFz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_9gEcXN0Q_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_doxG9FU3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_Cb6tqB6O_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_E8SMKbju_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_mQMFYsBj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_HUgTLaW8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_tOlKdVU3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_DuodSYz6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_C2nbcAxp_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_W6tBOTnb_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_dh3TAdGP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_u3kusKbw_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_kveJf1Sf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_Zxo46jA0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_GPvBkq5J_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_yNYaSFdF_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_f84WaAVS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_03KuiZFi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_m6xlByYI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_cymXe6mx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_1qw1bhOJ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_PxyOdmoJ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_xVrj7M6A_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_4c8BwGsk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_QBtHS11y_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_jBZVqRID_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_ZxsAnMyr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_8D0zCOwK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_BFi55qXh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_a8Dmzxhi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_0zmZNoDQ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_BKXRP7SB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_0tNZuopx_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_boef1Edm_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_b3dOoUE9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_sQrbAz25_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_PKdgj686_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_ZYqqPMEU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_9r5FvGx8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_43FOqtBR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_0b6oTzRv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_TfDHTZTQ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_sG7uKtCn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_idtx5U4Z_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_ZPbTlDVC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_4484JP4i_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_VS2moOM6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_uoPduPOh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_dasMg2O8_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_0g9RNRzd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_CFDXVYei_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_khXLU10O_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_zvNQLNNm_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_OT28k0wW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_dX9iIu2e_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_PQrhAZRa_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_pkFtiTnu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_LEccOHgH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_oqqJ1Paq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_nbWNwOai_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_Dhca3X8S_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_7hb1OHvN_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_gspRXxvt_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Yp2K2bFn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_HLr2sT4G_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_yX2gZFzd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_WyVXq3I4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_qSBIWrss_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_H0Q3gbjl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_UOds2bwZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_4gLdkR2v_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_LavURYtr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_CRShH4uR_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_MBcjL5vu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_ug9sv1mV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_OegaO66V_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_37gYBrZv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_54HbbWEF_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_ouiGSpqr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_2pQzutyz_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_QwttMs34_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_7dURQOkB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_fiLSD1a8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_1WQogOMx_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_ynpjLAAq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_2mrdE5XU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_hfPWaCT9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_YNEcloRv_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_8zQ9g5kN_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_0kE9k5nr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_WFxvrVBl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_iKdqEjv6_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_S4kddO82_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_CMzciL5O_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_eF1E20Al_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_IMZb3bj3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_wLEk9jUQ_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_qeF9BmG7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_ZTxZJeNg_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_Mypfyhhi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_WofbqBHk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_TBS1MzlW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_9yzE6rZl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_KjmrJTfq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_H2yxUgdZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_93XUb6ci_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_WxyRATiB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_ByESvDhb_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_Q2kgvi4X_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_TwOQys3E_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_KH2G7xkh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_xWe7L4zj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_zcQvtdXn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_jyic7ZqL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_mTgLwddF_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_emIZO9r0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Z6h5tmz3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_wSRNQSnT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_K7pbLD1Z_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_rnEOSonc_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_K0gOKmNO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_qUsjHa38_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_Hibi7sqo_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_3knme7ox_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_UqHlaIWS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_dhWXbkCm_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_zf9NWU2Y_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_OTHnCVRL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_n6bwrVpU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_8hrzCrt9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_HXadA5UE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_j8PzT9ic_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_Z4yPnLuA_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_IGOP15ec_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_3wJNYSfn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_bKX7cNBW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_joBtXzWK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_v5xOJFu4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_FxwX0WGF_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_C864gYhG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_WTUX3k30_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_9h8G172A_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_HK3wrSdz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_ahqchjeT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_SS75KJNe_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_fvqvkU8j_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_BpYFlK4l_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_YiTSNoeT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_FueLORJu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_rjuAtuSd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_fEdoPEOS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_YdkTn2WL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_IDtSoCz3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_MCRwxge6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_yeO0TBWK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_QFXcKD54_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_uWnhLLWD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_UvKpFABm_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_ezgzLcgn_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_LNwKVA6h_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_p9jyzeym_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_XvGm9o4Q_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_TPCSHBXT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_uN0zKAiB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_gNyzsSj0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_mrGWo2hl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_0KIBKjcE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_WSf7WIv4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_6kvx4MW1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_G67N2Obe_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_JtowgWnI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_yF8yz2t1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_tAnpPZo8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_SRfrcYXZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_UtrhqNBS_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_8ZZIXXPz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_4RKAbsEh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_GWLDX8FC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_5500f4rS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_V7WIm3dA_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_NBtNQH70_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_2nrwCzMG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_lBdzS1y9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_PcD9gYPr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_laWCPJWj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_XRHl9hCk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_6bndNwzZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_FxqAL3Iz_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_uRKPU5nd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_QCh9dt7w_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_KfKBNZ1L_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_QjjpI8v1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_mq0IVuSG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_6TnJ4LDS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_KuuB7P1e_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_WcuevvmP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_yktdhsb8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_ZKM96kn2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_lLPhmlID_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_zvQI1Kd2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_duSEFOQ2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_oxVnMnXG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_OmjfJHO2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_LLUvzUDy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_FpA49BkW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_bZfJUN9p_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_Ksc6L6s1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_55yu4tIW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_tFC7OPru_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_JhOu3BlT_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_HD4QVfFN_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_6nW5oczT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_c2rXE83Z_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_pkwO6v0F_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_kEuwEux7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_pKlDVOMZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_WhqT1RWV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_lv6hvuVN_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_v6eu2VXR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_MYsZWUB0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_q57F9a4k_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_kJiO8EHE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_KhWvkQGW_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_QzeuJzkP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_CxGKJWrF_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_67CDvPpH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_gRP0w6t1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_6957mrj0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_PasVdEIu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_wuAUZWeX_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_ygZpnClk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_7R1BuOcK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_KCdLhw9p_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_guqgmXzk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_IAED51KK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_SeoxEpEW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_ESSsls21_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_cqeoyNml_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_FuyajRsH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_LvJ2wEk3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_dEhJmgRF_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_yP4v5nNM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_j1bGLY45_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_12eibmLg_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_4QbhXBqM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_0bQ3YrqF_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_ARxFbiyZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_pgQvI5cl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_mvBWrNAc_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_tAN8PWzQ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_qfXDYMic_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_epTObcqo_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_maDapn8d_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_LxB78UXU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_U1WUhvfv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_0lbLqOnp_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_pCDxJ11J_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_C70yAhkD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_ri54zFOR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_seJyTUwT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_ZD7HSBiV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_tqTUMqUi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_fQhFLMED_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_589toPCL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_0panBpL9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_fvV9VMDq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_pbeOxslE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_rY9qYCDT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_U9KDZkV1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_DujDieyG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_uW0B7FY8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_pvvvyjWZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_7grpLFXN_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_aCHgNo2I_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_XRrhABpI_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_R67BfFZp_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_W8jdGFW5_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_DP57ivEA_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_Jed3KeQW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_XWJ2Jqvu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_1OXqZ6Bg_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_L6DcXzbK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_nhMYm0st_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_rNIiSd33_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_MLt0O8yg_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_n7LU68W4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_EiR4r4A2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_0UPpbu1i_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_Ty4AZCCD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_eySO46yn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_KnxapYvS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_JD9szZbV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_KXtXNOXa_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_kBcjJvxp_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_CATg6nPr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_fXBy05cL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_OPUlBkwh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_4P51wQVc_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_DZiVayHP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_21680sPq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_SIDB48EI_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_dEFDi52d_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_TJmmUm5U_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_wPee7GS2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_uFHXRF1N_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_ADmSntnx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_S4L3afF2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_81HDz8CE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_qRQ3L6AU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_ihOT8CW7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_l8zt39cL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_7CG1MZIg_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_0iV9pJKf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_IX3mHvPq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_qJXVtB2A_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_BNTxg7wx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_FvgdxOkD_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_K6SmtxqU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_BHreXGfs_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_ky3Oc79Z_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_zwbFLVjY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_5Eah3OBE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_ajNW3u8W_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_OusnrNph_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_yHQBYmnf_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_wLxvsE6d_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_w9j1Cdjk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_wf9WYwuy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_dHvyDREf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_4tmfAejR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_Eru9gouJ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_iphHSLaK_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_md93CS7M_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_rhxubJln_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_6wIpt0f5_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_Kbkd3R0N_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_UvgBzaAj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_oOiNLMaR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_JDJQipxH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_zPJOqjLQ_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_M1nBpgGs_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_aLvxbWK8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_xKZO3BGD_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_SP2hdOgO_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_9Ftkd6Fy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_qLJXwPi3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_5rZAbeSu_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_8hDBcNPP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_5yZ4bMmj_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_YEv4mvrq_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_BPYXa7JB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_mELWUgjr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_2zKbOLUN_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_ZOs8DKQs_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_JCdLNV35_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_dzWVGIcK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_KK4RoHV1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_KARnIlLo_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_8VLFejsr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_i9YyF27D_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_mmRiOoWd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_LiMj0H1p_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_PiRptExk_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Iui2p1my_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_JfIIyAwg_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_rIzOVftP_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_y9otndkl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_mOOlRxTK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_oVUrXZdH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_pvqTzqZi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_mrXlugiY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_YhfQGkQv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_0pDnxeRd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_qBcuZRgZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_O9aaqDcW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_JctnXzZ6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_QtcmGkpO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_LNpaIlFU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_hxFLOadH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Q3fdZqnO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_DanocuFQ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_1oVhcKAe_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_etboRD1p_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_wEEN8feL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_jsHkXYE2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_tj0WiuA4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_RxFf9vpl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_KQQK3QFZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_kUVyFe3n_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_HMxya2xZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_cXXTcBNa_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_2W3kMZr0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_emZ4AHDA_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_q4ou76oU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_O5mrDaec_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_nAVnFHzn_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_x5YXpkez_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_Rli0KmaV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_PoYID1D7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_PXx3naOw_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_pGk0g3cc_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_RZ0SPTOO_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_1yChKnRB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_kpwhR0tf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_oh4auhT2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_9GkGoUNy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_20OqfaGo_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_jZbyfo4f_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_0uc0zW84_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_kb4IGhUs_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_rMfZDNZW_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_Gn9nia4s_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_DCIzo1or_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_xgotwYzR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_0FFsXUe9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_UWPDyIY4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_5Qfl8Kl3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_kyiC1Zf2_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_hDZvWMG1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_AIHWizth_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_A5QHofQ9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_D136IKQ5_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_FBLUET1E_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_IMhCCKPw_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_r1TUkR2L_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_CZyqnm4Q_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_4cD0pfyC_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_i2j9vtBd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_CoaLfaFv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_grCwKwJK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_EgibIsHG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_nx6xWTIv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_nRibR7JK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cVar_2ZeHP4qZ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_eFIgSVQb_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_rVjKxSWj_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_3GYF4I39_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_FyKBZYzr_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_HRfxxP3f_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_iAd21jN7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_JuAm7KIS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_wkitl7VS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_AlMaGzAy_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_ccZGSBP7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSlice_Ljp9kzNl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_HMJc0N5e_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_GLx6aHXJ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_14YQ1uDS_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_CWI2ECk7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_L5ydR6Yi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_4Oxw3M2i_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_lDCkN1Kf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_aIK2Du5A_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_REqzQemd_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_mUqtQDle_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSystem_p9cn2unM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_3FZn93hs_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_m0cBL5CC_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_rYvigZyQ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_4t6Hq55c_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_3Szlj56g_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_8EwDqalS_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_El2I9C77_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_v5mHUs55_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_xdGIes8s_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_QCOcZL0k_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_IQg5PLnG_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_DFPVnsBM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_NqAjhx31_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_VNlVhLop_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cDelay_TfNYpGKV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_ss1rlpM4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_cEXkdH3i_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cDelay_SQWhXbuK_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_4bJ7vNfF_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cCast_432gH9F6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cIf_7NsIHVOW_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_8zJCSbxV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_JsfiF6qC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_7hjoygWC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_P0nhFNeb_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_OR53sAy6_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Pd5lqoR8_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_dx9EgukM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_57hlhbxL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_HgHg89r7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cPack_knDzxs63_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Lo45ltl1_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_mbwAJXPL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_PFUxS9Go_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_7NAvYHLM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_J9J1vN7D_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_ISJj7OwQ_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_mEI45YN0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Q5wsYYlY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_FVIIT6ue_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_RHSLWQjL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_wrpHr5h4_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_vNxezH8y_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_4HMeafoY_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_UThFMZyR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_QpX8KJ1s_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_rk2leRf0_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_vVR1067u_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_wPGSZ374_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_09LNF0Eg_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_MMOQOcXb_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_17N4JcCh_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_1YqmG8JV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_f66uQpzU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_Rp4fOhNx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_jQ3DV4oR_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_0rSymidU_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_2IDEfKFL_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_i0XIaf1t_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_ievitM3h_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_2B0squbx_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cCast_xEnOiPtC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_Tv18BrFM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_b60XF5JT_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_xWQxJdsi_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_vTikcOK9_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_4LE3oFAE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_LbalmIoa_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_ghZEl5yM_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_Af1mNKzv_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cBinop_XzeBh5jF_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_bXl02GUf_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cMsg_12GlrbhH_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_oJjbF3oR_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_05vVwRGe_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_CI4f9r5B_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_c3nXiTNC_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_0kq1xuMz_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_z8G0G5Eb_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_zGa1EpH7_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_2O5lvYJA_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_7i9NfnFn_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_if4TiRX7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_nPhn8cUn_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_lpM95DRE_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSwitchcase_ZvI2MPL9_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *); + static void cSlice_GQUD4Nul_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cSend_AOX5cBQ7_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cReceive_30ra41Ne_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cReceive_xufwxl2p_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cReceive_YUPT5gm3_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cReceive_MGnMGx0X_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cReceive_78vPaVrA_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cReceive_Yvc0SbVa_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cReceive_RehAy77I_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cReceive_VHVO9aGV_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cReceive_T5RYnxvy_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cReceive_xWrZfXcb_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cReceive_YSOymCGl_sendMessage(HeavyContextInterface *, int, const HvMessage *); + static void cReceive_UNQwjlFB_sendMessage(HeavyContextInterface *, int, const HvMessage *); + + // objects + SignalRPole sRPole_xQE1l5IP; + SignalPhasor sPhasor_1g348lth; + SignalRPole sRPole_LJ2U55sy; + SignalLine sLine_p3apF6qw; + SignalLine sLine_Fe0sHHrh; + SignalBiquad sBiquad_s_YKOSCulY; + SignalBiquad sBiquad_s_WwgL7LgK; + SignalRPole sRPole_Yh3y0fv7; + SignalPhasor sPhasor_fT5BH6mJ; + SignalRPole sRPole_OW9MoKMh; + SignalLine sLine_hADdbIyX; + SignalLine sLine_QOlaVO7i; + SignalBiquad sBiquad_s_J2SXmwLe; + SignalBiquad sBiquad_s_V1GxOo38; + SignalRPole sRPole_fc8fozRB; + SignalPhasor sPhasor_4cjQsVOb; + SignalRPole sRPole_mUTFYoDS; + SignalLine sLine_cIX3zJqu; + SignalLine sLine_LhlRTRkY; + SignalBiquad sBiquad_s_yl5UTiMA; + SignalBiquad sBiquad_s_w1lsyZ09; + SignalRPole sRPole_6w5YBg62; + SignalPhasor sPhasor_D5sKYl8D; + SignalRPole sRPole_RSpjeLQ7; + SignalLine sLine_0sWTZ5AU; + SignalLine sLine_RzEGSGrh; + SignalBiquad sBiquad_s_RKAk6kYo; + SignalBiquad sBiquad_s_tKqK3PD8; + SignalRPole sRPole_rortzBCV; + SignalPhasor sPhasor_EcWjv2sM; + SignalRPole sRPole_h1PimpFg; + SignalLine sLine_dkF12Ve6; + SignalLine sLine_qf13Df9a; + SignalBiquad sBiquad_s_5ZyVy244; + SignalBiquad sBiquad_s_iY0l9PpE; + SignalRPole sRPole_ENY5kCjf; + SignalPhasor sPhasor_E5G3BDc3; + SignalRPole sRPole_FcnY2nUH; + SignalLine sLine_7VShF34d; + SignalLine sLine_cB6SyVDf; + SignalBiquad sBiquad_s_lTst5uXH; + SignalBiquad sBiquad_s_bv0ayvgN; + SignalRPole sRPole_KtL4KXWw; + SignalPhasor sPhasor_c7vJg0xU; + SignalRPole sRPole_rXfoSWbc; + SignalLine sLine_j9bBmCVa; + SignalLine sLine_sg8Xev4V; + SignalBiquad sBiquad_s_cMP1tQbF; + SignalBiquad sBiquad_s_gmGyDRT9; + SignalRPole sRPole_hqPZA51z; + SignalPhasor sPhasor_SazJp6hE; + SignalRPole sRPole_i1z0QzqD; + SignalLine sLine_B8Rawwja; + SignalLine sLine_VEYj3jgK; + SignalBiquad sBiquad_s_Tem2knmO; + SignalBiquad sBiquad_s_LyFyGR1n; + SignalRPole sRPole_FWviEoDV; + SignalDel1 sDel1_GoFPXWmZ; + ControlSlice cSlice_elndZqvG; + ControlSlice cSlice_8lQZHtLi; + ControlSlice cSlice_YVJyinnD; + ControlSlice cSlice_ARpUAMcU; + ControlSlice cSlice_qZ4JKRTE; + ControlVar cVar_cpIi4bZm; + ControlIf cIf_YoRQTGhu; + ControlBinop cBinop_s8vQ1BWG; + ControlVar cVar_QDfjXuFO; + ControlIf cIf_f2jlbKVU; + ControlBinop cBinop_TjJdcdK8; + ControlIf cIf_mO03xd4v; + ControlIf cIf_amyuKIUW; + ControlIf cIf_KcTlrUJx; + ControlIf cIf_smq6naFn; + ControlBinop cBinop_9aJebTmn; + ControlBinop cBinop_pCiyJnjZ; + ControlBinop cBinop_JhA9xsTS; + ControlPack cPack_BYT033Zm; + ControlSlice cSlice_DhA4et2d; + ControlBinop cBinop_z60tURxy; + ControlBinop cBinop_7Hb23T04; + SignalVarf sVarf_RNGFp3NA; + ControlVar cVar_ElxPJUxK; + ControlBinop cBinop_k9lbIrHi; + ControlBinop cBinop_34r4jXzz; + ControlBinop cBinop_oX6ssrYL; + ControlBinop cBinop_rz4c8AUf; + ControlBinop cBinop_jSKszev7; + ControlBinop cBinop_vPTjbp6l; + ControlBinop cBinop_BoHvJj3f; + SignalVarf sVarf_Yp4JGjbp; + ControlSlice cSlice_bjkjROgL; + ControlSlice cSlice_X59Ms47y; + ControlBinop cBinop_qZhFVp8b; + ControlBinop cBinop_puulPVJ8; + ControlBinop cBinop_DrdAUms9; + ControlBinop cBinop_5BolRjUc; + ControlDelay cDelay_XJtqLdR3; + ControlPack cPack_Tc48KAjO; + ControlSlice cSlice_mxHzGYpx; + ControlSlice cSlice_S1VOGbss; + ControlVar cVar_sZ2r4PVf; + ControlBinop cBinop_3RBhQUO2; + ControlBinop cBinop_k3xOFn9Y; + SignalVarf sVarf_12WWjECf; + ControlBinop cBinop_si1yqlyW; + ControlBinop cBinop_RceFSyRR; + ControlBinop cBinop_ByBj1s2m; + SignalVarf sVarf_JStffWNs; + ControlDelay cDelay_LdXQexFY; + ControlPack cPack_mCFcgioO; + ControlSlice cSlice_Km00ydT2; + ControlSlice cSlice_1Q9bVNNN; + ControlVar cVar_NTVGi1rx; + ControlBinop cBinop_D5D0LaYe; + ControlBinop cBinop_HA94hCLv; + SignalVarf sVarf_MhpLVcYQ; + ControlBinop cBinop_mTfoFJLO; + ControlBinop cBinop_A2KsUGjR; + ControlBinop cBinop_G6AE2PwA; + SignalVarf sVarf_dWTru9Kp; + ControlSlice cSlice_8PkrkbiL; + ControlSlice cSlice_AxhMJRiu; + ControlBinop cBinop_Ti73JY9X; + ControlBinop cBinop_aYuF0nQk; + ControlBinop cBinop_GBGRcaro; + ControlBinop cBinop_AUvUrY4R; + SignalVarf sVarf_0vvlNiX4; + SignalVarf sVarf_yz2BQm5L; + ControlDelay cDelay_yN9o31WM; + SignalVarf sVarf_pkqNsRE6; + ControlDelay cDelay_qZFKZiPY; + ControlDelay cDelay_u4RfWjOf; + ControlDelay cDelay_HvShZWxN; + ControlDelay cDelay_62QExDOA; + ControlDelay cDelay_twfJBpos; + ControlIf cIf_uB5Z1HTu; + ControlBinop cBinop_gRen83wr; + ControlBinop cBinop_7dajl5bE; + ControlBinop cBinop_maqKW0Ak; + ControlBinop cBinop_1pfH37j6; + ControlBinop cBinop_VtqrJbdm; + ControlPack cPack_H3oA1KXj; + ControlBinop cBinop_JuKEhSjI; + ControlBinop cBinop_F8TudeNI; + ControlBinop cBinop_j7sSgKsi; + ControlBinop cBinop_H0pkypkT; + ControlBinop cBinop_3tTN8vR3; + ControlBinop cBinop_dIYEAlww; + SignalVarf sVarf_5c1hNZPU; + ControlBinop cBinop_c85ioJXE; + ControlBinop cBinop_lklbN5Wj; + ControlBinop cBinop_7dgfWIsc; + ControlBinop cBinop_IpPxuID9; + ControlBinop cBinop_XKbyFfP1; + SignalVarf sVarf_mmQmNb4h; + SignalVarf sVarf_U88OzJYl; + SignalVarf sVarf_E7C2HtOj; + ControlVar cVar_W2qTdReU; + ControlVar cVar_t9FMWBot; + ControlSlice cSlice_0qBP9nWd; + ControlSlice cSlice_tESkokbe; + ControlSlice cSlice_o4tsP9dq; + ControlSlice cSlice_FCBGNY5K; + ControlVar cVar_nFgGc4Zm; + ControlIf cIf_D4wcmJuh; + ControlIf cIf_c0zUMuUL; + ControlIf cIf_D3NPspDa; + ControlVar cVar_h9fOsrnu; + ControlIf cIf_aU22ke9k; + ControlBinop cBinop_zdLrBU74; + ControlVar cVar_nFPgN4cq; + ControlIf cIf_47eGoYaP; + ControlBinop cBinop_JAzKubmp; + ControlBinop cBinop_RBY4x1dy; + ControlBinop cBinop_fiLZbzXB; + ControlVar cVar_G6zKrSxh; + ControlTabread cTabread_PauJffJY; + ControlSlice cSlice_yetBqfVw; + ControlVar cVar_TLOWGcxL; + ControlBinop cBinop_MwEDiNmW; + ControlBinop cBinop_zGtokhdj; + ControlBinop cBinop_wvx1FFS8; + ControlTabread cTabread_KpXSrXsH; + ControlSlice cSlice_o3FM47ae; + ControlVar cVar_5rfRjuLO; + ControlBinop cBinop_rQCjjERn; + ControlBinop cBinop_FKqtHwiD; + ControlBinop cBinop_GsngWkWj; + ControlVar cVar_YQvRzRkM; + ControlSlice cSlice_kuLRrEzT; + ControlSlice cSlice_zdBnuOil; + ControlTabread cTabread_ZQApb8qU; + ControlSlice cSlice_JhRv8Rsb; + ControlVar cVar_RJ9OHYRE; + ControlBinop cBinop_gIbVQO5V; + ControlBinop cBinop_anj1Q63b; + ControlBinop cBinop_t953EdC4; + ControlVar cVar_uyfxho1R; + ControlVar cVar_6P11HIk6; + ControlIf cIf_UIdc2Y3S; + ControlTabwrite cTabwrite_phRkfVNE; + ControlSlice cSlice_XQ59cW9c; + ControlTabwrite cTabwrite_srERlrc2; + ControlSlice cSlice_92qaa8G2; + ControlVar cVar_FxOwbdbW; + ControlVar cVar_qiKMdCfe; + ControlSlice cSlice_uEndvnwx; + ControlSlice cSlice_IZt7JHNk; + ControlPack cPack_81OkRPDa; + ControlBinop cBinop_RFdaE8WW; + ControlBinop cBinop_7PEtvA9O; + ControlBinop cBinop_DNEcWV5z; + ControlBinop cBinop_01bWJPHc; + ControlIf cIf_TFIJca8L; + ControlVar cVar_cKm6INBi; + ControlIf cIf_ibFYYATN; + ControlBinop cBinop_I8mRYXHG; + ControlVar cVar_QJUrAoEP; + ControlIf cIf_o3dHJNrP; + ControlBinop cBinop_3kgvdtIu; + ControlBinop cBinop_fXXfM7sT; + ControlBinop cBinop_CDRpKtNX; + ControlVar cVar_YNI0kMWD; + ControlTabwrite cTabwrite_4XAIFIT1; + ControlSlice cSlice_Ahl4XFE1; + ControlTabread cTabread_v2Y3w5Js; + ControlSlice cSlice_KfTlOVnb; + ControlVar cVar_xlGGAJyo; + ControlBinop cBinop_mGNHy9HX; + ControlBinop cBinop_4OhIorOU; + ControlBinop cBinop_zrolu0CB; + ControlIf cIf_9Pnl6QKg; + ControlTabread cTabread_3p4zBAxb; + ControlSlice cSlice_3TTb2icc; + ControlVar cVar_ALLgM3kz; + ControlBinop cBinop_x6QzRkvq; + ControlBinop cBinop_9ycQILEU; + ControlBinop cBinop_cWTIXbmQ; + ControlIf cIf_4hIlFUU3; + ControlVar cVar_QV1FHuAQ; + ControlIf cIf_8SDdSAUy; + ControlBinop cBinop_tf6cjDqo; + ControlVar cVar_OFdGnxYb; + ControlIf cIf_iPBiNEnD; + ControlBinop cBinop_X0hsC581; + ControlBinop cBinop_EHSnhdCg; + ControlBinop cBinop_oBnn7Qpa; + ControlVar cVar_gyUPexf9; + ControlTabwrite cTabwrite_mwtkLMr5; + ControlSlice cSlice_687b49wk; + ControlTabwrite cTabwrite_t4h14qem; + ControlSlice cSlice_TpNaIlmR; + ControlTabwrite cTabwrite_Xc9EqI71; + ControlSlice cSlice_uriW0Yse; + ControlIf cIf_N2eqUNfm; + ControlVar cVar_INvadq4g; + ControlIf cIf_MXYQ077D; + ControlBinop cBinop_UT1t4ZTo; + ControlVar cVar_cdEnC7IL; + ControlIf cIf_MuTE4IBy; + ControlBinop cBinop_Tgf0gGqC; + ControlBinop cBinop_fiXM9NS8; + ControlBinop cBinop_2rzB3hZ9; + ControlVar cVar_OkVpRRSw; + ControlVar cVar_XpmYbjT4; + ControlIf cIf_0cDBtrS9; + ControlVar cVar_iiualsly; + ControlVar cVar_dx2ZQG4K; + ControlVar cVar_OyUmAZI6; + ControlIf cIf_YXo0WfYq; + ControlIf cIf_dw0Rb8md; + ControlPack cPack_TGa9AOTT; + ControlVar cVar_MfvQWInI; + ControlSlice cSlice_SvNxgwyv; + ControlSlice cSlice_84tpamIM; + ControlVar cVar_bNgyqWRz; + ControlIf cIf_30KS2vcA; + ControlVar cVar_L9vaHYGJ; + ControlVar cVar_u5tBj8Lb; + ControlTabread cTabread_zixFG9DX; + ControlSlice cSlice_mpKBBGkD; + ControlVar cVar_qZNKNNj4; + ControlBinop cBinop_178ekfBO; + ControlBinop cBinop_fTIYVYXR; + ControlBinop cBinop_wnEj2stC; + ControlTabread cTabread_r8YGsDv2; + ControlSlice cSlice_E3eGCS7T; + ControlVar cVar_nqwB3gob; + ControlBinop cBinop_QSHAKfTC; + ControlBinop cBinop_RTJGzepK; + ControlBinop cBinop_lWgQPRpo; + ControlTabwrite cTabwrite_AFpLtIy7; + ControlSlice cSlice_Xgq2sBvz; + ControlTabread cTabread_wzHGlVxe; + ControlSlice cSlice_uQMKeyli; + ControlVar cVar_6vM6OQsr; + ControlBinop cBinop_kDYam45V; + ControlBinop cBinop_n6HPoGNU; + ControlBinop cBinop_tZWF9Lfj; + ControlTabwrite cTabwrite_7CqRGpzh; + ControlSlice cSlice_fGAlwoVk; + ControlTabwrite cTabwrite_f431WPJL; + ControlSlice cSlice_oeypQYGk; + ControlTabwrite cTabwrite_b1zrUtiJ; + ControlSlice cSlice_4y3BMUCB; + ControlTabwrite cTabwrite_ZnyIyMwB; + ControlSlice cSlice_ahe4Nl54; + ControlVar cVar_GiSxSddZ; + ControlTabwrite cTabwrite_rhy4zqC2; + ControlSlice cSlice_jJFqUT5D; + ControlVar cVar_MitV4kWM; + ControlSlice cSlice_vacnVbtY; + ControlSlice cSlice_JP4mGNIp; + ControlVar cVar_aVw41OwU; + ControlBinop cBinop_Bhr229Ht; + ControlBinop cBinop_VHLIISwe; + ControlBinop cBinop_eieiD2dS; + ControlBinop cBinop_xavIp2th; + ControlBinop cBinop_DGMgtVll; + ControlBinop cBinop_wRpWrKWi; + ControlBinop cBinop_0TCmOiUi; + ControlBinop cBinop_B3C8qnN1; + ControlBinop cBinop_Qa8GSBYv; + ControlBinop cBinop_EpXBdGxj; + ControlBinop cBinop_60vLkGOw; + HvTable hTable_zrjAPWjU; + HvTable hTable_jDLA3bj2; + HvTable hTable_103Wn1Ed; + ControlBinop cBinop_aRCf7ezT; + ControlBinop cBinop_b9e8k91q; + ControlSlice cSlice_2INuIXhx; + ControlSlice cSlice_rIS4wCWL; + ControlBinop cBinop_anivr1Px; + ControlBinop cBinop_Zzp7ey9u; + ControlBinop cBinop_qNNqg8fl; + ControlBinop cBinop_D4pAxZXo; + ControlDelay cDelay_fChR2EMd; + ControlPack cPack_5c1776aq; + ControlSlice cSlice_uOTUFrWe; + ControlSlice cSlice_2v2J5hCG; + ControlVar cVar_f7mZhooZ; + ControlBinop cBinop_lV6bOwnK; + ControlBinop cBinop_GbGYOiva; + SignalVarf sVarf_WD7C8chd; + ControlBinop cBinop_Di0BSSgC; + ControlBinop cBinop_oqPfrp1J; + ControlBinop cBinop_JmyVXmNs; + SignalVarf sVarf_RcnTHRuu; + ControlDelay cDelay_1yRWlMR0; + ControlPack cPack_SwGJLASp; + ControlSlice cSlice_dtyI5XH4; + ControlSlice cSlice_0n4vTued; + ControlVar cVar_cuvWDrFY; + ControlBinop cBinop_CgfALdqs; + ControlBinop cBinop_qjO6txa1; + SignalVarf sVarf_MfT4ifW4; + ControlBinop cBinop_r5YmAXgy; + ControlBinop cBinop_4ZiErfzd; + ControlBinop cBinop_bEbE8c1Q; + SignalVarf sVarf_vp8lIXCn; + ControlSlice cSlice_XuiDQjrM; + ControlSlice cSlice_jf2Ro2dy; + ControlBinop cBinop_apMcAOFx; + ControlBinop cBinop_C9qeifus; + ControlBinop cBinop_cXPXdUfF; + ControlBinop cBinop_JmxewGJv; + SignalVarf sVarf_qx7mJTO2; + SignalVarf sVarf_Jiw4Es3V; + ControlDelay cDelay_a1Yr3GlD; + SignalVarf sVarf_EnIDOsdo; + ControlDelay cDelay_odpMaBGc; + ControlDelay cDelay_zIGcbWr6; + ControlDelay cDelay_PYqe7fPW; + ControlDelay cDelay_YTuA3aGI; + ControlDelay cDelay_B0f8yaM4; + ControlIf cIf_drS0YQ1l; + ControlBinop cBinop_NbhbI6Aw; + ControlBinop cBinop_pOL4RXb6; + ControlBinop cBinop_85xlG53a; + ControlBinop cBinop_Cfh8L2Oh; + ControlBinop cBinop_f1GPe8wH; + ControlPack cPack_nY24jnaO; + ControlBinop cBinop_jxSH4lC7; + ControlBinop cBinop_C0Wn6bJr; + ControlBinop cBinop_rRe2nMN0; + ControlBinop cBinop_R6mPsfGd; + ControlBinop cBinop_kIOWepAR; + ControlBinop cBinop_moMtXn4m; + SignalVarf sVarf_7rNwdeBI; + ControlBinop cBinop_zDi7M02d; + ControlBinop cBinop_k49e22Gp; + ControlBinop cBinop_NixFIDVe; + ControlBinop cBinop_zrBIyQso; + ControlBinop cBinop_dhr9C5zZ; + SignalVarf sVarf_lvEgPbs3; + SignalVarf sVarf_iDRS34B2; + SignalVarf sVarf_3qDPWnPQ; + ControlSlice cSlice_qZT4eBYV; + ControlSlice cSlice_7oNej4sG; + ControlBinop cBinop_l3RXDCtN; + ControlBinop cBinop_tsESU4RN; + ControlBinop cBinop_nWXpuFVx; + ControlBinop cBinop_AUKqDMCP; + ControlDelay cDelay_ZtwXRUif; + ControlPack cPack_J0CLxFll; + ControlSlice cSlice_YosQUGW6; + ControlSlice cSlice_w1ytFFHJ; + ControlVar cVar_I5axLBa7; + ControlBinop cBinop_8mUuoz38; + ControlBinop cBinop_llPN8wky; + SignalVarf sVarf_sChqoevv; + ControlBinop cBinop_bjbPNxTO; + ControlBinop cBinop_nCoZaBF0; + ControlBinop cBinop_9Mvq2M0P; + SignalVarf sVarf_oj8tkGiB; + ControlDelay cDelay_iN9nDqKH; + ControlPack cPack_XcUCeI3v; + ControlSlice cSlice_nOSjeXgq; + ControlSlice cSlice_qIBpEnnd; + ControlVar cVar_6lY50lnm; + ControlBinop cBinop_KyQEhWTY; + ControlBinop cBinop_tLvLAlZL; + SignalVarf sVarf_r2nB2y1m; + ControlBinop cBinop_WTmBkKQT; + ControlBinop cBinop_jj4NG7qf; + ControlBinop cBinop_FGtkRlDO; + SignalVarf sVarf_WSO3zyqT; + ControlSlice cSlice_UaT8lPaC; + ControlSlice cSlice_F4UGzXJD; + ControlBinop cBinop_QrSnCJCJ; + ControlBinop cBinop_fJLC2pkO; + ControlBinop cBinop_Fa78vtHE; + ControlBinop cBinop_pNB7bAH5; + SignalVarf sVarf_ruyibc4Y; + SignalVarf sVarf_zp8XrZmD; + ControlDelay cDelay_QLMdRIRC; + SignalVarf sVarf_e5DnsKGN; + ControlDelay cDelay_Jj5JoN3X; + ControlDelay cDelay_MT2IRF44; + ControlDelay cDelay_kVeglpYz; + ControlDelay cDelay_HjgtvZoF; + ControlDelay cDelay_AQqKKBe7; + ControlIf cIf_riRtEjEO; + ControlBinop cBinop_kWGjKN5n; + ControlBinop cBinop_f5IHXl58; + ControlBinop cBinop_4fYWpMjF; + ControlBinop cBinop_5r1OUzKN; + ControlBinop cBinop_cyjUUiEB; + ControlPack cPack_X3O3xvTy; + ControlBinop cBinop_jSR9zS7N; + ControlBinop cBinop_NavqPfVK; + ControlBinop cBinop_YopcEX5F; + ControlBinop cBinop_lyVu0twV; + ControlBinop cBinop_7ecYajZQ; + ControlBinop cBinop_aLAYvppH; + SignalVarf sVarf_sna6KPtA; + ControlBinop cBinop_RDIdQCKh; + ControlBinop cBinop_dbIjZ05s; + ControlBinop cBinop_OdnvGDMS; + ControlBinop cBinop_Doptl4KB; + ControlBinop cBinop_pF0VBlT7; + SignalVarf sVarf_1ozkl1Ar; + SignalVarf sVarf_zeHbGhXt; + SignalVarf sVarf_NOYgXabI; + ControlSlice cSlice_hv3mUgaW; + ControlSlice cSlice_XWrWDCcW; + ControlBinop cBinop_k1cslq56; + ControlBinop cBinop_mFn54KU0; + ControlBinop cBinop_nkoqLCHg; + ControlBinop cBinop_c0i1xbS9; + ControlDelay cDelay_6qAkbHP4; + ControlPack cPack_HKhQT7B9; + ControlSlice cSlice_FwTqvMn2; + ControlSlice cSlice_DcHse9W3; + ControlVar cVar_r5ixlHEt; + ControlBinop cBinop_HqjECEs6; + ControlBinop cBinop_3kpJHHGx; + SignalVarf sVarf_DyUZzAkb; + ControlBinop cBinop_zGb3Cnpa; + ControlBinop cBinop_gcPqtQGi; + ControlBinop cBinop_TzI3zrOK; + SignalVarf sVarf_7O0Uks8x; + ControlDelay cDelay_fsNbhAVw; + ControlPack cPack_8rASSedI; + ControlSlice cSlice_SQTrpvHR; + ControlSlice cSlice_TEczJAdP; + ControlVar cVar_9G2w7qnP; + ControlBinop cBinop_wtCPn2v7; + ControlBinop cBinop_M3xbRzHZ; + SignalVarf sVarf_K4mxXcbU; + ControlBinop cBinop_WjxnTodE; + ControlBinop cBinop_2gqweucP; + ControlBinop cBinop_CVrmPTW2; + SignalVarf sVarf_8A33dqbR; + ControlSlice cSlice_MO4iCVh1; + ControlSlice cSlice_QuX5M4S2; + ControlBinop cBinop_VbNqWaoC; + ControlBinop cBinop_MGu6DZGz; + ControlBinop cBinop_hsln8cTe; + ControlBinop cBinop_YN6RyC3N; + SignalVarf sVarf_LGgQiJgX; + SignalVarf sVarf_tfwRhNIy; + ControlDelay cDelay_VB784pvz; + SignalVarf sVarf_4WWOmkn4; + ControlDelay cDelay_BlyG4Dem; + ControlDelay cDelay_lesker1N; + ControlDelay cDelay_xS27Dv4p; + ControlDelay cDelay_nlscGUxB; + ControlDelay cDelay_8o62CkX0; + ControlIf cIf_eE0PJb50; + ControlBinop cBinop_dlGEIEnH; + ControlBinop cBinop_JIbo3cDI; + ControlBinop cBinop_pCXsFq1U; + ControlBinop cBinop_3P1RBOib; + ControlBinop cBinop_qdM3r4g0; + ControlPack cPack_ydX1v6ep; + ControlBinop cBinop_7zgCesuw; + ControlBinop cBinop_xCpzb0GP; + ControlBinop cBinop_6hJ2N7Mg; + ControlBinop cBinop_av6hA3La; + ControlBinop cBinop_doxG9FU3; + ControlBinop cBinop_E8SMKbju; + SignalVarf sVarf_2h60wK8h; + ControlBinop cBinop_03KuiZFi; + ControlBinop cBinop_m6xlByYI; + ControlBinop cBinop_1qw1bhOJ; + ControlBinop cBinop_PxyOdmoJ; + ControlBinop cBinop_xVrj7M6A; + SignalVarf sVarf_kx1tzfa7; + SignalVarf sVarf_nFQtbdVq; + SignalVarf sVarf_gMuBQaiz; + ControlSlice cSlice_jBZVqRID; + ControlSlice cSlice_ZxsAnMyr; + ControlBinop cBinop_8D0zCOwK; + ControlBinop cBinop_BFi55qXh; + ControlBinop cBinop_a8Dmzxhi; + ControlBinop cBinop_0zmZNoDQ; + ControlDelay cDelay_boef1Edm; + ControlPack cPack_PKdgj686; + ControlSlice cSlice_ZYqqPMEU; + ControlSlice cSlice_9r5FvGx8; + ControlVar cVar_43FOqtBR; + ControlBinop cBinop_sG7uKtCn; + ControlBinop cBinop_idtx5U4Z; + SignalVarf sVarf_P4bF2htA; + ControlBinop cBinop_4484JP4i; + ControlBinop cBinop_VS2moOM6; + ControlBinop cBinop_uoPduPOh; + SignalVarf sVarf_Q2qDb61i; + ControlDelay cDelay_0g9RNRzd; + ControlPack cPack_zvNQLNNm; + ControlSlice cSlice_OT28k0wW; + ControlSlice cSlice_dX9iIu2e; + ControlVar cVar_PQrhAZRa; + ControlBinop cBinop_oqqJ1Paq; + ControlBinop cBinop_nbWNwOai; + SignalVarf sVarf_Gzvbv7EO; + ControlBinop cBinop_7hb1OHvN; + ControlBinop cBinop_gspRXxvt; + ControlBinop cBinop_Yp2K2bFn; + SignalVarf sVarf_9lhwrhxA; + ControlSlice cSlice_yX2gZFzd; + ControlSlice cSlice_WyVXq3I4; + ControlBinop cBinop_qSBIWrss; + ControlBinop cBinop_H0Q3gbjl; + ControlBinop cBinop_UOds2bwZ; + ControlBinop cBinop_4gLdkR2v; + SignalVarf sVarf_gG3oyfVr; + SignalVarf sVarf_LJPeQeRw; + ControlDelay cDelay_ouiGSpqr; + SignalVarf sVarf_7P4pkLFI; + ControlDelay cDelay_QwttMs34; + ControlDelay cDelay_ynpjLAAq; + ControlDelay cDelay_8zQ9g5kN; + ControlDelay cDelay_S4kddO82; + ControlDelay cDelay_IMZb3bj3; + ControlIf cIf_ZTxZJeNg; + ControlBinop cBinop_WofbqBHk; + ControlBinop cBinop_TBS1MzlW; + ControlBinop cBinop_H2yxUgdZ; + ControlBinop cBinop_93XUb6ci; + ControlBinop cBinop_ByESvDhb; + ControlPack cPack_Q2kgvi4X; + ControlBinop cBinop_TwOQys3E; + ControlBinop cBinop_xWe7L4zj; + ControlBinop cBinop_Z6h5tmz3; + ControlBinop cBinop_K7pbLD1Z; + ControlBinop cBinop_OTHnCVRL; + ControlBinop cBinop_8hrzCrt9; + SignalVarf sVarf_3PZoK8Te; + ControlBinop cBinop_ahqchjeT; + ControlBinop cBinop_SS75KJNe; + ControlBinop cBinop_BpYFlK4l; + ControlBinop cBinop_YiTSNoeT; + ControlBinop cBinop_FueLORJu; + SignalVarf sVarf_4tw7syWZ; + SignalVarf sVarf_Uj8v2gts; + SignalVarf sVarf_QndJgocL; + ControlSlice cSlice_YdkTn2WL; + ControlSlice cSlice_IDtSoCz3; + ControlBinop cBinop_MCRwxge6; + ControlBinop cBinop_yeO0TBWK; + ControlBinop cBinop_QFXcKD54; + ControlBinop cBinop_uWnhLLWD; + ControlDelay cDelay_LNwKVA6h; + ControlPack cPack_TPCSHBXT; + ControlSlice cSlice_uN0zKAiB; + ControlSlice cSlice_gNyzsSj0; + ControlVar cVar_mrGWo2hl; + ControlBinop cBinop_6kvx4MW1; + ControlBinop cBinop_G67N2Obe; + SignalVarf sVarf_WdJqQKz5; + ControlBinop cBinop_yF8yz2t1; + ControlBinop cBinop_tAnpPZo8; + ControlBinop cBinop_SRfrcYXZ; + SignalVarf sVarf_ya0UY0D5; + ControlDelay cDelay_8ZZIXXPz; + ControlPack cPack_5500f4rS; + ControlSlice cSlice_V7WIm3dA; + ControlSlice cSlice_NBtNQH70; + ControlVar cVar_2nrwCzMG; + ControlBinop cBinop_laWCPJWj; + ControlBinop cBinop_XRHl9hCk; + SignalVarf sVarf_QJuMdqAL; + ControlBinop cBinop_FxqAL3Iz; + ControlBinop cBinop_uRKPU5nd; + ControlBinop cBinop_QCh9dt7w; + SignalVarf sVarf_lbmQbBe1; + ControlSlice cSlice_QjjpI8v1; + ControlSlice cSlice_mq0IVuSG; + ControlBinop cBinop_6TnJ4LDS; + ControlBinop cBinop_KuuB7P1e; + ControlBinop cBinop_WcuevvmP; + ControlBinop cBinop_yktdhsb8; + SignalVarf sVarf_bwlmwK6X; + SignalVarf sVarf_LY96DS0r; + ControlDelay cDelay_FpA49BkW; + SignalVarf sVarf_2VaBCHEQ; + ControlDelay cDelay_Ksc6L6s1; + ControlDelay cDelay_HD4QVfFN; + ControlDelay cDelay_kEuwEux7; + ControlDelay cDelay_v6eu2VXR; + ControlDelay cDelay_kJiO8EHE; + ControlIf cIf_CxGKJWrF; + ControlBinop cBinop_gRP0w6t1; + ControlBinop cBinop_6957mrj0; + ControlBinop cBinop_ygZpnClk; + ControlBinop cBinop_7R1BuOcK; + ControlBinop cBinop_guqgmXzk; + ControlPack cPack_IAED51KK; + ControlBinop cBinop_SeoxEpEW; + ControlBinop cBinop_cqeoyNml; + ControlBinop cBinop_j1bGLY45; + ControlBinop cBinop_4QbhXBqM; + ControlBinop cBinop_LxB78UXU; + ControlBinop cBinop_0lbLqOnp; + SignalVarf sVarf_p9lZuVC3; + ControlBinop cBinop_DujDieyG; + ControlBinop cBinop_uW0B7FY8; + ControlBinop cBinop_7grpLFXN; + ControlBinop cBinop_aCHgNo2I; + ControlBinop cBinop_XRrhABpI; + SignalVarf sVarf_9dY6u1g9; + SignalVarf sVarf_Tln43Iuf; + SignalVarf sVarf_jkwvGNGq; + ControlSlice cSlice_DP57ivEA; + ControlSlice cSlice_Jed3KeQW; + ControlBinop cBinop_XWJ2Jqvu; + ControlBinop cBinop_1OXqZ6Bg; + ControlBinop cBinop_L6DcXzbK; + ControlBinop cBinop_nhMYm0st; + ControlDelay cDelay_n7LU68W4; + ControlPack cPack_Ty4AZCCD; + ControlSlice cSlice_eySO46yn; + ControlSlice cSlice_KnxapYvS; + ControlVar cVar_JD9szZbV; + ControlBinop cBinop_CATg6nPr; + ControlBinop cBinop_fXBy05cL; + SignalVarf sVarf_fNWQjrL4; + ControlBinop cBinop_4P51wQVc; + ControlBinop cBinop_DZiVayHP; + ControlBinop cBinop_21680sPq; + SignalVarf sVarf_1LU3jUnE; + ControlDelay cDelay_dEFDi52d; + ControlPack cPack_uFHXRF1N; + ControlSlice cSlice_ADmSntnx; + ControlSlice cSlice_S4L3afF2; + ControlVar cVar_81HDz8CE; + ControlBinop cBinop_l8zt39cL; + ControlBinop cBinop_7CG1MZIg; + SignalVarf sVarf_XOZLXNvW; + ControlBinop cBinop_IX3mHvPq; + ControlBinop cBinop_qJXVtB2A; + ControlBinop cBinop_BNTxg7wx; + SignalVarf sVarf_H49aKc1Z; + ControlSlice cSlice_K6SmtxqU; + ControlSlice cSlice_BHreXGfs; + ControlBinop cBinop_ky3Oc79Z; + ControlBinop cBinop_zwbFLVjY; + ControlBinop cBinop_5Eah3OBE; + ControlBinop cBinop_ajNW3u8W; + SignalVarf sVarf_tRrgHLef; + SignalVarf sVarf_jvcAXwqO; + ControlDelay cDelay_Eru9gouJ; + SignalVarf sVarf_wMKdFxWD; + ControlDelay cDelay_md93CS7M; + ControlDelay cDelay_UvgBzaAj; + ControlDelay cDelay_M1nBpgGs; + ControlDelay cDelay_9Ftkd6Fy; + ControlDelay cDelay_8hDBcNPP; + ControlIf cIf_BPYXa7JB; + ControlBinop cBinop_2zKbOLUN; + ControlBinop cBinop_ZOs8DKQs; + ControlBinop cBinop_KK4RoHV1; + ControlBinop cBinop_KARnIlLo; + ControlBinop cBinop_i9YyF27D; + ControlPack cPack_mmRiOoWd; + ControlBinop cBinop_LiMj0H1p; + ControlBinop cBinop_Iui2p1my; + ControlBinop cBinop_oVUrXZdH; + ControlBinop cBinop_mrXlugiY; + ControlBinop cBinop_Q3fdZqnO; + ControlBinop cBinop_1oVhcKAe; + SignalVarf sVarf_JwE9URmy; + ControlBinop cBinop_nAVnFHzn; + ControlBinop cBinop_x5YXpkez; + ControlBinop cBinop_PoYID1D7; + ControlBinop cBinop_PXx3naOw; + ControlBinop cBinop_pGk0g3cc; + SignalVarf sVarf_kZnFwfGv; + SignalVarf sVarf_uSJzSkBR; + SignalVarf sVarf_OHtE4ZXn; + ControlSlice cSlice_kpwhR0tf; + ControlSlice cSlice_oh4auhT2; + ControlBinop cBinop_9GkGoUNy; + ControlBinop cBinop_20OqfaGo; + ControlBinop cBinop_jZbyfo4f; + ControlBinop cBinop_0uc0zW84; + ControlDelay cDelay_Gn9nia4s; + ControlPack cPack_0FFsXUe9; + ControlSlice cSlice_UWPDyIY4; + ControlSlice cSlice_5Qfl8Kl3; + ControlVar cVar_kyiC1Zf2; + ControlBinop cBinop_A5QHofQ9; + ControlBinop cBinop_D136IKQ5; + SignalVarf sVarf_yvUDRhOv; + ControlBinop cBinop_IMhCCKPw; + ControlBinop cBinop_r1TUkR2L; + ControlBinop cBinop_CZyqnm4Q; + SignalVarf sVarf_4J0MldFm; + ControlDelay cDelay_i2j9vtBd; + ControlPack cPack_EgibIsHG; + ControlSlice cSlice_nx6xWTIv; + ControlSlice cSlice_nRibR7JK; + ControlVar cVar_2ZeHP4qZ; + ControlBinop cBinop_3GYF4I39; + ControlBinop cBinop_FyKBZYzr; + SignalVarf sVarf_14rNbRoM; + ControlBinop cBinop_iAd21jN7; + ControlBinop cBinop_JuAm7KIS; + ControlBinop cBinop_wkitl7VS; + SignalVarf sVarf_w0y5ojuv; + ControlSlice cSlice_ccZGSBP7; + ControlSlice cSlice_Ljp9kzNl; + ControlBinop cBinop_HMJc0N5e; + ControlBinop cBinop_GLx6aHXJ; + ControlBinop cBinop_14YQ1uDS; + ControlBinop cBinop_CWI2ECk7; + SignalVarf sVarf_xbpI8lwe; + SignalVarf sVarf_DiXqbjFE; + ControlDelay cDelay_3FZn93hs; + SignalVarf sVarf_mprK3PVr; + ControlDelay cDelay_rYvigZyQ; + ControlDelay cDelay_El2I9C77; + ControlDelay cDelay_IQg5PLnG; + ControlDelay cDelay_TfNYpGKV; + ControlDelay cDelay_SQWhXbuK; + ControlIf cIf_7NsIHVOW; + ControlBinop cBinop_JsfiF6qC; + ControlBinop cBinop_7hjoygWC; + ControlBinop cBinop_Pd5lqoR8; + ControlBinop cBinop_dx9EgukM; + ControlBinop cBinop_HgHg89r7; + ControlPack cPack_knDzxs63; + ControlBinop cBinop_Lo45ltl1; + ControlBinop cBinop_PFUxS9Go; + ControlBinop cBinop_Q5wsYYlY; + ControlBinop cBinop_RHSLWQjL; + ControlBinop cBinop_09LNF0Eg; + ControlBinop cBinop_17N4JcCh; + SignalVarf sVarf_Zj8nnBuC; + ControlBinop cBinop_vTikcOK9; + ControlBinop cBinop_4LE3oFAE; + ControlBinop cBinop_ghZEl5yM; + ControlBinop cBinop_Af1mNKzv; + ControlBinop cBinop_XzeBh5jF; + SignalVarf sVarf_QC38XxDe; + SignalVarf sVarf_U2PPTpXa; + SignalVarf sVarf_71RKkz2i; + ControlSlice cSlice_05vVwRGe; + ControlSlice cSlice_c3nXiTNC; + ControlSlice cSlice_z8G0G5Eb; + ControlSlice cSlice_2O5lvYJA; + ControlSlice cSlice_if4TiRX7; + ControlSlice cSlice_lpM95DRE; + ControlSlice cSlice_GQUD4Nul; +}; + +#endif // _HEAVY_CONTEXT_EP_MK1_HPP_ diff --git a/plugin/source/HvControlBinop.c b/plugin/source/HvControlBinop.c new file mode 100644 index 0000000..cc248d9 --- /dev/null +++ b/plugin/source/HvControlBinop.c @@ -0,0 +1,100 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvControlBinop.h" + +hv_size_t cBinop_init(ControlBinop *o, float k) { + o->k = k; + return 0; +} + +static float cBinop_perform_op(BinopType op, float f, float k) { + switch (op) { + case HV_BINOP_ADD: return f + k; + case HV_BINOP_SUBTRACT: return f - k; + case HV_BINOP_MULTIPLY: return f * k; + case HV_BINOP_DIVIDE: return (k != 0.0f) ? (f/k) : 0.0f; + case HV_BINOP_INT_DIV: { + const int ik = (int) k; + return (ik != 0) ? (float) (((int) f) / ik) : 0.0f; + } + case HV_BINOP_MOD_BIPOLAR: { + const int ik = (int) k; + return (ik != 0) ? (float) (((int) f) % ik) : 0.0f; + } + case HV_BINOP_MOD_UNIPOLAR: { + f = (k == 0.0f) ? 0.0f : (float) ((int) f % (int) k); + return (f < 0.0f) ? f + hv_abs_f(k) : f; + } + case HV_BINOP_BIT_LEFTSHIFT: return (float) (((int) f) << ((int) k)); + case HV_BINOP_BIT_RIGHTSHIFT: return (float) (((int) f) >> ((int) k)); + case HV_BINOP_BIT_AND: return (float) ((int) f & (int) k); + case HV_BINOP_BIT_XOR: return (float) ((int) f ^ (int) k); + case HV_BINOP_BIT_OR: return (float) ((int) f | (int) k); + case HV_BINOP_EQ: return (f == k) ? 1.0f : 0.0f; + case HV_BINOP_NEQ: return (f != k) ? 1.0f : 0.0f; + case HV_BINOP_LOGICAL_AND: return ((f == 0.0f) || (k == 0.0f)) ? 0.0f : 1.0f; + case HV_BINOP_LOGICAL_OR: return ((f == 0.0f) && (k == 0.0f)) ? 0.0f : 1.0f; + case HV_BINOP_LESS_THAN: return (f < k) ? 1.0f : 0.0f; + case HV_BINOP_LESS_THAN_EQL: return (f <= k) ? 1.0f : 0.0f; + case HV_BINOP_GREATER_THAN: return (f > k) ? 1.0f : 0.0f; + case HV_BINOP_GREATER_THAN_EQL: return (f >= k) ? 1.0f : 0.0f; + case HV_BINOP_MAX: return hv_max_f(f, k); + case HV_BINOP_MIN: return hv_min_f(f, k); + case HV_BINOP_POW: return (f > 0.0f) ? hv_pow_f(f, k) : 0.0f; + case HV_BINOP_ATAN2: return ((f == 0.0f) && (k == 0.0f)) ? 0.0f : hv_atan2_f(f, k); + default: return 0.0f; + } +} + +void cBinop_onMessage(HeavyContextInterface *_c, ControlBinop *o, BinopType op, int letIn, + const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + switch (letIn) { + case 0: { + if (msg_isFloat(m, 0)) { + // Note(joe): supporting Pd's ability to perform operations of packs + // of floats is likely to not be supported in the future. + if (msg_isFloat(m, 1)) o->k = msg_getFloat(m, 1); + HvMessage *n = HV_MESSAGE_ON_STACK(1); + float f = cBinop_perform_op(op, msg_getFloat(m, 0), o->k); + msg_initWithFloat(n, msg_getTimestamp(m), f); + sendMessage(_c, 0, n); + } + break; + } + case 1: { + if (msg_isFloat(m, 0)) { + o->k = msg_getFloat(m, 0); + } + break; + } + default: break; + } +} + +void cBinop_k_onMessage(HeavyContextInterface *_c, void *o, BinopType op, float k, + int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + if (msg_isFloat(m, 0)) { + // NOTE(mhroth): Heavy does not support sending bangs to binop objects to return the previous output + float f = (msg_isFloat(m, 1)) ? msg_getFloat(m, 1) : k; + HvMessage *n = HV_MESSAGE_ON_STACK(1); + f = cBinop_perform_op(op, msg_getFloat(m, 0), f); + msg_initWithFloat(n, msg_getTimestamp(m), f); + sendMessage(_c, 0, n); + } +} diff --git a/plugin/source/HvControlBinop.h b/plugin/source/HvControlBinop.h new file mode 100644 index 0000000..e6d197a --- /dev/null +++ b/plugin/source/HvControlBinop.h @@ -0,0 +1,71 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_BINOP_H_ +#define _HEAVY_CONTROL_BINOP_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum BinopType { + HV_BINOP_ADD, + HV_BINOP_SUBTRACT, + HV_BINOP_MULTIPLY, + HV_BINOP_DIVIDE, + HV_BINOP_INT_DIV, + HV_BINOP_MOD_BIPOLAR, + HV_BINOP_MOD_UNIPOLAR, + HV_BINOP_BIT_LEFTSHIFT, + HV_BINOP_BIT_RIGHTSHIFT, + HV_BINOP_BIT_AND, + HV_BINOP_BIT_XOR, + HV_BINOP_BIT_OR, + HV_BINOP_EQ, + HV_BINOP_NEQ, + HV_BINOP_LOGICAL_AND, + HV_BINOP_LOGICAL_OR, + HV_BINOP_LESS_THAN, + HV_BINOP_LESS_THAN_EQL, + HV_BINOP_GREATER_THAN, + HV_BINOP_GREATER_THAN_EQL, + HV_BINOP_MAX, + HV_BINOP_MIN, + HV_BINOP_POW, + HV_BINOP_ATAN2 +} BinopType; + +typedef struct ControlBinop { + float k; +} ControlBinop; + +hv_size_t cBinop_init(ControlBinop *o, float k); + +void cBinop_onMessage(HeavyContextInterface *_c, ControlBinop *o, BinopType op, int letIn, + const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +void cBinop_k_onMessage(HeavyContextInterface *_c, void *o, BinopType op, float k, + int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_CONTROL_BINOP_H_ diff --git a/plugin/source/HvControlCast.c b/plugin/source/HvControlCast.c new file mode 100644 index 0000000..8bf3892 --- /dev/null +++ b/plugin/source/HvControlCast.c @@ -0,0 +1,60 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvControlCast.h" + +void cCast_onMessage(HeavyContextInterface *_c, CastType castType, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + switch (castType) { + case HV_CAST_BANG: { + HvMessage *n = HV_MESSAGE_ON_STACK(1); + msg_initWithBang(n, msg_getTimestamp(m)); + sendMessage(_c, 0, n); + break; + } + case HV_CAST_FLOAT: { + if (msg_isFloat(m, 0)) { + HvMessage *n = HV_MESSAGE_ON_STACK(1); + msg_initWithFloat(n, msg_getTimestamp(m), msg_getFloat(m, 0)); + sendMessage(_c, 0, n); + } + break; + } + case HV_CAST_SYMBOL: { + switch (msg_getType(m, 0)) { + case HV_MSG_BANG: { + HvMessage *n = HV_MESSAGE_ON_STACK(1); + msg_initWithSymbol(n, msg_getTimestamp(m), "bang"); + sendMessage(_c, 0, n); + break; + } + case HV_MSG_FLOAT: { + HvMessage *n = HV_MESSAGE_ON_STACK(1); + msg_initWithSymbol(n, msg_getTimestamp(m), "float"); + sendMessage(_c, 0, n); + break; + } + case HV_MSG_SYMBOL: { + sendMessage(_c, 0, m); + break; + } + default: return; + } + break; + } + default: return; + } +} diff --git a/plugin/source/HvControlCast.h b/plugin/source/HvControlCast.h new file mode 100644 index 0000000..1952f6d --- /dev/null +++ b/plugin/source/HvControlCast.h @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_CAST_H_ +#define _HEAVY_CONTROL_CAST_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum CastType { + HV_CAST_BANG, + HV_CAST_FLOAT, + HV_CAST_SYMBOL +} CastType; + +void cCast_onMessage(HeavyContextInterface *_c, CastType castType, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_CONTROL_CAST_H_ diff --git a/plugin/source/HvControlDelay.c b/plugin/source/HvControlDelay.c new file mode 100644 index 0000000..fd8aff9 --- /dev/null +++ b/plugin/source/HvControlDelay.c @@ -0,0 +1,92 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvControlDelay.h" + +hv_size_t cDelay_init(HeavyContextInterface *_c, ControlDelay *o, float delayMs) { + o->delay = hv_millisecondsToSamples(_c, delayMs); + hv_memclear(o->msgs, __HV_DELAY_MAX_MESSAGES*sizeof(HvMessage *)); + return 0; +} + +void cDelay_onMessage(HeavyContextInterface *_c, ControlDelay *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + switch (letIn) { + case 0: { + if (msg_compareSymbol(m, 0, "flush")) { + // send all messages immediately + for (int i = 0; i < __HV_DELAY_MAX_MESSAGES; i++) { + HvMessage *n = o->msgs[i]; + if (n != NULL) { + msg_setTimestamp(n, msg_getTimestamp(m)); // update the timestamp to now + sendMessage(_c, 0, n); // send the message + hv_cancelMessage(_c, n, sendMessage); // then clear it + // NOTE(mhroth): there may be a problem here if a flushed message causes a clear message to return + // to this object in the same step + } + } + hv_memclear(o->msgs, __HV_DELAY_MAX_MESSAGES*sizeof(HvMessage *)); + } else if (msg_compareSymbol(m, 0, "clear")) { + // cancel (clear) all (pending) messages + for (int i = 0; i < __HV_DELAY_MAX_MESSAGES; i++) { + HvMessage *n = o->msgs[i]; + if (n != NULL) { + hv_cancelMessage(_c, n, sendMessage); + } + } + hv_memclear(o->msgs, __HV_DELAY_MAX_MESSAGES*sizeof(HvMessage *)); + } else { + hv_uint32_t ts = msg_getTimestamp(m); + msg_setTimestamp((HvMessage *) m, ts+o->delay); // update the timestamp to set the delay + int i; + for (i = 0; i < __HV_DELAY_MAX_MESSAGES; i++) { + if (o->msgs[i] == NULL) { + o->msgs[i] = hv_scheduleMessageForObject(_c, m, sendMessage, 0); + break; + } + } + hv_assert((i < __HV_DELAY_MAX_MESSAGES) && // scheduled message limit reached + "[__delay] cannot track any more messages. Try increasing the size of __HV_DELAY_MAX_MESSAGES."); + msg_setTimestamp((HvMessage *) m, ts); // return to the original timestamp + } + break; + } + case 1: { + if (msg_isFloat(m,0)) { + // set delay in milliseconds (cannot be negative!) + o->delay = hv_millisecondsToSamples(_c, msg_getFloat(m,0)); + } + break; + } + case 2: { + if (msg_isFloat(m,0)) { + // set delay in samples (cannot be negative!) + o->delay = (hv_uint32_t) hv_max_f(0.0f, msg_getFloat(m,0)); + } + break; + } + default: break; + } +} + +void cDelay_clearExecutingMessage(ControlDelay *o, const HvMessage *m) { + for (int i = 0; i < __HV_DELAY_MAX_MESSAGES; ++i) { + if (o->msgs[i] == m) { + o->msgs[i] = NULL; + break; + } + } +} diff --git a/plugin/source/HvControlDelay.h b/plugin/source/HvControlDelay.h new file mode 100644 index 0000000..b2943fb --- /dev/null +++ b/plugin/source/HvControlDelay.h @@ -0,0 +1,44 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_DELAY_H_ +#define _HEAVY_CONTROL_DELAY_H_ + +#define __HV_DELAY_MAX_MESSAGES 8 + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct ControlDelay { + hv_uint32_t delay; // delay in samples + HvMessage *msgs[__HV_DELAY_MAX_MESSAGES]; +} ControlDelay; + +hv_size_t cDelay_init(HeavyContextInterface *_c, ControlDelay *o, float delayMs); + +void cDelay_onMessage(HeavyContextInterface *_c, ControlDelay *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +void cDelay_clearExecutingMessage(ControlDelay *o, const HvMessage *m); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_CONTROL_DELAY_H_ diff --git a/plugin/source/HvControlIf.c b/plugin/source/HvControlIf.c new file mode 100644 index 0000000..22aca3e --- /dev/null +++ b/plugin/source/HvControlIf.c @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvControlIf.h" + +hv_size_t cIf_init(ControlIf *o, bool k) { + o->k = k; + return 0; +} + +void cIf_onMessage(HeavyContextInterface *_c, ControlIf *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + switch (letIn) { + case 0: { + // a "true" if will send the message from the right outlet + // a "false" if gets sent out of the left outlet + sendMessage(_c, o->k ? 1 : 0, m); + break; + } + case 1: { + if (msg_isFloat(m, 0)) { + o->k = (msg_getFloat(m, 0) != 0.0f); + } + break; + } + default: return; + } +} diff --git a/plugin/source/HvControlIf.h b/plugin/source/HvControlIf.h new file mode 100644 index 0000000..3821edd --- /dev/null +++ b/plugin/source/HvControlIf.h @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_IF_H_ +#define _HEAVY_CONTROL_IF_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct ControlIf { + bool k; +} ControlIf; + +hv_size_t cIf_init(ControlIf *o, bool k); + +void cIf_onMessage(HeavyContextInterface *_c, ControlIf *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_CONTROL_IF_H_ diff --git a/plugin/source/HvControlPack.c b/plugin/source/HvControlPack.c new file mode 100644 index 0000000..7ae7343 --- /dev/null +++ b/plugin/source/HvControlPack.c @@ -0,0 +1,67 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvControlPack.h" + +hv_size_t cPack_init(ControlPack *o, int nargs, ...) { + hv_size_t numBytes = msg_getCoreSize(nargs); + o->msg = (HvMessage *) hv_malloc(numBytes); + hv_assert(o->msg != NULL); + msg_init(o->msg, nargs, 0); + + // variable arguments are used as float initialisers for the pack elements + va_list ap; + va_start(ap, nargs); + for (int i = 0; i < nargs; ++i) { + msg_setFloat(o->msg, i, (float) va_arg(ap, double)); + } + va_end(ap); + return numBytes; +} + +void cPack_free(ControlPack *o) { + hv_free(o->msg); +} + +void cPack_onMessage(HeavyContextInterface *_c, ControlPack *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + // ensure let index is less than number elements in internal msg + int numElements = msg_getNumElements(o->msg); + switch (letIn) { + case 0: { // first inlet stores all values of input msg and triggers an output + for (int i = hv_min_i(numElements, msg_getNumElements(m))-1; i >= 0; --i) { + switch (msg_getType(m, i)) { + case HV_MSG_FLOAT: msg_setFloat(o->msg, i, msg_getFloat(m, i)); break; + case HV_MSG_SYMBOL: + case HV_MSG_HASH: msg_setHash(o->msg, i, msg_getHash(m, i)); break; + default: break; + } + } + msg_setTimestamp(o->msg, msg_getTimestamp(m)); + sendMessage(_c, 0, o->msg); + break; + } + default: { // rest of inlets just store values + switch (msg_getType(m, 0)) { + case HV_MSG_FLOAT: msg_setFloat(o->msg, letIn, msg_getFloat(m, 0)); break; + case HV_MSG_SYMBOL: + case HV_MSG_HASH: msg_setHash(o->msg, letIn, msg_getHash(m, 0)); break; + default: break; + } + break; + } + } +} diff --git a/plugin/source/HvControlPack.h b/plugin/source/HvControlPack.h new file mode 100644 index 0000000..e8dd262 --- /dev/null +++ b/plugin/source/HvControlPack.h @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_PACK_H_ +#define _HEAVY_CONTROL_PACK_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct ControlPack { + HvMessage *msg; +} ControlPack; + +hv_size_t cPack_init(ControlPack *o, int nargs, ...); + +void cPack_free(ControlPack *o); + +void cPack_onMessage(HeavyContextInterface *_c, ControlPack *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_CONTROL_PACK_H_ diff --git a/plugin/source/HvControlSlice.c b/plugin/source/HvControlSlice.c new file mode 100644 index 0000000..4799db0 --- /dev/null +++ b/plugin/source/HvControlSlice.c @@ -0,0 +1,62 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvControlSlice.h" + +hv_size_t cSlice_init(ControlSlice *o, int i, int n) { + o->i = i; + o->n = n; + return 0; +} + +void cSlice_onMessage(HeavyContextInterface *_c, ControlSlice *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + switch (letIn) { + case 0: { + // if the start point is greater than the number of elements in the source message, do nothing + if (o->i < msg_getNumElements(m)) { + int x = msg_getNumElements(m) - o->i; // number of elements in the new message + if (o->n > 0) x = hv_min_i(x, o->n); + HvMessage *n = HV_MESSAGE_ON_STACK(x); + msg_init(n, x, msg_getTimestamp(m)); + hv_memcpy(&n->elem, &m->elem+o->i, x*sizeof(Element)); + sendMessage(_c, 0, n); + } else { + // if nothing can be sliced, send a bang out of the right outlet + HvMessage *n = HV_MESSAGE_ON_STACK(1); + msg_initWithBang(n, msg_getTimestamp(m)); + sendMessage(_c, 1, n); + } + break; + } + case 1: { + if (msg_isFloat(m,0)) { + o->i = (int) msg_getFloat(m,0); + if (msg_isFloat(m,1)) { + o->n = (int) msg_getFloat(m,1); + } + } + break; + } + case 2: { + if (msg_isFloat(m,0)) { + o->n = (int) msg_getFloat(m,0); + } + break; + } + default: break; + } +} diff --git a/plugin/source/HvControlSlice.h b/plugin/source/HvControlSlice.h new file mode 100644 index 0000000..7d8d66c --- /dev/null +++ b/plugin/source/HvControlSlice.h @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_SLICE_H_ +#define _HEAVY_CONTROL_SLICE_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct ControlSlice { + int i; // start index + int n; // length of slice +} ControlSlice; + +hv_size_t cSlice_init(ControlSlice *o, int i, int n); + +void cSlice_onMessage(HeavyContextInterface *_c, ControlSlice *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_CONTROL_SLICE_H_ diff --git a/plugin/source/HvControlSystem.c b/plugin/source/HvControlSystem.c new file mode 100644 index 0000000..a1ad30f --- /dev/null +++ b/plugin/source/HvControlSystem.c @@ -0,0 +1,46 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvControlSystem.h" + +void cSystem_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + + HvMessage *n = HV_MESSAGE_ON_STACK(1); + if (msg_compareSymbol(m, 0, "samplerate")) { + + msg_initWithFloat(n, msg_getTimestamp(m), (float) hv_getSampleRate(_c)); + } else if (msg_compareSymbol(m, 0, "numInputChannels")) { + msg_initWithFloat(n, msg_getTimestamp(m), (float) hv_getNumInputChannels(_c)); + } else if (msg_compareSymbol(m, 0, "numOutputChannels")) { + msg_initWithFloat(n, msg_getTimestamp(m), (float) hv_getNumOutputChannels(_c)); + } else if (msg_compareSymbol(m, 0, "currentTime")) { + msg_initWithFloat(n, msg_getTimestamp(m), (float) msg_getTimestamp(m)); + } else if (msg_compareSymbol(m, 0, "table")) { + // NOTE(mhroth): no need to check message format for symbols as table lookup will fail otherwise + HvTable *table = hv_table_get(_c, msg_getHash(m,1)); + if (table != NULL) { + if (msg_compareSymbol(m, 2, "length")) { + msg_initWithFloat(n, msg_getTimestamp(m), (float) hTable_getLength(table)); + } else if (msg_compareSymbol(m, 2, "size")) { + msg_initWithFloat(n, msg_getTimestamp(m), (float) hTable_getSize(table)); + } else if (msg_compareSymbol(m, 2, "head")) { + msg_initWithFloat(n, msg_getTimestamp(m), (float) hTable_getHead(table)); + } else return; + } else return; + } else return; + sendMessage(_c, 0, n); +} diff --git a/plugin/source/HvControlSystem.h b/plugin/source/HvControlSystem.h new file mode 100644 index 0000000..42da7bd --- /dev/null +++ b/plugin/source/HvControlSystem.h @@ -0,0 +1,33 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_SYSTEM_H_ +#define _HEAVY_CONTROL_SYSTEM_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void cSystem_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_CONTROL_SYSTEM_H_ diff --git a/plugin/source/HvControlTabread.c b/plugin/source/HvControlTabread.c new file mode 100644 index 0000000..464b985 --- /dev/null +++ b/plugin/source/HvControlTabread.c @@ -0,0 +1,46 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvControlTabread.h" + +hv_size_t cTabread_init(ControlTabread *o, struct HvTable *table) { + o->table = table; + return 0; +} + +void cTabread_onMessage(HeavyContextInterface *_c, ControlTabread *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + switch (letIn) { + case 0: { + if (msg_isFloat(m,0) && msg_getFloat(m,0) >= 0.0f && o->table != NULL) { + const hv_uint32_t x = (hv_uint32_t) msg_getFloat(m,0); + if (x < hTable_getSize(o->table)) { + HvMessage *n = HV_MESSAGE_ON_STACK(1); + msg_initWithFloat(n, msg_getTimestamp(m), hTable_getBuffer(o->table)[x]); + sendMessage(_c, 0, n); + } + } + break; + } + case 1: { + if (msg_isHashLike(m,0)) { + o->table = hv_table_get(_c, msg_getHash(m,0)); + } + break; + } + default: return; + } +} diff --git a/plugin/source/HvControlTabread.h b/plugin/source/HvControlTabread.h new file mode 100644 index 0000000..eeac398 --- /dev/null +++ b/plugin/source/HvControlTabread.h @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_TABREAD_H_ +#define _HEAVY_CONTROL_TABREAD_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct ControlTabread { + HvTable *table; +} ControlTabread; + +hv_size_t cTabread_init(ControlTabread *o, struct HvTable *table); + +void cTabread_onMessage(HeavyContextInterface *_c, ControlTabread *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_CONTROL_TABREAD_H_ diff --git a/plugin/source/HvControlTabwrite.c b/plugin/source/HvControlTabwrite.c new file mode 100644 index 0000000..58b4d76 --- /dev/null +++ b/plugin/source/HvControlTabwrite.c @@ -0,0 +1,51 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvControlTabwrite.h" + +hv_size_t cTabwrite_init(ControlTabwrite *o, struct HvTable *table) { + o->table = table; + o->x = 0; + return 0; +} + +void cTabwrite_onMessage(HeavyContextInterface *_c, ControlTabwrite *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + switch (letIn) { + case 0: { + if (msg_isFloat(m,0) && o->table != NULL) { + hTable_getBuffer(o->table)[o->x] = msg_getFloat(m,0); // update Y value + } + break; + } + case 1: { + if (msg_isFloat(m,0) && msg_getFloat(m,0) >= 0.0f && o->table != NULL) { + const hv_uint32_t x = (hv_uint32_t) msg_getFloat(m,0); + if (x < hTable_getSize(o->table)) { + o->x = x; // update X value + } + } + break; + } + case 2: { + if (msg_isHashLike(m,0)) { + o->table = hv_table_get(_c,msg_getHash(m,0)); // update table + } + break; + } + default: return; + } +} diff --git a/plugin/source/HvControlTabwrite.h b/plugin/source/HvControlTabwrite.h new file mode 100644 index 0000000..a17648c --- /dev/null +++ b/plugin/source/HvControlTabwrite.h @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_TABRWRITE_H_ +#define _HEAVY_CONTROL_TABRWRITE_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct ControlTabwrite { + struct HvTable *table; + hv_uint32_t x; +} ControlTabwrite; + +hv_size_t cTabwrite_init(ControlTabwrite *o, struct HvTable *table); + +void cTabwrite_onMessage(HeavyContextInterface *_c, ControlTabwrite *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_CONTROL_TABRWRITE_H_ diff --git a/plugin/source/HvControlUnop.c b/plugin/source/HvControlUnop.c new file mode 100644 index 0000000..fdd6eee --- /dev/null +++ b/plugin/source/HvControlUnop.c @@ -0,0 +1,51 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvControlUnop.h" + +void cUnop_onMessage(HeavyContextInterface *_c, UnopType op, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + if (msg_isFloat(m, 0)) { + float f = msg_getFloat(m, 0); + switch (op) { + case HV_UNOP_SIN: f = hv_sin_f(f); break; + case HV_UNOP_SINH: f = hv_sinh_f(f); break; + case HV_UNOP_COS: f = hv_cos_f(f); break; + case HV_UNOP_COSH: f = hv_cosh_f(f); break; + case HV_UNOP_TAN: f = hv_tan_f(f); break; + case HV_UNOP_TANH: f = hv_tanh_f(f); break; + case HV_UNOP_ASIN: f = hv_asin_f(f); break; + case HV_UNOP_ASINH: f = hv_asinh_f(f); break; + case HV_UNOP_ACOS: f = hv_acos_f(f); break; + case HV_UNOP_ACOSH: f = hv_acosh_f(f); break; + case HV_UNOP_ATAN: f = hv_atan_f(f); break; + case HV_UNOP_ATANH: f = hv_atanh_f(f); break; + case HV_UNOP_EXP: f = hv_exp_f(f); break; + case HV_UNOP_ABS: f = hv_abs_f(f); break; + case HV_UNOP_SQRT: f = (f > 0.0f) ? hv_sqrt_f(f) : 0.0f; break; + case HV_UNOP_LOG: f = (f > 0.0f) ? hv_log_f(f) : 0.0f; break; + case HV_UNOP_LOG2: f = (f > 0.0f) ? (1.442695040888963f*hv_log_f(f)) : 0.0f; break; + case HV_UNOP_LOG10: f = (f > 0.0f) ? (0.434294481903252f*hv_log_f(f)) : 0.0f; break; + case HV_UNOP_CEIL: f = hv_ceil_f(f); break; + case HV_UNOP_FLOOR: f = hv_floor_f(f); break; + case HV_UNOP_ROUND: f = hv_round_f(f); break; + default: return; + } + HvMessage *n = HV_MESSAGE_ON_STACK(1); + msg_initWithFloat(n, m->timestamp, f); + sendMessage(_c, 0, n); + } +} diff --git a/plugin/source/HvControlUnop.h b/plugin/source/HvControlUnop.h new file mode 100644 index 0000000..3da47cf --- /dev/null +++ b/plugin/source/HvControlUnop.h @@ -0,0 +1,57 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_UNOP_H_ +#define _HEAVY_CONTROL_UNOP_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum UnopType { + HV_UNOP_ASIN, + HV_UNOP_ASINH, + HV_UNOP_ACOS, + HV_UNOP_ACOSH, + HV_UNOP_ATAN, + HV_UNOP_ATANH, + HV_UNOP_SIN, + HV_UNOP_SINH, + HV_UNOP_COS, + HV_UNOP_COSH, + HV_UNOP_TAN, + HV_UNOP_TANH, + HV_UNOP_EXP, + HV_UNOP_ABS, + HV_UNOP_SQRT, + HV_UNOP_LOG, + HV_UNOP_LOG2, + HV_UNOP_LOG10, + HV_UNOP_CEIL, + HV_UNOP_FLOOR, + HV_UNOP_ROUND +} UnopType; + +void cUnop_onMessage(HeavyContextInterface *_c, UnopType op, const struct HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const struct HvMessage *)); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_CONTROL_UNOP_H_ diff --git a/plugin/source/HvControlVar.c b/plugin/source/HvControlVar.c new file mode 100644 index 0000000..80f22b9 --- /dev/null +++ b/plugin/source/HvControlVar.c @@ -0,0 +1,83 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvControlVar.h" + +hv_size_t cVar_init_f(ControlVar *o, float k) { + o->e.type = HV_MSG_FLOAT; + o->e.data.f = k; + return 0; +} + +hv_size_t cVar_init_s(ControlVar *o, const char *s) { + o->e.type = HV_MSG_HASH; + o->e.data.h = hv_string_to_hash(s); + return 0; +} + +void cVar_free(ControlVar *o) { + // nothing to do +} + +void cVar_onMessage(HeavyContextInterface *_c, ControlVar *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + switch (letIn) { + case 0: { + switch (msg_getType(m,0)) { + case HV_MSG_BANG: { + HvMessage *n = HV_MESSAGE_ON_STACK(1); + if (o->e.type == HV_MSG_FLOAT) msg_initWithFloat(n, msg_getTimestamp(m), o->e.data.f); + else if (o->e.type == HV_MSG_HASH) msg_initWithHash(n, msg_getTimestamp(m), o->e.data.h); + else return; + sendMessage(_c, 0, n); + break; + } + case HV_MSG_FLOAT: { + o->e.type = HV_MSG_FLOAT; + o->e.data.f = msg_getFloat(m,0); + sendMessage(_c, 0, m); + break; + } + case HV_MSG_SYMBOL: + case HV_MSG_HASH: { + o->e.type = HV_MSG_HASH; + o->e.data.h = msg_getHash(m,0); + sendMessage(_c, 0, m); + break; + } + default: return; + } + break; + } + case 1: { + switch (msg_getType(m,0)) { + case HV_MSG_FLOAT: { + o->e.type = HV_MSG_FLOAT; + o->e.data.f = msg_getFloat(m,0); + break; + } + case HV_MSG_SYMBOL: + case HV_MSG_HASH: { + o->e.type = HV_MSG_HASH; + o->e.data.h = msg_getHash(m,0); + break; + } + default: break; + } + } + default: return; + } +} diff --git a/plugin/source/HvControlVar.h b/plugin/source/HvControlVar.h new file mode 100644 index 0000000..bf39ade --- /dev/null +++ b/plugin/source/HvControlVar.h @@ -0,0 +1,43 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_VAR_H_ +#define _HEAVY_CONTROL_VAR_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct ControlVar { + Element e; // type is only every HV_MSG_FLOAT or HV_MSG_HASH +} ControlVar; + +hv_size_t cVar_init_f(ControlVar *o, float k); + +hv_size_t cVar_init_s(ControlVar *o, const char *s); + +void cVar_free(ControlVar *o); + +void cVar_onMessage(HeavyContextInterface *_c, ControlVar *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_CONTROL_VAR_H_ diff --git a/plugin/source/HvHeavy.cpp b/plugin/source/HvHeavy.cpp new file mode 100644 index 0000000..9f70f6c --- /dev/null +++ b/plugin/source/HvHeavy.cpp @@ -0,0 +1,318 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HeavyContext.hpp" + +#ifdef __cplusplus +extern "C" { +#endif + +#if !HV_WIN +#pragma mark - Heavy Table +#endif + +HV_EXPORT bool hv_table_setLength(HeavyContextInterface *c, hv_uint32_t tableHash, hv_uint32_t newSampleLength) { + hv_assert(c != nullptr); + return c->setLengthForTable(tableHash, newSampleLength); +} + +HV_EXPORT float *hv_table_getBuffer(HeavyContextInterface *c, hv_uint32_t tableHash) { + hv_assert(c != nullptr); + return c->getBufferForTable(tableHash); +} + +HV_EXPORT hv_uint32_t hv_table_getLength(HeavyContextInterface *c, hv_uint32_t tableHash) { + hv_assert(c != nullptr); + return c->getLengthForTable(tableHash); +} + + + +#if !HV_WIN +#pragma mark - Heavy Message +#endif + +HV_EXPORT hv_size_t hv_msg_getByteSize(hv_uint32_t numElements) { + return msg_getCoreSize(numElements); +} + +HV_EXPORT void hv_msg_init(HvMessage *m, int numElements, hv_uint32_t timestamp) { + msg_init(m, numElements, timestamp); +} + +HV_EXPORT hv_size_t hv_msg_getNumElements(const HvMessage *m) { + return msg_getNumElements(m); +} + +HV_EXPORT hv_uint32_t hv_msg_getTimestamp(const HvMessage *m) { + return msg_getTimestamp(m); +} + +HV_EXPORT void hv_msg_setTimestamp(HvMessage *m, hv_uint32_t timestamp) { + msg_setTimestamp(m, timestamp); +} + +HV_EXPORT bool hv_msg_isBang(const HvMessage *const m, int i) { + return msg_isBang(m,i); +} + +HV_EXPORT void hv_msg_setBang(HvMessage *m, int i) { + msg_setBang(m,i); +} + +HV_EXPORT bool hv_msg_isFloat(const HvMessage *const m, int i) { + return msg_isFloat(m, i); +} + +HV_EXPORT float hv_msg_getFloat(const HvMessage *const m, int i) { + return msg_getFloat(m,i); +} + +HV_EXPORT void hv_msg_setFloat(HvMessage *m, int i, float f) { + msg_setFloat(m,i,f); +} + +HV_EXPORT bool hv_msg_isSymbol(const HvMessage *const m, int i) { + return msg_isSymbol(m,i); +} + +HV_EXPORT const char *hv_msg_getSymbol(const HvMessage *const m, int i) { + return msg_getSymbol(m,i); +} + +HV_EXPORT void hv_msg_setSymbol(HvMessage *m, int i, const char *s) { + msg_setSymbol(m,i,s); +} + +HV_EXPORT bool hv_msg_isHash(const HvMessage *const m, int i) { + return msg_isHash(m, i); +} + +HV_EXPORT hv_uint32_t hv_msg_getHash(const HvMessage *const m, int i) { + return msg_getHash(m, i); +} + +HV_EXPORT bool hv_msg_hasFormat(const HvMessage *const m, const char *fmt) { + return msg_hasFormat(m, fmt); +} + +HV_EXPORT char *hv_msg_toString(const HvMessage *const m) { + return msg_toString(m); +} + +HV_EXPORT HvMessage *hv_msg_copy(const HvMessage *const m) { + return msg_copy(m); +} + +HV_EXPORT void hv_msg_free(HvMessage *m) { + msg_free(m); +} + + + +#if !HV_WIN +#pragma mark - Heavy Common +#endif + +HV_EXPORT int hv_getSize(HeavyContextInterface *c) { + hv_assert(c != nullptr); + return (int) c->getSize(); +} + +HV_EXPORT double hv_getSampleRate(HeavyContextInterface *c) { + hv_assert(c != nullptr); + return c->getSampleRate(); +} + +HV_EXPORT int hv_getNumInputChannels(HeavyContextInterface *c) { + hv_assert(c != nullptr); + return c->getNumInputChannels(); +} + +HV_EXPORT int hv_getNumOutputChannels(HeavyContextInterface *c) { + hv_assert(c != nullptr); + return c->getNumOutputChannels(); +} + +HV_EXPORT void hv_setPrintHook(HeavyContextInterface *c, HvPrintHook_t *f) { + hv_assert(c != nullptr); + c->setPrintHook(f); +} + +HV_EXPORT HvPrintHook_t *hv_getPrintHook(HeavyContextInterface *c) { + hv_assert(c != nullptr); + return c->getPrintHook(); +} + +HV_EXPORT void hv_setSendHook(HeavyContextInterface *c, HvSendHook_t *f) { + hv_assert(c != nullptr); + c->setSendHook(f); +} + +HV_EXPORT hv_uint32_t hv_stringToHash(const char *s) { + return hv_string_to_hash(s); +} + +HV_EXPORT bool hv_sendBangToReceiver(HeavyContextInterface *c, hv_uint32_t receiverHash) { + hv_assert(c != nullptr); + return c->sendBangToReceiver(receiverHash); +} + +HV_EXPORT bool hv_sendFloatToReceiver(HeavyContextInterface *c, hv_uint32_t receiverHash, float x) { + hv_assert(c != nullptr); + return c->sendFloatToReceiver(receiverHash, x); +} + +HV_EXPORT bool hv_sendSymbolToReceiver(HeavyContextInterface *c, hv_uint32_t receiverHash, char *s) { + hv_assert(c != nullptr); + return c->sendSymbolToReceiver(receiverHash, s); +} + +HV_EXPORT bool hv_sendMessageToReceiverV( + HeavyContextInterface *c, hv_uint32_t receiverHash, double delayMs, const char *format, ...) { + hv_assert(c != nullptr); + hv_assert(delayMs >= 0.0); + hv_assert(format != nullptr); + + va_list ap; + va_start(ap, format); + const int numElem = (int) hv_strlen(format); + HvMessage *m = HV_MESSAGE_ON_STACK(numElem); + msg_init(m, numElem, c->getCurrentSample() + (hv_uint32_t) (hv_max_d(0.0, delayMs)*c->getSampleRate()/1000.0)); + for (int i = 0; i < numElem; i++) { + switch (format[i]) { + case 'b': msg_setBang(m, i); break; + case 'f': msg_setFloat(m, i, (float) va_arg(ap, double)); break; + case 'h': msg_setHash(m, i, (int) va_arg(ap, int)); break; + case 's': msg_setSymbol(m, i, (char *) va_arg(ap, char *)); break; + default: break; + } + } + va_end(ap); + + return c->sendMessageToReceiver(receiverHash, delayMs, m); +} + +HV_EXPORT bool hv_sendMessageToReceiver( + HeavyContextInterface *c, hv_uint32_t receiverHash, double delayMs, HvMessage *m) { + hv_assert(c != nullptr); + return c->sendMessageToReceiver(receiverHash, delayMs, m); +} + +HV_EXPORT void hv_cancelMessage(HeavyContextInterface *c, HvMessage *m, void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + hv_assert(c != nullptr); + c->cancelMessage(m, sendMessage); +} + +HV_EXPORT const char *hv_getName(HeavyContextInterface *c) { + hv_assert(c != nullptr); + return c->getName(); +} + +HV_EXPORT void hv_setUserData(HeavyContextInterface *c, void *userData) { + hv_assert(c != nullptr); + c->setUserData(userData); +} + +HV_EXPORT void *hv_getUserData(HeavyContextInterface *c) { + hv_assert(c != nullptr); + return c->getUserData(); +} + +HV_EXPORT double hv_getCurrentTime(HeavyContextInterface *c) { + hv_assert(c != nullptr); + return (double) c->samplesToMilliseconds(c->getCurrentSample()); +} + +HV_EXPORT hv_uint32_t hv_getCurrentSample(HeavyContextInterface *c) { + hv_assert(c != nullptr); + return c->getCurrentSample(); +} + +HV_EXPORT float hv_samplesToMilliseconds(HeavyContextInterface *c, hv_uint32_t numSamples) { + hv_assert(c != nullptr); + return c->samplesToMilliseconds(numSamples); +} + +HV_EXPORT hv_uint32_t hv_millisecondsToSamples(HeavyContextInterface *c, float ms) { + hv_assert(c != nullptr); + return c->millisecondsToSamples(ms); +} + +HV_EXPORT int hv_getParameterInfo(HeavyContextInterface *c, int index, HvParameterInfo *info) { + hv_assert(c != nullptr); + return c->getParameterInfo(index, info); +} + +HV_EXPORT void hv_lock_acquire(HeavyContextInterface *c) { + hv_assert(c != nullptr); + c->lockAcquire(); +} + +HV_EXPORT bool hv_lock_try(HeavyContextInterface *c) { + hv_assert(c != nullptr); + return c->lockTry(); +} + +HV_EXPORT void hv_lock_release(HeavyContextInterface *c) { + hv_assert(c != nullptr); + c->lockRelease(); +} + +HV_EXPORT void hv_setInputMessageQueueSize(HeavyContextInterface *c, hv_uint32_t inQueueKb) { + hv_assert(c != nullptr); + c->setInputMessageQueueSize(inQueueKb); +} + +HV_EXPORT void hv_setOutputMessageQueueSize(HeavyContextInterface *c, hv_uint32_t outQueueKb) { + hv_assert(c != nullptr); + c->setOutputMessageQueueSize(outQueueKb); +} + +HV_EXPORT bool hv_getNextSentMessage(HeavyContextInterface *c, hv_uint32_t *destinationHash, HvMessage *outMsg, hv_uint32_t msgLength) { + hv_assert(c != nullptr); + hv_assert(destinationHash != nullptr); + hv_assert(outMsg != nullptr); + return c->getNextSentMessage(destinationHash, outMsg, msgLength); +} + + +#if !HV_WIN +#pragma mark - Heavy Common +#endif + +HV_EXPORT int hv_process(HeavyContextInterface *c, float **inputBuffers, float **outputBuffers, int n) { + hv_assert(c != nullptr); + return c->process(inputBuffers, outputBuffers, n); +} + +HV_EXPORT int hv_processInline(HeavyContextInterface *c, float *inputBuffers, float *outputBuffers, int n) { + hv_assert(c != nullptr); + return c->processInline(inputBuffers, outputBuffers, n); +} + +HV_EXPORT int hv_processInlineInterleaved(HeavyContextInterface *c, float *inputBuffers, float *outputBuffers, int n) { + hv_assert(c != nullptr); + return c->processInlineInterleaved(inputBuffers, outputBuffers, n); +} + +HV_EXPORT void hv_delete(HeavyContextInterface *c) { + delete c; +} + +#ifdef __cplusplus +} +#endif diff --git a/plugin/source/HvHeavy.h b/plugin/source/HvHeavy.h new file mode 100644 index 0000000..cb1aecf --- /dev/null +++ b/plugin/source/HvHeavy.h @@ -0,0 +1,413 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_H_ +#define _HEAVY_H_ + +#include "HvUtils.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _HEAVY_DECLARATIONS_ +#define _HEAVY_DECLARATIONS_ + +#ifdef __cplusplus +class HeavyContextInterface; +#else +typedef struct HeavyContextInterface HeavyContextInterface; +#endif + +typedef struct HvMessage HvMessage; + +typedef enum { + HV_PARAM_TYPE_PARAMETER_IN, + HV_PARAM_TYPE_PARAMETER_OUT, + HV_PARAM_TYPE_EVENT_IN, + HV_PARAM_TYPE_EVENT_OUT +} HvParameterType; + +typedef struct HvParameterInfo { + const char *name; // the human readable parameter name + hv_uint32_t hash; // an integer identified used by heavy for this parameter + HvParameterType type; // type of this parameter + float minVal; // the minimum value of this parameter + float maxVal; // the maximum value of this parameter + float defaultVal; // the default value of this parameter +} HvParameterInfo; + +typedef void (HvSendHook_t) (HeavyContextInterface *context, const char *sendName, hv_uint32_t sendHash, const HvMessage *msg); +typedef void (HvPrintHook_t) (HeavyContextInterface *context, const char *printName, const char *str, const HvMessage *msg); + +#endif // _HEAVY_DECLARATIONS_ + + + +#if HV_APPLE +#pragma mark - Heavy Context +#endif + +/** Deletes a patch instance. */ +void hv_delete(HeavyContextInterface *c); + + + +#if HV_APPLE +#pragma mark - Heavy Process +#endif + +/** + * Processes one block of samples for a patch instance. The buffer format is an array of float channel arrays. + * If the context has not input or output channels, the respective argument may be NULL. + * The number of samples to to tbe processed should be a multiple of 1, 4, or 8, depending on if + * no, SSE or NEON, or AVX optimisation is being used, respectively. + * e.g. [[LLLL][RRRR]] + * This function support in-place processing. + * + * @return The number of samples processed. + * + * This function is NOT thread-safe. It is assumed that only the audio thread will execute this function. + */ +int hv_process(HeavyContextInterface *c, float **inputBuffers, float **outputBuffers, int n); + +/** + * Processes one block of samples for a patch instance. The buffer format is an uninterleaved float array of channels. + * If the context has not input or output channels, the respective argument may be NULL. + * The number of samples to to tbe processed should be a multiple of 1, 4, or 8, depending on if + * no, SSE or NEON, or AVX optimisation is being used, respectively. + * e.g. [LLLLRRRR] + * This function support in-place processing. + * + * @return The number of samples processed. + * + * This function is NOT thread-safe. It is assumed that only the audio thread will execute this function. + */ +int hv_processInline(HeavyContextInterface *c, float *inputBuffers, float *outputBuffers, int n); + +/** + * Processes one block of samples for a patch instance. The buffer format is an interleaved float array of channels. + * If the context has not input or output channels, the respective argument may be NULL. + * The number of samples to to tbe processed should be a multiple of 1, 4, or 8, depending on if + * no, SSE or NEON, or AVX optimisation is being used, respectively. + * e.g. [LRLRLRLR] + * This function support in-place processing. + * + * @return The number of samples processed. + * + * This function is NOT thread-safe. It is assumed that only the audio thread will execute this function. + */ +int hv_processInlineInterleaved(HeavyContextInterface *c, float *inputBuffers, float *outputBuffers, int n); + + + +#if HV_APPLE +#pragma mark - Heavy Common +#endif + +/** + * Returns the total size in bytes of the context. + * This value may change if tables are resized. + */ +int hv_getSize(HeavyContextInterface *c); + +/** Returns the sample rate with which this context has been configured. */ +double hv_getSampleRate(HeavyContextInterface *c); + +/** Returns the number of input channels with which this context has been configured. */ +int hv_getNumInputChannels(HeavyContextInterface *c); + +/** Returns the number of output channels with which this context has been configured. */ +int hv_getNumOutputChannels(HeavyContextInterface *c); + +/** Set the print hook. The function is called whenever a message is sent to a print object. */ +void hv_setPrintHook(HeavyContextInterface *c, HvPrintHook_t *f); + +/** Returns the print hook, or NULL. */ +HvPrintHook_t *hv_getPrintHook(HeavyContextInterface *c); + +/** + * Set the send hook. The function is called whenever a message is sent to any send object. + * Messages returned by this function should NEVER be freed. If the message must persist, call + * hv_msg_copy() first. + */ +void hv_setSendHook(HeavyContextInterface *c, HvSendHook_t *f); + +/** Returns a 32-bit hash of any string. Returns 0 if string is NULL. */ +hv_uint32_t hv_stringToHash(const char *s); + +/** + * A convenience function to send a bang to a receiver to be processed immediately. + * The receiver is addressed with its hash, which can also be determined using hv_stringToHash(). + * This function is thread-safe. + * + * @return True if the message was accepted. False if the message could not fit onto + * the message queue to be processed this block. + */ +bool hv_sendBangToReceiver(HeavyContextInterface *c, hv_uint32_t receiverHash); + +/** + * A convenience function to send a float to a receiver to be processed immediately. + * The receiver is addressed with its hash, which can also be determined using hv_stringToHash(). + * This function is thread-safe. + * + * @return True if the message was accepted. False if the message could not fit onto + * the message queue to be processed this block. + */ +bool hv_sendFloatToReceiver(HeavyContextInterface *c, hv_uint32_t receiverHash, const float x); + +/** + * A convenience function to send a symbol to a receiver to be processed immediately. + * The receiver is addressed with its hash, which can also be determined using hv_stringToHash(). + * This function is thread-safe. + * + * @return True if the message was accepted. False if the message could not fit onto + * the message queue to be processed this block. + */ +bool hv_sendSymbolToReceiver(HeavyContextInterface *c, hv_uint32_t receiverHash, char *s); + +/** + * Sends a formatted message to a receiver that can be scheduled for the future. + * The receiver is addressed with its hash, which can also be determined using hv_stringToHash(). + * This function is thread-safe. + * + * @return True if the message was accepted. False if the message could not fit onto + * the message queue to be processed this block. + */ +bool hv_sendMessageToReceiverV(HeavyContextInterface *c, hv_uint32_t receiverHash, double delayMs, const char *format, ...); + +/** + * Sends a message to a receiver that can be scheduled for the future. + * The receiver is addressed with its hash, which can also be determined using hv_stringToHash(). + * This function is thread-safe. + * + * @return True if the message was accepted. False if the message could not fit onto + * the message queue to be processed this block. + */ +bool hv_sendMessageToReceiver(HeavyContextInterface *c, hv_uint32_t receiverHash, double delayMs, HvMessage *m); + +/** + * Cancels a previously scheduled message. + * + * @param sendMessage May be NULL. + */ +void hv_cancelMessage(HeavyContextInterface *c, HvMessage *m, void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +/** Returns the read-only user-assigned name of this patch. */ +const char *hv_getName(HeavyContextInterface *c); + +/** Sets a user-definable value. This value is never manipulated by Heavy. */ +void hv_setUserData(HeavyContextInterface *c, void *userData); + +/** Returns the user-defined data. */ +void *hv_getUserData(HeavyContextInterface *c); + +/** Returns the current patch time in milliseconds. This value may have rounding errors. */ +double hv_getCurrentTime(HeavyContextInterface *c); + +/** Returns the current patch time in samples. This value is always exact. */ +hv_uint32_t hv_getCurrentSample(HeavyContextInterface *c); + +/** + * Returns information about each parameter such as name, hash, and range. + * The total number of parameters is always returned. + * + * @param index The parameter index. + * @param info A pointer to a HvParameterInfo struct. May be null. + * + * @return The total number of parameters. + */ +int hv_getParameterInfo(HeavyContextInterface *c, int index, HvParameterInfo *info); + +/** */ +float hv_samplesToMilliseconds(HeavyContextInterface *c, hv_uint32_t numSamples); + +/** Converts milliseconds to samples. Input is limited to non-negative range. */ +hv_uint32_t hv_millisecondsToSamples(HeavyContextInterface *c, float ms); + +/** + * Acquire the input message queue lock. + * + * This function will block until the message lock as been acquired. + * Typical applications will not require the use of this function. + * + * @param c A Heavy context. + */ +void hv_lock_acquire(HeavyContextInterface *c); + +/** + * Try to acquire the input message queue lock. + * + * If the lock has been acquired, hv_lock_release() must be called to release it. + * Typical applications will not require the use of this function. + * + * @param c A Heavy context. + * + * @return Returns true if the lock has been acquired, false otherwise. + */ +bool hv_lock_try(HeavyContextInterface *c); + +/** + * Release the input message queue lock. + * + * Typical applications will not require the use of this function. + * + * @param c A Heavy context. + */ +void hv_lock_release(HeavyContextInterface *c); + +/** + * Set the size of the input message queue in kilobytes. + * + * The buffer is reset and all existing contents are lost on resize. + * + * @param c A Heavy context. + * @param inQueueKb Must be positive i.e. at least one. + */ +void hv_setInputMessageQueueSize(HeavyContextInterface *c, hv_uint32_t inQueueKb); + +/** + * Set the size of the output message queue in kilobytes. + * + * The buffer is reset and all existing contents are lost on resize. + * Only the default sendhook uses the outgoing message queue. If the default + * sendhook is not being used, then this function is not useful. + * + * @param c A Heavy context. + * @param outQueueKb Must be postive i.e. at least one. + */ +void hv_setOutputMessageQueueSize(HeavyContextInterface *c, hv_uint32_t outQueueKb); + +/** + * Get the next message in the outgoing queue, will also consume the message. + * Returns false if there are no messages. + * + * @param c A Heavy context. + * @param destinationHash a hash of the name of the receiver the message was sent to. + * @param outMsg message pointer that is filled by the next message contents. + * @param msgLength length of outMsg in bytes. + * + * @return True if there is a message in the outgoing queue. +*/ +bool hv_getNextSentMessage(HeavyContextInterface *c, hv_uint32_t *destinationHash, HvMessage *outMsg, hv_uint32_t msgLength); + + + +#if HV_APPLE +#pragma mark - Heavy Message +#endif + +typedef struct HvMessage HvMessage; + +/** Returns the total size in bytes of a HvMessage with a number of elements on the heap. */ +unsigned long hv_msg_getByteSize(hv_uint32_t numElements); + +/** Initialise a HvMessage structure with the number of elements and a timestamp (in samples). */ +void hv_msg_init(HvMessage *m, int numElements, hv_uint32_t timestamp); + +/** Returns the number of elements in this message. */ +unsigned long hv_msg_getNumElements(const HvMessage *m); + +/** Returns the time at which this message exists (in samples). */ +hv_uint32_t hv_msg_getTimestamp(const HvMessage *m); + +/** Set the time at which this message should be executed (in samples). */ +void hv_msg_setTimestamp(HvMessage *m, hv_uint32_t timestamp); + +/** Returns true of the indexed element is a bang. False otherwise. Index is not bounds checked. */ +bool hv_msg_isBang(const HvMessage *const m, int i); + +/** Sets the indexed element to a bang. Index is not bounds checked. */ +void hv_msg_setBang(HvMessage *m, int i); + +/** Returns true of the indexed element is a float. False otherwise. Index is not bounds checked. */ +bool hv_msg_isFloat(const HvMessage *const m, int i); + +/** Returns the indexed element as a float value. Index is not bounds checked. */ +float hv_msg_getFloat(const HvMessage *const m, int i); + +/** Sets the indexed element to float value. Index is not bounds checked. */ +void hv_msg_setFloat(HvMessage *m, int i, float f); + +/** Returns true of the indexed element is a symbol. False otherwise. Index is not bounds checked. */ +bool hv_msg_isSymbol(const HvMessage *const m, int i); + +/** Returns the indexed element as a symbol value. Index is not bounds checked. */ +const char *hv_msg_getSymbol(const HvMessage *const m, int i); + +/** Returns true of the indexed element is a hash. False otherwise. Index is not bounds checked. */ +bool hv_msg_isHash(const HvMessage *const m, int i); + +/** Returns the indexed element as a hash value. Index is not bounds checked. */ +hv_uint32_t hv_msg_getHash(const HvMessage *const m, int i); + +/** Sets the indexed element to symbol value. Index is not bounds checked. */ +void hv_msg_setSymbol(HvMessage *m, int i, const char *s); + +/** + * Returns true if the message has the given format, in number of elements and type. False otherwise. + * Valid element types are: + * 'b': bang + * 'f': float + * 's': symbol + * + * For example, a message with three floats would have a format of "fff". A single bang is "b". + * A message with two symbols is "ss". These types can be mixed and matched in any way. + */ +bool hv_msg_hasFormat(const HvMessage *const m, const char *fmt); + +/** + * Returns a basic string representation of the message. + * The character array MUST be deallocated by the caller. + */ +char *hv_msg_toString(const HvMessage *const m); + +/** Copy a message onto the stack. The message persists. */ +HvMessage *hv_msg_copy(const HvMessage *const m); + +/** Free a copied message. */ +void hv_msg_free(HvMessage *m); + + + +#if HV_APPLE +#pragma mark - Heavy Table +#endif + +/** + * Resizes the table to the given length. + * + * Existing contents are copied to the new table. Remaining space is cleared + * if the table is longer than the original, truncated otherwise. + * + * @param tableHash The table identifier. + * @param newSampleLength The new length of the table, in samples. Must be positive. + * + * @return False if the table could not be found. True otherwise. + */ +bool hv_table_setLength(HeavyContextInterface *c, hv_uint32_t tableHash, hv_uint32_t newSampleLength); + +/** Returns a pointer to the raw buffer backing this table. DO NOT free it. */ +float *hv_table_getBuffer(HeavyContextInterface *c, hv_uint32_t tableHash); + +/** Returns the length of this table in samples. */ +hv_uint32_t hv_table_getLength(HeavyContextInterface *c, hv_uint32_t tableHash); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_H_ diff --git a/plugin/source/HvHeavyInternal.h b/plugin/source/HvHeavyInternal.h new file mode 100644 index 0000000..e10b944 --- /dev/null +++ b/plugin/source/HvHeavyInternal.h @@ -0,0 +1,51 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_INTERNAL_H_ +#define _HEAVY_INTERNAL_H_ + +#include "HvHeavy.h" +#include "HvUtils.h" +#include "HvTable.h" +#include "HvMessage.h" +#include "HvMath.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * + */ +HvTable *hv_table_get(HeavyContextInterface *c, hv_uint32_t tableHash); + +/** + * + */ +void hv_scheduleMessageForReceiver(HeavyContextInterface *c, hv_uint32_t receiverHash, HvMessage *m); + +/** + * + */ +HvMessage *hv_scheduleMessageForObject(HeavyContextInterface *c, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *), + int letIndex); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/plugin/source/HvLightPipe.c b/plugin/source/HvLightPipe.c new file mode 100644 index 0000000..98de428 --- /dev/null +++ b/plugin/source/HvLightPipe.c @@ -0,0 +1,136 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvLightPipe.h" + +#if __SSE__ || HV_SIMD_SSE +#include +#define hv_sfence() _mm_sfence() +#elif __arm__ || HV_SIMD_NEON + #if __ARM_ACLE + #include + // https://msdn.microsoft.com/en-us/library/hh875058.aspx#BarrierRestrictions + // http://doxygen.reactos.org/d8/d47/armintr_8h_a02be7ec76ca51842bc90d9b466b54752.html + #define hv_sfence() __dmb(0xE) /* _ARM_BARRIER_ST */ + #elif defined(__GNUC__) + #define hv_sfence() __asm__ volatile ("dmb 0xE":::"memory") + #else + // http://stackoverflow.com/questions/19965076/gcc-memory-barrier-sync-synchronize-vs-asm-volatile-memory + #define hv_sfence() __sync_synchronize() + #endif +#elif HV_WIN +// https://msdn.microsoft.com/en-us/library/windows/desktop/ms684208(v=vs.85).aspx +#define hv_sfence() _WriteBarrier() +#else +#define hv_sfence() __asm__ volatile("" : : : "memory") +#endif + +#define HLP_STOP 0 +#define HLP_LOOP 0xFFFFFFFF +#define HLP_SET_UINT32_AT_BUFFER(a, b) (*((hv_uint32_t *) (a)) = (b)) +#define HLP_GET_UINT32_AT_BUFFER(a) (*((hv_uint32_t *) (a))) + +hv_uint32_t hLp_init(HvLightPipe *q, hv_uint32_t numBytes) { + if (numBytes > 0) { + q->buffer = (char *) hv_malloc(numBytes); + hv_assert(q->buffer != NULL); + HLP_SET_UINT32_AT_BUFFER(q->buffer, HLP_STOP); + } else { + q->buffer = NULL; + } + q->writeHead = q->buffer; + q->readHead = q->buffer; + q->len = numBytes; + q->remainingBytes = numBytes; + return numBytes; +} + +void hLp_free(HvLightPipe *q) { + hv_free(q->buffer); +} + +hv_uint32_t hLp_hasData(HvLightPipe *q) { + hv_uint32_t x = HLP_GET_UINT32_AT_BUFFER(q->readHead); + if (x == HLP_LOOP) { + q->readHead = q->buffer; + x = HLP_GET_UINT32_AT_BUFFER(q->readHead); + } + return x; +} + +char *hLp_getWriteBuffer(HvLightPipe *q, hv_uint32_t bytesToWrite) { + char *const readHead = q->readHead; + char *const oldWriteHead = q->writeHead; + const hv_uint32_t totalByteRequirement = bytesToWrite + 2*sizeof(hv_uint32_t); + + // check if there is enough space to write the data in the remaining + // length of the buffer + if (totalByteRequirement <= q->remainingBytes) { + char *const newWriteHead = oldWriteHead + sizeof(hv_uint32_t) + bytesToWrite; + + // check if writing would overwrite existing data in the pipe (return NULL if so) + if ((oldWriteHead < readHead) && (newWriteHead >= readHead)) return NULL; + else return (oldWriteHead + sizeof(hv_uint32_t)); + } else { + // there isn't enough space, try looping around to the start + if (totalByteRequirement <= q->len) { + if ((oldWriteHead < readHead) || ((q->buffer + totalByteRequirement) > readHead)) { + return NULL; // overwrite condition + } else { + q->writeHead = q->buffer; + q->remainingBytes = q->len; + HLP_SET_UINT32_AT_BUFFER(q->buffer, HLP_STOP); + hv_sfence(); + HLP_SET_UINT32_AT_BUFFER(oldWriteHead, HLP_LOOP); + return q->buffer + sizeof(hv_uint32_t); + } + } else { + return NULL; // there isn't enough space to write the data + } + } +} + +void hLp_produce(HvLightPipe *q, hv_uint32_t numBytes) { + hv_assert(q->remainingBytes >= (numBytes + 2*sizeof(hv_uint32_t))); + q->remainingBytes -= (sizeof(hv_uint32_t) + numBytes); + char *const oldWriteHead = q->writeHead; + q->writeHead += (sizeof(hv_uint32_t) + numBytes); + HLP_SET_UINT32_AT_BUFFER(q->writeHead, HLP_STOP); + + // save everything before this point to memory + hv_sfence(); + + // then save this + HLP_SET_UINT32_AT_BUFFER(oldWriteHead, numBytes); +} + +char *hLp_getReadBuffer(HvLightPipe *q, hv_uint32_t *numBytes) { + *numBytes = HLP_GET_UINT32_AT_BUFFER(q->readHead); + char *const readBuffer = q->readHead + sizeof(hv_uint32_t); + return readBuffer; +} + +void hLp_consume(HvLightPipe *q) { + hv_assert(HLP_GET_UINT32_AT_BUFFER(q->readHead) != HLP_STOP); + q->readHead += sizeof(hv_uint32_t) + HLP_GET_UINT32_AT_BUFFER(q->readHead); +} + +void hLp_reset(HvLightPipe *q) { + q->writeHead = q->buffer; + q->readHead = q->buffer; + q->remainingBytes = q->len; + memset(q->buffer, 0, q->len); +} diff --git a/plugin/source/HvLightPipe.h b/plugin/source/HvLightPipe.h new file mode 100644 index 0000000..438f726 --- /dev/null +++ b/plugin/source/HvLightPipe.h @@ -0,0 +1,104 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_LIGHTPIPE_H_ +#define _HEAVY_LIGHTPIPE_H_ + +#include "HvUtils.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * This pipe assumes that there is only one producer thread and one consumer + * thread. This data structure does not support any other configuration. + */ +typedef struct HvLightPipe { + char *buffer; + char *writeHead; + char *readHead; + hv_uint32_t len; + hv_uint32_t remainingBytes; // total bytes from write head to end +} HvLightPipe; + +/** + * Initialise the pipe with a given length, in bytes. + * @return Returns the size of the pipe in bytes. + */ +hv_uint32_t hLp_init(HvLightPipe *q, hv_uint32_t numBytes); + +/** + * Frees the internal buffer. + * @param q The light pipe. + */ +void hLp_free(HvLightPipe *q); + +/** + * Indicates if data is available for reading. + * @param q The light pipe. + * + * @return Returns the number of bytes available for reading. Zero if no bytes + * are available. + */ +hv_uint32_t hLp_hasData(HvLightPipe *q); + +/** + * Returns a pointer to a location in the pipe where numBytes can be written. + * + * @param numBytes The number of bytes to be written. + * @return A pointer to a location where those bytes can be written. Returns + * NULL if no more space is available. Successive calls to this + * function may eventually return a valid pointer because the readhead + * has been advanced on another thread. + */ +char *hLp_getWriteBuffer(HvLightPipe *q, hv_uint32_t numBytes); + +/** + * Indicates to the pipe how many bytes have been written. + * + * @param numBytes The number of bytes written. In general this should be the + * same value as was passed to the preceeding call to + * hLp_getWriteBuffer(). + */ +void hLp_produce(HvLightPipe *q, hv_uint32_t numBytes); + +/** + * Returns the current read buffer, indicating the number of bytes available + * for reading. + * @param q The light pipe. + * @param numBytes This value will be filled with the number of bytes available + * for reading. + * + * @return A pointer to the read buffer. + */ +char *hLp_getReadBuffer(HvLightPipe *q, hv_uint32_t *numBytes); + +/** + * Indicates that the next set of bytes have been read and are no longer needed. + * @param q The light pipe. + */ +void hLp_consume(HvLightPipe *q); + +// resets the queue to it's initialised state +// This should be done when only one thread is accessing the pipe. +void hLp_reset(HvLightPipe *q); + +#ifdef __cplusplus +} +#endif + +#endif // _HEAVY_LIGHTPIPE_H_ diff --git a/plugin/source/HvMath.h b/plugin/source/HvMath.h new file mode 100644 index 0000000..8bdcd6b --- /dev/null +++ b/plugin/source/HvMath.h @@ -0,0 +1,724 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_MATH_H_ +#define _HEAVY_MATH_H_ + +#include "HvUtils.h" + +// https://software.intel.com/sites/landingpage/IntrinsicsGuide/ +// https://gcc.gnu.org/onlinedocs/gcc-4.8.1/gcc/ARM-NEON-Intrinsics.html +// http://codesuppository.blogspot.co.uk/2015/02/sse2neonh-porting-guide-and-header-file.html + +static inline void __hv_zero_f(hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_setzero_ps(); +#elif HV_SIMD_SSE + *bOut = _mm_setzero_ps(); +#elif HV_SIMD_NEON + *bOut = vdupq_n_f32(0.0f); +#else // HV_SIMD_NONE + *bOut = 0.0f; +#endif +} + +static inline void __hv_zero_i(hv_bOuti_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_setzero_si256(); +#elif HV_SIMD_SSE + *bOut = _mm_setzero_si128(); +#elif HV_SIMD_NEON + *bOut = vdupq_n_s32(0); +#else // HV_SIMD_NONE + *bOut = 0; +#endif +} + +static inline void __hv_load_f(float *bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_load_ps(bIn); +#elif HV_SIMD_SSE + *bOut = _mm_load_ps(bIn); +#elif HV_SIMD_NEON + *bOut = vld1q_f32(bIn); +#else // HV_SIMD_NONE + *bOut = *bIn; +#endif +} + +static inline void __hv_store_f(float *bOut, hv_bInf_t bIn) { +#if HV_SIMD_AVX + _mm256_store_ps(bOut, bIn); +#elif HV_SIMD_SSE + _mm_store_ps(bOut, bIn); +#elif HV_SIMD_NEON + vst1q_f32(bOut, bIn); +#else // HV_SIMD_NONE + *bOut = bIn; +#endif +} + +static inline void __hv_log2_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + hv_assert(0); // __hv_log2_f() not implemented +#elif HV_SIMD_SSE + // https://en.wikipedia.org/wiki/Fast_inverse_square_root + __m128i a = _mm_castps_si128(bIn); + __m128i b = _mm_srli_epi32(a, 23); + __m128i c = _mm_sub_epi32(b, _mm_set1_epi32(127)); // exponent (int) + __m128 d = _mm_cvtepi32_ps(c); // exponent (float) + __m128i e = _mm_or_si128(_mm_andnot_si128(_mm_set1_epi32(0xFF800000), a), _mm_set1_epi32(0x3F800000)); + __m128 f = _mm_castsi128_ps(e); // 1+m (float) + __m128 g = _mm_add_ps(d, f); // e + 1 + m + __m128 h = _mm_add_ps(g, _mm_set1_ps(-0.9569643f)); // e + 1 + m + (sigma-1) + *bOut = h; +#elif HV_SIMD_NEON + int32x4_t a = vreinterpretq_s32_f32(bIn); + int32x4_t b = vshrq_n_s32(a, 23); + int32x4_t c = vsubq_s32(b, vdupq_n_s32(127)); + float32x4_t d = vcvtq_f32_s32(c); + int32x4_t e = vorrq_s32(vbicq_s32(a, vdupq_n_s32(0xFF800000)), vdupq_n_s32(0x3F800000)); + float32x4_t f = vreinterpretq_f32_s32(e); + float32x4_t g = vaddq_f32(d, f); + float32x4_t h = vaddq_f32(g, vdupq_n_f32(-0.9569643f)); + *bOut = h; +#else // HV_SIMD_NONE + *bOut = 1.442695040888963f * hv_log_f(bIn); +#endif +} + +// NOTE(mhroth): this is a pretty ghetto implementation +static inline void __hv_cos_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_set_ps( + hv_cos_f(bIn[7]), hv_cos_f(bIn[6]), hv_cos_f(bIn[5]), hv_cos_f(bIn[4]), + hv_cos_f(bIn[3]), hv_cos_f(bIn[2]), hv_cos_f(bIn[1]), hv_cos_f(bIn[0])); +#elif HV_SIMD_SSE + const float *const b = (float *) &bIn; + *bOut = _mm_set_ps(hv_cos_f(b[3]), hv_cos_f(b[2]), hv_cos_f(b[1]), hv_cos_f(b[0])); +#elif HV_SIMD_NEON + *bOut = (float32x4_t) {hv_cos_f(bIn[0]), hv_cos_f(bIn[1]), hv_cos_f(bIn[2]), hv_cos_f(bIn[3])}; +#else // HV_SIMD_NONE + *bOut = hv_cos_f(bIn); +#endif +} + +static inline void __hv_acos_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + hv_assert(0); // __hv_acos_f() not implemented +#elif HV_SIMD_SSE + hv_assert(0); // __hv_acos_f() not implemented +#elif HV_SIMD_NEON + hv_assert(0); // __hv_acos_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_acos_f(bIn); +#endif +} + +static inline void __hv_cosh_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + hv_assert(0); // __hv_cosh_f() not implemented +#elif HV_SIMD_SSE + hv_assert(0); // __hv_cosh_f() not implemented +#elif HV_SIMD_NEON + hv_assert(0); // __hv_cosh_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_cosh_f(bIn); +#endif +} + +static inline void __hv_acosh_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + hv_assert(0); // __hv_acosh_f() not implemented +#elif HV_SIMD_SSE + hv_assert(0); // __hv_acosh_f() not implemented +#elif HV_SIMD_NEON + hv_assert(0); // __hv_acosh_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_acosh_f(bIn); +#endif +} + +static inline void __hv_sin_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + hv_assert(0); // __hv_sin_f() not implemented +#elif HV_SIMD_SSE + hv_assert(0); // __hv_sin_f() not implemented +#elif HV_SIMD_NEON + hv_assert(0); // __hv_sin_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_sin_f(bIn); +#endif +} + +static inline void __hv_asin_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + hv_assert(0); // __hv_asin_f() not implemented +#elif HV_SIMD_SSE + hv_assert(0); // __hv_asin_f() not implemented +#elif HV_SIMD_NEON + hv_assert(0); // __hv_asin_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_asin_f(bIn); +#endif +} + +static inline void __hv_sinh_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + hv_assert(0); // __hv_sinh_f() not implemented +#elif HV_SIMD_SSE + hv_assert(0); // __hv_sinh_f() not implemented +#elif HV_SIMD_NEON + hv_assert(0); // __hv_sinh_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_sinh_f(bIn); +#endif +} + +static inline void __hv_asinh_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + hv_assert(0); // __hv_asinh_f() not implemented +#elif HV_SIMD_SSE + hv_assert(0); // __hv_asinh_f() not implemented +#elif HV_SIMD_NEON + hv_assert(0); // __hv_asinh_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_asinh_f(bIn); +#endif +} + +static inline void __hv_tan_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + hv_assert(0); // __hv_tan_f() not implemented +#elif HV_SIMD_SSE + hv_assert(0); // __hv_tan_f() not implemented +#elif HV_SIMD_NEON + hv_assert(0); // __hv_tan_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_tan_f(bIn); +#endif +} + +static inline void __hv_atan_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + hv_assert(0); // __hv_atan_f() not implemented +#elif HV_SIMD_SSE + hv_assert(0); // __hv_atan_f() not implemented +#elif HV_SIMD_NEON + hv_assert(0); // __hv_atan_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_atan_f(bIn); +#endif +} + +static inline void __hv_atan2_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + hv_assert(0); // __hv_atan2_f() not implemented +#elif HV_SIMD_SSE + hv_assert(0); // __hv_atan2_f() not implemented +#elif HV_SIMD_NEON + hv_assert(0); // __hv_atan2_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_atan2_f(bIn0, bIn1); +#endif +} + +static inline void __hv_tanh_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + hv_assert(0); // __hv_tanh_f() not implemented +#elif HV_SIMD_SSE + hv_assert(0); // __hv_tanh_f() not implemented +#elif HV_SIMD_NEON + hv_assert(0); // __hv_tanh_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_tanh_f(bIn); +#endif +} + +static inline void __hv_atanh_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + hv_assert(0); // __hv_atanh_f() not implemented +#elif HV_SIMD_SSE + hv_assert(0); // __hv_atanh_f() not implemented +#elif HV_SIMD_NEON + hv_assert(0); // __hv_atanh_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_atanh_f(bIn); +#endif +} + +static inline void __hv_sqrt_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_sqrt_ps(bIn); +#elif HV_SIMD_SSE + *bOut = _mm_sqrt_ps(bIn); +#elif HV_SIMD_NEON + const float32x4_t y = vrsqrteq_f32(bIn); + *bOut = vmulq_f32(bIn, vmulq_f32(vrsqrtsq_f32(vmulq_f32(bIn, y), y), y)); // numerical results may be inexact +#else // HV_SIMD_NONE + *bOut = hv_sqrt_f(bIn); +#endif +} + +static inline void __hv_rsqrt_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_rsqrt_ps(bIn); +#elif HV_SIMD_SSE + *bOut = _mm_rsqrt_ps(bIn); +#elif HV_SIMD_NEON + const float32x4_t y = vrsqrteq_f32(bIn); + *bOut = vmulq_f32(vrsqrtsq_f32(vmulq_f32(bIn, y), y), y); // numerical results may be inexact +#else // HV_SIMD_NONE + *bOut = 1.0f/hv_sqrt_f(bIn); +#endif +} + +static inline void __hv_abs_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_andnot_ps(_mm256_set1_ps(-0.0f), bIn); +#elif HV_SIMD_SSE + *bOut = _mm_andnot_ps(_mm_set1_ps(-0.0f), bIn); // == 1 << 31 +#elif HV_SIMD_NEON + *bOut = vabsq_f32(bIn); +#else // HV_SIMD_NONE + *bOut = hv_abs_f(bIn); +#endif +} + +static inline void __hv_neg_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_xor_ps(bIn, _mm256_set1_ps(-0.0f)); +#elif HV_SIMD_SSE + *bOut = _mm_xor_ps(bIn, _mm_set1_ps(-0.0f)); +#elif HV_SIMD_NEON + *bOut = vnegq_f32(bIn); +#else // HV_SIMD_NONE + *bOut = bIn * -1.0f; +#endif +} + +static inline void __hv_exp_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + float *const b = (float *) hv_alloca(HV_N_SIMD*sizeof(float)); + _mm256_store_ps(b, bIn); + *bOut = _mm256_set_ps( + hv_exp_f(b[7]), hv_exp_f(b[6]), hv_exp_f(b[5]), hv_exp_f(b[4]), + hv_exp_f(b[3]), hv_exp_f(b[2]), hv_exp_f(b[1]), hv_exp_f(b[0])); +#elif HV_SIMD_SSE + float *const b = (float *) hv_alloca(HV_N_SIMD*sizeof(float)); + _mm_store_ps(b, bIn); + *bOut = _mm_set_ps(hv_exp_f(b[3]), hv_exp_f(b[2]), hv_exp_f(b[1]), hv_exp_f(b[0])); +#elif HV_SIMD_NEON + *bOut = (float32x4_t) { + hv_exp_f(bIn[0]), + hv_exp_f(bIn[1]), + hv_exp_f(bIn[2]), + hv_exp_f(bIn[3])}; +#else // HV_SIMD_NONE + *bOut = hv_exp_f(bIn); +#endif +} + +static inline void __hv_ceil_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_ceil_ps(bIn); +#elif HV_SIMD_SSE + *bOut = _mm_ceil_ps(bIn); +#elif HV_SIMD_NEON +#if __ARM_ARCH >= 8 + *bOut = vrndpq_f32(bIn); +#else + // A slow NEON implementation of __hv_ceil_f() is being used because + // the necessary intrinsic cannot be found. It is only available in ARMv8. + *bOut = (float32x4_t) {hv_ceil_f(bIn[0]), hv_ceil_f(bIn[1]), hv_ceil_f(bIn[2]), hv_ceil_f(bIn[3])}; +#endif // vrndpq_f32 +#else // HV_SIMD_NONE + *bOut = hv_ceil_f(bIn); +#endif +} + +static inline void __hv_floor_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_floor_ps(bIn); +#elif HV_SIMD_SSE + *bOut = _mm_floor_ps(bIn); +#elif HV_SIMD_NEON +#if __ARM_ARCH >= 8 + *bOut = vrndmq_f32(bIn); +#else + // A slow implementation of __hv_floor_f() is being used because + // the necessary intrinsic cannot be found. It is only available from ARMv8. + *bOut = (float32x4_t) {hv_floor_f(bIn[0]), hv_floor_f(bIn[1]), hv_floor_f(bIn[2]), hv_floor_f(bIn[3])}; +#endif // vrndmq_f32 +#else // HV_SIMD_NONE + *bOut = hv_floor_f(bIn); +#endif +} + +// __add~f +static inline void __hv_add_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_add_ps(bIn0, bIn1); +#elif HV_SIMD_SSE + *bOut = _mm_add_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vaddq_f32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = bIn0 + bIn1; +#endif +} + +// __add~i +static inline void __hv_add_i(hv_bIni_t bIn0, hv_bIni_t bIn1, hv_bOuti_t bOut) { +#if HV_SIMD_AVX + __m128i x = _mm_add_epi32(_mm256_castsi256_si128(bIn0), _mm256_castsi256_si128(bIn1)); + __m128i y = _mm_add_epi32(_mm256_extractf128_si256(bIn0, 1), _mm256_extractf128_si256(bIn1, 1)); + *bOut = _mm256_insertf128_si256(_mm256_castsi128_si256(x), y, 1); +#elif HV_SIMD_SSE + *bOut = _mm_add_epi32(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vaddq_s32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = bIn0 + bIn1; +#endif +} + +// __sub~f +static inline void __hv_sub_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_sub_ps(bIn0, bIn1); +#elif HV_SIMD_SSE + *bOut = _mm_sub_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vsubq_f32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = bIn0 - bIn1; +#endif +} + +// __mul~f +static inline void __hv_mul_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_mul_ps(bIn0, bIn1); +#elif HV_SIMD_SSE + *bOut = _mm_mul_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vmulq_f32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = bIn0 * bIn1; +#endif +} + +// __*~i +static inline void __hv_mul_i(hv_bIni_t bIn0, hv_bIni_t bIn1, hv_bOuti_t bOut) { +#if HV_SIMD_AVX + __m128i x = _mm_mullo_epi32(_mm256_castsi256_si128(bIn0), _mm256_castsi256_si128(bIn1)); + __m128i y = _mm_mullo_epi32(_mm256_extractf128_si256(bIn0, 1), _mm256_extractf128_si256(bIn1, 1)); + *bOut = _mm256_insertf128_si256(_mm256_castsi128_si256(x), y, 1); +#elif HV_SIMD_SSE + *bOut = _mm_mullo_epi32(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vmulq_s32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = bIn0 * bIn1; +#endif +} + +// __cast~if +static inline void __hv_cast_if(hv_bIni_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_cvtepi32_ps(bIn); +#elif HV_SIMD_SSE + *bOut = _mm_cvtepi32_ps(bIn); +#elif HV_SIMD_NEON + *bOut = vcvtq_f32_s32(bIn); +#else // HV_SIMD_NONE + *bOut = (float) bIn; +#endif +} + +// __cast~fi +static inline void __hv_cast_fi(hv_bInf_t bIn, hv_bOuti_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_cvtps_epi32(bIn); +#elif HV_SIMD_SSE + *bOut = _mm_cvtps_epi32(bIn); +#elif HV_SIMD_NEON + *bOut = vcvtq_s32_f32(bIn); +#else // HV_SIMD_NONE + *bOut = (int) bIn; +#endif +} + +static inline void __hv_div_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + __m256 a = _mm256_cmp_ps(bIn1, _mm256_setzero_ps(), _CMP_EQ_OQ); + __m256 b = _mm256_div_ps(bIn0, bIn1); + *bOut = _mm256_andnot_ps(a, b); +#elif HV_SIMD_SSE + __m128 a = _mm_cmpeq_ps(bIn1, _mm_setzero_ps()); + __m128 b = _mm_div_ps(bIn0, bIn1); + *bOut = _mm_andnot_ps(a, b); +#elif HV_SIMD_NEON + uint32x4_t a = vceqq_f32(bIn1, vdupq_n_f32(0.0f)); + float32x4_t b = vmulq_f32(bIn0, vrecpeq_f32(bIn1)); // NOTE(mhroth): numerical results may be inexact + *bOut = vreinterpretq_f32_u32(vbicq_u32(vreinterpretq_u32_f32(b), a)); +#else // HV_SIMD_NONE + *bOut = (bIn1 != 0.0f) ? (bIn0 / bIn1) : 0.0f; +#endif +} + +static inline void __hv_min_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_min_ps(bIn0, bIn1); +#elif HV_SIMD_SSE + *bOut = _mm_min_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vminq_f32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = hv_min_f(bIn0, bIn1); +#endif +} + +static inline void __hv_min_i(hv_bIni_t bIn0, hv_bIni_t bIn1, hv_bOuti_t bOut) { +#if HV_SIMD_AVX + __m128i x = _mm_min_epi32(_mm256_castsi256_si128(bIn0), _mm256_castsi256_si128(bIn1)); + __m128i y = _mm_min_epi32(_mm256_extractf128_si256(bIn0, 1), _mm256_extractf128_si256(bIn1, 1)); + *bOut = _mm256_insertf128_si256(_mm256_castsi128_si256(x), y, 1); +#elif HV_SIMD_SSE + *bOut = _mm_min_epi32(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vminq_s32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = hv_min_i(bIn0, bIn1); +#endif +} + +static inline void __hv_max_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_max_ps(bIn0, bIn1); +#elif HV_SIMD_SSE + *bOut = _mm_max_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vmaxq_f32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = hv_max_f(bIn0, bIn1); +#endif +} + +static inline void __hv_max_i(hv_bIni_t bIn0, hv_bIni_t bIn1, hv_bOuti_t bOut) { +#if HV_SIMD_AVX + __m128i x = _mm_max_epi32(_mm256_castsi256_si128(bIn0), _mm256_castsi256_si128(bIn1)); + __m128i y = _mm_max_epi32(_mm256_extractf128_si256(bIn0, 1), _mm256_extractf128_si256(bIn1, 1)); + *bOut = _mm256_insertf128_si256(_mm256_castsi128_si256(x), y, 1); +#elif HV_SIMD_SSE + *bOut = _mm_max_epi32(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vmaxq_s32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = hv_max_i(bIn0, bIn1); +#endif +} + +static inline void __hv_pow_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + float *b = (float *) hv_alloca(16*sizeof(float)); + _mm256_store_ps(b, bIn0); + _mm256_store_ps(b+8, bIn1); + *bOut = _mm256_set_ps( + hv_pow_f(b[7], b[7]), + hv_pow_f(b[6], b[6]), + hv_pow_f(b[5], b[5]), + hv_pow_f(b[4], b[4]), + hv_pow_f(b[3], b[3]), + hv_pow_f(b[2], b[2]), + hv_pow_f(b[1], b[1]), + hv_pow_f(b[0], b[0])); +#elif HV_SIMD_SSE + float *b = (float *) hv_alloca(8*sizeof(float)); + _mm_store_ps(b, bIn0); + _mm_store_ps(b+4, bIn1); + *bOut = _mm_set_ps( + hv_pow_f(b[3], b[7]), + hv_pow_f(b[2], b[6]), + hv_pow_f(b[1], b[5]), + hv_pow_f(b[0], b[4])); +#elif HV_SIMD_NEON + *bOut = (float32x4_t) { + hv_pow_f(bIn0[0], bIn1[0]), + hv_pow_f(bIn0[1], bIn1[1]), + hv_pow_f(bIn0[2], bIn1[2]), + hv_pow_f(bIn0[3], bIn1[3])}; +#else // HV_SIMD_NONE + *bOut = hv_pow_f(bIn0, bIn1); +#endif +} + +static inline void __hv_gt_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_cmp_ps(bIn0, bIn1, _CMP_GT_OQ); +#elif HV_SIMD_SSE + *bOut = _mm_cmpgt_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vreinterpretq_f32_u32(vcgtq_f32(bIn0, bIn1)); +#else // HV_SIMD_NONE + *bOut = (bIn0 > bIn1) ? 1.0f : 0.0f; +#endif +} + +static inline void __hv_gte_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_cmp_ps(bIn0, bIn1, _CMP_GE_OQ); +#elif HV_SIMD_SSE + *bOut = _mm_cmpge_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vreinterpretq_f32_u32(vcgeq_f32(bIn0, bIn1)); +#else // HV_SIMD_NONE + *bOut = (bIn0 >= bIn1) ? 1.0f : 0.0f; +#endif +} + +static inline void __hv_lt_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_cmp_ps(bIn0, bIn1, _CMP_LT_OQ); +#elif HV_SIMD_SSE + *bOut = _mm_cmplt_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vreinterpretq_f32_u32(vcltq_f32(bIn0, bIn1)); +#else // HV_SIMD_NONE + *bOut = (bIn0 < bIn1) ? 1.0f : 0.0f; +#endif +} + +static inline void __hv_lte_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_cmp_ps(bIn0, bIn1, _CMP_LE_OQ); +#elif HV_SIMD_SSE + *bOut = _mm_cmple_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vreinterpretq_f32_u32(vcleq_f32(bIn0, bIn1)); +#else // HV_SIMD_NONE + *bOut = (bIn0 <= bIn1) ? 1.0f : 0.0f; +#endif +} + +static inline void __hv_neq_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_cmp_ps(bIn0, bIn1, _CMP_NEQ_OQ); +#elif HV_SIMD_SSE + *bOut = _mm_cmpneq_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vreinterpretq_f32_u32(vmvnq_u32(vceqq_f32(bIn0, bIn1))); +#else // HV_SIMD_NONE + *bOut = (bIn0 != bIn1) ? 1.0f : 0.0f; +#endif +} + +static inline void __hv_or_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_or_ps(bIn1, bIn0); +#elif HV_SIMD_SSE + *bOut = _mm_or_ps(bIn1, bIn0); +#elif HV_SIMD_NEON + *bOut = vreinterpretq_f32_u32(vorrq_u32(vreinterpretq_u32_f32(bIn1), vreinterpretq_u32_f32(bIn0))); +#else // HV_SIMD_NONE + if (bIn0 == 0.0f && bIn1 == 0.0f) *bOut = 0.0f; + else if (bIn0 == 0.0f) *bOut = bIn1; + else if (bIn1 == 0.0f) *bOut = bIn0; + else hv_assert(0); +#endif +} + +static inline void __hv_and_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_and_ps(bIn1, bIn0); +#elif HV_SIMD_SSE + *bOut = _mm_and_ps(bIn1, bIn0); +#elif HV_SIMD_NEON + *bOut = vreinterpretq_f32_u32(vandq_u32(vreinterpretq_u32_f32(bIn1), vreinterpretq_u32_f32(bIn0))); +#else // HV_SIMD_NONE + if (bIn0 == 0.0f || bIn1 == 0.0f) *bOut = 0.0f; + else if (bIn0 == 1.0f) *bOut = bIn1; + else if (bIn1 == 1.0f) *bOut = bIn0; + else hv_assert(0); +#endif +} + +static inline void __hv_andnot_f(hv_bInf_t bIn0_mask, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_andnot_ps(bIn0_mask, bIn1); +#elif HV_SIMD_SSE + *bOut = _mm_andnot_ps(bIn0_mask, bIn1); +#elif HV_SIMD_NEON + *bOut = vreinterpretq_f32_s32(vbicq_s32(vreinterpretq_s32_f32(bIn1), vreinterpretq_s32_f32(bIn0_mask))); +#else // HV_SIMD_NONE + *bOut = (bIn0_mask == 0.0f) ? bIn1 : 0.0f; +#endif +} + +// bOut = (bIn0 * bIn1) + bIn2 +static inline void __hv_fma_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bInf_t bIn2, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#if HV_SIMD_FMA + *bOut = _mm256_fmadd_ps(bIn0, bIn1, bIn2); +#else + *bOut = _mm256_add_ps(_mm256_mul_ps(bIn0, bIn1), bIn2); +#endif // HV_SIMD_FMA +#elif HV_SIMD_SSE +#if HV_SIMD_FMA + *bOut = _mm_fmadd_ps(bIn0, bIn1, bIn2); +#else + *bOut = _mm_add_ps(_mm_mul_ps(bIn0, bIn1), bIn2); +#endif // HV_SIMD_FMA +#elif HV_SIMD_NEON +#if __ARM_ARCH >= 8 + *bOut = vfmaq_f32(bIn2, bIn0, bIn1); +#else + // NOTE(mhroth): it turns out, fma SUUUUCKS on lesser ARM architectures + *bOut = vaddq_f32(vmulq_f32(bIn0, bIn1), bIn2); +#endif +#else // HV_SIMD_NONE + *bOut = hv_fma_f(bIn0, bIn1, bIn2); +#endif +} + +// bOut = (bIn0 * bIn1) - bIn2 +static inline void __hv_fms_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bInf_t bIn2, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#if HV_SIMD_FMA + *bOut = _mm256_fmsub_ps(bIn0, bIn1, bIn2); +#else + *bOut = _mm256_sub_ps(_mm256_mul_ps(bIn0, bIn1), bIn2); +#endif // HV_SIMD_FMA +#elif HV_SIMD_SSE +#if HV_SIMD_FMA + *bOut = _mm_fmsub_ps(bIn0, bIn1, bIn2); +#else + *bOut = _mm_sub_ps(_mm_mul_ps(bIn0, bIn1), bIn2); +#endif // HV_SIMD_FMA +#elif HV_SIMD_NEON +#if __ARM_ARCH >= 8 + *bOut = vfmsq_f32(bIn2, bIn0, bIn1); +#else + // NOTE(mhroth): it turns out, fma SUUUUCKS on lesser ARM architectures + *bOut = vsubq_f32(vmulq_f32(bIn0, bIn1), bIn2); +#endif +#else // HV_SIMD_NONE + *bOut = (bIn0 * bIn1) - bIn2; +#endif +} + +#endif // _HEAVY_MATH_H_ diff --git a/plugin/source/HvMessage.c b/plugin/source/HvMessage.c new file mode 100644 index 0000000..0f1ac5d --- /dev/null +++ b/plugin/source/HvMessage.c @@ -0,0 +1,199 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvMessage.h" + +HvMessage *msg_init(HvMessage *m, hv_size_t numElements, hv_uint32_t timestamp) { + m->timestamp = timestamp; + m->numElements = (hv_uint16_t) numElements; + m->numBytes = (hv_uint16_t) msg_getCoreSize(numElements); + return m; +} + +HvMessage *msg_initWithFloat(HvMessage *m, hv_uint32_t timestamp, float f) { + m->timestamp = timestamp; + m->numElements = 1; + m->numBytes = sizeof(HvMessage); + msg_setFloat(m, 0, f); + return m; +} + +HvMessage *msg_initWithBang(HvMessage *m, hv_uint32_t timestamp) { + m->timestamp = timestamp; + m->numElements = 1; + m->numBytes = sizeof(HvMessage); + msg_setBang(m, 0); + return m; +} + +HvMessage *msg_initWithSymbol(HvMessage *m, hv_uint32_t timestamp, const char *s) { + m->timestamp = timestamp; + m->numElements = 1; + m->numBytes = sizeof(HvMessage) + (hv_uint16_t) hv_strlen(s); + msg_setSymbol(m, 0, s); + return m; +} + +HvMessage *msg_initWithHash(HvMessage *m, hv_uint32_t timestamp, hv_uint32_t h) { + m->timestamp = timestamp; + m->numElements = 1; + m->numBytes = sizeof(HvMessage); + msg_setHash(m, 0, h); + return m; +} + +void msg_copyToBuffer(const HvMessage *m, char *buffer, hv_size_t len) { + HvMessage *r = (HvMessage *) buffer; + + hv_size_t len_r = msg_getCoreSize(msg_getNumElements(m)); + + // assert that the message is not already larger than the length of the buffer + hv_assert(len_r <= len); + + // copy the basic message to the buffer + hv_memcpy(r, m, len_r); + + char *p = buffer + len_r; // points to the end of the base message + for (int i = 0; i < msg_getNumElements(m); ++i) { + if (msg_isSymbol(m,i)) { + const hv_size_t symLen = (hv_size_t) hv_strlen(msg_getSymbol(m,i)) + 1; // include the trailing null char + hv_assert(len_r + symLen <= len); // stay safe! + hv_strncpy(p, msg_getSymbol(m,i), symLen); + msg_setSymbol(r, i, p); + p += symLen; + len_r += symLen; + } + } + + r->numBytes = (hv_uint16_t) len_r; // update the message size in memory +} + +// the message is serialised such that all symbol elements are placed in order at the end of the buffer +HvMessage *msg_copy(const HvMessage *m) { + const hv_uint32_t heapSize = msg_getSize(m); + char *r = (char *) hv_malloc(heapSize); + hv_assert(r != NULL); + msg_copyToBuffer(m, r, heapSize); + return (HvMessage *) r; +} + +void msg_free(HvMessage *m) { + hv_free(m); // because heap messages are serialised in memory, a simple call to free releases the message +} + +bool msg_hasFormat(const HvMessage *m, const char *fmt) { + hv_assert(fmt != NULL); + const int n = msg_getNumElements(m); + for (int i = 0; i < n; ++i) { + switch (fmt[i]) { + case 'b': if (!msg_isBang(m, i)) return false; break; + case 'f': if (!msg_isFloat(m, i)) return false; break; + case 'h': if (!msg_isHash(m, i)) return false; break; + case 's': if (!msg_isSymbol(m, i)) return false; break; + default: return false; + } + } + return (fmt[n] == '\0'); +} + +bool msg_compareSymbol(const HvMessage *m, int i, const char *s) { + switch (msg_getType(m,i)) { + case HV_MSG_SYMBOL: return !hv_strcmp(msg_getSymbol(m, i), s); + case HV_MSG_HASH: return (msg_getHash(m,i) == hv_string_to_hash(s)); + default: return false; + } +} + +bool msg_equalsElement(const HvMessage *m, int i_m, const HvMessage *n, int i_n) { + if (i_m < msg_getNumElements(m) && i_n < msg_getNumElements(n)) { + if (msg_getType(m, i_m) == msg_getType(n, i_n)) { + switch (msg_getType(m, i_m)) { + case HV_MSG_BANG: return true; + case HV_MSG_FLOAT: return (msg_getFloat(m, i_m) == msg_getFloat(n, i_n)); + case HV_MSG_SYMBOL: return msg_compareSymbol(m, i_m, msg_getSymbol(n, i_n)); + case HV_MSG_HASH: return msg_getHash(m,i_m) == msg_getHash(n,i_n); + default: break; + } + } + } + return false; +} + +void msg_setElementToFrom(HvMessage *n, int i_n, const HvMessage *const m, int i_m) { + switch (msg_getType(m, i_m)) { + case HV_MSG_BANG: msg_setBang(n, i_n); break; + case HV_MSG_FLOAT: msg_setFloat(n, i_n, msg_getFloat(m, i_m)); break; + case HV_MSG_SYMBOL: msg_setSymbol(n, i_n, msg_getSymbol(m, i_m)); break; + case HV_MSG_HASH: msg_setHash(n, i_n, msg_getHash(m, i_m)); + default: break; + } +} + +hv_uint32_t msg_getHash(const HvMessage *const m, int i) { + hv_assert(i < msg_getNumElements(m)); // invalid index + switch (msg_getType(m,i)) { + case HV_MSG_BANG: return 0xFFFFFFFF; + case HV_MSG_FLOAT: { + float f = msg_getFloat(m,i); + return *((hv_uint32_t *) &f); + } + case HV_MSG_SYMBOL: return hv_string_to_hash(msg_getSymbol(m,i)); + case HV_MSG_HASH: return (&(m->elem)+i)->data.h; + default: return 0; + } +} + +char *msg_toString(const HvMessage *m) { + hv_assert(msg_getNumElements(m) > 0); + int *len = (int *) hv_alloca(msg_getNumElements(m)*sizeof(int)); + int size = 0; // the total length of our final buffer + + // loop through every element in our list of atoms + // first loop figures out how long our buffer should be + for (int i = 0; i < msg_getNumElements(m); i++) { + // length of our string is each atom plus a space, or \0 on the end + switch (msg_getType(m, i)) { + case HV_MSG_BANG: len[i] = hv_snprintf(NULL, 0, "%s", "bang") + 1; break; + case HV_MSG_FLOAT: len[i] = hv_snprintf(NULL, 0, "%g", msg_getFloat(m, i)) + 1; break; + case HV_MSG_SYMBOL: len[i] = hv_snprintf(NULL, 0, "%s", msg_getSymbol(m, i)) + 1; break; + case HV_MSG_HASH: len[i] = hv_snprintf(NULL, 0, "0x%X", msg_getHash(m, i)) + 1; break; + default: break; + } + size += len[i]; + } + + hv_assert(size > 0); + + // now we do the piecewise concatenation into our final string + // the final buffer we will pass back after concatenating all strings - user should free it + char *finalString = (char *) hv_malloc(size*sizeof(char)); + hv_assert(finalString != NULL); + int pos = 0; + for (int i = 0; i < msg_getNumElements(m); i++) { + // put a string representation of each atom into the final string + switch (msg_getType(m, i)) { + case HV_MSG_BANG: hv_snprintf(finalString+pos, len[i], "%s", "bang"); break; + case HV_MSG_FLOAT: hv_snprintf(finalString+pos, len[i], "%g", msg_getFloat(m, i)); break; + case HV_MSG_SYMBOL: hv_snprintf(finalString+pos, len[i], "%s", msg_getSymbol(m, i)); break; + case HV_MSG_HASH: hv_snprintf(finalString+pos, len[i], "0x%X", msg_getHash(m, i)); break; + default: break; + } + pos += len[i]; + finalString[pos-1] = 32; // ASCII space + } + finalString[size-1] = '\0'; // ensure that the string is null terminated + return finalString; +} diff --git a/plugin/source/HvMessage.h b/plugin/source/HvMessage.h new file mode 100644 index 0000000..a3fdd1c --- /dev/null +++ b/plugin/source/HvMessage.h @@ -0,0 +1,183 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_MESSAGE_H_ +#define _HEAVY_MESSAGE_H_ + +#include "HvUtils.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum ElementType { + HV_MSG_BANG = 0, + HV_MSG_FLOAT = 1, + HV_MSG_SYMBOL = 2, + HV_MSG_HASH = 3 +} ElementType; + +typedef struct Element { + ElementType type; + union { + float f; // float + const char *s; // symbol + hv_uint32_t h; // hash + } data; +} Element; + +typedef struct HvMessage { + hv_uint32_t timestamp; // the sample at which this message should be processed + hv_uint16_t numElements; + hv_uint16_t numBytes; // the total number of bytes that this message occupies in memory, including strings + Element elem; +} HvMessage; + +typedef struct ReceiverMessagePair { + hv_uint32_t receiverHash; + HvMessage msg; +} ReceiverMessagePair; + +#define HV_MESSAGE_ON_STACK(_x) (HvMessage *) hv_alloca(msg_getCoreSize(_x)) + +/** Returns the number of bytes that this message consumes in memory, not including strings. */ +static inline hv_size_t msg_getCoreSize(hv_size_t numElements) { + hv_assert(numElements > 0); + return sizeof(HvMessage) + ((numElements-1) * sizeof(Element)); +} + +HvMessage *msg_copy(const HvMessage *m); + +/** Copies the message into the given buffer. The buffer must be at least as large as msg_getNumHeapBytes(). */ +void msg_copyToBuffer(const HvMessage *m, char *buffer, hv_size_t len); + +void msg_setElementToFrom(HvMessage *n, int indexN, const HvMessage *const m, int indexM); + +/** Frees a message on the heap. Does nothing if argument is NULL. */ +void msg_free(HvMessage *m); + +HvMessage *msg_init(HvMessage *m, hv_size_t numElements, hv_uint32_t timestamp); + +HvMessage *msg_initWithFloat(HvMessage *m, hv_uint32_t timestamp, float f); + +HvMessage *msg_initWithBang(HvMessage *m, hv_uint32_t timestamp); + +HvMessage *msg_initWithSymbol(HvMessage *m, hv_uint32_t timestamp, const char *s); + +HvMessage *msg_initWithHash(HvMessage *m, hv_uint32_t timestamp, hv_uint32_t h); + +static inline hv_uint32_t msg_getTimestamp(const HvMessage *m) { + return m->timestamp; +} + +static inline void msg_setTimestamp(HvMessage *m, hv_uint32_t timestamp) { + m->timestamp = timestamp; +} + +static inline int msg_getNumElements(const HvMessage *m) { + return (int) m->numElements; +} + +/** Returns the total number of bytes this message consumes in memory. */ +static inline hv_uint32_t msg_getSize(const HvMessage *m) { + return m->numBytes; +} + +static inline ElementType msg_getType(const HvMessage *m, int index) { + hv_assert(index < msg_getNumElements(m)); // invalid index + return (&(m->elem)+index)->type; +} + +static inline void msg_setBang(HvMessage *m, int index) { + hv_assert(index < msg_getNumElements(m)); // invalid index + (&(m->elem)+index)->type = HV_MSG_BANG; + (&(m->elem)+index)->data.s = NULL; +} + +static inline bool msg_isBang(const HvMessage *m, int index) { + return (index < msg_getNumElements(m)) ? (msg_getType(m,index) == HV_MSG_BANG) : false; +} + +static inline void msg_setFloat(HvMessage *m, int index, float f) { + hv_assert(index < msg_getNumElements(m)); // invalid index + (&(m->elem)+index)->type = HV_MSG_FLOAT; + (&(m->elem)+index)->data.f = f; +} + +static inline float msg_getFloat(const HvMessage *const m, int index) { + hv_assert(index < msg_getNumElements(m)); // invalid index + return (&(m->elem)+index)->data.f; +} + +static inline bool msg_isFloat(const HvMessage *const m, int index) { + return (index < msg_getNumElements(m)) ? (msg_getType(m,index) == HV_MSG_FLOAT) : false; +} + +static inline void msg_setHash(HvMessage *m, int index, hv_uint32_t h) { + hv_assert(index < msg_getNumElements(m)); // invalid index + (&(m->elem)+index)->type = HV_MSG_HASH; + (&(m->elem)+index)->data.h = h; +} + +static inline bool msg_isHash(const HvMessage *m, int index) { + return (index < msg_getNumElements(m)) ? (msg_getType(m, index) == HV_MSG_HASH) : false; +} + +/** Returns true if the element is a hash or symbol. False otherwise. */ +static inline bool msg_isHashLike(const HvMessage *m, int index) { + return (index < msg_getNumElements(m)) ? ((msg_getType(m, index) == HV_MSG_HASH) || (msg_getType(m, index) == HV_MSG_SYMBOL)) : false; +} + +/** Returns a 32-bit hash of the given element. */ +hv_uint32_t msg_getHash(const HvMessage *const m, int i); + +static inline void msg_setSymbol(HvMessage *m, int index, const char *s) { + hv_assert(index < msg_getNumElements(m)); // invalid index + hv_assert(s != NULL); + (&(m->elem)+index)->type = HV_MSG_SYMBOL; + (&(m->elem)+index)->data.s = s; + // NOTE(mhroth): if the same message container is reused and string reset, + // then the message size will be overcounted + m->numBytes += (hv_uint16_t) (hv_strlen(s) + 1); // also count '\0' +} + +static inline const char *msg_getSymbol(const HvMessage *m, int index) { + hv_assert(index < msg_getNumElements(m)); // invalid index + return (&(m->elem)+index)->data.s; +} + +static inline bool msg_isSymbol(const HvMessage *m, int index) { + return (index < msg_getNumElements(m)) ? (msg_getType(m, index) == HV_MSG_SYMBOL) : false; +} + +bool msg_compareSymbol(const HvMessage *m, int i, const char *s); + +/** Returns 1 if the element i_m of message m is equal to element i_n of message n. */ +bool msg_equalsElement(const HvMessage *m, int i_m, const HvMessage *n, int i_n); + +bool msg_hasFormat(const HvMessage *m, const char *fmt); + +/** + * Create a string representation of the message. Suitable for use by the print object. + * The resulting string must be freed by the caller. + */ +char *msg_toString(const HvMessage *msg); + +#ifdef __cplusplus +} +#endif + +#endif // _HEAVY_MESSAGE_H_ diff --git a/plugin/source/HvMessagePool.c b/plugin/source/HvMessagePool.c new file mode 100644 index 0000000..dbddb1d --- /dev/null +++ b/plugin/source/HvMessagePool.c @@ -0,0 +1,144 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvMessagePool.h" +#include "HvMessage.h" + +// the number of bytes reserved at a time from the pool +#define MP_BLOCK_SIZE_BYTES 512 + +#if HV_APPLE +#pragma mark - MessageList +#endif + +typedef struct MessageListNode { + char *p; + struct MessageListNode *next; +} MessageListNode; + +static inline bool ml_hasAvailable(HvMessagePoolList *ml) { + return (ml->head != NULL); +} + +static char *ml_pop(HvMessagePoolList *ml) { + MessageListNode *n = ml->head; + ml->head = n->next; + n->next = ml->pool; + ml->pool = n; + char *const p = n->p; + n->p = NULL; // set to NULL to make it clear that this node does not have a valid buffer + return p; +} + +/** Push a MessageListNode with the given pointer onto the head of the queue. */ +static void ml_push(HvMessagePoolList *ml, void *p) { + MessageListNode *n = NULL; + if (ml->pool != NULL) { + // take an empty MessageListNode from the pool + n = ml->pool; + ml->pool = n->next; + } else { + // a MessageListNode is not available, allocate one + n = (MessageListNode *) hv_malloc(sizeof(MessageListNode)); + hv_assert(n != NULL); + } + n->p = (char *) p; + n->next = ml->head; + ml->head = n; // push to the front of the queue +} + +static void ml_free(HvMessagePoolList *ml) { + if (ml != NULL) { + while (ml_hasAvailable(ml)) { + ml_pop(ml); + } + while (ml->pool != NULL) { + MessageListNode *n = ml->pool; + ml->pool = n->next; + hv_free(n); + } + } +} + +#if HV_APPLE +#pragma mark - HvMessagePool +#endif + +static hv_size_t mp_messagelistIndexForSize(hv_size_t byteSize) { + return (hv_size_t) hv_max_i((hv_min_max_log2((hv_uint32_t) byteSize) - 5), 0); +} + +hv_size_t mp_init(HvMessagePool *mp, hv_size_t numKB) { + mp->bufferSize = numKB * 1024; + mp->buffer = (char *) hv_malloc(mp->bufferSize); + hv_assert(mp->buffer != NULL); + mp->bufferIndex = 0; + + // initialise all message lists + for (int i = 0; i < MP_NUM_MESSAGE_LISTS; i++) { + mp->lists[i].head = NULL; + mp->lists[i].pool = NULL; + } + + return mp->bufferSize; +} + +void mp_free(HvMessagePool *mp) { + hv_free(mp->buffer); + for (int i = 0; i < MP_NUM_MESSAGE_LISTS; i++) { + ml_free(&mp->lists[i]); + } +} + +void mp_freeMessage(HvMessagePool *mp, HvMessage *m) { + const hv_size_t b = msg_getSize(m); // the number of bytes that a message occupies in memory + const hv_size_t i = mp_messagelistIndexForSize(b); // the HvMessagePoolList index in the pool + HvMessagePoolList *ml = &mp->lists[i]; + const hv_size_t chunkSize = 32 << i; + hv_memclear(m, chunkSize); // clear the chunk, just in case + ml_push(ml, m); +} + +HvMessage *mp_addMessage(HvMessagePool *mp, const HvMessage *m) { + const hv_size_t b = msg_getSize(m); + // determine the message list index to allocate data from based on the msg size + // smallest chunk size is 32 bytes + const hv_size_t i = mp_messagelistIndexForSize(b); + + hv_assert(i < MP_NUM_MESSAGE_LISTS); // how many chunk sizes do we want to support? 32, 64, 128, 256 at the moment + HvMessagePoolList *ml = &mp->lists[i]; + const hv_size_t chunkSize = 32 << i; + + if (ml_hasAvailable(ml)) { + char *buf = ml_pop(ml); + msg_copyToBuffer(m, buf, chunkSize); + return (HvMessage *) buf; + } else { + // if no appropriately sized buffer is immediately available, increase the size of the used buffer + const hv_size_t newIndex = mp->bufferIndex + MP_BLOCK_SIZE_BYTES; + hv_assert((newIndex <= mp->bufferSize) && + "The message pool buffer size has been exceeded. The context cannot store more messages. " + "Try using the new_with_options() initialiser with a larger pool size (default is 10KB)."); + + for (hv_size_t j = mp->bufferIndex; j < newIndex; j += chunkSize) { + ml_push(ml, mp->buffer + j); // push new nodes onto the list with chunk pointers + } + mp->bufferIndex = newIndex; + char *buf = ml_pop(ml); + msg_copyToBuffer(m, buf, chunkSize); + return (HvMessage *) buf; + } +} diff --git a/plugin/source/HvMessagePool.h b/plugin/source/HvMessagePool.h new file mode 100644 index 0000000..308318e --- /dev/null +++ b/plugin/source/HvMessagePool.h @@ -0,0 +1,67 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _MESSAGE_POOL_H_ +#define _MESSAGE_POOL_H_ + +#include "HvUtils.h" + +#define MP_NUM_MESSAGE_LISTS 4 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct HvMessagePoolList { + struct MessageListNode *head; // list of currently available blocks + struct MessageListNode *pool; // list of currently used blocks +} HvMessagePoolList; + +typedef struct HvMessagePool { + char *buffer; // the buffer of all messages + hv_size_t bufferSize; // in bytes + hv_size_t bufferIndex; // the number of total reserved bytes + + HvMessagePoolList lists[MP_NUM_MESSAGE_LISTS]; +} HvMessagePool; + +/** + * The HvMessagePool is a basic memory management system. It reserves a large block of memory at initialisation + * and proceeds to divide this block into smaller chunks (usually 512 bytes) as they are needed. These chunks are + * further divided into 32, 64, 128, or 256 sections. Each of these sections is managed by a HvMessagePoolList (MPL). + * An MPL is a linked-list data structure which is initialised such that its own pool of listnodes is filled with nodes + * that point at each subblock (e.g. each 32-byte block of a 512-block chunk). + * + * HvMessagePool is loosely inspired by TCMalloc. http://goog-perftools.sourceforge.net/doc/tcmalloc.html + */ + +hv_size_t mp_init(struct HvMessagePool *mp, hv_size_t numKB); + +void mp_free(struct HvMessagePool *mp); + +/** + * Adds a message to the pool and returns a pointer to the copy. Returns NULL + * if no space was available in the pool. + */ +struct HvMessage *mp_addMessage(struct HvMessagePool *mp, const struct HvMessage *m); + +void mp_freeMessage(struct HvMessagePool *mp, struct HvMessage *m); + +#ifdef __cplusplus +} +#endif + +#endif // _MESSAGE_POOL_H_ diff --git a/plugin/source/HvMessageQueue.c b/plugin/source/HvMessageQueue.c new file mode 100644 index 0000000..2eeab8f --- /dev/null +++ b/plugin/source/HvMessageQueue.c @@ -0,0 +1,215 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvMessageQueue.h" + +hv_size_t mq_initWithPoolSize(HvMessageQueue *q, hv_size_t poolSizeKB) { + hv_assert(poolSizeKB > 0); + q->head = NULL; + q->tail = NULL; + q->pool = NULL; + return mp_init(&q->mp, poolSizeKB); +} + +void mq_free(HvMessageQueue *q) { + mq_clear(q); + while (q->pool != NULL) { + MessageNode *n = q->pool; + q->pool = q->pool->next; + hv_free(n); + } + mp_free(&q->mp); +} + +static MessageNode *mq_getOrCreateNodeFromPool(HvMessageQueue *q) { + if (q->pool == NULL) { + // if necessary, create a new empty node + q->pool = (MessageNode *) hv_malloc(sizeof(MessageNode)); + hv_assert(q->pool != NULL); + q->pool->next = NULL; + } + MessageNode *node = q->pool; + q->pool = q->pool->next; + return node; +} + +int mq_size(HvMessageQueue *q) { + int size = 0; + MessageNode *n = q->head; + while (n != NULL) { + ++size; + n = n->next; + } + return size; +} + +HvMessage *mq_addMessage(HvMessageQueue *q, const HvMessage *m, int let, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + MessageNode *node = mq_getOrCreateNodeFromPool(q); + node->m = mp_addMessage(&q->mp, m); + node->let = let; + node->sendMessage = sendMessage; + node->prev = NULL; + node->next = NULL; + + if (q->tail != NULL) { + // the list already contains elements + q->tail->next = node; + node->prev = q->tail; + q->tail = node; + } else { + // the list is empty + node->prev = NULL; + q->head = node; + q->tail = node; + } + return mq_node_getMessage(node); +} + +HvMessage *mq_addMessageByTimestamp(HvMessageQueue *q, const HvMessage *m, int let, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + if (mq_hasMessage(q)) { + MessageNode *n = mq_getOrCreateNodeFromPool(q); + n->m = mp_addMessage(&q->mp, m); + n->let = let; + n->sendMessage = sendMessage; + + if (msg_getTimestamp(m) < msg_getTimestamp(q->head->m)) { + // the message occurs before the current head + n->next = q->head; + q->head->prev = n; + n->prev = NULL; + q->head = n; + } else if (msg_getTimestamp(m) >= msg_getTimestamp(q->tail->m)) { + // the message occurs after the current tail + n->next = NULL; + n->prev = q->tail; + q->tail->next = n; + q->tail = n; + } else { + // the message occurs somewhere between the head and tail + MessageNode *node = q->head; + while (node != NULL) { + if (msg_getTimestamp(m) < msg_getTimestamp(node->next->m)) { + MessageNode *r = node->next; + node->next = n; + n->next = r; + n->prev = node; + r->prev = n; + break; + } + node = node->next; + } + } + return n->m; + } else { + // add a message to the head + return mq_addMessage(q, m, let, sendMessage); + } +} + +void mq_pop(HvMessageQueue *q) { + if (mq_hasMessage(q)) { + MessageNode *n = q->head; + + mp_freeMessage(&q->mp, n->m); + n->m = NULL; + + n->let = 0; + n->sendMessage = NULL; + + q->head = n->next; + if (q->head == NULL) { + q->tail = NULL; + } else { + q->head->prev = NULL; + } + n->next = q->pool; + n->prev = NULL; + q->pool = n; + } +} + +bool mq_removeMessage(HvMessageQueue *q, HvMessage *m, void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + if (mq_hasMessage(q)) { + if (mq_node_getMessage(q->head) == m) { // msg in head node + // only remove the message if sendMessage is the same as the stored one, + // if the sendMessage argument is NULL, it is not checked and will remove any matching message pointer + if (sendMessage == NULL || q->head->sendMessage == sendMessage) { + mq_pop(q); + return true; + } + } else { + MessageNode *prevNode = q->head; + MessageNode *currNode = q->head->next; + while ((currNode != NULL) && (currNode->m != m)) { + prevNode = currNode; + currNode = currNode->next; + } + if (currNode != NULL) { + if (sendMessage == NULL || currNode->sendMessage == sendMessage) { + mp_freeMessage(&q->mp, m); + currNode->m = NULL; + currNode->let = 0; + currNode->sendMessage = NULL; + if (currNode == q->tail) { // msg in tail node + prevNode->next = NULL; + q->tail = prevNode; + } else { // msg in middle node + prevNode->next = currNode->next; + currNode->next->prev = prevNode; + } + currNode->next = (q->pool == NULL) ? NULL : q->pool; + currNode->prev = NULL; + q->pool = currNode; + return true; + } + } + } + } + return false; +} + +void mq_clear(HvMessageQueue *q) { + while (mq_hasMessage(q)) { + mq_pop(q); + } +} + +void mq_clearAfter(HvMessageQueue *q, const hv_uint32_t timestamp) { + MessageNode *n = q->tail; + while (n != NULL && timestamp <= msg_getTimestamp(n->m)) { + // free the node's message + mp_freeMessage(&q->mp, n->m); + n->m = NULL; + n->let = 0; + n->sendMessage = NULL; + + // the tail points at the previous node + q->tail = n->prev; + + // put the node back in the pool + n->next = q->pool; + n->prev = NULL; + if (q->pool != NULL) q->pool->prev = n; + q->pool = n; + + // update the tail node + n = q->tail; + } + + if (q->tail == NULL) q->head = NULL; +} diff --git a/plugin/source/HvMessageQueue.h b/plugin/source/HvMessageQueue.h new file mode 100644 index 0000000..a35e4aa --- /dev/null +++ b/plugin/source/HvMessageQueue.h @@ -0,0 +1,101 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _MESSAGE_QUEUE_H_ +#define _MESSAGE_QUEUE_H_ + +#include "HvMessage.h" +#include "HvMessagePool.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +class HeavyContextInterface; +#else +typedef struct HeavyContextInterface HeavyContextInterface; +#endif + +typedef struct MessageNode { + struct MessageNode *prev; // doubly linked list + struct MessageNode *next; + HvMessage *m; + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *); + int let; +} MessageNode; + +/** A doubly linked list containing scheduled messages. */ +typedef struct HvMessageQueue { + MessageNode *head; // the head of the queue + MessageNode *tail; // the tail of the queue + MessageNode *pool; // the head of the reserve pool + HvMessagePool mp; +} HvMessageQueue; + +hv_size_t mq_initWithPoolSize(HvMessageQueue *q, hv_size_t poolSizeKB); + +void mq_free(HvMessageQueue *q); + +int mq_size(HvMessageQueue *q); + +static inline HvMessage *mq_node_getMessage(MessageNode *n) { + return n->m; +} + +static inline int mq_node_getLet(MessageNode *n) { + return n->let; +} + +static inline bool mq_hasMessage(HvMessageQueue *q) { + return (q->head != NULL); +} + +// true if there is a message and it occurs before (<) timestamp +static inline bool mq_hasMessageBefore(HvMessageQueue *const q, const hv_uint32_t timestamp) { + return mq_hasMessage(q) && (msg_getTimestamp(mq_node_getMessage(q->head)) < timestamp); +} + +static inline MessageNode *mq_peek(HvMessageQueue *q) { + return q->head; +} + +/** Appends the message to the end of the queue. */ +HvMessage *mq_addMessage(HvMessageQueue *q, const HvMessage *m, int let, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +/** Insert in ascending order the message acccording to its timestamp. */ +HvMessage *mq_addMessageByTimestamp(HvMessageQueue *q, const HvMessage *m, int let, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +/** Pop the message at the head of the queue (and free its memory). */ +void mq_pop(HvMessageQueue *q); + +/** Remove a message from the queue (and free its memory) */ +bool mq_removeMessage(HvMessageQueue *q, HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +/** Clears (and frees) all messages in the queue. */ +void mq_clear(HvMessageQueue *q); + +/** Removes all messages occuring at or after the given timestamp. */ +void mq_clearAfter(HvMessageQueue *q, const hv_uint32_t timestamp); + +#ifdef __cplusplus +} +#endif + +#endif // _MESSAGE_QUEUE_H_ diff --git a/plugin/source/HvSignalBiquad.c b/plugin/source/HvSignalBiquad.c new file mode 100644 index 0000000..d51f80a --- /dev/null +++ b/plugin/source/HvSignalBiquad.c @@ -0,0 +1,250 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvSignalBiquad.h" + +// http://reanimator-web.appspot.com/articles/simdiir +// http://musicdsp.org/files/Audio-EQ-Cookbook.txt + +hv_size_t sBiquad_init(SignalBiquad *o) { +#if HV_SIMD_AVX + o->x = _mm256_setzero_ps(); +#elif HV_SIMD_SSE + o->x = _mm_setzero_ps(); +#elif HV_SIMD_NEON + o->x = vdupq_n_f32(0.0f); +#else // HV_SIMD_NONE + o->xm1 = 0.0f; + o->xm2 = 0.0f; +#endif + o->ym1 = 0.0f; + o->ym2 = 0.0f; + return 0; +} + +#if _WIN32 && !_WIN64 +void __hv_biquad_f_win32(SignalBiquad *o, hv_bInf_t *_bIn, hv_bInf_t *_bX0, hv_bInf_t *_bX1, hv_bInf_t *_bX2, hv_bInf_t *_bY1, hv_bInf_t *_bY2, hv_bOutf_t bOut) { + hv_bInf_t bIn = *_bIn; + hv_bInf_t bX0 = *_bX0; + hv_bInf_t bX1 = *_bX1; + hv_bInf_t bX2 = *_bX2; + hv_bInf_t bY1 = *_bY1; + hv_bInf_t bY2 = *_bY2; +#else +void __hv_biquad_f(SignalBiquad *o, hv_bInf_t bIn, hv_bInf_t bX0, hv_bInf_t bX1, hv_bInf_t bX2, hv_bInf_t bY1, hv_bInf_t bY2, hv_bOutf_t bOut) { +#endif +#if HV_SIMD_AVX + __m256 x = _mm256_permute_ps(bIn, _MM_SHUFFLE(2,1,0,3)); // [3 0 1 2 7 4 5 6] + __m256 y = _mm256_permute_ps(o->x, _MM_SHUFFLE(2,1,0,3)); // [d a b c h e f g] + __m256 n = _mm256_permute2f128_ps(y,x,0x21); // [h e f g 3 0 1 2] + __m256 xm1 = _mm256_blend_ps(x, n, 0x11); // [h 0 1 2 3 4 5 6] + + x = _mm256_permute_ps(bIn, _MM_SHUFFLE(1,0,3,2)); // [2 3 0 1 6 7 4 5] + y = _mm256_permute_ps(o->x, _MM_SHUFFLE(1,0,3,2)); // [c d a b g h e f] + n = _mm256_permute2f128_ps(y,x,0x21); // [g h e f 2 3 0 1] + __m256 xm2 = _mm256_blend_ps(x, n, 0x33); // [g h 0 1 2 3 4 5] + + __m256 a = _mm256_mul_ps(bIn, bX0); + __m256 b = _mm256_mul_ps(xm1, bX1); + __m256 c = _mm256_mul_ps(xm2, bX2); + __m256 d = _mm256_add_ps(a, b); + __m256 e = _mm256_add_ps(c, d); // bIn*bX0 + o->x1*bX1 + o->x2*bX2 + + float y0 = e[0] - o->ym1*bY1[0] - o->ym2*bY2[0]; + float y1 = e[1] - y0*bY1[1] - o->ym1*bY2[1]; + float y2 = e[2] - y1*bY1[2] - y0*bY2[2]; + float y3 = e[3] - y2*bY1[3] - y1*bY2[3]; + float y4 = e[4] - y3*bY1[4] - y2*bY2[4]; + float y5 = e[5] - y4*bY1[5] - y3*bY2[5]; + float y6 = e[6] - y5*bY1[6] - y4*bY2[6]; + float y7 = e[7] - y6*bY1[7] - y5*bY2[7]; + + o->x = bIn; + o->ym1 = y7; + o->ym2 = y6; + + *bOut = _mm256_set_ps(y7, y6, y5, y4, y3, y2, y1, y0); +#elif HV_SIMD_SSE + __m128 n = _mm_blend_ps(o->x, bIn, 0x7); // [a b c d] [e f g h] = [e f g d] + __m128 xm1 = _mm_shuffle_ps(n, n, _MM_SHUFFLE(2,1,0,3)); // [d e f g] + __m128 xm2 = _mm_shuffle_ps(o->x, bIn, _MM_SHUFFLE(1,0,3,2)); // [c d e f] + + __m128 a = _mm_mul_ps(bIn, bX0); + __m128 b = _mm_mul_ps(xm1, bX1); + __m128 c = _mm_mul_ps(xm2, bX2); + __m128 d = _mm_add_ps(a, b); + __m128 e = _mm_add_ps(c, d); + + const float *const bbe = (float *) &e; + const float *const bbY1 = (float *) &bY1; + const float *const bbY2 = (float *) &bY2; + + float y0 = bbe[0] - o->ym1*bbY1[0] - o->ym2*bbY2[0]; + float y1 = bbe[1] - y0*bbY1[1] - o->ym1*bbY2[1]; + float y2 = bbe[2] - y1*bbY1[2] - y0*bbY2[2]; + float y3 = bbe[3] - y2*bbY1[3] - y1*bbY2[3]; + + o->x = bIn; + o->ym1 = y3; + o->ym2 = y2; + + *bOut = _mm_set_ps(y3, y2, y1, y0); +#elif HV_SIMD_NEON + float32x4_t xm1 = vextq_f32(o->x, bIn, 3); + float32x4_t xm2 = vextq_f32(o->x, bIn, 2); + + float32x4_t a = vmulq_f32(bIn, bX0); + float32x4_t b = vmulq_f32(xm1, bX1); + float32x4_t c = vmulq_f32(xm2, bX2); + float32x4_t d = vaddq_f32(a, b); + float32x4_t e = vaddq_f32(c, d); + + float y0 = e[0] - o->ym1*bY1[0] - o->ym2*bY2[0]; + float y1 = e[1] - y0*bY1[1] - o->ym1*bY2[1]; + float y2 = e[2] - y1*bY1[2] - y0*bY2[2]; + float y3 = e[3] - y2*bY1[3] - y1*bY2[3]; + + o->x = bIn; + o->ym1 = y3; + o->ym2 = y2; + + *bOut = (float32x4_t) {y0, y1, y2, y3}; +#else + const float y = bIn*bX0 + o->xm1*bX1 + o->xm2*bX2 - o->ym1*bY1 - o->ym2*bY2; + o->xm2 = o->xm1; o->xm1 = bIn; + o->ym2 = o->ym1; o->ym1 = y; + *bOut = y; +#endif +} + +static void sBiquad_k_updateCoefficients(SignalBiquad_k *const o) { +#if DEBUG + // inspect the filter coefficients to ensure that the filter is stable + // 1/((1-a*z^-1) * (1-b*z^-1)) + float k = (o->a1*o->a1) - (4.0f*o->a2); + float l = hv_sqrt_f(hv_abs_f(k)); + + float m_alpha = 0.0f; + float m_beta = 0.0f; + if (k < 0.0f) { + // alpha is complex + float r_alpha = o->a1 * 0.5f; + float i_alpha = l * 0.5f; + m_alpha = (r_alpha*r_alpha + i_alpha*i_alpha); // |alpha|^2 + + float r_beta = (o->a2 * r_alpha) / m_alpha; + float i_beta = (o->a2 * -i_alpha) / m_alpha; + m_alpha = hv_sqrt_f(m_alpha); + m_beta = hv_sqrt_f(r_beta*r_beta + i_beta*i_beta); + } else { + // alpha is real + float alpha = (o->a1 + l) * 0.5f; + float beta = o->a2 / alpha; + m_alpha = hv_abs_f(alpha); + m_beta = hv_abs_f(beta); + } + + hv_assert(m_alpha < 1.0f); + hv_assert(m_beta < 1.0f); +#endif + + // calculate all filter coefficients in the double domain +#if HV_SIMD_AVX || HV_SIMD_SSE || HV_SIMD_NEON + double b0 = (double) o->b0; + double b1 = (double) o->b1; + double b2 = (double) o->b2; + double a1 = (double) -o->a1; + double a2 = (double) -o->a2; + + double coeffs[4][8] = + { + { 0, 0, 0, b0, b1, b2, a1, a2 }, + { 0, 0, b0, b1, b2, 0, a2, 0 }, + { 0, b0, b1, b2, 0, 0, 0, 0 }, + { b0, b1, b2, 0, 0, 0, 0, 0 }, + }; + + for (int i = 0; i < 8; i++) { + coeffs[1][i] += a1*coeffs[0][i]; + coeffs[2][i] += a1*coeffs[1][i] + a2*coeffs[0][i]; + coeffs[3][i] += a1*coeffs[2][i] + a2*coeffs[1][i]; + } + +#if HV_SIMD_AVX || HV_SIMD_SSE + o->coeff_xp3 = _mm_set_ps((float) coeffs[3][0], (float) coeffs[2][0], (float) coeffs[1][0], (float) coeffs[0][0]); + o->coeff_xp2 = _mm_set_ps((float) coeffs[3][1], (float) coeffs[2][1], (float) coeffs[1][1], (float) coeffs[0][1]); + o->coeff_xp1 = _mm_set_ps((float) coeffs[3][2], (float) coeffs[2][2], (float) coeffs[1][2], (float) coeffs[0][2]); + o->coeff_x0 = _mm_set_ps((float) coeffs[3][3], (float) coeffs[2][3], (float) coeffs[1][3], (float) coeffs[0][3]); + o->coeff_xm1 = _mm_set_ps((float) coeffs[3][4], (float) coeffs[2][4], (float) coeffs[1][4], (float) coeffs[0][4]); + o->coeff_xm2 = _mm_set_ps((float) coeffs[3][5], (float) coeffs[2][5], (float) coeffs[1][5], (float) coeffs[0][5]); + o->coeff_ym1 = _mm_set_ps((float) coeffs[3][6], (float) coeffs[2][6], (float) coeffs[1][6], (float) coeffs[0][6]); + o->coeff_ym2 = _mm_set_ps((float) coeffs[3][7], (float) coeffs[2][7], (float) coeffs[1][7], (float) coeffs[0][7]); +#else // HV_SIMD_NEON + o->coeff_xp3 = (float32x4_t) {(float) coeffs[0][0], (float) coeffs[1][0], (float) coeffs[2][0], (float) coeffs[3][0]}; + o->coeff_xp2 = (float32x4_t) {(float) coeffs[0][1], (float) coeffs[1][1], (float) coeffs[2][1], (float) coeffs[3][1]}; + o->coeff_xp1 = (float32x4_t) {(float) coeffs[0][2], (float) coeffs[1][2], (float) coeffs[2][2], (float) coeffs[3][2]}; + o->coeff_x0 = (float32x4_t) {(float) coeffs[0][3], (float) coeffs[1][3], (float) coeffs[2][3], (float) coeffs[3][3]}; + o->coeff_xm1 = (float32x4_t) {(float) coeffs[0][4], (float) coeffs[1][4], (float) coeffs[2][4], (float) coeffs[3][4]}; + o->coeff_xm2 = (float32x4_t) {(float) coeffs[0][5], (float) coeffs[1][5], (float) coeffs[2][5], (float) coeffs[3][5]}; + o->coeff_ym1 = (float32x4_t) {(float) coeffs[0][6], (float) coeffs[1][6], (float) coeffs[2][6], (float) coeffs[3][6]}; + o->coeff_ym2 = (float32x4_t) {(float) coeffs[0][7], (float) coeffs[1][7], (float) coeffs[2][7], (float) coeffs[3][7]}; +#endif +#endif + // NOTE(mhroth): not necessary to calculate any coefficients for HV_SIMD_NONE case +} + +hv_size_t sBiquad_k_init(SignalBiquad_k *o, float b0, float b1, float b2, float a1, float a2) { + // initialise filter coefficients + o->b0 = b0; + o->b1 = b1; + o->b2 = b2; + o->a1 = a1; + o->a2 = a2; + sBiquad_k_updateCoefficients(o); + + // clear filter state +#if HV_SIMD_AVX || HV_SIMD_SSE + o->xm1 = _mm_setzero_ps(); + o->xm2 = _mm_setzero_ps(); + o->ym1 = _mm_setzero_ps(); + o->ym2 = _mm_setzero_ps(); +#elif HV_SIMD_NEON + o->xm1 = vdupq_n_f32(0.0f); + o->xm2 = vdupq_n_f32(0.0f); + o->ym1 = vdupq_n_f32(0.0f); + o->ym2 = vdupq_n_f32(0.0f); +#else // HV_SIMD_NONE + o->xm1 = 0.0f; + o->xm2 = 0.0f; + o->ym1 = 0.0f; + o->ym2 = 0.0f; +#endif + return 0; +} + +void sBiquad_k_onMessage(SignalBiquad_k *o, int letIn, const HvMessage *m) { + if (msg_isFloat(m,0)) { + switch (letIn) { + case 1: o->b0 = msg_getFloat(m,0); break; + case 2: o->b1 = msg_getFloat(m,0); break; + case 3: o->b2 = msg_getFloat(m,0); break; + case 4: o->a1 = msg_getFloat(m,0); break; + case 5: o->a2 = msg_getFloat(m,0); break; + default: return; + } + sBiquad_k_updateCoefficients(o); + } +} diff --git a/plugin/source/HvSignalBiquad.h b/plugin/source/HvSignalBiquad.h new file mode 100644 index 0000000..e8ab5d1 --- /dev/null +++ b/plugin/source/HvSignalBiquad.h @@ -0,0 +1,243 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_SIGNAL_BIQUAD_H_ +#define _HEAVY_SIGNAL_BIQUAD_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// http://en.wikipedia.org/wiki/Digital_biquad_filter +typedef struct SignalBiquad { +#if HV_SIMD_NONE + hv_bufferf_t xm1; + hv_bufferf_t xm2; +#else + hv_bufferf_t x; +#endif + float ym1; + float ym2; +} SignalBiquad; + +hv_size_t sBiquad_init(SignalBiquad *o); + +#if _WIN32 && !_WIN64 +// NOTE(mhroth): unfortunately this specific definition of __hv_biquad_f for Win32 is necessary due to +// the limited stack and alignment capabilities of the VS compiler in this mode +#define __hv_biquad_f(o, bIn, bX0, bX1, bX2, bY1, bY2, bOut) __hv_biquad_f_win32(o, &bIn, &bX0, &bX1, &bX2, &bY1, &bY2, bOut) +void __hv_biquad_f_win32(SignalBiquad *o, hv_bInf_t *bIn, hv_bInf_t *bX0, hv_bInf_t *bX1, hv_bInf_t *bX2, hv_bInf_t *bY1, hv_bInf_t *bY2, hv_bOutf_t bOut); +#else +void __hv_biquad_f(SignalBiquad *o, + hv_bInf_t bIn, hv_bInf_t bX0, hv_bInf_t bX1, hv_bInf_t bX2, hv_bInf_t bY1, hv_bInf_t bY2, + hv_bOutf_t bOut); +#endif + +typedef struct SignalBiquad_k { +#if HV_SIMD_AVX || HV_SIMD_SSE + // preprocessed filter coefficients + __m128 coeff_xp3; + __m128 coeff_xp2; + __m128 coeff_xp1; + __m128 coeff_x0; + __m128 coeff_xm1; + __m128 coeff_xm2; + __m128 coeff_ym1; + __m128 coeff_ym2; + + // filter state + __m128 xm1; + __m128 xm2; + __m128 ym1; + __m128 ym2; +#elif HV_SIMD_NEON + float32x4_t coeff_xp3; + float32x4_t coeff_xp2; + float32x4_t coeff_xp1; + float32x4_t coeff_x0; + float32x4_t coeff_xm1; + float32x4_t coeff_xm2; + float32x4_t coeff_ym1; + float32x4_t coeff_ym2; + float32x4_t xm1; + float32x4_t xm2; + float32x4_t ym1; + float32x4_t ym2; +#else // HV_SIMD_NONE + float xm1; + float xm2; + float ym1; + float ym2; +#endif + // original filter coefficients + float b0; // x[0] + float b1; // x[-1] + float b2; // x[-2] + float a1; // y[-1] + float a2; // y[-2] +} SignalBiquad_k; + +hv_size_t sBiquad_k_init(SignalBiquad_k *o, float x0, float x1, float x2, float y1, float y2); + +void sBiquad_k_onMessage(SignalBiquad_k *o, int letIn, const HvMessage *m); + +static inline void __hv_biquad_k_f(SignalBiquad_k *o, hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + const __m128 c_xp3 = o->coeff_xp3; + const __m128 c_xp2 = o->coeff_xp2; + const __m128 c_xp1 = o->coeff_xp1; + const __m128 c_x0 = o->coeff_x0; + const __m128 c_xm1 = o->coeff_xm1; + const __m128 c_xm2 = o->coeff_xm2; + const __m128 c_ym1 = o->coeff_ym1; + const __m128 c_ym2 = o->coeff_ym2; + + // lower half + __m128 x3 = _mm_set1_ps(bIn[3]); + __m128 x2 = _mm_set1_ps(bIn[2]); + __m128 x1 = _mm_set1_ps(bIn[1]); + __m128 x0 = _mm_set1_ps(bIn[0]); + __m128 xm1 = o->xm1; + __m128 xm2 = o->xm2; + __m128 ym1 = o->ym1; + __m128 ym2 = o->ym2; + + __m128 a = _mm_mul_ps(c_xp3, x3); + __m128 b = _mm_mul_ps(c_xp2, x2); + __m128 c = _mm_mul_ps(c_xp1, x1); + __m128 d = _mm_mul_ps(c_x0, x0); + __m128 e = _mm_mul_ps(c_xm1, xm1); + __m128 f = _mm_mul_ps(c_xm2, xm2); + __m128 g = _mm_mul_ps(c_ym1, ym1); + __m128 h = _mm_mul_ps(c_ym2, ym2); + + __m128 i = _mm_add_ps(a, b); + __m128 j = _mm_add_ps(c, d); + __m128 k = _mm_add_ps(e, f); + __m128 l = _mm_add_ps(g, h); + __m128 m = _mm_add_ps(i, j); + __m128 n = _mm_add_ps(k, l); + + __m128 lo_y = _mm_add_ps(m, n); // lower part of output buffer + + // upper half + xm1 = x3; + xm2 = x2; + x3 = _mm_set1_ps(bIn[7]); + x2 = _mm_set1_ps(bIn[6]); + x1 = _mm_set1_ps(bIn[5]); + x0 = _mm_set1_ps(bIn[4]); + ym1 = _mm_set1_ps(lo_y[3]); + ym2 = _mm_set1_ps(lo_y[2]); + + a = _mm_mul_ps(c_xp3, x3); + b = _mm_mul_ps(c_xp2, x2); + c = _mm_mul_ps(c_xp1, x1); + d = _mm_mul_ps(c_x0, x0); + e = _mm_mul_ps(c_xm1, xm1); + f = _mm_mul_ps(c_xm2, xm2); + g = _mm_mul_ps(c_ym1, ym1); + h = _mm_mul_ps(c_ym2, ym2); + + i = _mm_add_ps(a, b); + j = _mm_add_ps(c, d); + k = _mm_add_ps(e, f); + l = _mm_add_ps(g, h); + m = _mm_add_ps(i, j); + n = _mm_add_ps(k, l); + + __m128 up_y = _mm_add_ps(m, n); // upper part of output buffer + + o->xm1 = x3; + o->xm2 = x2; + o->ym1 = _mm_set1_ps(up_y[3]); + o->ym2 = _mm_set1_ps(up_y[2]); + + *bOut = _mm256_insertf128_ps(_mm256_castps128_ps256(lo_y), up_y, 1); +#elif HV_SIMD_SSE + __m128 x3 = _mm_shuffle_ps(bIn, bIn, _MM_SHUFFLE(3,3,3,3)); + __m128 x2 = _mm_shuffle_ps(bIn, bIn, _MM_SHUFFLE(2,2,2,2)); + __m128 x1 = _mm_shuffle_ps(bIn, bIn, _MM_SHUFFLE(1,1,1,1)); + __m128 x0 = _mm_shuffle_ps(bIn, bIn, _MM_SHUFFLE(0,0,0,0)); + + __m128 a = _mm_mul_ps(o->coeff_xp3, x3); + __m128 b = _mm_mul_ps(o->coeff_xp2, x2); + __m128 c = _mm_mul_ps(o->coeff_xp1, x1); + __m128 d = _mm_mul_ps(o->coeff_x0, x0); + __m128 e = _mm_mul_ps(o->coeff_xm1, o->xm1); + __m128 f = _mm_mul_ps(o->coeff_xm2, o->xm2); + __m128 g = _mm_mul_ps(o->coeff_ym1, o->ym1); + __m128 h = _mm_mul_ps(o->coeff_ym2, o->ym2); + __m128 i = _mm_add_ps(a, b); + __m128 j = _mm_add_ps(c, d); + __m128 k = _mm_add_ps(e, f); + __m128 l = _mm_add_ps(g, h); + __m128 m = _mm_add_ps(i, j); + __m128 n = _mm_add_ps(k, l); + + __m128 y = _mm_add_ps(m, n); + + o->xm1 = x3; + o->xm2 = x2; + o->ym1 = _mm_shuffle_ps(y, y, _MM_SHUFFLE(3,3,3,3)); + o->ym2 = _mm_shuffle_ps(y, y, _MM_SHUFFLE(2,2,2,2)); + + *bOut = y; +#elif HV_SIMD_NEON + float32x4_t x3 = vdupq_n_f32(bIn[3]); + float32x4_t x2 = vdupq_n_f32(bIn[2]); + float32x4_t x1 = vdupq_n_f32(bIn[1]); + float32x4_t x0 = vdupq_n_f32(bIn[0]); + + float32x4_t a = vmulq_f32(o->coeff_xp3, x3); + float32x4_t b = vmulq_f32(o->coeff_xp2, x2); + float32x4_t c = vmulq_f32(o->coeff_xp1, x1); + float32x4_t d = vmulq_f32(o->coeff_x0, x0); + float32x4_t e = vmulq_f32(o->coeff_xm1, o->xm1); + float32x4_t f = vmulq_f32(o->coeff_xm2, o->xm2); + float32x4_t g = vmulq_f32(o->coeff_ym1, o->ym1); + float32x4_t h = vmulq_f32(o->coeff_ym2, o->ym2); + float32x4_t i = vaddq_f32(a, b); + float32x4_t j = vaddq_f32(c, d); + float32x4_t k = vaddq_f32(e, f); + float32x4_t l = vaddq_f32(g, h); + float32x4_t m = vaddq_f32(i, j); + float32x4_t n = vaddq_f32(k, l); + float32x4_t y = vaddq_f32(m, n); + + o->xm1 = x3; + o->xm2 = x2; + o->ym1 = vdupq_n_f32(y[3]); + o->ym2 = vdupq_n_f32(y[2]); + + *bOut = y; +#else // HV_SIMD_NONE + float y = o->b0*bIn + o->b1*o->xm1 + o->b2*o->xm2 - o->a1*o->ym1 - o->a2*o->ym2; + o->xm2 = o->xm1; + o->xm1 = bIn; + o->ym2 = o->ym1; + o->ym1 = y; + *bOut = y; +#endif +} + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_SIGNAL_BIQUAD_H_ diff --git a/plugin/source/HvSignalDel1.c b/plugin/source/HvSignalDel1.c new file mode 100644 index 0000000..51e018f --- /dev/null +++ b/plugin/source/HvSignalDel1.c @@ -0,0 +1,46 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvSignalDel1.h" + +hv_size_t sDel1_init(SignalDel1 *o) { +#if HV_SIMD_AVX + o->x = _mm256_setzero_ps(); +#elif HV_SIMD_SSE + o->x = _mm_setzero_ps(); +#elif HV_SIMD_NEON + o->x = vdupq_n_f32(0.0f); +#else + o->x = 0.0f; +#endif + return 0; +} + +void sDel1_onMessage(HeavyContextInterface *_c, SignalDel1 *o, int letIn, const HvMessage *m) { + if (letIn == 2) { + if (msg_compareSymbol(m, 0, "clear")) { +#if HV_SIMD_AVX + o->x = _mm256_setzero_ps(); +#elif HV_SIMD_SSE + o->x = _mm_setzero_ps(); +#elif HV_SIMD_NEON + o->x = vdupq_n_f32(0.0f); +#else + o->x = 0.0f; +#endif + } + } +} diff --git a/plugin/source/HvSignalDel1.h b/plugin/source/HvSignalDel1.h new file mode 100644 index 0000000..363af13 --- /dev/null +++ b/plugin/source/HvSignalDel1.h @@ -0,0 +1,57 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _SIGNAL_DEL1_H_ +#define _SIGNAL_DEL1_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct SignalDel1 { + hv_bufferf_t x; +} SignalDel1; + +hv_size_t sDel1_init(SignalDel1 *o); + +void sDel1_onMessage(HeavyContextInterface *_c, SignalDel1 *o, int letIn, const HvMessage *m); + +static inline void __hv_del1_f(SignalDel1 *o, hv_bInf_t bIn0, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + __m256 x = _mm256_permute_ps(bIn0, _MM_SHUFFLE(2,1,0,3)); // [3 0 1 2 7 4 5 6] + __m256 n = _mm256_permute2f128_ps(o->x,x,0x1); // [h e f g 3 0 1 2] + *bOut = _mm256_blend_ps(x, n, 0x11); // [h 0 1 2 3 4 5 6] + o->x = x; +#elif HV_SIMD_SSE + __m128 n = _mm_blend_ps(o->x, bIn0, 0x7); + *bOut = _mm_shuffle_ps(n, n, _MM_SHUFFLE(2,1,0,3)); + o->x = bIn0; +#elif HV_SIMD_NEON + *bOut = vextq_f32(o->x, bIn0, 3); + o->x = bIn0; +#else + *bOut = o->x; + o->x = bIn0; +#endif +} + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _SIGNAL_DEL1_H_ diff --git a/plugin/source/HvSignalLine.c b/plugin/source/HvSignalLine.c new file mode 100644 index 0000000..70d4f0d --- /dev/null +++ b/plugin/source/HvSignalLine.c @@ -0,0 +1,139 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvSignalLine.h" + +hv_size_t sLine_init(SignalLine *o) { +#if HV_SIMD_AVX + o->n = _mm_setzero_si128(); + o->x = _mm256_setzero_ps(); + o->m = _mm256_setzero_ps(); + o->t = _mm256_setzero_ps(); +#elif HV_SIMD_SSE + o->n = _mm_setzero_si128(); + o->x = _mm_setzero_ps(); + o->m = _mm_setzero_ps(); + o->t = _mm_setzero_ps(); +#elif HV_SIMD_NEON + o->n = vdupq_n_s32(0); + o->x = vdupq_n_f32(0.0f); + o->m = vdupq_n_f32(0.0f); + o->t = vdupq_n_f32(0.0f); +#else // HV_SIMD_NONE + o->n = 0; + o->x = 0.0f; + o->m = 0.0f; + o->t = 0.0f; +#endif + return 0; +} + +void sLine_onMessage(HeavyContextInterface *_c, SignalLine *o, int letIn, + const HvMessage *m, void *sendMessage) { + if (msg_isFloat(m,0)) { + if (msg_isFloat(m,1)) { + // new ramp + int n = (int) hv_millisecondsToSamples(_c, msg_getFloat(m,1)); +#if HV_SIMD_AVX + float x = (o->n[1] > 0) ? (o->x[7] + (o->m[7]/8.0f)) : o->t[7]; // current output value + float s = (msg_getFloat(m,0) - x) / ((float) n); // slope per sample + o->n = _mm_set_epi32(n-3, n-2, n-1, n); + o->x = _mm256_set_ps(x+7.0f*s, x+6.0f*s, x+5.0f*s, x+4.0f*s, x+3.0f*s, x+2.0f*s, x+s, x); + o->m = _mm256_set1_ps(8.0f*s); + o->t = _mm256_set1_ps(msg_getFloat(m,0)); +#elif HV_SIMD_SSE + const hv_int32_t *const on = (hv_int32_t *) &o->n; + const float *const ox = (float *) &o->x; + const float *const om = (float *) &o->m; + const float *const ot = (float *) &o->t; + + float x = (on[3] > 0) ? (ox[3] + (om[3]/4.0f)) : ot[3]; + float s = (msg_getFloat(m,0) - x) / ((float) n); // slope per sample + o->n = _mm_set_epi32(n-3, n-2, n-1, n); + o->x = _mm_set_ps(x+3.0f*s, x+2.0f*s, x+s, x); + o->m = _mm_set1_ps(4.0f*s); + o->t = _mm_set1_ps(msg_getFloat(m,0)); +#elif HV_SIMD_NEON + float x = (o->n[3] > 0) ? (o->x[3] + (o->m[3]/4.0f)) : o->t[3]; + float s = (msg_getFloat(m,0) - x) / ((float) n); + o->n = (int32x4_t) {n, n-1, n-2, n-3}; + o->x = (float32x4_t) {x, x+s, x+2.0f*s, x+3.0f*s}; + o->m = vdupq_n_f32(4.0f*s); + o->t = vdupq_n_f32(msg_getFloat(m,0)); +#else // HV_SIMD_NONE + o->x = (o->n > 0) ? (o->x + o->m) : o->t; // new current value + o->n = n; // new distance to target + o->m = (msg_getFloat(m,0) - o->x) / ((float) n); // slope per sample + o->t = msg_getFloat(m,0); +#endif + } else { + // Jump to value +#if HV_SIMD_AVX + o->n = _mm_setzero_si128(); + o->x = _mm256_set1_ps(msg_getFloat(m,0)); + o->m = _mm256_setzero_ps(); + o->t = _mm256_set1_ps(msg_getFloat(m,0)); +#elif HV_SIMD_SSE + o->n = _mm_setzero_si128(); + o->x = _mm_set1_ps(msg_getFloat(m,0)); + o->m = _mm_setzero_ps(); + o->t = _mm_set1_ps(msg_getFloat(m,0)); +#elif HV_SIMD_NEON + o->n = vdupq_n_s32(0); + o->x = vdupq_n_f32(msg_getFloat(m,0)); + o->m = vdupq_n_f32(0.0f); + o->t = vdupq_n_f32(msg_getFloat(m,0)); +#else // HV_SIMD_NONE + o->n = 0; + o->x = msg_getFloat(m,0); + o->m = 0.0f; + o->t = msg_getFloat(m,0); +#endif + } + } else if (msg_compareSymbol(m,0,"stop")) { + // Stop line at current position +#if HV_SIMD_AVX + // note o->n[1] is a 64-bit integer; two packed 32-bit ints. We only want to know if the high int is positive, + // which can be done simply by testing the long int for positiveness. + float x = (o->n[1] > 0) ? (o->x[7] + (o->m[7]/8.0f)) : o->t[7]; + o->n = _mm_setzero_si128(); + o->x = _mm256_set1_ps(x); + o->m = _mm256_setzero_ps(); + o->t = _mm256_set1_ps(x); +#elif HV_SIMD_SSE + const hv_int32_t *const on = (hv_int32_t *) &o->n; + const float *const ox = (float *) &o->x; + const float *const om = (float *) &o->m; + const float *const ot = (float *) &o->t; + float x = (on[3] > 0) ? (ox[3] + (om[3]/4.0f)) : ot[3]; + o->n = _mm_setzero_si128(); + o->x = _mm_set1_ps(x); + o->m = _mm_setzero_ps(); + o->t = _mm_set1_ps(x); +#elif HV_SIMD_NEON + float x = (o->n[3] > 0) ? (o->x[3] + (o->m[3]/4.0f)) : o->t[3]; + o->n = vdupq_n_s32(0); + o->x = vdupq_n_f32(x); + o->m = vdupq_n_f32(0.0f); + o->t = vdupq_n_f32(x); +#else // HV_SIMD_NONE + o->n = 0; + o->x += o->m; + o->m = 0.0f; + o->t = o->x; +#endif + } +} diff --git a/plugin/source/HvSignalLine.h b/plugin/source/HvSignalLine.h new file mode 100644 index 0000000..7f17804 --- /dev/null +++ b/plugin/source/HvSignalLine.h @@ -0,0 +1,88 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _SIGNAL_LINE_H_ +#define _SIGNAL_LINE_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct SignalLine { +#if HV_SIMD_AVX + __m128i n; // remaining samples to target +#else + hv_bufferi_t n; // remaining samples to target +#endif + hv_bufferf_t x; // current output + hv_bufferf_t m; // increment + hv_bufferf_t t; // target value +} SignalLine; + +hv_size_t sLine_init(SignalLine *o); + +static inline void __hv_line_f(SignalLine *o, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + __m128i n = o->n; + __m128i masklo = _mm_cmplt_epi32(n, _mm_setzero_si128()); // n < 0 + n = _mm_sub_epi32(n, _mm_set1_epi32(4)); // subtract HV_N_SIMD from remaining samples + __m128i maskhi = _mm_cmplt_epi32(n, _mm_setzero_si128()); + o->n = _mm_sub_epi32(n, _mm_set1_epi32(4)); + __m256 mask = _mm256_insertf128_ps(_mm256_castps128_ps256(_mm_castsi128_ps(masklo)), _mm_castsi128_ps(maskhi), 1); + + __m256 x = o->x; + *bOut = _mm256_or_ps(_mm256_and_ps(mask, o->t), _mm256_andnot_ps(mask, x)); + + // add slope from sloped samples + o->x = _mm256_add_ps(x, o->m); +#elif HV_SIMD_SSE + __m128i n = o->n; + __m128 mask = _mm_castsi128_ps(_mm_cmplt_epi32(n, _mm_setzero_si128())); // n < 0 + + __m128 x = o->x; + *bOut = _mm_or_ps(_mm_and_ps(mask, o->t), _mm_andnot_ps(mask, x)); + + // subtract HV_N_SIMD from remaining samples + o->n = _mm_sub_epi32(n, _mm_set1_epi32(HV_N_SIMD)); + + // add slope from sloped samples + o->x = _mm_add_ps(x, o->m); +#elif HV_SIMD_NEON + int32x4_t n = o->n; + int32x4_t mask = vreinterpretq_s32_u32(vcltq_s32(n, vdupq_n_s32(0))); + float32x4_t x = o->x; + *bOut = vreinterpretq_f32_s32(vorrq_s32( + vandq_s32(mask, vreinterpretq_s32_f32(o->t)), + vbicq_s32(vreinterpretq_s32_f32(x), mask))); + o->n = vsubq_s32(n, vdupq_n_s32(HV_N_SIMD)); + o->x = vaddq_f32(x, o->m); +#else // HV_SIMD_NONE + *bOut = (o->n < 0) ? o->t : o->x; + o->n -= HV_N_SIMD; + o->x += o->m; +#endif +} + +void sLine_onMessage(HeavyContextInterface *_c, SignalLine *o, int letIndex, + const HvMessage *m, void *sendMessage); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _SIGNAL_LINE_H_ diff --git a/plugin/source/HvSignalPhasor.c b/plugin/source/HvSignalPhasor.c new file mode 100644 index 0000000..b763b95 --- /dev/null +++ b/plugin/source/HvSignalPhasor.c @@ -0,0 +1,141 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvSignalPhasor.h" + +#define HV_PHASOR_2_32 4294967296.0 + +#if HV_SIMD_AVX +static void sPhasor_updatePhase(SignalPhasor *o, float p) { + o->phase = _mm256_set1_ps(p+1.0f); // o->phase is in range [1,2] +#elif HV_SIMD_SSE + static void sPhasor_updatePhase(SignalPhasor *o, hv_uint32_t p) { + o->phase = _mm_set1_epi32(p); +#elif HV_SIMD_NEON + static void sPhasor_updatePhase(SignalPhasor *o, hv_uint32_t p) { + o->phase = vdupq_n_u32(p); +#else // HV_SIMD_NONE + static void sPhasor_updatePhase(SignalPhasor *o, hv_uint32_t p) { + o->phase = p; +#endif +} + +// input phase is in the range of [0,1]. It is independent of o->phase. +#if HV_SIMD_AVX +static void sPhasor_k_updatePhase(SignalPhasor *o, float p) { + o->phase = _mm256_set_ps( + p+1.0f+7.0f*o->step.f2sc, p+1.0f+6.0f*o->step.f2sc, + p+1.0f+5.0f*o->step.f2sc, p+1.0f+4.0f*o->step.f2sc, + p+1.0f+3.0f*o->step.f2sc, p+1.0f+2.0f*o->step.f2sc, + p+1.0f+o->step.f2sc, p+1.0f); + + // ensure that o->phase is still in range [1,2] + o->phase = _mm256_or_ps(_mm256_andnot_ps( + _mm256_set1_ps(-INFINITY), o->phase), _mm256_set1_ps(1.0f)); +#elif HV_SIMD_SSE +static void sPhasor_k_updatePhase(SignalPhasor *o, hv_uint32_t p) { + o->phase = _mm_set_epi32(3*o->step.s+p, 2*o->step.s+p, o->step.s+p, p); +#elif HV_SIMD_NEON +static void sPhasor_k_updatePhase(SignalPhasor *o, hv_uint32_t p) { + o->phase = (uint32x4_t) {p, o->step.s+p, 2*o->step.s+p, 3*o->step.s+p}; +#else // HV_SIMD_NONE +static void sPhasor_k_updatePhase(SignalPhasor *o, hv_uint32_t p) { + o->phase = p; +#endif +} + +static void sPhasor_k_updateFrequency(SignalPhasor *o, float f, double r) { +#if HV_SIMD_AVX + o->step.f2sc = (float) (f/r); + o->inc = _mm256_set1_ps((float) (8.0f*f/r)); + sPhasor_k_updatePhase(o, o->phase[0]); +#elif HV_SIMD_SSE + o->step.s = (hv_int32_t) (f*(HV_PHASOR_2_32/r)); + o->inc = _mm_set1_epi32(4*o->step.s); + const hv_uint32_t *const p = (hv_uint32_t *) &o->phase; + sPhasor_k_updatePhase(o, p[0]); +#elif HV_SIMD_NEON + o->step.s = (hv_int32_t) (f*(HV_PHASOR_2_32/r)); + o->inc = vdupq_n_s32(4*o->step.s); + sPhasor_k_updatePhase(o, vgetq_lane_u32(o->phase, 0)); +#else // HV_SIMD_NONE + o->step.s = (hv_int32_t) (f*(HV_PHASOR_2_32/r)); + o->inc = o->step.s; + // no need to update phase +#endif +} + +hv_size_t sPhasor_init(SignalPhasor *o, double samplerate) { +#if HV_SIMD_AVX + o->phase = _mm256_set1_ps(1.0f); + o->inc = _mm256_setzero_ps(); + o->step.f2sc = (float) (1.0/samplerate); +#elif HV_SIMD_SSE + o->phase = _mm_setzero_si128(); + o->inc = _mm_setzero_si128(); + o->step.f2sc = (float) (HV_PHASOR_2_32/samplerate); +#elif HV_SIMD_NEON + o->phase = vdupq_n_u32(0); + o->inc = vdupq_n_s32(0); + o->step.f2sc = (float) (HV_PHASOR_2_32/samplerate); +#else // HV_SIMD_NONE + o->phase = 0; + o->inc = 0; + o->step.f2sc = (float) (HV_PHASOR_2_32/samplerate); +#endif + return 0; +} + +void sPhasor_onMessage(HeavyContextInterface *_c, SignalPhasor *o, int letIn, const HvMessage *m) { + if (letIn == 1) { + if (msg_isFloat(m,0)) { + float p = msg_getFloat(m,0); + while (p < 0.0f) p += 1.0f; // wrap phase to [0,1] + while (p > 1.0f) p -= 1.0f; +#if HV_SIMD_AVX + sPhasor_updatePhase(o, p); +#else // HV_SIMD_SSE || HV_SIMD_NEON || HV_SIMD_NONE + sPhasor_updatePhase(o, (hv_uint32_t) (p * HV_PHASOR_2_32)); +#endif + } + } +} + +hv_size_t sPhasor_k_init(SignalPhasor *o, float frequency, double samplerate) { + __hv_zero_i((hv_bOuti_t) &o->phase); + sPhasor_k_updateFrequency(o, frequency, samplerate); + return 0; +} + +void sPhasor_k_onMessage(HeavyContextInterface *_c, SignalPhasor *o, int letIn, const HvMessage *m) { + if (msg_isFloat(m,0)) { + switch (letIn) { + case 0: sPhasor_k_updateFrequency(o, msg_getFloat(m,0), hv_getSampleRate(_c)); break; + case 1: { + float p = msg_getFloat(m,0); + while (p < 0.0f) p += 1.0f; // wrap phase to [0,1] + while (p > 1.0f) p -= 1.0f; +#if HV_SIMD_AVX + sPhasor_k_updatePhase(o, p); +#else // HV_SIMD_SSE || HV_SIMD_NEON || HV_SIMD_NONE + sPhasor_k_updatePhase(o, (hv_uint32_t) (p * HV_PHASOR_2_32)); +#endif + break; + } + default: break; + } + } +} diff --git a/plugin/source/HvSignalPhasor.h b/plugin/source/HvSignalPhasor.h new file mode 100644 index 0000000..08c6464 --- /dev/null +++ b/plugin/source/HvSignalPhasor.h @@ -0,0 +1,139 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_SIGNAL_PHASOR_H_ +#define _HEAVY_SIGNAL_PHASOR_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct SignalPhasor { +#if HV_SIMD_AVX + __m256 phase; // current phase + __m256 inc; // phase increment +#elif HV_SIMD_SSE + __m128i phase; + __m128i inc; +#elif HV_SIMD_NEON + uint32x4_t phase; + int32x4_t inc; +#else // HV_SIMD_NONE + hv_uint32_t phase; + hv_int32_t inc; +#endif + union { + float f2sc; // float to step conversion (used for __phasor~f) + hv_int32_t s; // step value (used for __phasor_k~f) + } step; +} SignalPhasor; + +hv_size_t sPhasor_init(SignalPhasor *o, double samplerate); + +hv_size_t sPhasor_k_init(SignalPhasor *o, float frequency, double samplerate); + +void sPhasor_k_onMessage(HeavyContextInterface *_c, SignalPhasor *o, int letIn, const HvMessage *m); + +void sPhasor_onMessage(HeavyContextInterface *_c, SignalPhasor *o, int letIn, const HvMessage *m); + +static inline void __hv_phasor_f(SignalPhasor *o, hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + __m256 p = _mm256_mul_ps(bIn, _mm256_set1_ps(o->step.f2sc)); // a b c d e f g h + + __m256 z = _mm256_setzero_ps(); + + // http://stackoverflow.com/questions/11906814/how-to-rotate-an-sse-avx-vector + __m256 a = _mm256_permute_ps(p, _MM_SHUFFLE(2,1,0,3)); // d a b c h e f g + __m256 b = _mm256_permute2f128_ps(a, a, 0x01); // h e f g d a b c + __m256 c = _mm256_blend_ps(a, b, 0x10); // d a b c d e f g + __m256 d = _mm256_blend_ps(c, z, 0x01); // 0 a b c d e f g + __m256 e = _mm256_add_ps(p, d); // a (a+b) (b+c) (c+d) (d+e) (e+f) (f+g) (g+h) + + __m256 f = _mm256_permute_ps(e, _MM_SHUFFLE(1,0,3,2)); // (b+c) (c+d) a (a+b) (f+g) (g+h) (d+e) (e+f) + __m256 g = _mm256_permute2f128_ps(f, f, 0x01); // (f+g) (g+h) (d+e) (e+f) (b+c) (c+d) a (a+b) + __m256 h = _mm256_blend_ps(f, g, 0x33); // (b+c) (c+d) a (a+b) (b+c) (c+d) (d+e) (e+f) + __m256 i = _mm256_blend_ps(h, z, 0x03); // 0 0 a (a+b) (b+c) (c+d) (d+e) (e+f) + __m256 j = _mm256_add_ps(e, i); // a (a+b) (a+b+c) (a+b+c+d) (b+c+d+e) (c+d+e+f) (d+e+f+g) (e+f+g+h) + + __m256 k = _mm256_permute2f128_ps(j, z, 0x02); // 0 0 0 0 a (a+b) (a+b+c) (a+b+c+d) (b+c+d+e) + __m256 m = _mm256_add_ps(j, k); // a (a+b) (a+b+c) (a+b+c+d) (a+b+c+d+e) (a+b+c+d+e+f) (a+b+c+d+e+f+g) (a+b+c+d+e+f+g+h) + + __m256 n = _mm256_or_ps(_mm256_andnot_ps( + _mm256_set1_ps(-INFINITY), + _mm256_add_ps(o->phase, m)), + _mm256_set1_ps(1.0f)); + + *bOut = _mm256_sub_ps(n, _mm256_set1_ps(1.0f)); + + __m256 x = _mm256_permute_ps(n, _MM_SHUFFLE(3,3,3,3)); + o->phase = _mm256_permute2f128_ps(x, x, 0x11); +#elif HV_SIMD_SSE + __m128i p = _mm_cvtps_epi32(_mm_mul_ps(bIn, _mm_set1_ps(o->step.f2sc))); // convert frequency to step + p = _mm_add_epi32(p, _mm_slli_si128(p, 4)); // add incremental steps to phase (prefix sum) + p = _mm_add_epi32(p, _mm_slli_si128(p, 8)); // http://stackoverflow.com/questions/10587598/simd-prefix-sum-on-intel-cpu?rq=1 + p = _mm_add_epi32(o->phase, p); + *bOut = _mm_sub_ps(_mm_castsi128_ps( + _mm_or_si128(_mm_srli_epi32(p, 9), + _mm_set_epi32(0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000))), + _mm_set1_ps(1.0f)); + o->phase = _mm_shuffle_epi32(p, _MM_SHUFFLE(3,3,3,3)); +#elif HV_SIMD_NEON + int32x4_t p = vcvtq_s32_f32(vmulq_n_f32(bIn, o->step.f2sc)); + p = vaddq_s32(p, vextq_s32(vdupq_n_s32(0), p, 3)); // http://stackoverflow.com/questions/11259596/arm-neon-intrinsics-rotation + p = vaddq_s32(p, vextq_s32(vdupq_n_s32(0), p, 2)); + uint32x4_t pp = vaddq_u32(o->phase, vreinterpretq_u32_s32(p)); + *bOut = vsubq_f32(vreinterpretq_f32_u32(vorrq_u32(vshrq_n_u32(pp, 9), vdupq_n_u32(0x3F800000))), vdupq_n_f32(1.0f)); + o->phase = vdupq_n_u32(pp[3]); +#else // HV_SIMD_NONE + const hv_uint32_t p = (o->phase >> 9) | 0x3F800000; + *bOut = *((float *) (&p)) - 1.0f; + o->phase += ((int) (bIn * o->step.f2sc)); +#endif +} + +static inline void __hv_phasor_k_f(SignalPhasor *o, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_sub_ps(o->phase, _mm256_set1_ps(1.0f)); + o->phase = _mm256_or_ps(_mm256_andnot_ps( + _mm256_set1_ps(-INFINITY), + _mm256_add_ps(o->phase, o->inc)), + _mm256_set1_ps(1.0f)); +#elif HV_SIMD_SSE + *bOut = _mm_sub_ps(_mm_castsi128_ps( + _mm_or_si128(_mm_srli_epi32(o->phase, 9), + _mm_set_epi32(0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000))), + _mm_set1_ps(1.0f)); + o->phase = _mm_add_epi32(o->phase, o->inc); +#elif HV_SIMD_NEON + *bOut = vsubq_f32(vreinterpretq_f32_u32( + vorrq_u32(vshrq_n_u32(o->phase, 9), + vdupq_n_u32(0x3F800000))), + vdupq_n_f32(1.0f)); + o->phase = vaddq_u32(o->phase, vreinterpretq_u32_s32(o->inc)); +#else // HV_SIMD_NONE + const hv_uint32_t p = (o->phase >> 9) | 0x3F800000; + *bOut = *((float *) (&p)) - 1.0f; + o->phase += o->inc; +#endif +} + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_SIGNAL_PHASOR_H_ diff --git a/plugin/source/HvSignalRPole.c b/plugin/source/HvSignalRPole.c new file mode 100644 index 0000000..1300308 --- /dev/null +++ b/plugin/source/HvSignalRPole.c @@ -0,0 +1,52 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvSignalRPole.h" + +hv_size_t sRPole_init(SignalRPole *o) { +#if HV_SIMD_AVX + sDel1_init(&o->sDel1_fxiLN); + sDel1_init(&o->sDel1_kjkpV); + sDel1_init(&o->sDel1_dkIWc); + sDel1_init(&o->sDel1_bVeoW); + sDel1_init(&o->sDel1_PulZn); + sDel1_init(&o->sDel1_yTFig); + sDel1_init(&o->sDel1_Is9Qf); + sDel1_init(&o->sDel1_LIyNt); + sDel1_init(&o->sDel1_VqpU3); + sDel1_init(&o->sDel1_ZVYeg); + sDel1_init(&o->sDel1_IVAZh); + sDel1_init(&o->sDel1_F8WrY); + sDel1_init(&o->sDel1_rkFMy); + sDel1_init(&o->sDel1_BeqSK); + __hv_zero_f(&o->ym); +#elif HV_SIMD_SSE || HV_SIMD_NEON + sDel1_init(&o->sDel1_i8Twk); + sDel1_init(&o->sDel1_KYibU); + sDel1_init(&o->sDel1_spa5V); + sDel1_init(&o->sDel1_3HXdb); + sDel1_init(&o->sDel1_Aj1oK); + sDel1_init(&o->sDel1_jNX1g); + __hv_zero_f(&o->ym); +#else + o->ym = 0.0f; +#endif + return 0; +} + +void sRPole_onMessage(HeavyContextInterface *_c, SignalRPole *o, int letIn, const HvMessage *m) { + // TODO +} diff --git a/plugin/source/HvSignalRPole.h b/plugin/source/HvSignalRPole.h new file mode 100644 index 0000000..31ac584 --- /dev/null +++ b/plugin/source/HvSignalRPole.h @@ -0,0 +1,130 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _SIGNAL_RPOLE_H_ +#define _SIGNAL_RPOLE_H_ + +#include "HvHeavyInternal.h" +#include "HvSignalDel1.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// implements y[n] = x[n] - a*y[n-1] +// H(z) = 1/(1+a*z^-1) +typedef struct SignalRPole { +#if HV_SIMD_AVX + SignalDel1 sDel1_fxiLN; + SignalDel1 sDel1_kjkpV; + SignalDel1 sDel1_dkIWc; + SignalDel1 sDel1_bVeoW; + SignalDel1 sDel1_PulZn; + SignalDel1 sDel1_yTFig; + SignalDel1 sDel1_Is9Qf; + SignalDel1 sDel1_LIyNt; + SignalDel1 sDel1_VqpU3; + SignalDel1 sDel1_ZVYeg; + SignalDel1 sDel1_IVAZh; + SignalDel1 sDel1_F8WrY; + SignalDel1 sDel1_rkFMy; + SignalDel1 sDel1_BeqSK; + hv_bufferf_t ym; +#elif HV_SIMD_SSE || HV_SIMD_NEON + SignalDel1 sDel1_i8Twk; + SignalDel1 sDel1_KYibU; + SignalDel1 sDel1_spa5V; + SignalDel1 sDel1_3HXdb; + SignalDel1 sDel1_Aj1oK; + SignalDel1 sDel1_jNX1g; + hv_bufferf_t ym; +#else + hv_bufferf_t ym; +#endif +} SignalRPole; + +hv_size_t sRPole_init(SignalRPole *o); + +void sRPole_onMessage(HeavyContextInterface *_c, SignalRPole *o, int letIn, const HvMessage *m); + +static inline void __hv_rpole_f(SignalRPole *o, hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + hv_bufferf_t a, b, c, d, e, f, g, i, j, k, l, m, n; + __hv_del1_f(&o->sDel1_fxiLN, bIn1, &a); + __hv_mul_f(bIn1, a, &b); + __hv_del1_f(&o->sDel1_kjkpV, a, &a); + __hv_mul_f(b, a, &c); + __hv_del1_f(&o->sDel1_dkIWc, a, &a); + __hv_mul_f(c, a, &d); + __hv_del1_f(&o->sDel1_bVeoW, a, &a); + __hv_mul_f(d, a, &e); + __hv_del1_f(&o->sDel1_PulZn, a, &a); + __hv_mul_f(e, a, &f); + __hv_del1_f(&o->sDel1_yTFig, a, &a); + __hv_mul_f(f, a, &g); + __hv_del1_f(&o->sDel1_Is9Qf, a, &a); + __hv_mul_f(g, a, &a); + __hv_del1_f(&o->sDel1_LIyNt, bIn0, &i); + __hv_del1_f(&o->sDel1_VqpU3, i, &j); + __hv_del1_f(&o->sDel1_ZVYeg, j, &k); + __hv_del1_f(&o->sDel1_IVAZh, k, &l); + __hv_del1_f(&o->sDel1_F8WrY, l, &m); + __hv_del1_f(&o->sDel1_rkFMy, m, &n); + __hv_mul_f(i, bIn1, &i); + __hv_sub_f(bIn0, i, &i); + __hv_fma_f(j, b, i, &i); + __hv_mul_f(k, c, &c); + __hv_sub_f(i, c, &c); + __hv_fma_f(l, d, c, &c); + __hv_mul_f(m, e, &e); + __hv_sub_f(c, e, &e); + __hv_fma_f(n, f, e, &e); + __hv_del1_f(&o->sDel1_BeqSK, n, &n); + __hv_mul_f(n, g, &g); + __hv_sub_f(e, g, &g); + __hv_fma_f(a, o->ym, g, &g); + o->ym = g; + *bOut = g; +#elif HV_SIMD_SSE || HV_SIMD_NEON + hv_bufferf_t a, b, c, e, f; + __hv_del1_f(&o->sDel1_i8Twk, bIn1, &a); + __hv_mul_f(bIn1, a, &b); + __hv_del1_f(&o->sDel1_KYibU, a, &a); + __hv_mul_f(b, a, &c); + __hv_del1_f(&o->sDel1_spa5V, a, &a); + __hv_mul_f(c, a, &a); + __hv_del1_f(&o->sDel1_3HXdb, bIn0, &e); + __hv_del1_f(&o->sDel1_Aj1oK, e, &f); + __hv_mul_f(e, bIn1, &e); + __hv_sub_f(bIn0, e, &e); + __hv_fma_f(f, b, e, &e); + __hv_del1_f(&o->sDel1_jNX1g, f, &f); + __hv_mul_f(f, c, &c); + __hv_sub_f(e, c, &c); + __hv_fma_f(a, o->ym, c, &c); + o->ym = c; + *bOut = c; +#else + *bOut = bIn0 - bIn1 * o->ym; + o->ym = *bOut; +#endif +} + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _SIGNAL_RPOLE_H_ diff --git a/plugin/source/HvSignalVar.c b/plugin/source/HvSignalVar.c new file mode 100644 index 0000000..393cd23 --- /dev/null +++ b/plugin/source/HvSignalVar.c @@ -0,0 +1,75 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvSignalVar.h" + +// __var~f + +static void sVarf_update(SignalVarf *o, float k, float step, bool reverse) { +#if HV_SIMD_AVX + if (reverse) o->v = _mm256_setr_ps(k+7.0f*step, k+6.0f*step, k+5.0f*step, k+4.0f*step, k+3.0f*step, k+2.0f*step, k+step, k); + else o->v = _mm256_set_ps(k+7.0f*step, k+6.0f*step, k+5.0f*step, k+4.0f*step, k+3.0f*step, k+2.0f*step, k+step, k); +#elif HV_SIMD_SSE + if (reverse) o->v = _mm_setr_ps(k+3.0f*step, k+2.0f*step, k+step, k); + else o->v = _mm_set_ps(k+3.0f*step, k+2.0f*step, k+step, k); +#elif HV_SIMD_NEON + if (reverse) o->v = (float32x4_t) {3.0f*step+k, 2.0f*step+k, step+k, k}; + else o->v = (float32x4_t) {k, step+k, 2.0f*step+k, 3.0f*step+k}; +#else // HV_SIMD_NONE + o->v = k; +#endif +} + +hv_size_t sVarf_init(SignalVarf *o, float k, float step, bool reverse) { + sVarf_update(o, k, step, reverse); + return 0; +} + +void sVarf_onMessage(HeavyContextInterface *_c, SignalVarf *o, const HvMessage *m) { + if (msg_isFloat(m,0)) { + sVarf_update(o, msg_getFloat(m,0), msg_isFloat(m,1) ? msg_getFloat(m,1) : 0.0f, msg_getNumElements(m) == 3); + } +} + + + +// __var~i + +static void sVari_update(SignalVari *o, int k, int step, bool reverse) { +#if HV_SIMD_AVX + if (reverse) o->v = _mm256_setr_epi32(k+7*step, k+6*step, k+5*step, k+4*step, k+3*step, k+2*step, k+step, k); + else o->v = _mm256_set_epi32(k+7*step, k+6*step, k+5*step, k+4*step, k+3*step, k+2*step, k+step, k); +#elif HV_SIMD_SSE + if (reverse) o->v = _mm_setr_epi32(k+3*step, k+2*step, k+step, k); + else o->v = _mm_set_epi32(k+3*step, k+2*step, k+step, k); +#elif HV_SIMD_NEON + if (reverse) o->v = (int32x4_t) {3*step+k, 2*step+k, step+k, k}; + else o->v = (int32x4_t) {k, step+k, 2*step+k, 3*step+k}; +#else // HV_SIMD_NEON + o->v = k; +#endif +} + +hv_size_t sVari_init(SignalVari *o, int k, int step, bool reverse) { + sVari_update(o, k, step, reverse); + return 0; +} + +void sVari_onMessage(HeavyContextInterface *_c, SignalVari *o, const HvMessage *m) { + if (msg_isFloat(m,0)) { + sVari_update(o, (int) msg_getFloat(m,0), msg_isFloat(m,1) ? (int) msg_getFloat(m,1) : 0, msg_getNumElements(m) == 3); + } +} diff --git a/plugin/source/HvSignalVar.h b/plugin/source/HvSignalVar.h new file mode 100644 index 0000000..6502f6b --- /dev/null +++ b/plugin/source/HvSignalVar.h @@ -0,0 +1,94 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_SIGNAL_VAR_H_ +#define _HEAVY_SIGNAL_VAR_H_ + +#include "HvHeavyInternal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// __var~f, __varread~f, __varwrite~f + +typedef struct SignalVarf { + hv_bufferf_t v; +} SignalVarf; + +hv_size_t sVarf_init(SignalVarf *o, float k, float step, bool reverse); + +static inline void __hv_varread_f(SignalVarf *o, hv_bOutf_t bOut) { + *bOut = o->v; +} + +static inline void __hv_varwrite_f(SignalVarf *o, hv_bInf_t bIn) { + o->v = bIn; +} + +void sVarf_onMessage(HeavyContextInterface *_c, SignalVarf *o, const HvMessage *m); + + + +// __var~i, __varread~i, __varwrite~i + +typedef struct SignalVari { + hv_bufferi_t v; +} SignalVari; + +hv_size_t sVari_init(SignalVari *o, int k, int step, bool reverse); + +static inline void __hv_varread_i(SignalVari *o, hv_bOuti_t bOut) { + *bOut = o->v; +} + +static inline void __hv_varwrite_i(SignalVari *o, hv_bIni_t bIn) { + o->v = bIn; +} + +void sVari_onMessage(HeavyContextInterface *_c, SignalVari *o, const HvMessage *m); + + + +// __var_k~f, __var_k~i + +#if HV_SIMD_AVX +#define __hv_var_k_i(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_mm256_set_epi32(_h,_g,_f,_e,_d,_c,_b,_a) +#define __hv_var_k_i_r(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_mm256_set_epi32(_a,_b,_c,_d,_e,_f,_g,_h) +#define __hv_var_k_f(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_mm256_set_ps(_h,_g,_f,_e,_d,_c,_b,_a) +#define __hv_var_k_f_r(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_mm256_set_ps(_a,_b,_c,_d,_e,_f,_g,_h) +#elif HV_SIMD_SSE +#define __hv_var_k_i(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_mm_set_epi32(_d,_c,_b,_a) +#define __hv_var_k_i_r(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_mm_set_epi32(_a,_b,_c,_d) +#define __hv_var_k_f(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_mm_set_ps(_d,_c,_b,_a) +#define __hv_var_k_f_r(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_mm_set_ps(_a,_b,_c,_d) +#elif HV_SIMD_NEON +#define __hv_var_k_i(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((int32x4_t) {_a,_b,_c,_d}) +#define __hv_var_k_i_r(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((int32x4_t) {_d,_c,_b,_a}) +#define __hv_var_k_f(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((float32x4_t) {_a,_b,_c,_d}) +#define __hv_var_k_f_r(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((float32x4_t) {_d,_c,_b,_a}) +#else // HV_SIMD_NONE +#define __hv_var_k_i(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_a +#define __hv_var_k_i_r(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_a +#define __hv_var_k_f(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_a +#define __hv_var_k_f_r(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_a +#endif + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_SIGNAL_VAR_H_ diff --git a/plugin/source/HvTable.c b/plugin/source/HvTable.c new file mode 100644 index 0000000..1b2cd38 --- /dev/null +++ b/plugin/source/HvTable.c @@ -0,0 +1,110 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvTable.h" +#include "HvMessage.h" + +hv_size_t hTable_init(HvTable *o, int length) { + o->length = length; + // true size of the table is always an integer multple of HV_N_SIMD + o->size = (length + HV_N_SIMD_MASK) & ~HV_N_SIMD_MASK; + // add an extra length for mirroring + o->allocated = o->size + HV_N_SIMD; + o->head = 0; + hv_size_t numBytes = o->allocated * sizeof(float); + o->buffer = (float *) hv_malloc(numBytes); + hv_assert(o->buffer != NULL); + hv_memclear(o->buffer, numBytes); + return numBytes; +} + +hv_size_t hTable_initWithData(HvTable *o, int length, const float *data) { + o->length = length; + o->size = (length + HV_N_SIMD_MASK) & ~HV_N_SIMD_MASK; + o->allocated = o->size + HV_N_SIMD; + o->head = 0; + hv_size_t numBytes = o->size * sizeof(float); + o->buffer = (float *) hv_malloc(numBytes); + hv_assert(o->buffer != NULL); + hv_memclear(o->buffer, numBytes); + hv_memcpy(o->buffer, data, length*sizeof(float)); + return numBytes; +} + +hv_size_t hTable_initWithFinalData(HvTable *o, int length, float *data) { + o->length = length; + o->size = length; + o->allocated = length; + o->buffer = data; + o->head = 0; + return 0; +} + +void hTable_free(HvTable *o) { + hv_free(o->buffer); +} + +int hTable_resize(HvTable *o, hv_uint32_t newLength) { + // TODO(mhroth): update context with memory allocated by table + // NOTE(mhroth): mirrored bytes are not necessarily carried over + const hv_uint32_t newSize = (newLength + HV_N_SIMD_MASK) & ~HV_N_SIMD_MASK; + if (newSize == o->size) return 0; // early exit if no change in size + const hv_uint32_t oldSizeBytes = (hv_uint32_t) (o->size * sizeof(float)); + const hv_uint32_t newAllocated = newSize + HV_N_SIMD; + const hv_uint32_t newAllocatedBytes = (hv_uint32_t) (newAllocated * sizeof(float)); + + float *b = (float *) hv_realloc(o->buffer, newAllocatedBytes); + hv_assert(b != NULL); // error while reallocing! + // ensure that hv_realloc has given us a correctly aligned buffer + if ((((hv_uintptr_t) (const void *) b) & ((0x1< o->size) { + hv_memclear(b + o->size, (newAllocated - o->size) * sizeof(float)); // clear new parts of the buffer + } + o->buffer = b; + } else { + // if not, we have to re-malloc ourselves + char *c = (char *) hv_malloc(newAllocatedBytes); + hv_assert(c != NULL); // error while allocating new buffer! + if (newAllocatedBytes > oldSizeBytes) { + hv_memcpy(c, b, oldSizeBytes); + hv_memclear(c + oldSizeBytes, newAllocatedBytes - oldSizeBytes); + } else { + hv_memcpy(c, b, newAllocatedBytes); + } + hv_free(b); + o->buffer = (float *) c; + } + o->length = newLength; + o->size = newSize; + o->allocated = newAllocated; + return (int) (newAllocated - oldSizeBytes - (HV_N_SIMD*sizeof(float))); +} + +void hTable_onMessage(HeavyContextInterface *_c, HvTable *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)) { + if (msg_compareSymbol(m,0,"resize") && msg_isFloat(m,1) && msg_getFloat(m,1) >= 0.0f) { + hTable_resize(o, (int) hv_ceil_f(msg_getFloat(m,1))); // apply ceil to ensure that tables always have enough space + + // send out the new size of the table + HvMessage *n = HV_MESSAGE_ON_STACK(1); + msg_initWithFloat(n, msg_getTimestamp(m), (float) hTable_getSize(o)); + sendMessage(_c, 0, n); + } + + else if (msg_compareSymbol(m,0,"mirror")) { + hv_memcpy(o->buffer+o->size, o->buffer, HV_N_SIMD*sizeof(float)); + } +} diff --git a/plugin/source/HvTable.h b/plugin/source/HvTable.h new file mode 100644 index 0000000..1d74887 --- /dev/null +++ b/plugin/source/HvTable.h @@ -0,0 +1,88 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_TABLE_H_ +#define _HEAVY_TABLE_H_ + +#include "HvHeavy.h" +#include "HvUtils.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct HvTable { + float *buffer; + // the number of values that the table is requested to have + hv_uint32_t length; + + // the number of usable values that the table actually has + // this is always an even multiple of HV_N_SIMD + hv_uint32_t size; + + // Note that the true size of the table is (size + HV_N_SIMD), + // with the trailing values used by the system, e.g. to create a circular + // buffer + hv_uint32_t allocated; + + hv_uint32_t head; // the most recently written point +} HvTable; + +hv_size_t hTable_init(HvTable *o, int length); + +hv_size_t hTable_initWithData(HvTable *o, int length, const float *data); + +hv_size_t hTable_initWithFinalData(HvTable *o, int length, float *data); + +void hTable_free(HvTable *o); + +int hTable_resize(HvTable *o, hv_uint32_t newLength); + +void hTable_onMessage(HeavyContextInterface *_c, HvTable *o, int letIn, const HvMessage *m, + void (*sendMessage)(HeavyContextInterface *, int, const HvMessage *)); + +static inline float *hTable_getBuffer(HvTable *o) { + return o->buffer; +} + +// the user-requested length of the table (number of floats) +static inline hv_uint32_t hTable_getLength(HvTable *o) { + return o->length; +} + +// the usable length of the table (an even multiple of HV_N_SIMD) +static inline hv_uint32_t hTable_getSize(HvTable *o) { + return o->size; +} + +// the number of floats allocated to this table (usually size + HV_N_SIMD) +static inline hv_uint32_t hTable_getAllocated(HvTable *o) { + return o->allocated; +} + +static inline hv_uint32_t hTable_getHead(HvTable *o) { + return o->head; +} + +static inline void hTable_setHead(HvTable *o, hv_uint32_t head) { + o->head = head; +} + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _HEAVY_TABLE_H_ diff --git a/plugin/source/HvUtils.c b/plugin/source/HvUtils.c new file mode 100644 index 0000000..2fdf682 --- /dev/null +++ b/plugin/source/HvUtils.c @@ -0,0 +1,54 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvUtils.h" + +hv_uint32_t hv_string_to_hash(const char *str) { + // this hash is based MurmurHash2 + // http://en.wikipedia.org/wiki/MurmurHash + // https://sites.google.com/site/murmurhash/ + static const hv_uint32_t n = 0x5bd1e995; + static const hv_int32_t r = 24; + + if (str == NULL) return 0; + + hv_uint32_t len = (hv_uint32_t) hv_strlen(str); + hv_uint32_t x = len; // seed (0) ^ len + + while (len >= 4) { +#if HV_EMSCRIPTEN + hv_uint32_t k = str[0] | (str[1] << 8) | (str[2] << 16) | (str[3] << 24); +#else + hv_uint32_t k = *((hv_uint32_t *) str); +#endif + k *= n; + k ^= (k >> r); + k *= n; + x *= n; + x ^= k; + str += 4; len -= 4; + } + switch (len) { + case 3: x ^= (str[2] << 16); + case 2: x ^= (str[1] << 8); + case 1: x ^= str[0]; x *= n; + default: break; + } + x ^= (x >> 13); + x *= n; + x ^= (x >> 15); + return x; +} diff --git a/plugin/source/HvUtils.h b/plugin/source/HvUtils.h new file mode 100644 index 0000000..3be2432 --- /dev/null +++ b/plugin/source/HvUtils.h @@ -0,0 +1,317 @@ +/** + * Copyright (c) 2014-2018 Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_UTILS_H_ +#define _HEAVY_UTILS_H_ + +// platform definitions +#if _WIN32 || _WIN64 || _MSC_VER + #define HV_WIN 1 +#elif __APPLE__ + #define HV_APPLE 1 +#elif __ANDROID__ + #define HV_ANDROID 1 +#elif __unix__ || __unix + #define HV_UNIX 1 +#else + #warning Could not detect platform. Assuming Unix-like. +#endif + +#ifdef EMSCRIPTEN +#define HV_EMSCRIPTEN 1 +#endif + +// basic includes +#include +#include +#include + +// type definitions +#include +#include +#define hv_uint8_t uint8_t +#define hv_int16_t int16_t +#define hv_uint16_t uint16_t +#define hv_int32_t int32_t +#define hv_uint32_t uint32_t +#define hv_uint64_t uint64_t +#define hv_size_t size_t +#define hv_uintptr_t uintptr_t + +// SIMD-specific includes +#if !(HV_SIMD_NONE || HV_SIMD_NEON || HV_SIMD_SSE || HV_SIMD_AVX) + #define HV_SIMD_NEON __ARM_NEON__ + #define HV_SIMD_SSE (__SSE__ && __SSE2__ && __SSE3__ && __SSSE3__ && __SSE4_1__) + #define HV_SIMD_AVX (__AVX__ && HV_SIMD_SSE) +#endif +#ifndef HV_SIMD_FMA + #define HV_SIMD_FMA __FMA__ +#endif + +#if HV_SIMD_AVX || HV_SIMD_SSE + #include +#elif HV_SIMD_NEON + #include +#endif + +#if HV_SIMD_NEON // NEON + #define HV_N_SIMD 4 + #define hv_bufferf_t float32x4_t + #define hv_bufferi_t int32x4_t + #define hv_bInf_t float32x4_t + #define hv_bOutf_t float32x4_t* + #define hv_bIni_t int32x4_t + #define hv_bOuti_t int32x4_t* + #define VIf(_x) (_x) + #define VOf(_x) (&_x) + #define VIi(_x) (_x) + #define VOi(_x) (&_x) +#elif HV_SIMD_AVX // AVX + #define HV_N_SIMD 8 + #define hv_bufferf_t __m256 + #define hv_bufferi_t __m256i + #define hv_bInf_t __m256 + #define hv_bOutf_t __m256* + #define hv_bIni_t __m256i + #define hv_bOuti_t __m256i* + #define VIf(_x) (_x) + #define VOf(_x) (&_x) + #define VIi(_x) (_x) + #define VOi(_x) (&_x) +#elif HV_SIMD_SSE // SSE + #define HV_N_SIMD 4 + #define hv_bufferf_t __m128 + #define hv_bufferi_t __m128i + #define hv_bInf_t __m128 + #define hv_bOutf_t __m128* + #define hv_bIni_t __m128i + #define hv_bOuti_t __m128i* + #define VIf(_x) (_x) + #define VOf(_x) (&_x) + #define VIi(_x) (_x) + #define VOi(_x) (&_x) +#else // DEFAULT + #define HV_N_SIMD 1 + #undef HV_SIMD_NONE + #define HV_SIMD_NONE 1 + #define hv_bufferf_t float + #define hv_bufferi_t int + #define hv_bInf_t float + #define hv_bOutf_t float* + #define hv_bIni_t int + #define hv_bOuti_t int* + #define VIf(_x) (_x) + #define VOf(_x) (&_x) + #define VIi(_x) (_x) + #define VOi(_x) (&_x) +#endif + +#define HV_N_SIMD_MASK (HV_N_SIMD-1) + +// Strings +#include +#define hv_strlen(a) strlen(a) +#define hv_strcmp(a, b) strcmp(a, b) +#define hv_snprintf(a, b, c, ...) snprintf(a, b, c, __VA_ARGS__) +#if HV_WIN +#define hv_strncpy(_dst, _src, _len) strncpy_s(_dst, _len, _src, _TRUNCATE) +#else +#define hv_strncpy(_dst, _src, _len) strncpy(_dst, _src, _len) +#endif + +// Memory management +#define hv_memcpy(a, b, c) memcpy(a, b, c) +#define hv_memclear(a, b) memset(a, 0, b) +#if HV_WIN + #include + #define hv_alloca(_n) _alloca(_n) + #if HV_SIMD_AVX + #define hv_malloc(_n) _aligned_malloc(_n, 32) + #define hv_realloc(a, b) _aligned_realloc(a, b, 32) + #define hv_free(x) _aligned_free(x) + #elif HV_SIMD_SSE || HV_SIMD_NEON + #define hv_malloc(_n) _aligned_malloc(_n, 16) + #define hv_realloc(a, b) _aligned_realloc(a, b, 16) + #define hv_free(x) _aligned_free(x) + #else // HV_SIMD_NONE + #define hv_malloc(_n) malloc(_n) + #define hv_realloc(a, b) realloc(a, b) + #define hv_free(_n) free(_n) + #endif +#elif HV_APPLE + #define hv_alloca(_n) alloca(_n) + #define hv_realloc(a, b) realloc(a, b) + #if HV_SIMD_AVX + #include + #define hv_malloc(_n) _mm_malloc(_n, 32) + #define hv_free(x) _mm_free(x) + #elif HV_SIMD_SSE + #include + #define hv_malloc(_n) _mm_malloc(_n, 16) + #define hv_free(x) _mm_free(x) + #elif HV_SIMD_NEON + // malloc on ios always has 16-byte alignment + #define hv_malloc(_n) malloc(_n) + #define hv_free(x) free(x) + #else // HV_SIMD_NONE + #define hv_malloc(_n) malloc(_n) + #define hv_free(x) free(x) + #endif +#else + #include + #define hv_alloca(_n) alloca(_n) + #define hv_realloc(a, b) realloc(a, b) + #if HV_SIMD_AVX + #define hv_malloc(_n) aligned_alloc(32, _n) + #define hv_free(x) free(x) + #elif HV_SIMD_SSE + #define hv_malloc(_n) aligned_alloc(16, _n) + #define hv_free(x) free(x) + #elif HV_SIMD_NEON + #if HV_ANDROID + #define hv_malloc(_n) memalign(16, _n) + #define hv_free(x) free(x) + #else + #define hv_malloc(_n) aligned_alloc(16, _n) + #define hv_free(x) free(x) + #endif + #else // HV_SIMD_NONE + #define hv_malloc(_n) malloc(_n) + #define hv_free(_n) free(_n) + #endif +#endif + +// Assert +#include +#define hv_assert(e) assert(e) + +// Export and Inline +#if HV_WIN +#define HV_EXPORT __declspec(dllexport) +#define inline __inline +#define HV_FORCE_INLINE __forceinline +#else +#define HV_EXPORT +#define HV_FORCE_INLINE inline __attribute__((always_inline)) +#endif + +#ifdef __cplusplus +extern "C" { +#endif + // Returns a 32-bit hash of any string. Returns 0 if string is NULL. + hv_uint32_t hv_string_to_hash(const char *str); +#ifdef __cplusplus +} +#endif + +// Math +#include +static inline hv_size_t __hv_utils_max_ui(hv_size_t x, hv_size_t y) { return (x > y) ? x : y; } +static inline hv_size_t __hv_utils_min_ui(hv_size_t x, hv_size_t y) { return (x < y) ? x : y; } +static inline hv_int32_t __hv_utils_max_i(hv_int32_t x, hv_int32_t y) { return (x > y) ? x : y; } +static inline hv_int32_t __hv_utils_min_i(hv_int32_t x, hv_int32_t y) { return (x < y) ? x : y; } +#define hv_max_ui(a, b) __hv_utils_max_ui(a, b) +#define hv_min_ui(a, b) __hv_utils_min_ui(a, b) +#define hv_max_i(a, b) __hv_utils_max_i(a, b) +#define hv_min_i(a, b) __hv_utils_min_i(a, b) +#define hv_max_f(a, b) fmaxf(a, b) +#define hv_min_f(a, b) fminf(a, b) +#define hv_max_d(a, b) fmax(a, b) +#define hv_min_d(a, b) fmin(a, b) +#define hv_sin_f(a) sinf(a) +#define hv_sinh_f(a) sinhf(a) +#define hv_cos_f(a) cosf(a) +#define hv_cosh_f(a) coshf(a) +#define hv_tan_f(a) tanf(a) +#define hv_tanh_f(a) tanhf(a) +#define hv_asin_f(a) asinf(a) +#define hv_asinh_f(a) asinhf(a) +#define hv_acos_f(a) acosf(a) +#define hv_acosh_f(a) acoshf(a) +#define hv_atan_f(a) atanf(a) +#define hv_atanh_f(a) atanhf(a) +#define hv_atan2_f(a, b) atan2f(a, b) +#define hv_exp_f(a) expf(a) +#define hv_abs_f(a) fabsf(a) +#define hv_sqrt_f(a) sqrtf(a) +#define hv_log_f(a) logf(a) +#define hv_ceil_f(a) ceilf(a) +#define hv_floor_f(a) floorf(a) +#define hv_round_f(a) roundf(a) +#define hv_pow_f(a, b) powf(a, b) +#if HV_EMSCRIPTEN +#define hv_fma_f(a, b, c) ((a*b)+c) // emscripten does not support fmaf (yet?) +#else +#define hv_fma_f(a, b, c) fmaf(a, b, c) +#endif +#if HV_WIN + // finds ceil(log2(x)) + #include + static inline hv_uint32_t __hv_utils_min_max_log2(hv_uint32_t x) { + unsigned long z = 0; + _BitScanReverse(&z, x); + return (hv_uint32_t) (z+1); + } +#else + static inline hv_uint32_t __hv_utils_min_max_log2(hv_uint32_t x) { + return (hv_uint32_t) (32 - __builtin_clz(x-1)); + } +#endif +#define hv_min_max_log2(a) __hv_utils_min_max_log2(a) + +// Atomics +#if HV_WIN + #include + #define hv_atomic_bool volatile LONG + #define HV_SPINLOCK_ACQUIRE(_x) while (InterlockedCompareExchange(&_x, true, false)) { } + #define HV_SPINLOCK_TRY(_x) return !InterlockedCompareExchange(&_x, true, false) + #define HV_SPINLOCK_RELEASE(_x) (_x = false) +#elif HV_ANDROID + // Android support for atomics isn't that great, we'll do it manually + // https://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Atomic-Builtins.html + #define hv_atomic_bool hv_uint8_t + #define HV_SPINLOCK_ACQUIRE(_x) while (__sync_lock_test_and_set(&_x, 1)) + #define HV_SPINLOCK_TRY(_x) return !__sync_lock_test_and_set(&_x, 1) + #define HV_SPINLOCK_RELEASE(_x) __sync_lock_release(&_x) +#elif __cplusplus + #include + #define hv_atomic_bool std::atomic_flag + #define HV_SPINLOCK_ACQUIRE(_x) while (_x.test_and_set(std::memory_order_acquire)) + #define HV_SPINLOCK_TRY(_x) return !_x.test_and_set(std::memory_order_acquire) + #define HV_SPINLOCK_RELEASE(_x) _x.clear(std::memory_order_release) +#elif defined(__has_include) + #if __has_include() + #include + #define hv_atomic_bool atomic_flag + #define HV_SPINLOCK_ACQUIRE(_x) while (atomic_flag_test_and_set_explicit(&_x, memory_order_acquire)) + #define HV_SPINLOCK_TRY(_x) return !atomic_flag_test_and_set_explicit(&_x, memory_order_acquire) + #define HV_SPINLOCK_RELEASE(_x) atomic_flag_clear_explicit(memory_order_release) + #endif +#endif +#ifndef hv_atomic_bool + #define hv_atomic_bool volatile bool + #define HV_SPINLOCK_ACQUIRE(_x) \ + while (_x) {} \ + _x = true; + #define HV_SPINLOCK_TRY(_x) \ + if (!_x) { \ + _x = true; \ + return true; \ + } else return false; + #define HV_SPINLOCK_RELEASE(_x) (_x = false) +#endif + +#endif // _HEAVY_UTILS_H_ diff --git a/plugin/source/Makefile b/plugin/source/Makefile new file mode 100644 index 0000000..a03b929 --- /dev/null +++ b/plugin/source/Makefile @@ -0,0 +1,24 @@ +NAME = EP_MK1 + +FILES_DSP = $(wildcard *.cpp) +FILES_DSP += $(wildcard *.c) + +include ../../dpf/Makefile.plugins.mk + +LINK_FLAGS += -lpthread +CFLAGS += -Wno-unused-parameter +CXXFLAGS += -Wno-unused-parameter + + + +TARGETS += jack + +TARGETS += lv2_dsp + +TARGETS += vst2 + +TARGETS += vst3 + + + +all: $(TARGETS) \ No newline at end of file