Commits


rework how the daemon is automatically spawned The previous way introduce possible races if multiple `amused' instances try to start the daemon. The new approach is heavily lifted from how tmux does it, but with some minor differences. If the initial connect fails we try to grab a lock to safely execute the daemon only one time. In fact we try to connect one more time even when we hold the lock because another instance can grab the lock, start the daemon and release it between the failure of connect and the first flock. It also changes slightly how the program behaves and how the -d option works. Now running `amused' without arguments is a synonym for `amused status' and the -d option only works if no arguments were given and if the daemon wasn't running.


rework the smallest unique prefix sentence a bit


bump date


point out that the regexp is case insensitive


use the -p flag in the save state example


rework `load' description


replace stdin/err with standard input/error


setsong in playlist_swap if the player is stopped


keep the current song if load input was generated by show -p `amused show -p' generates a listing in the form of song > current song song ... This adds an heuristic to `amused load' so that the current song can be set if it's prefixed by "> ". It's particularly useful when re-importing the state from a previous run.


reuse main_senderr


typo


mention in BUGS that it shouldn't look at file extension


don't crash when trying to play a directory with pledge(sendfd) we can't send a fd that represents a directory, so we have to check before and eventually skip.


sync dist list


switch from libmad to libmpg123 libmpg123 is more "loud" than libmad, at least for the mp3s that I have around. Is also newer and maintained. I've heard is also faster, but amused is so simple that it doesn't make any difference.