new musicplayer implementation with transition