Browse Source

Add test osc midi sending

master
cancel 6 years ago
parent
commit
46416a7cf6
  1. 21
      tui_main.c

21
tui_main.c

@ -556,6 +556,7 @@ bool app_set_osc_udp_port(App_state* a, U16 port) {
void app_do_stuff(App_state* a) { void app_do_stuff(App_state* a) {
double secs_span = 60.0 / (double)a->bpm / 4.0; double secs_span = 60.0 / (double)a->bpm / 4.0;
Oosc_dev* oosc_dev = a->oosc_dev;
while (a->accum_secs > secs_span) { while (a->accum_secs > secs_span) {
a->accum_secs -= secs_span; a->accum_secs -= secs_span;
undo_history_push(&a->undo_hist, &a->field, a->tick_num); undo_history_push(&a->undo_hist, &a->field, a->tick_num);
@ -566,6 +567,26 @@ void app_do_stuff(App_state* a) {
a->piano_bits = ORCA_PIANO_BITS_NONE; a->piano_bits = ORCA_PIANO_BITS_NONE;
a->needs_remarking = true; a->needs_remarking = true;
a->is_draw_dirty = true; a->is_draw_dirty = true;
if (oosc_dev) {
Oevent const* events = a->oevent_list.buffer;
Usz oevent_count = a->oevent_list.count;
for (Usz i = 0; i < oevent_count; ++i) {
Oevent const* e = events + i;
switch ((Oevent_types)e->oevent_type) {
case Oevent_type_midi: {
Oevent_midi const* em = (Oevent_midi const*)e;
I32 ints[5];
ints[0] = em->channel;
ints[1] = em->octave;
ints[2] = em->note;
ints[3] = em->velocity;
ints[4] = em->bar_divisor;
oosc_send_int32s(oosc_dev, "/test", ints, ORCA_ARRAY_COUNTOF(ints));
} break;
}
}
}
} }
} }

Loading…
Cancel
Save