First of all, happy new year to everyone!

After my first post I’ve done many things to improve this statistics module of mpdcron. Here’s a list of major improvements:

Client/Server protocol

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.

I used GIO to implement the server. GIO has a high level network API as of version 2.22.

Tagging

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.

The documentation on the website is up to date so if you want to give it a shot you can read the documentation and start using it right away. It’s very simple.