It will take a while, especially if you start out with emacs, but it is very rewarding. Some day I'll try ledger-mode and maybe up my level even further.
"Thinking, Fast and Slow" by "Daniel Kahneman" is a great book on these topics. There is a lot of info on how the mind can be tricked. I really recommend it.
I also thougth about this problem. Current playlist implementations are seriously lacking when you move your library. I have some shell scripts here that just replace parts of the path in the playlists.
I looked at your playlist format specs, why do you use floats? I'm currently coding on a GO audioserver and save time intervals as Nanoseconds (time.Duration). This makes more sense to me, as floats may behave badly in some contexts.
If only we had a decent way to print those html pages to pdf. But It seems like the print-css is kind of neglected. The stuff barely is doing what it should(page-break and friends).
Neither can you really use min-height=20mm. A pity. And the nicer pdf creators (weasyprint) don't understand the new css rules like flexbox or grid.
So we are still stuck. No easy way to force a footer to the end of a printed page via css.