uplift scala and play
SoundScraper tries different sources if failed
tags with leading and trailing comma
save tags when focusout