Bugs fixed and features:
- Creating the database and adding songs in the same run would fail
- Songs with multiple artists are now separated with ', ' instead of the ID3 ';'
- Excluded .mp4 files from the song list
- Songs aren't scanned and duplicated on every start
- General cleanup and memory leak fixes
/getInternetRadioStations endpoint has been implemented and memory leak
tested. It also has been added to the memory testing build. Sorry if
there are any bugs, as I have not written memory heavy code in C in a
while.
Musl C doesn't implement arc4random(), so use the getrandom() syscall
instead.
Also, Musl C also doesn't have a precompiler macro to be identified by,
so if the system is Linux and not Glibc, assume Musl C.
art to Discord RPC (Security issue)
GStreamer's GError is a struct, not a char*, with GError->message being
the actual char* message.
Since Subsonic/OpenSubsonic servers don't have a way of sending cover
art unauthenticated, sending cover art to Discord using Discord RPC
exposes an authenticated URL to Discord servers (But only Discord since
it is then proxy'd). Added a config option to disable this behavior and
only use the app icon if the user doesn't feel comfortable enough to
trust Discord (understandable tbh)