@Jim:
Yes, it's C++ using the Qt Framework. And, yes, mwillems got it right in terms of functionality. Right now, I'm testing his points 1 and 2 on Plasma5 (working fine) using two plasmoids (systray apps): the built in plasma audio volume control and the addon from here:
Audio Control PlasmoidNever even considered his point 3 re: media keys. I will take a look at that.
Right now, I think the only thing not implemented from the MPRIS2 spec is the playlist ordering and a playlist change notify.
A note about MC Zones and the MPRIS2 spec:
You'll notice in the spec that multiple players can expose thru MPRIS. Most of the MPRIS controllers I've seen then provide the user some option to choose the player to "control". In MC, since one player can have many zones, we have the ability to expose each zone as a unique MPRIS player. For those controllers that offer the choice of player selection, works fine, you just choose the zone you want to control. Otherwise, there has to be some mechanism for the user to choose a zone to be the "current MPRIS2 zone".
My plan is to offer both options, set in the conf file per MC host, checked at host connect:
[General]
recentHostlist=localhost:52199,toshiba-laptop:52199
lastHost=localhost:52199
.
.
[localhost]
broadcastAllZones=1
currentZone=10001
.
.
[toshiba-laptop]
broadcastAllZones=0
currentZone=0
.
.