ref: 61effea756c6bca0bef5b8593108413cc6b5b768
parent: 4e0c819f565a0d18fa926390a2cc5e704284ab43
author: cancel <cancel@cancel.fm>
date: Wed Jan 9 18:10:21 EST 2019
Fix '=' bugs, flip param order, increase limit to 16
--- a/bank.h
+++ b/bank.h
@@ -19,7 +19,7 @@
U8 bar_divisor;
} Oevent_midi;
-enum { Oevent_osc_int_count = 4 };
+enum { Oevent_osc_int_count = 16 };
typedef struct {
U8 oevent_type;
--- a/sim.c
+++ b/sim.c
@@ -370,20 +370,17 @@
END_OPERATOR
BEGIN_OPERATOR(osc)
- PORT(0, 2, IN | PARAM);
PORT(0, 1, IN | PARAM);
- Usz len = index_of(PEEK(0, 1)) + 1;
+ PORT(0, 2, IN | PARAM);
+ Usz len = index_of(PEEK(0, 2)) + 1;
if (len > Oevent_osc_int_count)
len = Oevent_osc_int_count;
for (Usz i = 0; i < len; ++i) {
- PORT(0, (Isz)i + 1, IN);
+ PORT(0, (Isz)i + 3, IN);
}
STOP_IF_NOT_BANGED;
- Glyph g = PEEK(0, 2);
+ Glyph g = PEEK(0, 1);
if (g != '.') {
- Usz len = index_of(PEEK(0, 1)) + 1;
- if (len > Oevent_osc_int_count)
- len = Oevent_osc_int_count;
U8 buff[Oevent_osc_int_count];
for (Usz i = 0; i < len; ++i) {
buff[i] = (U8)index_of(PEEK(0, (Isz)i + 3));