First of all, happy new year to everyone!
After discussing on IRC with qball, we’ve decided that it’s a better idea to build a network abstraction so that clients won’t access the sqlite database directly. The protocol will simply be like mpd protocol with minor differences.
This was one of the things I really wanted to implement before releasing a new version. Tagging songs as you would do with mail is a really nice way to sort your music in my opinion. Tags are implemented as a colon delimited list and uses just one TEXT column of a row. This makes removing a tag a slow operation but after reading the sqlite optimization FAQ I managed to reduce this slowness a lot making it not noticeable.