As I've already posted about here several times, I'm working on getting Russound's CAV6.6 system connected to MC10 such that you can use Russound's keypads to control up to 6 MC zones in up to 6 rooms simultaneously. The software is now functionally complete, but I have come across a major issue with the MC COM object which looks like a show-stopper.
The problem is how to update the keypads with track/artist info. MC10 doesn't provide any event mechanism to notify me about track changes, so I have to poll, which works OK as long as only one zone is active. However with 6 zones active I need to poll them all, and here's where it gets really ugly: I have to change the active zone in order to poll it. In order to avoid a noticeable lag in the keypad display, I have to poll each zone at least once every 2 seconds. With 6 zones, that means I have to switch zones and poll 3 times per second. Not only does this burn quite a bit of CPU, but it makes it completely impossible for me to use MC, since the current zone is constantly changing.
This is a real show-stopper for this project, which I've invested thousands of dollars and hundreds of programming hours into so far. I am prepared to do whatever it takes to get around this (eg write a plug-in), but right now I can't see any solution. I tried to use Spy++ to see if I could see any windows messages I could tap into help the situation, but it freezes up the whole PC, which is weird.
What I really *need* is "read-only" access to a zone without making it active, so that I can check the currently playing track name/artist and update the keypad displays. Then I could poll without affecting the MC10 GUI, and it would be OK to use the MC10 GUI as long as no-one pressed a key (eg next-track) on one of the keypads. If I could get this, I would be a happy camper.
What I really *want* is full read/write access to all zones without having to make them active, and an event-based mechanism for detecting track changes. Then I could mess around in zone 1 using the MC10 GUI while my wife is flicking through a playlist in the kitchen (zone 2) and the kids are listening to their stuff on zones 3 & 4, all without burning up the CPU with excessive polling. If I could get this, I would be extatic and eternally grateful.