Commits


refactor control_notify it's awkward to call it with the address of the imsgev struct inside the ctl_conn struct. Just relay the info to every client in monitor mode. After all, if a client is in monitor mode *and* issues commands, it's not strange that they're echoed back (note that this is currently impossible, the command line client can either issue commands or be in monitor mode.)


add my copyright I've added a sufficient amount of code I guess


reimplement `restart' on top of seek


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


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.


simplify main_send_player: data is always NULL


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.


add a monitor functionality this pings all the "interesting" events to clients that issued a IMSG_CTL_MONITOR, except to the one that generated such event.


add (and handle) cmd `repeat'


use fd instead of pid for tx locking c->iev.ibuf.pid is our pid, not sure why, but fd is just as well as easier to use.


add `jump' subcommand to play the first matching


add IMSG_CTL_BEGIN/COMMIT to load a playlist in a transaction


implement main_playlist_resume to resume after stop