[mythtv-users] Merge of OSD and Main themes causes WAF to Plummet
Raymond Wagner
raymond at wagnerrp.com
Sun Feb 27 23:32:16 UTC 2011
On 2/27/2011 17:56, Manuel McLure wrote:
> On Sun, Feb 27, 2011 at 2:43 PM, Raymond Wagner<raymond at wagnerrp.com> wrote:
>> You're all still missing the same key point. There is no longer an
>> independent OSD engine. Objects that were formerly OSD elements can now
>> appear while in the menus. Menu widgets can pop up during playback.
>> The fact that these elements can be intermixed is why the windows must
>> appear consistent throughout the entire theme. This is not a foolish
>> consistency. This is a necessity due to a shift in the UI design, and
>> you will find the same behavior in most other media player and HTPC
>> softwares.
> So I've been hearing throughout this thread "just edit the theme and
> you can get what you want" where what I want is "different main theme
> and OSD UIs." If what you say above is true (widgets are shared across
> the main and OSD themes) I can't see that there's any way to get what
> I currently have and like (ArcLight as main theme and BlackCurve as
> OSD) even if I spend a lot of time editing the theme. Instead I'll get
> either ArcLight components in my OSD or BlackCurve components in my
> main theme.
Correct. You can edit the theme to get exactly what you want, the
BlackCurve playback information bar paired with the Arclight theme.
That is one single item that is currently only used during playback. In
this specific instance, we _could_ have the engine load that _single_
window from a separate file. The issue is how do you continue along
those lines when code starts taking advantage over the unified engine
and such widgets start to be shared.
Let's take the notification popup. The old popup ran through the old
OSD engine, so was only available during playback. A new popup would be
usable in all areas of of MythTV, so the engine would have to load
independent versions of that depending on what area of MythTV you are
currently in.
What about the video widget? The video widget would be used for
picture-in-picture, live playback while in the program guide, a video
preview while in the recordings or videos screens, or even a music video
paired to a song in MythMusic. Were users allowed to mix and match
different parts of different themes, the engine would again have to load
multiple versions of the video widget, and theme them appropriately
depending on where it is.
Let's take this to a more difficult level. Consider someone has
rewritten the MythPhone plugin, and you have a video chat window open.
Rather than limit you to a certain area, the video chat detaches as a
floating widget above the UI, allowing you to navigate through other
areas. As you moved into other areas, with different themes selected
for each, the engine would have to dynamically re-theme that existing
window to match the new style. Either that, or you end up with some
mismatched border that appears completely out of place.
The point is, the rewrite of the UI engine, and the merge with the OSD
engine, offers a lot of new possibilities for theme and plugin designers
to take advantage of. Now you could claim the developers are just lazy,
unwilling to spend the effort needed to make the above possible. On the
other hand, you could say the developer have considered the idea, and
chosen they don't want that capability in MythTV. Either way, the
choice has been made. In the world of open source where no one is being
paid, the final choice is ultimately up to the person writing the code.
If the choice was not made in the way you had hoped, you can either put
up, use different software, or fork the project and write new code to do
what you want it to.
More information about the mythtv-users
mailing list