I've been playing with Rotary Encoders and ALSA.
Sample code for adjusting the ALSA volume using such a rotary encoder is available on https://github.com/iqaudio/tools
More work may be needed as the process takes around 7% of the Raspberry Pi's CPU.
gordon@iqaudio.com