player: consistent this usage
player: add hasNoSong() method
mainwindow: don't force the existence of songs

turn the critical error into a warning
mainwindow: get the flags right