More progress

Of note is the string comparison I had to add yesterday because of
something custom for MediaMonkey. I forgot that cmp() behavior is almost
opposite of equality check behavior.