Commits


change default 'status' format to "status,time:oneline,mode:oneline"


show repeat one after all


print the current modes after 'amused consume/repeat'


typo in print_status: now it's mode, not repeat


fix 'amused load' with empty playlist it didn't send the IMSG_CTL_COMMIT final message so it would get stuck. This also makes 'amused flush' redundant since it's possible to 'amused load </dev/null'.


make the on|off argument to consume/repeat optional


add consume mode the consume mode implicitly drops the tracks from the playlist when played 'till the end (note that skipping over a track doesn't trigger the consume mode - yet?)


drop restart from the list of 'status-like' commands now it's an alias for 'seek 0', so it doesn't return the status.


pledge early This changed amused to pledge "stdio rpath" early in main() and then drop down to "stdio" in ctlaction, by removing the pledge call in parse. Simplifies a bit the logic and runs more code under pledge.


s/imsg_name/event_name


monitor: fix reported event rethink a bit which event are reported and when. - drop 'toggle' event as it's not useful; now 'amused toggle' will report the play/pause event. - replace 'flush' with 'load'. there's no real difference between a flush and an empty load. (also, less event the better) - some events (next/prev/jump) are reported earlier to avoid possible issues (when messing around with the playing queue we can end up in every possible state.) - report 'seek' only after it really happened (i.e. after the player process sent the new position.) There's still a possible race here (we can receive a previous IMSG_POS and think it's the reply to the seek) but it it's hard/impossible to work around. - drop 'restart'. we have 'seek' now which is better (and actually restart is implemented on top of seek.) - add 'seek' to the default list of events.


initialize status_format early in the main() otherwise we may leave it NULL (it's set only in ctl_status) and crash in print_status.


allow to customize the output of amused status This add a -f flag (that falls back to $AMUSED_STATUS_FORMAT) to control which field to print and in which order.


seek: allow h:m:s notation and percentage


add "seek" to monitor list of event