Opened 7 years ago
Closed 6 years ago
Autodiscovery Patch for MythFrontend
|Reported by:||dblain||Owned by:||dblain|
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).
Change History (9)
Changed 7 years ago by dblain
comment:1 Changed 7 years ago by jochen
comment:2 Changed 7 years ago by stuartm
- Milestone changed from unknown to 0.21
comment:3 Changed 7 years ago by stuartm
Changed 7 years ago by stuartm
comment:4 Changed 7 years ago by stuartm
comment:5 Changed 7 years ago by Matthew Wire <devel@…>
comment:6 Changed 7 years ago by stuartm
comment:7 Changed 6 years ago by dblain
- Resolution set to fixed
- Status changed from new to closed