#pragma once #include "protocol.h" #include #include typedef struct { uint8_t vol; uint8_t peak; char name[AUSIO_NAME_CHARS + 1]; } mixer_session_t; typedef struct { bool host_alive; uint8_t session_count; uint8_t selected; uint8_t master_vol; uint8_t master_peak; uint8_t page_start; uint8_t n_visible; mixer_session_t visible[AUSIO_MAX_VISIBLE]; bool ui_dirty; } mixer_state_t; void hid_mixer_init(void); void hid_mixer_task(void); mixer_state_t *hid_mixer_state(void); /* Queue deltas/buttons/pot for next input report */ void hid_mixer_add_enc1(int8_t delta); void hid_mixer_add_enc2(int8_t delta); void hid_mixer_set_e1_sw(bool pressed); void hid_mixer_set_e2_sw(bool pressed); void hid_mixer_set_pot(uint8_t pot_0_100); bool hid_mixer_mounted(void);