Skip to content
Permalink
87c5adb1bf
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 771 lines (771 sloc) 23.8 KB
#N canvas 0 23 1920 976 12;
#N canvas 451 236 527 433 note 0;
#X obj 69 108 inlet;
#X text 65 81 MIDI #;
#X obj 74 200 osc~;
#X obj 74 170 mtof;
#X obj 93 233 *~;
#X text 272 83 Volume;
#X obj 261 194 / 127;
#X obj 267 111 inlet;
#X text 169 76 Override;
#X text 0 118 set pitch from MIDI and feed to dac;
#X text 317 106 normal volume handler;
#X obj 79 271 outlet~;
#X floatatom 74 136 5 0 0 0 - - -;
#X floatatom 277 151 5 0 0 0 - - -;
#X obj 175 106 inlet;
#X obj 166 180 *;
#X text 29 19 Note class takes in integer MIDI note volume of note
0-127 and boolean stop override \, or another note \, it then outputs
it's audio signal and all it's data;
#X obj 167 149 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X connect 0 0 12 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 11 0;
#X connect 6 0 15 1;
#X connect 7 0 13 0;
#X connect 12 0 3 0;
#X connect 13 0 6 0;
#X connect 14 0 17 0;
#X connect 15 0 4 1;
#X connect 17 0 15 0;
#X restore 51 58 pd note;
#X text 39 25 Note class template;
#N canvas 1003 209 755 485 triad 0;
#X obj 549 124 inlet;
#X text 19 84 Note 1;
#X text 217 87 Note 2;
#X text 403 90 Note 3;
#X text 30 7 Triad class takes in the parameters of 3 note classes
and outputs audio signals from those three notes. The Triad also takes
in an override signal to stop all notes.;
#X text -31 121 MIDI #;
#X text 16 121 Override;
#X text 77 121 Volume;
#X text 161 124 MIDI #;
#X text 208 124 Override;
#X text 269 124 Volume;
#X text 347 125 MIDI #;
#X text 394 125 Override;
#X text 455 125 Volume;
#X obj -31 142 inlet;
#X obj 21 142 inlet;
#X obj 74 143 inlet;
#X obj 161 145 inlet;
#X obj 213 145 inlet;
#X obj 267 146 inlet;
#X obj 347 146 inlet;
#X obj 400 146 inlet;
#X obj 452 147 inlet;
#X floatatom -22 184 5 0 0 0 - - -;
#X floatatom 69 183 5 0 0 0 - - -;
#X floatatom 183 191 5 0 0 0 - - -;
#X floatatom 361 189 5 0 0 0 - - -;
#X floatatom 453 194 5 0 0 0 - - -;
#X text 535 90 Global Override;
#X obj 224 191 &&;
#X obj 26 185 &&;
#X obj 409 189 &&;
#X floatatom 262 193 5 0 0 0 - - -;
#X obj 200 344 outlet~;
#X obj 394 280 outlet~;
#N canvas 695 644 442 340 note 0;
#X obj 69 108 inlet;
#X text 65 81 MIDI #;
#X obj 74 200 osc~;
#X obj 74 170 mtof;
#X obj 93 233 *~;
#X text 272 83 Volume;
#X obj 261 194 / 127;
#X obj 267 111 inlet;
#X text 169 76 Override;
#X text 0 118 set pitch from MIDI and feed to dac;
#X text 317 106 normal volume handler;
#X obj 79 271 outlet~;
#X floatatom 74 136 5 0 0 0 - - -;
#X floatatom 277 151 5 0 0 0 - - -;
#X obj 175 106 inlet;
#X obj 166 180 *;
#X text 29 19 Note class takes in integer MIDI note volume of note
0-127 and boolean stop override \, or another note \, it then outputs
it's audio signal and all it's data;
#X obj 167 149 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X connect 0 0 12 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 11 0;
#X connect 6 0 15 1;
#X connect 7 0 13 0;
#X connect 12 0 3 0;
#X connect 13 0 6 0;
#X connect 14 0 17 0;
#X connect 15 0 4 1;
#X connect 17 0 15 0;
#X restore 5 225 pd note;
#N canvas 723 434 442 350 note 0;
#X obj 69 108 inlet;
#X text 65 81 MIDI #;
#X obj 74 200 osc~;
#X obj 74 170 mtof;
#X obj 93 233 *~;
#X text 272 83 Volume;
#X obj 261 194 / 127;
#X obj 267 111 inlet;
#X text 169 76 Override;
#X text 0 118 set pitch from MIDI and feed to dac;
#X text 317 106 normal volume handler;
#X obj 79 271 outlet~;
#X floatatom 74 136 5 0 0 0 - - -;
#X floatatom 277 151 5 0 0 0 - - -;
#X obj 175 106 inlet;
#X obj 166 180 *;
#X text 29 19 Note class takes in integer MIDI note volume of note
0-127 and boolean stop override \, or another note \, it then outputs
it's audio signal and all it's data;
#X obj 167 149 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X connect 0 0 12 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 11 0;
#X connect 6 0 15 1;
#X connect 7 0 13 0;
#X connect 12 0 3 0;
#X connect 13 0 6 0;
#X connect 14 0 17 0;
#X connect 15 0 4 1;
#X connect 17 0 15 0;
#X restore 200 275 pd note;
#N canvas 982 196 442 300 note 0;
#X obj 69 108 inlet;
#X text 65 81 MIDI #;
#X obj 74 200 osc~;
#X obj 74 170 mtof;
#X obj 93 233 *~;
#X text 272 83 Volume;
#X obj 261 194 / 127;
#X obj 267 111 inlet;
#X text 169 76 Override;
#X text 0 118 set pitch from MIDI and feed to dac;
#X text 317 106 normal volume handler;
#X obj 79 271 outlet~;
#X floatatom 74 136 5 0 0 0 - - -;
#X floatatom 277 151 5 0 0 0 - - -;
#X obj 175 106 inlet;
#X obj 166 180 *;
#X text 29 19 Note class takes in integer MIDI note volume of note
0-127 and boolean stop override \, or another note \, it then outputs
it's audio signal and all it's data;
#X obj 167 149 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X connect 0 0 12 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 11 0;
#X connect 6 0 15 1;
#X connect 7 0 13 0;
#X connect 12 0 3 0;
#X connect 13 0 6 0;
#X connect 14 0 17 0;
#X connect 15 0 4 1;
#X connect 17 0 15 0;
#X restore 394 231 pd note;
#X obj 24 305 outlet~;
#X connect 0 0 29 1;
#X connect 0 0 30 1;
#X connect 0 0 31 1;
#X connect 14 0 23 0;
#X connect 15 0 30 0;
#X connect 16 0 24 0;
#X connect 17 0 25 0;
#X connect 18 0 29 0;
#X connect 19 0 32 0;
#X connect 20 0 26 0;
#X connect 21 0 31 0;
#X connect 22 0 27 0;
#X connect 23 0 35 0;
#X connect 24 0 35 2;
#X connect 25 0 36 0;
#X connect 26 0 37 0;
#X connect 27 0 37 2;
#X connect 29 0 36 1;
#X connect 30 0 35 1;
#X connect 31 0 37 1;
#X connect 32 0 36 2;
#X connect 35 0 38 0;
#X connect 36 0 33 0;
#X connect 37 0 34 0;
#X restore 236 60 pd triad;
#X f 22;
#X text 236 25 Triad class template;
#N canvas 859 144 755 485 triad 0;
#X obj 549 124 inlet;
#X text 19 84 Note 1;
#X text 217 87 Note 2;
#X text 403 90 Note 3;
#X text 30 7 Triad class takes in the parameters of 3 note classes
and outputs audio signals from those three notes. The Triad also takes
in an override signal to stop all notes.;
#X text -31 121 MIDI #;
#X text 16 121 Override;
#X text 77 121 Volume;
#X text 161 124 MIDI #;
#X text 208 124 Override;
#X text 269 124 Volume;
#X text 347 125 MIDI #;
#X text 394 125 Override;
#X text 455 125 Volume;
#X obj -31 142 inlet;
#X obj 21 142 inlet;
#X obj 74 143 inlet;
#X obj 161 145 inlet;
#X obj 213 145 inlet;
#X obj 267 146 inlet;
#X obj 347 146 inlet;
#X obj 400 146 inlet;
#X obj 452 147 inlet;
#X floatatom -22 184 5 0 0 0 - - -;
#X floatatom 69 183 5 0 0 0 - - -;
#X floatatom 183 191 5 0 0 0 - - -;
#X floatatom 361 189 5 0 0 0 - - -;
#X floatatom 453 194 5 0 0 0 - - -;
#X text 535 90 Global Override;
#X obj 224 191 &&;
#X obj 26 185 &&;
#X obj 409 189 &&;
#X floatatom 262 193 5 0 0 0 - - -;
#X obj 200 344 outlet~;
#X obj 394 280 outlet~;
#N canvas 695 644 442 340 note 0;
#X obj 69 108 inlet;
#X text 65 81 MIDI #;
#X obj 74 200 osc~;
#X obj 74 170 mtof;
#X obj 93 233 *~;
#X text 272 83 Volume;
#X obj 261 194 / 127;
#X obj 267 111 inlet;
#X text 169 76 Override;
#X text 0 118 set pitch from MIDI and feed to dac;
#X text 317 106 normal volume handler;
#X obj 79 271 outlet~;
#X floatatom 74 136 5 0 0 0 - - -;
#X floatatom 277 151 5 0 0 0 - - -;
#X obj 175 106 inlet;
#X obj 166 180 *;
#X text 29 19 Note class takes in integer MIDI note volume of note
0-127 and boolean stop override \, or another note \, it then outputs
it's audio signal and all it's data;
#X obj 167 149 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X connect 0 0 12 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 11 0;
#X connect 6 0 15 1;
#X connect 7 0 13 0;
#X connect 12 0 3 0;
#X connect 13 0 6 0;
#X connect 14 0 17 0;
#X connect 15 0 4 1;
#X connect 17 0 15 0;
#X restore 5 225 pd note;
#N canvas 723 434 442 350 note 0;
#X obj 69 108 inlet;
#X text 65 81 MIDI #;
#X obj 74 200 osc~;
#X obj 74 170 mtof;
#X obj 93 233 *~;
#X text 272 83 Volume;
#X obj 261 194 / 127;
#X obj 267 111 inlet;
#X text 169 76 Override;
#X text 0 118 set pitch from MIDI and feed to dac;
#X text 317 106 normal volume handler;
#X obj 79 271 outlet~;
#X floatatom 74 136 5 0 0 0 - - -;
#X floatatom 277 151 5 0 0 0 - - -;
#X obj 175 106 inlet;
#X obj 166 180 *;
#X text 29 19 Note class takes in integer MIDI note volume of note
0-127 and boolean stop override \, or another note \, it then outputs
it's audio signal and all it's data;
#X obj 167 149 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X connect 0 0 12 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 11 0;
#X connect 6 0 15 1;
#X connect 7 0 13 0;
#X connect 12 0 3 0;
#X connect 13 0 6 0;
#X connect 14 0 17 0;
#X connect 15 0 4 1;
#X connect 17 0 15 0;
#X restore 200 275 pd note;
#N canvas 982 196 442 300 note 0;
#X obj 69 108 inlet;
#X text 65 81 MIDI #;
#X obj 74 200 osc~;
#X obj 74 170 mtof;
#X obj 93 233 *~;
#X text 272 83 Volume;
#X obj 261 194 / 127;
#X obj 267 111 inlet;
#X text 169 76 Override;
#X text 0 118 set pitch from MIDI and feed to dac;
#X text 317 106 normal volume handler;
#X obj 79 271 outlet~;
#X floatatom 74 136 5 0 0 0 - - -;
#X floatatom 277 151 5 0 0 0 - - -;
#X obj 175 106 inlet;
#X obj 166 180 *;
#X text 29 19 Note class takes in integer MIDI note volume of note
0-127 and boolean stop override \, or another note \, it then outputs
it's audio signal and all it's data;
#X obj 167 149 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X connect 0 0 12 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 11 0;
#X connect 6 0 15 1;
#X connect 7 0 13 0;
#X connect 12 0 3 0;
#X connect 13 0 6 0;
#X connect 14 0 17 0;
#X connect 15 0 4 1;
#X connect 17 0 15 0;
#X restore 394 231 pd note;
#X obj 24 305 outlet~;
#X connect 0 0 29 1;
#X connect 0 0 30 1;
#X connect 0 0 31 1;
#X connect 14 0 23 0;
#X connect 15 0 30 0;
#X connect 16 0 24 0;
#X connect 17 0 25 0;
#X connect 18 0 29 0;
#X connect 19 0 32 0;
#X connect 20 0 26 0;
#X connect 21 0 31 0;
#X connect 22 0 27 0;
#X connect 23 0 35 0;
#X connect 24 0 35 2;
#X connect 25 0 36 0;
#X connect 26 0 37 0;
#X connect 27 0 37 2;
#X connect 29 0 36 1;
#X connect 30 0 35 1;
#X connect 31 0 37 1;
#X connect 32 0 36 2;
#X connect 35 0 38 0;
#X connect 36 0 33 0;
#X connect 37 0 34 0;
#X restore 568 580 pd triad;
#X f 22;
#N canvas 0 50 450 250 (subpatch) 0;
#X array low_notes 253 float 3;
#A 0 28 28 40 40 0 0 40 40 40 40 0 0 40 40 40 40 0 0 40 40 40 40 0
0 40 40 40 40 40 0 0 28 28 40 40 0 0 40 40 40 40 0 0 40 40 40 40 0
0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 28 28 40 40 0 0 40 40 40
40 0 0 40 40 40 40 0 0 40 40 40 40 0 0 40 40 40 40 0 0 0 0 28 28 40
40 0 0 40 40 40 40 0 0 40 40 40 40 0 0 40 40 40 40 40 40 40 40 40 40
40 40 40 28 28 28 28 0 0 28 28 28 28 0 0 28 28 28 28 0 0 28 28 28 28
0 0 28 28 28 28 0 0 0 0 28 28 28 28 0 0 28 28 28 28 0 0 28 28 28 28
0 0 28 28 28 28 28 28 40 40 40 40 40 40 40 40 28 28 28 28 0 0 28 28
28 28 0 0 28 28 28 28 0 0 28 28 28 28 0 0 28 28 28 28 0 0 0 0 28 28
28 28 0 0 28 28 28 28 0 0 28 28 28 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
;
#X coords 0 127 253 -127 200 140 1 0 0;
#X restore 1361 220 graph;
#X obj 16 377 tabread low_notes;
#X floatatom 85 421 5 0 0 0 - - -;
#X obj 913 183 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X floatatom 745 283 5 0 0 0 - - -;
#N canvas 0 50 450 250 (subpatch) 0;
#X array mid_notes 253 float 3;
#A 0 40 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 40 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
40 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40
40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 40
40 40 0 0 40 40 40 40 0 0 40 40 40 40 0 0 40 40 40 40 0 0 40 40 40
40 0 0 0 0 40 40 40 40 0 0 40 40 40 40 0 0 40 40 40 40 0 0 40 40 40
40 40 40 0 0 0 0 0 0 0 0 40 40 40 40 0 0 40 40 40 40 0 0 40 40 40 40
0 0 40 40 40 40 0 0 40 40 40 40 0 0 0 0 40 40 40 40 0 0 40 40 40 40
0 0 40 40 40 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
#X coords 0 127 253 -127 200 140 1 0 0;
#X restore 1368 400 graph;
#N canvas 0 50 450 250 (subpatch) 0;
#X array high_notes 253 float 3;
#A 0 0 0 0 0 64 64 0 0 0 0 62 62 0 0 0 0 60 60 0 0 0 0 58 58 0 0 0
0 59 59 60 60 0 0 0 0 64 64 0 0 0 0 62 62 0 0 0 0 60 60 0 0 0 0 58
58 58 58 58 58 58 58 58 0 0 0 0 64 64 0 0 0 0 62 62 0 0 0 0 60 60 0
0 0 0 58 58 0 0 0 0 59 59 60 60 0 0 0 0 64 64 0 0 0 0 62 62 0 0 0 0
60 60 0 0 0 0 58 58 58 58 58 58 58 58 58 0 0 0 0 52 52 0 0 0 0 50 50
0 0 0 0 48 48 0 0 0 0 46 46 0 0 0 0 47 47 48 48 0 0 0 0 52 52 0 0 0
0 50 50 0 0 0 0 48 48 0 0 0 0 46 46 46 46 46 46 46 46 46 46 0 0 0 0
52 52 0 0 0 0 50 50 0 0 0 0 48 48 0 0 0 0 46 46 0 0 0 0 47 47 48 48
0 0 0 0 52 52 0 0 0 0 50 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
#X coords 0 127 253 -127 200 140 1 0 0;
#X restore 1362 585 graph;
#N canvas 0 50 450 250 (subpatch) 0;
#X array accompaniment 253 float 3;
#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 64
0 0 0 0 62 62 0 0 0 0 60 60 0 0 0 0 58 58 0 0 0 0 59 59 60 60 0 0 0
0 64 64 0 0 0 0 62 62 0 0 0 0 60 60 0 0 0 0 58 58 58 58 58 58 58 58
58 58 0 0 0 0 64 64 0 0 0 0 62 62 0 0 0 0 60 60 0 0 0 0 58 58 0 0 0
0 59 59 60 60 0 0 0 0 64 0 0 0 0 62 62 0 0 0 0 78 76 75 78 80 79 78
75 78 79 80 83 80 79 78 75;
#X coords 0 127 253 -127 200 140 1 0 0;
#X restore 1365 763 graph;
#X obj 752 225 f;
#X obj 799 222 + 1;
#X obj 165 373 tabread mid_notes;
#X floatatom 158 421 5 0 0 0 - - -;
#X floatatom 225 416 5 0 0 0 - - -;
#X obj 296 373 tabread high_notes;
#X obj 464 379 tabread accompaniment;
#X floatatom 469 423 5 0 0 0 - - -;
#N canvas 859 144 755 485 triad 0;
#X obj 549 124 inlet;
#X text 19 84 Note 1;
#X text 217 87 Note 2;
#X text 403 90 Note 3;
#X text 30 7 Triad class takes in the parameters of 3 note classes
and outputs audio signals from those three notes. The Triad also takes
in an override signal to stop all notes.;
#X text -31 121 MIDI #;
#X text 16 121 Override;
#X text 77 121 Volume;
#X text 161 124 MIDI #;
#X text 208 124 Override;
#X text 269 124 Volume;
#X text 347 125 MIDI #;
#X text 394 125 Override;
#X text 455 125 Volume;
#X obj -31 142 inlet;
#X obj 21 142 inlet;
#X obj 74 143 inlet;
#X obj 161 145 inlet;
#X obj 213 145 inlet;
#X obj 267 146 inlet;
#X obj 347 146 inlet;
#X obj 400 146 inlet;
#X obj 452 147 inlet;
#X floatatom -22 184 5 0 0 0 - - -;
#X floatatom 69 183 5 0 0 0 - - -;
#X floatatom 183 191 5 0 0 0 - - -;
#X floatatom 361 189 5 0 0 0 - - -;
#X floatatom 453 194 5 0 0 0 - - -;
#X text 535 90 Global Override;
#X obj 224 191 &&;
#X obj 26 185 &&;
#X obj 409 189 &&;
#X floatatom 262 193 5 0 0 0 - - -;
#X obj 200 344 outlet~;
#X obj 394 280 outlet~;
#N canvas 695 644 442 340 note 0;
#X obj 69 108 inlet;
#X text 65 81 MIDI #;
#X obj 74 200 osc~;
#X obj 74 170 mtof;
#X obj 93 233 *~;
#X text 272 83 Volume;
#X obj 261 194 / 127;
#X obj 267 111 inlet;
#X text 169 76 Override;
#X text 0 118 set pitch from MIDI and feed to dac;
#X text 317 106 normal volume handler;
#X obj 79 271 outlet~;
#X floatatom 74 136 5 0 0 0 - - -;
#X floatatom 277 151 5 0 0 0 - - -;
#X obj 175 106 inlet;
#X obj 166 180 *;
#X text 29 19 Note class takes in integer MIDI note volume of note
0-127 and boolean stop override \, or another note \, it then outputs
it's audio signal and all it's data;
#X obj 167 149 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X connect 0 0 12 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 11 0;
#X connect 6 0 15 1;
#X connect 7 0 13 0;
#X connect 12 0 3 0;
#X connect 13 0 6 0;
#X connect 14 0 17 0;
#X connect 15 0 4 1;
#X connect 17 0 15 0;
#X restore 5 225 pd note;
#N canvas 723 434 442 350 note 0;
#X obj 69 108 inlet;
#X text 65 81 MIDI #;
#X obj 74 200 osc~;
#X obj 74 170 mtof;
#X obj 93 233 *~;
#X text 272 83 Volume;
#X obj 261 194 / 127;
#X obj 267 111 inlet;
#X text 169 76 Override;
#X text 0 118 set pitch from MIDI and feed to dac;
#X text 317 106 normal volume handler;
#X obj 79 271 outlet~;
#X floatatom 74 136 5 0 0 0 - - -;
#X floatatom 277 151 5 0 0 0 - - -;
#X obj 175 106 inlet;
#X obj 166 180 *;
#X text 29 19 Note class takes in integer MIDI note volume of note
0-127 and boolean stop override \, or another note \, it then outputs
it's audio signal and all it's data;
#X obj 167 149 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X connect 0 0 12 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 11 0;
#X connect 6 0 15 1;
#X connect 7 0 13 0;
#X connect 12 0 3 0;
#X connect 13 0 6 0;
#X connect 14 0 17 0;
#X connect 15 0 4 1;
#X connect 17 0 15 0;
#X restore 200 275 pd note;
#N canvas 982 196 442 300 note 0;
#X obj 69 108 inlet;
#X text 65 81 MIDI #;
#X obj 74 200 osc~;
#X obj 74 170 mtof;
#X obj 93 233 *~;
#X text 272 83 Volume;
#X obj 261 194 / 127;
#X obj 267 111 inlet;
#X text 169 76 Override;
#X text 0 118 set pitch from MIDI and feed to dac;
#X text 317 106 normal volume handler;
#X obj 79 271 outlet~;
#X floatatom 74 136 5 0 0 0 - - -;
#X floatatom 277 151 5 0 0 0 - - -;
#X obj 175 106 inlet;
#X obj 166 180 *;
#X text 29 19 Note class takes in integer MIDI note volume of note
0-127 and boolean stop override \, or another note \, it then outputs
it's audio signal and all it's data;
#X obj 167 149 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X connect 0 0 12 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 11 0;
#X connect 6 0 15 1;
#X connect 7 0 13 0;
#X connect 12 0 3 0;
#X connect 13 0 6 0;
#X connect 14 0 17 0;
#X connect 15 0 4 1;
#X connect 17 0 15 0;
#X restore 394 231 pd note;
#X obj 24 305 outlet~;
#X connect 0 0 29 1;
#X connect 0 0 30 1;
#X connect 0 0 31 1;
#X connect 14 0 23 0;
#X connect 15 0 30 0;
#X connect 16 0 24 0;
#X connect 17 0 25 0;
#X connect 18 0 29 0;
#X connect 19 0 32 0;
#X connect 20 0 26 0;
#X connect 21 0 31 0;
#X connect 22 0 27 0;
#X connect 23 0 35 0;
#X connect 24 0 35 2;
#X connect 25 0 36 0;
#X connect 26 0 37 0;
#X connect 27 0 37 2;
#X connect 29 0 36 1;
#X connect 30 0 35 1;
#X connect 31 0 37 1;
#X connect 32 0 36 2;
#X connect 35 0 38 0;
#X connect 36 0 33 0;
#X connect 37 0 34 0;
#X restore 808 589 pd triad;
#X f 22;
#X obj 752 249 mod 253;
#X text 28 154 Whole song handled by pitch arrays and volume arrays
;
#N canvas 0 50 450 250 (subpatch) 0;
#X array low_volumes 253 float 3;
#A 0 100 100 100 100 0 0 100 100 100 100 0 0 100 100 100 100 0 0 100
100 100 100 0 0 100 100 100 100 100 0 0 100 100 100 100 0 0 100 100
100 100 0 0 100 100 100 100 0 0 100 0 100 100 100 99 98 97 96 95 94
93 92 91 100 100 100 100 0 0 100 100 100 100 0 0 100 100 100 100 0
0 100 100 100 100 0 0 100 100 100 100 0 0 0 0 100 100 100 100 0 0 100
100 100 100 0 0 100 100 100 100 0 0 100 100 100 100 100 100 100 100
100 100 100 100 100 100 100 100 100 0 0 100 100 100 100 0 0 100 100
100 100 0 0 100 100 100 100 0 0 100 100 100 100 0 0 0 0 100 100 100
100 0 0 100 100 100 100 0 0 100 100 100 100 0 0 100 100 100 100 100
100 100 100 100 100 100 100 100 100 100 100 100 100 0 0 100 100 100
100 0 0 100 100 100 100 0 0 100 100 100 100 0 0 100 100 100 100 0 0
0 0 100 100 100 100 0 0 100 100 100 100 0 0 100 100 100 100 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0;
#X coords 0 127 253 0 200 140 1 0 0;
#X restore 1700 217 graph;
#N canvas 0 50 450 250 (subpatch) 0;
#X array mid_volumes 253 float 3;
#A 0 100 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 100 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 100 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 100 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 100 100 100 100 0 0 100 100 100 100 0 0 100 100 100 100 0 0 100 100
100 100 0 0 100 100 100 100 0 0 0 0 100 100 100 100 0 0 100 100 100
100 0 0 100 100 100 100 0 0 100 100 100 100 100 100 0 0 0 0 0 0 0 0
100 100 100 100 0 0 100 100 100 100 0 0 100 100 100 100 0 0 100 100
100 100 0 0 100 100 100 100 0 0 0 0 100 100 100 100 0 0 100 100 100
100 0 0 100 100 100 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
#X coords 0 127 253 0 200 140 1 0 0;
#X restore 1702 401 graph;
#N canvas 0 50 450 250 (subpatch) 0;
#X array high_volumes 253 float 3;
#A 0 0 0 0 0 100 100 0 0 0 0 100 100 0 0 0 0 100 100 0 0 0 0 100 100
0 0 0 0 100 100 100 100 0 0 0 0 100 100 0 0 0 0 100 100 0 0 0 0 100
100 0 0 0 0 100 100 100 100 100 100 100 100 100 0 0 0 0 100 100 0 0
0 0 100 100 0 0 0 0 100 100 0 0 0 0 100 100 0 0 0 0 100 100 100 100
0 0 0 0 100 100 0 0 0 0 100 100 0 0 0 0 100 100 0 0 0 0 100 100 100
100 100 100 100 100 100 0 0 0 0 100 100 0 0 0 0 100 100 0 0 0 0 100
100 0 0 0 0 100 100 0 0 0 0 100 100 100 100 0 0 0 0 100 100 0 0 0 0
100 100 0 0 0 0 100 100 0 0 0 0 100 100 100 100 100 100 100 100 100
100 0 0 0 0 100 100 0 0 0 0 100 100 0 0 0 0 100 100 0 0 0 0 100 100
0 0 0 0 100 100 100 100 0 0 0 0 100 100 0 0 0 0 100 100 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0;
#X coords 0 127 253 0 200 140 1 0 0;
#X restore 1700 591 graph;
#N canvas 0 50 450 250 (subpatch) 0;
#X array accompaniment_volumes 253 float 3;
#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100
0 0 0 0 100 100 0 0 0 0 100 100 0 0 0 0 100 100 0 0 0 0 100 100 100
100 0 0 0 0 100 100 0 0 0 0 100 100 0 0 0 0 100 100 0 0 0 0 100 100
100 100 100 100 100 100 100 100 0 0 0 0 100 100 0 0 0 0 100 100 0 0
0 0 100 100 0 0 0 0 100 100 0 0 0 0 100 100 100 100 0 0 0 0 100 0 0
0 0 100 100 0 0 0 0 100 100 100 100 100 100 100 100 100 100 100 100
100 100 100 100;
#X coords 0 127 253 0 200 140 1 0 0;
#X restore 1701 759 graph;
#X text 907 17 *NOTE*: Run at 960 bpm or 62.5 ms delay for optimal
shreddage!;
#X obj 639 379 tabread low_volumes;
#X obj 805 379 tabread mid_volumes;
#X obj 981 380 tabread high_volumes;
#X obj 1144 379 tabread accompaniment_volumes;
#X floatatom 635 429 5 0 0 0 - - -;
#X floatatom 800 429 5 0 0 0 - - -;
#X floatatom 931 444 5 0 0 0 - - -;
#X floatatom 1064 454 5 0 0 0 - - -;
#X obj 626 467 > 0;
#X obj 768 474 > 0;
#X obj 876 488 > 0;
#X obj 1009 510 > 0;
#X text 551 30 E1m1 - At Doom's Gate;
#X text 910 219 Loop through all the arrays;
#X text 207 300 Read through the notes;
#X text 1010 302 Read through the volumes;
#X text 875 638 Output notes to triad structures;
#X text 692 90 Global Metronome;
#X text 905 105 Master off switch;
#X obj 895 149 inlet;
#X obj 728 154 inlet;
#X obj 705 720 throw~ lillij2_audio_1;
#X obj 643 200 metro 62.5;
#X obj 644 161 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 657 107 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 657 66 receive lillij2_tempo;
#X obj 1068 109 loadbang;
#X msg 1068 133 1;
#X text 1063 83 ROB - LOADBANG AT START;
#X obj 447 719 _dac~;
#X text 140 256 ROB - POPS IN THE AUDIO SOUND COOL BUT ARE JUST AN
ARTIFACT DUE TO NOT INTERPOLATING YOUR NOTE OFF VOLUMES;
#X text 1384 133 ROB - HOW DID YOU POPULATE THESE ARRAYS?;
#X obj 55 812 switch~;
#X obj 76 773 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 67 745 inlet;
#X text 48 853 ROB - ADDED THIS;
#X text 297 743 ROB - THIS WAS POTENTIALLY A REAL CLIPPING HAZZARD
;
#X connect 4 0 50 0;
#X connect 4 0 58 0;
#X connect 4 0 58 1;
#X connect 4 1 50 0;
#X connect 4 1 58 0;
#X connect 4 1 58 1;
#X connect 4 2 50 0;
#X connect 4 2 58 1;
#X connect 4 2 58 0;
#X connect 6 0 7 0;
#X connect 7 0 4 0;
#X connect 8 0 4 9;
#X connect 8 0 21 9;
#X connect 9 0 6 0;
#X connect 9 0 15 0;
#X connect 9 0 18 0;
#X connect 9 0 19 0;
#X connect 9 0 29 0;
#X connect 9 0 30 0;
#X connect 9 0 31 0;
#X connect 9 0 32 0;
#X connect 13 0 14 0;
#X connect 13 0 22 0;
#X connect 14 0 13 1;
#X connect 15 0 16 0;
#X connect 16 0 4 3;
#X connect 17 0 4 6;
#X connect 18 0 17 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 21 0 50 0;
#X connect 21 0 58 0;
#X connect 21 0 58 1;
#X connect 22 0 9 0;
#X connect 29 0 33 0;
#X connect 30 0 34 0;
#X connect 31 0 35 0;
#X connect 32 0 36 0;
#X connect 33 0 37 0;
#X connect 33 0 4 2;
#X connect 34 0 38 0;
#X connect 34 0 4 5;
#X connect 35 0 39 0;
#X connect 35 0 4 8;
#X connect 36 0 21 2;
#X connect 36 0 40 0;
#X connect 37 0 4 1;
#X connect 38 0 4 4;
#X connect 39 0 4 7;
#X connect 40 0 21 1;
#X connect 48 0 8 0;
#X connect 49 0 13 0;
#X connect 51 0 13 0;
#X connect 52 0 51 0;
#X connect 54 0 53 0;
#X connect 55 0 56 0;
#X connect 56 0 8 0;
#X connect 62 0 61 0;
#X connect 63 0 62 0;