Commit Briefs

Omar Polo

alsa: fix snd_pcm_writei usage

snd_pcm_writei works in terms of audio frames, not buffer (bytes) length like snd_write does, so account for that. To do so, prepare a `bpf' (bytes per frame) multiplier in the configure stage and use it to convert back and forward between the buffer length and the number of frames. While here, also use snd_pcm_avail_update() to know how many frames may be written.



Omar Polo

add an audio implementation for ALSA

it still doesn't work correctly, audio is very distorted, but at least there's some sound.


Omar Polo

split out sndio-specific parts to audio_sndio.c

This hides the libsndio bits behind a small audio_* API for which in the future we may provide multiple implementations.



Omar Polo

retry on sio_revents failure due to EAGAIN

I've noticed that often during the suspend/resume cycle amused could die due to a "sndio hang-up" caused by an EAGAIN. This should prevent that and make sure we retry the operation.



Omar Polo

remove double ctl_sock check


Omar Polo

don't ignore ERRNO from sio_revents


Omar Polo

amusing: bind C-q to quit the window



Omar Polo

amusing: add some keybindings