| ... | ... |
@@ -16,7 +16,6 @@ |
| 16 | 16 |
|
| 17 | 17 |
|0000 |
| 18 | 18 |
|
| 19 |
-@progress0 $1 |
|
| 20 | 19 |
@progress1 $1 |
| 21 | 20 |
@progress2 $1 |
| 22 | 21 |
@progress3 $1 |
| ... | ... |
@@ -31,6 +30,7 @@ |
| 31 | 30 |
( vectors ) |
| 32 | 31 |
;on-frame .Screen/vector DEO2 |
| 33 | 32 |
;on-button .Controller/vector DEO2 |
| 33 |
+ #0000 .Audio1/vector DEO2 |
|
| 34 | 34 |
;on-audio1 .Audio1/vector DEO2 |
| 35 | 35 |
;on-audio2 .Audio2/vector DEO2 |
| 36 | 36 |
;on-audio3 .Audio3/vector DEO2 |
| ... | ... |
@@ -44,7 +44,6 @@ |
| 44 | 44 |
#f0 .Audio0/decay DEO |
| 45 | 45 |
#ff .Audio0/sustain DEO |
| 46 | 46 |
#1e .Audio0/release DEO |
| 47 |
- #00e8 .Audio0/duration DEO2 |
|
| 48 | 47 |
|
| 49 | 48 |
;sine .Audio1/addr DEO2 |
| 50 | 49 |
#0054 .Audio1/length DEO2 |
| ... | ... |
@@ -71,7 +70,7 @@ |
| 71 | 70 |
#f0 .Audio3/decay DEO |
| 72 | 71 |
#00 .Audio3/sustain DEO |
| 73 | 72 |
#1e .Audio3/release DEO |
| 74 |
- #03e0 .Audio3/duration DEO2 |
|
| 73 |
+ #00e8 .Audio3/duration DEO2 |
|
| 75 | 74 |
BRK |
| 76 | 75 |
|
| 77 | 76 |
@on-button ( -> ) |
| ... | ... |
@@ -84,16 +83,6 @@ BRK |
| 84 | 83 |
#3c .Audio0/pitch DEO |
| 85 | 84 |
BRK |
| 86 | 85 |
|
| 87 |
-@on-audio0 ( -> ) |
|
| 88 |
- ( load next note ) |
|
| 89 |
- .progress0 LDZ |
|
| 90 |
- ( increment note counter ) |
|
| 91 |
- DUP INC #1f AND .progress0 STZ |
|
| 92 |
- ( play note ) |
|
| 93 |
- GET-NOTE |
|
| 94 |
- .Audio0/pitch DEO |
|
| 95 |
-BRK |
|
| 96 |
- |
|
| 97 | 86 |
@on-audio1 ( -> ) |
| 98 | 87 |
( load next note ) |
| 99 | 88 |
.progress1 LDZ |
| ... | ... |
@@ -2612,19 +2612,16 @@ audio_handler(void *ctx, Uint8 *out_stream, int len) {
|
| 2612 | 2612 |
Uint8 *addr = &u->dev[device]; |
| 2613 | 2613 |
if (channel[n].duration <= 0 && PEEK2(addr)) {
|
| 2614 | 2614 |
uxn_eval(u, PEEK2(addr)); |
| 2615 |
- // printf("EVAL: %x\n", device);
|
|
| 2616 |
- // printf("ADDR: %x\n", PEEK2(addr));
|
|
| 2617 |
- // printf("----\n");
|
|
| 2618 | 2615 |
} |
| 2619 | 2616 |
channel[n].duration -= SOUND_TIMER; |
| 2620 | 2617 |
|
| 2621 | 2618 |
int x = 0; |
| 2622 | 2619 |
if (channel[n].xfade) {
|
| 2623 |
- float delta = 1.0f / (XFADE_SAMPLES); |
|
| 2624 |
- while (x < XFADE_SAMPLES * 2 && x < len / 2) {
|
|
| 2620 |
+ float delta = 1.0f / (XFADE_SAMPLES * 2); |
|
| 2621 |
+ while (x < XFADE_SAMPLES * 2) {
|
|
| 2625 | 2622 |
float alpha = x * delta; |
| 2626 | 2623 |
float beta = 1.0f - alpha; |
| 2627 |
- Sint16 next_a = next_a = next_sample(&channel[n].next_sample); |
|
| 2624 |
+ Sint16 next_a = next_sample(&channel[n].next_sample); |
|
| 2628 | 2625 |
Sint16 next_b = 0; |
| 2629 | 2626 |
if (channel[n].sample.data != 0) {
|
| 2630 | 2627 |
next_b = next_sample(&channel[n].sample); |
| ... | ... |
@@ -2637,7 +2634,6 @@ audio_handler(void *ctx, Uint8 *out_stream, int len) {
|
| 2637 | 2634 |
channel[n].xfade = false; |
| 2638 | 2635 |
} |
| 2639 | 2636 |
Sample *sample = &channel[n].sample; |
| 2640 |
- int direction = 1; |
|
| 2641 | 2637 |
while (x < len / 2) {
|
| 2642 | 2638 |
if (sample->data == 0) {
|
| 2643 | 2639 |
break; |