exit app when song ends
This commit is contained in:
2
song.yml
2
song.yml
@ -27,7 +27,7 @@ score:
|
||||
order: [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
|
||||
patterns: [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 81, 83, 84, 86], [88, 83, 84, 81, 88, 83, 84, 81, 88, 83, 84, 81, 88, 83, 84, 81], [91, 83, 84, 81, 91, 83, 84, 81, 91, 83, 84, 81, 91, 83, 84, 81], [93, 83, 84, 81, 93, 83, 84, 81, 93, 83, 84, 81, 93, 83, 84, 81], [89, 81, 83, 84, 86, 88, 89, 91, 89, 81, 83, 84, 83, 84, 86, 88], [89, 79, 81, 83, 81, 83, 84, 86, 84, 86, 88, 89, 88, 84, 86, 83], [91, 88, 89, 86, 88, 84, 86, 83, 84, 81, 83, 79, 81, 77, 79, 76], [77, 74, 76, 72, 74, 71, 72, 69, 71, 67, 69, 65, 67, 69, 71, 74], [77, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 76, 1, 77, 76], [74, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 69, 71, 72, 76], [84, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 83, 1, 1, 1], [81, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 79, 1, 1, 1], [81, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]
|
||||
rowsperpattern: 16
|
||||
length: 108
|
||||
length: 12
|
||||
patch:
|
||||
- name: 80s lead
|
||||
numvoices: 2
|
||||
|
||||
381
song_og.yml
Normal file
381
song_og.yml
Normal file
@ -0,0 +1,381 @@
|
||||
bpm: 138
|
||||
rowsperbeat: 4
|
||||
score:
|
||||
tracks:
|
||||
- numvoices: 1
|
||||
order: [-1, -1, -1, -1, 0, -1, 1, -1, 0, -1, 1, -1, 2, -1, 1, -1, 3, -1, 1, -1, 2, -1, 1, -1, 4, -1, 1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 2, -1, -1, -1, 2, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 4, -1, 2, -1, 0, -1, -1, -1, 4, -1, 2, -1, 0, -1, -1, -1, 0, -1, -1, -1, 2, -1, 2, -1, 3, 5, 2, 6, 0, -1, -1, -1, 0, -1, 1, -1, 0, -1, 1, -1, 0, -1, 1, -1]
|
||||
patterns: [[33, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [26, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [31, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 28, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 31, 1, 1, 1, 1, 1, 1, 1]]
|
||||
- numvoices: 1
|
||||
order: [-1, -1, -1, -1, 0, -1, 1, -1, 0, -1, 1, -1, 2, -1, 1, -1, 3, -1, 1, -1, 2, -1, 1, -1, 4, -1, 1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 2, -1, -1, -1, 2, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 4, -1, 2, -1, 0, -1, -1, -1, 4, -1, 2, -1, 0, -1, -1, -1, 0, -1, -1, -1, 5, -1, 5, -1, 6, 7, 5, 8, 9, -1, -1, -1, 9, -1, 1, -1, 9, -1, 1, -1, 0, -1, 1, -1]
|
||||
patterns: [[45, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [41, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [38, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [43, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [53, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [50, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 52, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 55, 1, 1, 1, 1, 1, 1, 1], [57, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]
|
||||
- numvoices: 1
|
||||
order: [-1, -1, -1, -1, 0, -1, 1, -1, 2, -1, 1, -1, 3, -1, 1, -1, 4, -1, 1, -1, 3, -1, 1, -1, 5, -1, 1, -1, 6, 7, 6, 7, 6, 7, 6, 8, 6, 7, 6, 7, 6, 7, 6, 7, 9, 10, 9, 10, 9, 10, 9, 10, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 5, -1, 3, -1, 6, 7, 6, 7, 11, 12, 9, 10, 6, 7, 6, 13, 6, 7, 6, 7, 9, 10, 9, 14, 15, 16, 9, 17, 6, 6, 6, 6, 0, -1, 1, -1, 0, -1, 1, -1, 2, -1, 1, -1]
|
||||
patterns: [[57, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [45, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [53, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [50, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [55, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [57, 0, 57, 0, 57, 0, 57, 0, 57, 0, 57, 0, 57, 0, 57, 0], [57, 0, 57, 0, 57, 0, 57, 0, 57, 0, 57, 0, 67, 0, 69, 0], [57, 0, 57, 0, 57, 0, 57, 0, 64, 1, 62, 1, 60, 1, 55, 1], [53, 0, 53, 0, 53, 0, 53, 0, 53, 0, 53, 0, 53, 0, 53, 0], [53, 0, 53, 0, 53, 0, 53, 0, 53, 0, 53, 0, 63, 0, 65, 0], [55, 0, 55, 0, 55, 0, 55, 0, 55, 0, 55, 0, 55, 0, 55, 0], [55, 0, 55, 0, 55, 0, 55, 0, 55, 0, 55, 0, 65, 0, 67, 0], [57, 0, 57, 0, 57, 0, 57, 0, 57, 0, 57, 0, 69, 0, 57, 0], [53, 0, 53, 0, 53, 0, 53, 0, 53, 0, 53, 0, 53, 0, 65, 0], [50, 0, 50, 0, 50, 0, 50, 0, 50, 0, 50, 0, 50, 0, 50, 0], [50, 0, 50, 0, 50, 0, 50, 0, 52, 0, 52, 0, 52, 0, 52, 0], [53, 0, 53, 0, 53, 0, 53, 0, 55, 0, 55, 0, 55, 0, 55, 0]]
|
||||
- numvoices: 1
|
||||
order: [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
|
||||
patterns: [[60, 1, 1, 1, 1, 1, 1, 1, 60, 1, 1, 1, 1, 1, 1, 1], [60, 1, 1, 1, 1, 1, 1, 1, 1, 1, 60, 1, 1, 1, 60, 1], [60, 1, 1, 1, 60, 1, 1, 1, 60, 1, 1, 1, 60, 1, 1, 1]]
|
||||
- numvoices: 1
|
||||
order: [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
|
||||
patterns: [[1, 1, 1, 1, 1, 1, 1, 1, 72, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 72, 1, 1, 1, 72, 1, 1, 1], [1, 1, 1, 1, 72, 1, 1, 1, 1, 1, 1, 1, 72, 1, 1, 1]]
|
||||
- numvoices: 1
|
||||
order: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 4, -1]
|
||||
patterns: [[88, 0, 83, 0, 84, 0, 81, 0, 88, 0, 83, 0, 84, 0, 81, 0], [91, 0, 83, 0, 84, 0, 81, 0, 91, 0, 83, 0, 84, 0, 81, 0], [89, 0, 83, 0, 84, 0, 81, 0, 89, 0, 83, 0, 84, 0, 81, 0], [45, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]
|
||||
- numvoices: 1
|
||||
order: [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, -1, 2, 3, 4, 5, -1, 0, 6, -1, -1, 0, 6, -1, 7, 0, -1, -1, -1, 8, -1, -1, 9, -1, -1, -1, -1, 10, 7, 11, 12, 0, -1, -1, 13, 10, 7, 11, 7, 8, -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
|
||||
patterns: [[83, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 84, 1, 81, 1], [1, 1, 1, 1, 1, 1, 1, 1, 72, 1, 74, 1, 76, 1, 1, 1], [71, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 72, 1, 1, 1], [69, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 84, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 86, 1, 1, 1, 1, 1, 1, 1], [81, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [88, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [84, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 83, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1]]
|
||||
- numvoices: 1
|
||||
order: [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
|
||||
patterns: [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 81, 83, 84, 86], [88, 83, 84, 81, 88, 83, 84, 81, 88, 83, 84, 81, 88, 83, 84, 81], [91, 83, 84, 81, 91, 83, 84, 81, 91, 83, 84, 81, 91, 83, 84, 81], [93, 83, 84, 81, 93, 83, 84, 81, 93, 83, 84, 81, 93, 83, 84, 81], [89, 81, 83, 84, 86, 88, 89, 91, 89, 81, 83, 84, 83, 84, 86, 88], [89, 79, 81, 83, 81, 83, 84, 86, 84, 86, 88, 89, 88, 84, 86, 83], [91, 88, 89, 86, 88, 84, 86, 83, 84, 81, 83, 79, 81, 77, 79, 76], [77, 74, 76, 72, 74, 71, 72, 69, 71, 67, 69, 65, 67, 69, 71, 74], [77, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 76, 1, 77, 76], [74, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 69, 71, 72, 76], [84, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 83, 1, 1, 1], [81, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 79, 1, 1, 1], [81, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]
|
||||
rowsperpattern: 16
|
||||
length: 108
|
||||
patch:
|
||||
- name: 80s lead
|
||||
numvoices: 2
|
||||
units:
|
||||
- type: oscillator
|
||||
id: 1089
|
||||
parameters: {color: 128, detune: 80, gain: 128, lfo: 0, phase: 0, shape: 64, stereo: 1, transpose: 76, type: 1, unison: 3}
|
||||
- type: oscillator
|
||||
id: 1090
|
||||
parameters: {color: 128, detune: 57, gain: 128, lfo: 0, phase: 0, shape: 64, stereo: 1, transpose: 64, type: 1, unison: 2}
|
||||
- type: addp
|
||||
id: 1091
|
||||
parameters: {stereo: 1}
|
||||
- type: envelope
|
||||
id: 1092
|
||||
parameters: {attack: 37, decay: 66, gain: 90, release: 54, stereo: 1, sustain: 81}
|
||||
- type: mulp
|
||||
id: 1098
|
||||
parameters: {stereo: 1}
|
||||
- type: pan
|
||||
id: 1096
|
||||
parameters: {panning: 60, stereo: 1}
|
||||
- type: filter
|
||||
id: 1108
|
||||
parameters: {bandpass: 0, frequency: 84, highpass: 0, lowpass: 1, negbandpass: 1, neghighpass: 0, resonance: 128, stereo: 1}
|
||||
- type: gain
|
||||
id: 1119
|
||||
parameters: {gain: 64, stereo: 1}
|
||||
- type: filter
|
||||
id: 1133
|
||||
parameters: {bandpass: 0, frequency: 10, highpass: 0, lowpass: 1, negbandpass: 0, neghighpass: 1, resonance: 88, stereo: 1}
|
||||
- type: sync
|
||||
id: 1141
|
||||
parameters: {}
|
||||
- type: outaux
|
||||
id: 1097
|
||||
parameters: {auxgain: 34, outgain: 34, stereo: 1}
|
||||
- name: 80s bass
|
||||
numvoices: 1
|
||||
units:
|
||||
- type: oscillator
|
||||
id: 3
|
||||
parameters: {color: 128, detune: 64, gain: 128, lfo: 0, phase: 64, shape: 64, stereo: 1, transpose: 64, type: 1, unison: 0}
|
||||
- type: oscillator
|
||||
id: 4
|
||||
parameters: {color: 128, detune: 76, gain: 128, lfo: 0, phase: 30, shape: 64, stereo: 1, transpose: 52, type: 1, unison: 1}
|
||||
- type: addp
|
||||
id: 1084
|
||||
parameters: {stereo: 1}
|
||||
- type: envelope
|
||||
id: 1085
|
||||
parameters: {attack: 0, decay: 69, gain: 100, release: 68, stereo: 1, sustain: 50}
|
||||
- type: send
|
||||
id: 1088
|
||||
parameters: {amount: 100, port: 0, sendpop: 0, stereo: 1, target: 1087, voice: 0}
|
||||
- type: mulp
|
||||
id: 1086
|
||||
parameters: {stereo: 1}
|
||||
- type: distort
|
||||
id: 1107
|
||||
parameters: {drive: 112, stereo: 1}
|
||||
- type: filter
|
||||
id: 1087
|
||||
parameters: {bandpass: 0, frequency: 30, highpass: 1, lowpass: 1, negbandpass: 1, neghighpass: 0, resonance: 40, stereo: 1}
|
||||
- type: pan
|
||||
id: 284
|
||||
parameters: {panning: 64, stereo: 1}
|
||||
- type: gain
|
||||
id: 1121
|
||||
parameters: {gain: 110, stereo: 1}
|
||||
- type: outaux
|
||||
id: 15
|
||||
parameters: {auxgain: 30, outgain: 30, stereo: 1}
|
||||
- name: Kick
|
||||
comment: 'Suggested note: C-3'
|
||||
numvoices: 1
|
||||
units:
|
||||
- type: envelope
|
||||
id: 261
|
||||
parameters: {attack: 0, decay: 49, gain: 128, release: 0, stereo: 0, sustain: 0}
|
||||
- type: noise
|
||||
id: 269
|
||||
parameters: {gain: 128, shape: 74, stereo: 0}
|
||||
- type: send
|
||||
id: 268
|
||||
parameters: {amount: 96, port: 0, sendpop: 1, stereo: 0, target: 262, voice: 0}
|
||||
- type: oscillator
|
||||
id: 262
|
||||
parameters: {color: 128, detune: 64, gain: 128, phase: 0, shape: 64, stereo: 0, transpose: 57, type: 0, unison: 0}
|
||||
- type: filter
|
||||
id: 281
|
||||
parameters: {bandpass: 0, frequency: 91, highpass: 0, lowpass: 0, negbandpass: 1, neghighpass: 1, resonance: 98, stereo: 0}
|
||||
- type: mulp
|
||||
id: 263
|
||||
parameters: {stereo: 0}
|
||||
- type: envelope
|
||||
id: 280
|
||||
parameters: {attack: 0, decay: 64, gain: 80, release: 64, stereo: 0, sustain: 0}
|
||||
- type: send
|
||||
id: 1110
|
||||
parameters: {amount: 75, port: 0, sendpop: 1, stereo: 0, target: 277, voice: 0}
|
||||
- type: noise
|
||||
id: 275
|
||||
parameters: {gain: 72, shape: 24, stereo: 0}
|
||||
- type: send
|
||||
id: 276
|
||||
parameters: {amount: 84, port: 0, sendpop: 1, stereo: 0, target: 277, voice: 0}
|
||||
- type: envelope
|
||||
id: 274
|
||||
parameters: {attack: 45, decay: 70, gain: 128, release: 0, stereo: 0, sustain: 0}
|
||||
- type: send
|
||||
id: 1118
|
||||
parameters: {amount: 0, port: 0, sendpop: 0, stereo: 0, target: 1119, voice: 0}
|
||||
- type: send
|
||||
id: 1122
|
||||
parameters: {amount: 0, port: 0, sendpop: 0, stereo: 0, target: 1121, voice: 0}
|
||||
- type: send
|
||||
id: 1124
|
||||
parameters: {amount: 32, port: 0, sendpop: 0, stereo: 0, target: 1123, voice: 0}
|
||||
- type: oscillator
|
||||
id: 277
|
||||
parameters: {color: 128, detune: 64, gain: 128, phase: 0, shape: 64, stereo: 0, transpose: 45, type: 0}
|
||||
- type: mulp
|
||||
id: 279
|
||||
parameters: {stereo: 0}
|
||||
- type: addp
|
||||
id: 271
|
||||
parameters: {stereo: 0}
|
||||
- type: pan
|
||||
id: 294
|
||||
parameters: {panning: 64, stereo: 0}
|
||||
- type: filter
|
||||
id: 1132
|
||||
parameters: {bandpass: 0, frequency: 11, highpass: 0, lowpass: 1, negbandpass: 0, neghighpass: 1, resonance: 128, stereo: 1}
|
||||
- type: outaux
|
||||
id: 266
|
||||
parameters: {auxgain: 14, outgain: 50, stereo: 1}
|
||||
- type: oscillator
|
||||
id: 1134
|
||||
parameters: {color: 64, detune: 64, gain: 128, lfo: 1, phase: 0, shape: 64, stereo: 0, transpose: 52, type: 0}
|
||||
- type: sync
|
||||
id: 1135
|
||||
parameters: {}
|
||||
- type: pop
|
||||
id: 1136
|
||||
parameters: {stereo: 0}
|
||||
- name: snare edm 3
|
||||
comment: 'Suggested range: E-4'
|
||||
numvoices: 1
|
||||
units:
|
||||
- type: envelope
|
||||
id: 217
|
||||
parameters: {attack: 0, decay: 67, gain: 29, release: 0, stereo: 0, sustain: 0}
|
||||
- type: oscillator
|
||||
id: 218
|
||||
parameters: {color: 128, detune: 64, gain: 80, lfo: 0, phase: 0, shape: 64, stereo: 0, transpose: 57, type: 0, unison: 0}
|
||||
- type: mulp
|
||||
id: 221
|
||||
parameters: {stereo: 0}
|
||||
- type: envelope
|
||||
id: 222
|
||||
parameters: {attack: 0, decay: 69, gain: 54, release: 0, stereo: 0, sustain: 0}
|
||||
- type: noise
|
||||
id: 223
|
||||
parameters: {gain: 31, shape: 14, stereo: 0}
|
||||
- type: mulp
|
||||
id: 224
|
||||
parameters: {stereo: 0}
|
||||
- type: filter
|
||||
id: 201
|
||||
parameters: {bandpass: 0, frequency: 78, highpass: 0, lowpass: 1, negbandpass: 0, neghighpass: 1, resonance: 127, stereo: 0}
|
||||
- type: filter
|
||||
id: 225
|
||||
parameters: {bandpass: 0, frequency: 122, highpass: 0, lowpass: 1, negbandpass: 0, neghighpass: 0, resonance: 112, stereo: 0}
|
||||
- type: addp
|
||||
id: 226
|
||||
parameters: {stereo: 0}
|
||||
- type: distort
|
||||
id: 338
|
||||
parameters: {drive: 108, stereo: 0}
|
||||
- type: pan
|
||||
id: 231
|
||||
parameters: {panning: 63, stereo: 0}
|
||||
- type: outaux
|
||||
id: 232
|
||||
parameters: {auxgain: 52, outgain: 58, stereo: 1}
|
||||
- type: envelope
|
||||
id: 233
|
||||
parameters: {attack: 37, decay: 47, gain: 128, release: 0, stereo: 0, sustain: 0}
|
||||
- type: send
|
||||
id: 234
|
||||
parameters: {amount: 69, port: 0, sendpop: 1, target: 218}
|
||||
- type: envelope
|
||||
id: 235
|
||||
parameters: {attack: 53, decay: 58, gain: 128, release: 0, stereo: 0, sustain: 0}
|
||||
- type: send
|
||||
id: 236
|
||||
parameters: {amount: 0, port: 0, sendpop: 1, target: 201}
|
||||
- type: envelope
|
||||
id: 237
|
||||
parameters: {attack: 53, decay: 73, gain: 128, release: 0, stereo: 0, sustain: 0}
|
||||
- type: send
|
||||
id: 238
|
||||
parameters: {amount: 32, port: 0, sendpop: 1, target: 202}
|
||||
- name: SuperSaw 4
|
||||
comment: Automate filter frequency for the classic trance sound
|
||||
numvoices: 1
|
||||
units:
|
||||
- type: envelope
|
||||
id: 1109
|
||||
parameters: {attack: 0, decay: 0, gain: 64, release: 64, stereo: 0, sustain: 85}
|
||||
- type: oscillator
|
||||
id: 1099
|
||||
parameters: {color: 128, detune: 96, gain: 64, phase: 64, shape: 64, stereo: 0, transpose: 64, type: 1, unison: 3}
|
||||
- type: oscillator
|
||||
id: 12
|
||||
parameters: {color: 128, detune: 77, gain: 80, lfo: 0, phase: 64, shape: 64, stereo: 0, transpose: 64, type: 1, unison: 3}
|
||||
- type: addp
|
||||
id: 13
|
||||
parameters: {stereo: 0}
|
||||
- type: mulp
|
||||
id: 16
|
||||
parameters: {stereo: 0}
|
||||
- type: envelope
|
||||
id: 17
|
||||
parameters: {attack: 18, decay: 67, gain: 64, release: 64, stereo: 0, sustain: 99}
|
||||
- type: oscillator
|
||||
id: 18
|
||||
parameters: {color: 128, detune: 46, gain: 81, phase: 64, shape: 64, stereo: 0, transpose: 64, type: 1, unison: 3}
|
||||
- type: oscillator
|
||||
id: 19
|
||||
parameters: {color: 128, detune: 38, gain: 76, lfo: 0, phase: 64, shape: 64, stereo: 0, transpose: 64, type: 1, unison: 3}
|
||||
- type: addp
|
||||
id: 20
|
||||
parameters: {stereo: 0}
|
||||
- type: mulp
|
||||
id: 23
|
||||
parameters: {stereo: 0}
|
||||
- type: gain
|
||||
id: 1123
|
||||
parameters: {gain: 120, stereo: 1}
|
||||
- type: delay
|
||||
id: 24
|
||||
parameters: {damp: 0, dry: 0, feedback: 0, notetracking: 0, pregain: 128, stereo: 0}
|
||||
varargs: [420]
|
||||
- type: delay
|
||||
id: 29
|
||||
parameters: {damp: 0, dry: 71, feedback: 32, notetracking: 2, pregain: 71, stereo: 1}
|
||||
varargs: [32, 36]
|
||||
- type: loadnote
|
||||
id: 1140
|
||||
parameters: {stereo: 0}
|
||||
- type: sync
|
||||
id: 1138
|
||||
parameters: {}
|
||||
- type: pop
|
||||
id: 1139
|
||||
parameters: {stereo: 0}
|
||||
- type: outaux
|
||||
id: 30
|
||||
parameters: {auxgain: 23, outgain: 25, stereo: 1}
|
||||
- name: pad
|
||||
numvoices: 1
|
||||
units:
|
||||
- type: envelope
|
||||
id: 1
|
||||
parameters: {attack: 72, decay: 96, gain: 128, release: 88, stereo: 0, sustain: 96}
|
||||
- type: send
|
||||
id: 2
|
||||
parameters: {amount: 64, port: 4, sendpop: 0, target: 1}
|
||||
- type: oscillator
|
||||
id: 1125
|
||||
parameters: {color: 80, detune: 60, gain: 128, lfo: 0, phase: 32, shape: 64, stereo: 0, transpose: 64, type: 2}
|
||||
- type: oscillator
|
||||
id: 1126
|
||||
parameters: {color: 96, detune: 72, gain: 128, lfo: 0, phase: 32, shape: 64, stereo: 0, transpose: 64, type: 1}
|
||||
- type: oscillator
|
||||
id: 5
|
||||
parameters: {color: 128, detune: 64, gain: 128, lfo: 1, phase: 0, shape: 90, stereo: 0, transpose: 32, type: 0}
|
||||
- type: send
|
||||
id: 6
|
||||
parameters: {amount: 68, port: 1, sendpop: 0, target: 1125}
|
||||
- type: send
|
||||
id: 78
|
||||
parameters: {amount: 61, port: 1, sendpop: 1, target: 1126}
|
||||
- type: addp
|
||||
id: 80
|
||||
parameters: {stereo: 0}
|
||||
- type: mulp
|
||||
id: 10
|
||||
parameters: {stereo: 0}
|
||||
- type: filter
|
||||
id: 11
|
||||
parameters: {bandpass: 0, frequency: 26, highpass: 0, lowpass: 1, negbandpass: 0, neghighpass: 1, resonance: 128, stereo: 0}
|
||||
- type: filter
|
||||
id: 1127
|
||||
parameters: {bandpass: 0, frequency: 64, highpass: 0, lowpass: 1, negbandpass: 0, neghighpass: 0, resonance: 64, stereo: 0}
|
||||
- type: distort
|
||||
id: 1128
|
||||
parameters: {drive: 109, stereo: 0}
|
||||
- type: pan
|
||||
id: 1129
|
||||
parameters: {panning: 64, stereo: 0}
|
||||
- type: delay
|
||||
id: 1130
|
||||
parameters: {damp: 64, dry: 128, feedback: 96, notetracking: 2, pregain: 96, stereo: 1}
|
||||
varargs: [24, 48]
|
||||
- type: outaux
|
||||
id: 1131
|
||||
parameters: {auxgain: 15, outgain: 15, stereo: 1}
|
||||
- name: HappyLead
|
||||
numvoices: 1
|
||||
units:
|
||||
- type: oscillator
|
||||
id: 164
|
||||
parameters: {color: 84, detune: 62, gain: 128, lfo: 0, phase: 0, shape: 64, stereo: 0, transpose: 64, type: 1, unison: 0}
|
||||
- type: oscillator
|
||||
id: 165
|
||||
parameters: {color: 128, detune: 62, gain: 92, lfo: 0, phase: 0, shape: 64, stereo: 0, transpose: 64, type: 1, unison: 2}
|
||||
- type: addp
|
||||
id: 166
|
||||
parameters: {stereo: 0}
|
||||
- type: envelope
|
||||
id: 163
|
||||
parameters: {attack: 44, decay: 64, gain: 72, release: 64, stereo: 0, sustain: 92}
|
||||
- type: mulp
|
||||
id: 167
|
||||
parameters: {stereo: 0}
|
||||
- type: pan
|
||||
id: 168
|
||||
parameters: {panning: 60, stereo: 0}
|
||||
- type: delay
|
||||
id: 169
|
||||
parameters: {damp: 0, dry: 64, feedback: 64, notetracking: 0, pregain: 54, stereo: 1}
|
||||
varargs: [12550, 24402, 21265, 32419]
|
||||
- type: outaux
|
||||
id: 172
|
||||
parameters: {auxgain: 64, outgain: 64, stereo: 1}
|
||||
- name: Global
|
||||
numvoices: 1
|
||||
units:
|
||||
- type: in
|
||||
id: 7
|
||||
parameters: {channel: 2, stereo: 1}
|
||||
- type: delay
|
||||
id: 8
|
||||
parameters: {damp: 25, dry: 0, feedback: 120, notetracking: 0, pregain: 40, stereo: 1}
|
||||
varargs: [1116, 1188, 1276, 1356, 1422, 1492, 1556, 1618, 1140, 1212, 1300, 1380, 1446, 1516, 1580, 1642]
|
||||
- type: out
|
||||
id: 9
|
||||
parameters: {gain: 64, stereo: 1}
|
||||
25
src/main.cpp
25
src/main.cpp
@ -6,7 +6,7 @@
|
||||
#define BREAK_COMPATIBILITY 0
|
||||
#else
|
||||
#define OPENGL_DEBUG 0
|
||||
#define FULLSCREEN 1
|
||||
#define FULLSCREEN 0
|
||||
#define DESPERATE 0
|
||||
#define BREAK_COMPATIBILITY 0
|
||||
#endif
|
||||
@ -44,6 +44,7 @@ void entrypoint(void)
|
||||
|
||||
int __cdecl main(int argc, char* argv[])
|
||||
#endif
|
||||
|
||||
{
|
||||
// initialize window
|
||||
#if FULLSCREEN
|
||||
@ -59,7 +60,8 @@ int __cdecl main(int argc, char* argv[])
|
||||
// you can create a pseudo fullscreen window by similarly enabling the WS_MAXIMIZE flag as above
|
||||
// in which case you can replace the resolution parameters with 0s and save a couple bytes
|
||||
// this only works if the resolution is set to the display device's native resolution
|
||||
HDC hDC = GetDC(CreateWindow((LPCSTR)0xC018, 0, WS_POPUP | WS_VISIBLE, 0, 0, XRES, YRES, 0, 0, 0, 0));
|
||||
HWND window = CreateWindow((LPCSTR)0xC018, 0, WS_POPUP | WS_VISIBLE, 0, 0, XRES, YRES, 0, 0, 0, 0);
|
||||
HDC hDC = GetDC(window);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -105,19 +107,15 @@ int __cdecl main(int argc, char* argv[])
|
||||
#endif
|
||||
|
||||
long playCursor = 0;
|
||||
long lastPlayCursor = -1;
|
||||
// main loop
|
||||
direct_sound_buffer->Play(0, 0, 0);
|
||||
|
||||
do
|
||||
{
|
||||
|
||||
direct_sound_buffer->GetCurrentPosition((DWORD*)&playCursor, NULL);
|
||||
float syncs[1 + SU_NUMSYNCS];
|
||||
|
||||
|
||||
#ifdef EDITOR_CONTROLS
|
||||
editor.beginFrame(timeGetTime());
|
||||
#endif
|
||||
|
||||
#if !(DESPERATE)
|
||||
// do minimal message handling so windows doesn't kill your application
|
||||
// not always strictly necessary but increases compatibility and reliability a lot
|
||||
@ -187,12 +185,11 @@ int __cdecl main(int argc, char* argv[])
|
||||
editor.printFrameStatistics();
|
||||
editor.updateShaders(&pidMain, &pidPost);
|
||||
#endif
|
||||
|
||||
} while(!GetAsyncKeyState(VK_ESCAPE)
|
||||
#if USE_AUDIO
|
||||
&& playCursor < SU_LENGTH_IN_SAMPLES * 2 * sizeof(SUsample)
|
||||
#endif
|
||||
);
|
||||
if (playCursor < lastPlayCursor) {
|
||||
break;
|
||||
}
|
||||
lastPlayCursor = playCursor;
|
||||
} while(!GetAsyncKeyState(VK_ESCAPE));
|
||||
|
||||
ExitProcess(0);
|
||||
}
|
||||
|
||||
@ -3,14 +3,14 @@
|
||||
#define SU_RENDER_H
|
||||
|
||||
#define SU_CHANNEL_COUNT 2
|
||||
#define SU_LENGTH_IN_SAMPLES 8282304
|
||||
#define SU_LENGTH_IN_SAMPLES 920256
|
||||
#define SU_BUFFER_LENGTH (SU_LENGTH_IN_SAMPLES*SU_CHANNEL_COUNT)
|
||||
|
||||
#define SU_SAMPLE_RATE 44100
|
||||
#define SU_BPM 138
|
||||
#define SU_ROWS_PER_BEAT 4
|
||||
#define SU_ROWS_PER_PATTERN 16
|
||||
#define SU_LENGTH_IN_PATTERNS 108
|
||||
#define SU_LENGTH_IN_PATTERNS 12
|
||||
#define SU_LENGTH_IN_ROWS (SU_LENGTH_IN_PATTERNS*SU_PATTERN_SIZE)
|
||||
#define SU_SAMPLES_PER_ROW (SU_SAMPLE_RATE*60/(SU_BPM*SU_ROWS_PER_BEAT))
|
||||
#define SU_NUMSYNCS 4
|
||||
|
||||
Reference in New Issue
Block a user