This time around for 3.0 I came up with a much better approach. The new UI / data backend has some nice capabilities like auto updating when its backing data in the database changes. Now when a file is played, GMMP will look to see if its in the db, if not it creates a placeholder on the spot. The placeholder just contains the filename and a track id which is all that is needed for putting a song in the queue. If any placeholders were created, gmmp will then run a scan to populate all the placeholders with the information from the tags. Any UI that was displaying the placeholder will auto refresh and show the tag metadata. So now there should never be a case where files are lost from the queue on restart.
New UI (I switched up the theme colors just to add some variety to the screenshots)
At the top is the QuickNav which is scrollable horizontally and each folder is clickable to instantly jump back up a few folders (the video below will show this). Like every other list item, the metadata shown is customizable. In this screenshot below the first item is a playlist which is just displaying its filename and the items below that are showing the song name and duration.
I plan on adding the ability to highlight the currently playing track (i also think i can add that ability to the library views. I know this is requested often).