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

don't POLLIN, we only care about POLLOUT

don't change params if they're the same avoids a sio_stop in the common case of switching from song that needs similar params (such as tracks in the same album.)

inline player_init

switch to a non-blocking usage of sndio