Separate progression of state into separate FSL reads;
Added some comments;
Moved local variables within main;
Removed use of struct;
Removed unnecessary section to pause playback when buffer runs out.. this can be done much more concisely within the playback section itself.
Changed the idea of switching to resetting the buffer;
Removed some old unused sections.
Computes and sends offset over FSL;
Masks inputs on hc_new_packet to ensure well-formedness.