'Deej' Audio Controller

'Deej' is a piece of open-source software written by GitHub user omriharel
https://github.com/omriharel/deej
Its purpose is to allow a user to control the volume of individual applications in Windows over a serial interface, usually through USB. The application each channel controls can be configured in a client-side YAML file.
​
By using rotary encoders, which are read into the microcontroller over 2 interrupt lines, I am able to control the volume in user-defined increments. Due to the encoders being incremental as oppose to absolute, the values of each channel are saved to EEPROM after a user-configurable delay after detecting inactivity to avoid unnecessary wear of the limited-write-cycle EEPROM.
​
The user can interrupt the stream of channel volumes with input from a serial terminal in order to configure a number of parameters through a list of commands.

