[mythtv-commits] Ticket #3293: Autodiscovery Patch for MythFrontend

MythTV mythtv at cvs.mythtv.org
Mon Apr 9 16:47:16 UTC 2007

#3293: Autodiscovery Patch for MythFrontend
 Reporter:  dblain  |       Owner:  dblain 
     Type:  patch   |      Status:  new    
 Priority:  minor   |   Milestone:  unknown
Component:  mythtv  |     Version:  head   
 Severity:  low     |  
 Attached is a patch against Revision 13184 that adds Auto-Discovery to the

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

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

 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

 - 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).

Ticket URL: <http://svn.mythtv.org/trac/ticket/3293>
MythTV <http://svn.mythtv.org/trac>

More information about the mythtv-commits mailing list