while (!errors) { check_still_connected (); wait_for_next_event (); mark_awake_time (); switch (event_type) { case Process: mark_start_time (); if (process_callback) { process_callback(); } mark_end_time (); start_next_client (); break; case XRun: if (xrun_callback) { xrun_callback (); } break; . . . }