You may have seen that TiVo seemed to be moving away from their old beacon system in TiVo Desktop 2.7. Then, the other night, I found that beacons had stopped working on one of my TiVos, which made my remote program hang. It turned out to be a fluke, but it made me wonder if I shouldn't look into detecting TiVos the Zeroconf way. That's what this version is about.
I'd avoided this previously, because I liked the idea of having the remote self-contained in a single file (not counting the Python installation, of course). Now, I've bundled Zeroconf.py, which is twice the size of remote.pyw.
Anyway, the new system is simpler and cleaner, and may work in situations where the old one wouldn't. The downside is, it's a little slower on startup (about a one second delay for me).
The old system is still included, and will be used automatically if Zeroconf fails. You can also explicitly disable Zeroconf, either by using the "-z" command-line option, by setting have_zc to False in remote.pyw, or simply by removing Zeroconf.py. Of course you can still specify an address directly, too, and bypass any autodetection.
Other changes: Dropped support for the pre-9.4 closed caption toggling (eliminating version detection made it easier to incorporate Zeroconf); increased the old autodetection's timeout from 0.2 seconds (!) to 0.5 (it was occasionally missing a TiVo from the list here).
[See sig for the latest version.]