[mythtv] Autodiscovery Patch for MythFrontend.

David mythtv at theblains.net
Sun Apr 8 15:33:10 UTC 2007


Attached is a patch against Revision 13184 that adds Auto-Discovery to the
Frontend.

NOTE: The Screens to pick a backend and enter a password are downright UGLY!

The code in the patch is completely functional, and only needs cosmetic
changes.

A few things to note:

- Themes don't work without a database available for settings.  This
includes the existing dialog that should be presented to the user if
mysql.txt is missing and the defaults don't work.  I was able to trick it
into working by calling OverrideSettingForSession with 31 settings, however
as soon as the MythMainWindow is created, it tries to insert all of the
global key bindings into the database which fails.  Although I could have
continued down this route, it seemed like too much of a hack so I scrapped
it for the current implementation.

- I tried to make as few changes to mythcontext as possible.  If the user
chooses "No master Backend" it will default to the existing program flow.

- A new Command Line option -p or --prompt will force the selection screen
to be displayed even if the config.xml file has a valid USN in it.

- The autodiscovery code stores the users default selection in the
.mythtv/config.xml file.  It's also the file that can be used to override
default UPnP settings.  (See prior commit for more details on file format).

- Only the USN (Unique Service Name) of the backend is stored, not it's IP
address.  This allows the backend to change IPs at will, and the frontend
will always be able to connect to it with no user intervention.

- All of the poorly designed dialog boxes are in the masterselection.cpp/.h
files in case anyone wants to improve upon them.

- With this patch, the frontend starts to participate in the UPnP protocol
as a AVMediaRenderer.  A full implementation at this time would make the
patch too complex.  If this, or a modified version of this patch gets
committed, I will add the remaining classes to stub out all services needed
for a fully compliant UPnP Renderer.  (However, this patch does make the
frontend a discoverable device).

Let me know if anyone has any questions.

David Blain.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: FrontendAutoDiscovery.tgz
Type: application/x-compressed
Size: 7815 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20070408/b6d991fe/attachment.bin 


More information about the mythtv-dev mailing list