[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
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).
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/3293>
MythTV <http://svn.mythtv.org/trac>
MythTV
More information about the mythtv-commits
mailing list