Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#4075 closed enhancement (fixed)

Backend AutoDiscovery improvements

Reported by: Nigel Owned by: Nigel
Priority: minor Milestone: unknown
Component: mythtv Version: unknown
Severity: medium Keywords:
Cc: Ticket locked: no

Description (last modified by Nigel)

  1. If a valid mysql.txt exists, the backend selector should not appear
  1. The selector should be use MythTV widgets (colours, theme, et c.). This should also automatically add LIRC, Apple remote, and joystick support.
  1. Any Myth program should be able to select a backend, not just the frontend
  1. The programs could autoselect if only a single backend is available (and probably not save the backend UUID in config.xml, or even generate one). I am still thinking about this, but am hoping this would allow a bootable CD frontend to work without having to save any config anywhere
  1. If there is no LocalHostName? (e.g. if there was no mysql.txt) then the generated UPnP MediaRenderer? ID should probably be used instead of gethostname(). Uglier in the database, but should survive FE host network and hostname reconfiguration?

First patch implements 1-3 (with some PIN entry UI issues). Second patch implements 1 - 4.

Attachments (3)

backend-autoselect-1.patch (24.2 KB) - added by Nigel 12 years ago.
Initial version. Requires mediarenderer.* and masterselection.* to be moved into libmythupnp
backend-autoselect-2.patch (33.0 KB) - added by Nigel 12 years ago.
New version, addresses issues 1 thru 4
backend-autoselect-3.patch (46.3 KB) - added by anonymous 12 years ago.
Patch 2 was missing backendselect.cpp & h

Download all attachments as: .zip

Change History (13)

Changed 12 years ago by Nigel

Attachment: backend-autoselect-1.patch added

Initial version. Requires mediarenderer.* and masterselection.* to be moved into libmythupnp

comment:1 Changed 12 years ago by Nigel

Description: modified (diff)

comment:2 Changed 12 years ago by Nigel

(In [14720]) Bug fix - close current databases if the user changes any of the database connection details, so new details can be used. (it would continue erroring, or using the old details, before)

The GUI settings (theme, window size) or service details (MythMediaMonitor) will not change without exiting and restarting the program, though. Both are hypothetically possible, but probably not worth it?

Also has some more MythContextPrivate? src textual changes (e.g. constructor and destructor together, extra methods for readibility) Plenty more to come - massaging MythContext for UPnP improvements. See #4075

comment:3 Changed 12 years ago by Nigel

(In [14819]) Allow a special case of XmlConfiguration?(""), where no actual file is read or created. Used for UPnP situations where we don't want to save anything locally (e.g. booting from live Linux CD-ROM). See #4075

Changed 12 years ago by Nigel

Attachment: backend-autoselect-2.patch added

New version, addresses issues 1 thru 4

comment:4 Changed 12 years ago by Nigel

Status: newassigned

The latest patch has been a while coming, but I am now happy with it. Barring any bad feedback, will commit early next week.

comment:5 Changed 12 years ago by Nigel

Description: modified (diff)

Changed 12 years ago by anonymous

Attachment: backend-autoselect-3.patch added

Patch 2 was missing backendselect.cpp & h

comment:6 Changed 12 years ago by Nigel

(In [14958]) Re-implement programs/mythfrontend/materselection.* using Myth widgets. See #4075

comment:7 Changed 12 years ago by Nigel

(In [14964]) New, slightly improved, UPnP autodiscovery. See #4075. This should allow most simple setups (either everything on the one machine, or one UPnP enabled backend on the network) to just work automaticaly! For more complex situations, you have to select a backend and enter a PIN. These functions are now more remote friendly, although PIN entry is still hard

comment:8 Changed 12 years ago by Nigel

Resolution: fixed
Status: assignedclosed

Apart from some teething problems (and item 5 that isn't important), this is finished.

comment:9 Changed 12 years ago by danielk

(In [14990]) Refs #4075. Fixes some VERBOSE macros.

Some of the new autodiscovery created QString::null's which were redirected to cout. On my system this causes cout to stop sending data to the console. This changeset just makes sure all QStrings are converted to non-nulls before they are used in the VERBOSE macro. i.e. what was <<"Blah" + str>> is now <<QString("Blah %1").arg(str)>>

comment:10 Changed 12 years ago by anonymous

Thanks for the hard work on this one!

Note: See TracTickets for help on using tickets.