Commits


implement seeking on percentage of total duration


allow to seek to the beginning with -1 if the computed seek was less than 0 it skips the seek. It's more useful to just rewind to the beginning.


use (a modified version of) kristaps' oconfigure see GitHub issue #1


player_dispatch even when poll(2) doesn't tell us to we may have some imsgs queued up for later consumption that would otherwise get delayed. This fixes for e.g. $ amused stop ; amused seek 90


handle seek during pause and stop


drop needless debug printf


implement seeking This adds the internal management of the seeking, as well as the decoder backends bits.


bits, rate and channels are unsigned match the struct sio_par


declare local functions as static


keep track of current position and total duration


improving error reporting makes the player process optionally send back a string describing the failure to provide a better and more coincise error message. This turns the syslog message(s): amused: unknown file type amused: failed to play, skipping /home/op/pics/phos.jpg into: amused: unknown file type; skipping /home/op/pics/phos.jpg


don't sio_start if we're not stopped


don't POLLIN, we only care about POLLOUT


don't change params if they're the same avoids a sio_stop in the common case of switching from song that needs similar params (such as tracks in the same album.)


inline player_init