diff --git a/tui_main.c b/tui_main.c index a7ab605..77fb461 100644 --- a/tui_main.c +++ b/tui_main.c @@ -869,6 +869,14 @@ void send_control_message(Oosc_dev* oosc_dev, char const* osc_address) { oosc_send_int32s(oosc_dev, osc_address, NULL, 0); } +void send_num_message(Oosc_dev* oosc_dev, char const* osc_address, I32 num) { + if (!oosc_dev) + return; + I32 nums[1]; + nums[0] = num; + oosc_send_int32s(oosc_dev, osc_address, nums, ORCA_ARRAY_COUNTOF(nums)); +} + void apply_time_to_sustained_notes(Oosc_dev* oosc_dev, Midi_mode const* midi_mode, double time_elapsed, @@ -1201,6 +1209,7 @@ void ged_adjust_bpm(Ged* a, Isz delta_bpm) { if ((Usz)new_bpm != a->bpm) { a->bpm = (Usz)new_bpm; a->is_draw_dirty = true; + send_num_message(a->oosc_dev, "/orca/bpm", (I32)new_bpm); } } @@ -2037,6 +2046,9 @@ int main(int argc, char** argv) { wtimeout(stdscr, 0); int cur_timeout = 0; + // Send initial BPM + send_num_message(ged_state.oosc_dev, "/orca/bpm", (I32)ged_state.bpm); + for (;;) { switch (key) { case ERR: {