Commits


keep track of current position and total duration


don't loop indefinitely in ctl_connect if the server fails to start for wathever reason, we end up looping in ctl_connect indefinitely as we try to spawn the deamon (that dies) and try to connect to it. Add an arbitrary maximum number of retries before giving up. Reported by sikmir in the GitHub issue #1, thanks!


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


bump version number


CHANGES for 0.9


use log_warn to report the failure of canonpath


reset path buffer before writing to it otherwise path, which is filled by the garbage that's on the stack, may not end with a NUL byte. main_enqueue fails with "malformed data" if the path sent doesn't end with a NUL. (i.e. the fact that in every case the path is NUL-terminated is not relevant. For semplicity, I'm working with paths long PATH_MAX bytes and only checking that path[PATH_MAX-1] is NUL when handling the imsgs.) Issue reported by Dirk-Wilhelm Peters, thanks!


bump version number


CHANGES for 0.8


add a simpler example


note that amused skips unknown files automatically


skip every non-regular file not only directories... I guess we can't do much even with sockets, fifos or character devices. (symbolic links are still supported since we follow them)


some tweaks for the readme


free the FILE on op_open_callbacks failure the API is a bit of a shitshow. op_fdopen is just a wrapper around FILE*, but returns void* for don't know what Windows limitation. if op_open_callbacks fails we have to free the stream by ourselves. the documentation implies that this void* pointer is, in fact, a FILE*.


don't sio_start if we're not stopped