Commits


ctl_noarg: allow argv == 0 for the implicit "status" case


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.


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.


flush stdout after each monitor event otherwise the output may get buffered by a pipe and it's not pretty.


add the `monitor' command


drop AMUSED_VERSION and the undocumented -V flag


hide the implicit `status' under -v for play/toggle/restart/next/prev cmd


show repeat one/all status in `amused status' output


add (and handle) cmd `repeat'


mention -p in show usage


add `jump' subcommand to play the first matching


change res->file to be a path instead of a FILE *


print status after play, toggle, restart, next and prev commands


print the "> " prefix only if -p is given the prefix is nice to see, but can break the amused show | filters ... | amused load because sort(1), uniq(1) etc don't know how to strip the "> " and " " prefixes obviously.


rewrite `load' to use the new transaction messages this allows to do stuff like amused show | some shell filtering | amused load without the dangers of races between show and load.