Browse Source

Fix '=' bugs, flip param order, increase limit to 16

master
cancel 6 years ago
parent
commit
61effea756
  1. 2
      bank.h
  2. 11
      sim.c

2
bank.h

@ -19,7 +19,7 @@ typedef struct {
U8 bar_divisor;
} Oevent_midi;
enum { Oevent_osc_int_count = 4 };
enum { Oevent_osc_int_count = 16 };
typedef struct {
U8 oevent_type;

11
sim.c

@ -370,20 +370,17 @@ BEGIN_OPERATOR(midi)
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));

Loading…
Cancel
Save