[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