How does the Basic Home Menu Editor in DefaultWideHD work?

Discussion in 'MediaPortal 1 Skins' started by 2BitSculptor, November 19, 2015.

  1. 2BitSculptor
    • Team MediaPortal

    2BitSculptor Super Moderator

    Joined:
    January 23, 2008
    Messages:
    1,822
    Likes Received:
    290
    Occupation:
    Sculptor - Maquettes, Resin Figure Model Kits, Toy
    Location:
    South Central Wisconsin
    Ratings:
    +386 / 0
    Home Country:
    United States of America United States of America
    Show System Specs
    If I wanted to use the BHME in another skin, is there a programming guide?

    Are there annotated xmls to study so I could grasp how each section works, and how the editor adds the menu items to Basic Home?

    What xmls are needed for the process?

    Is there a way to edit the label text to change the name used on the BH button?



    Can you add a label that doesn't have a hyperlink?

    How do you access the list of plugins and screens?

    What is the code for getting everything to fall into place?

    Thanks for any help.

    Chuck
     
  2. Google AdSense Guest Advertisement



    to hide all adverts.
  3. catavolt
    • Team MediaPortal
    • Administrator

    catavolt Design Group Manager

    Joined:
    August 13, 2007
    Messages:
    12,189
    Likes Received:
    4,938
    Gender:
    Male
    Occupation:
    Technical Documentation, Translation
    Location:
    Lanzarote
    Ratings:
    +7,333 / 38
    Home Country:
    Germany Germany
    Show System Specs
    Hi Chuck, in general it´s easy:
    All xmls named BasicHomeEditor.blabla.xml are the files needed.
    Here a short explanation of all the relevant files:
    • BasicHomeEditorDefines.xml: Here are all plugins listed with their (translated) names, their hyperlinks, their hover images etc. Here you may change labels or add plugins
    • BasicHomeEditor.xml: The GUI for cofiguring the items to be shown in main menus and submenus as well as the desired layout. This you may adapt to your needs regarding fonts, button textures etc.
    • BasicHomeEditor.main.calc.xml and BasicHomeEditor.sub.calc.xml: Here is the logic (calculation) for the placement of the items in main menus and submenus. These files must not be changed!
    • BasicHomeEditor.main.Carousel.xml and BasicHomeEditor.sub.Carousel.xml have the layout for the items to be shown on BasicHome with their animation, width, height, position etc. for the Carousel layout - may be adapted to your needs
    • BasicHomeEditor.main.horz.xml and BasicHomeEditor.sub.horz.xml have the layout for the items to be shown on BasicHome with their animation, width, height, position etc. for the Horizontal (scroll) layout - may be adapted to your needs
    • BasicHomeEditor.main.text.xml and BasicHomeEditor.sub.text.xml have the layout for the items to be shown on BasicHome with their animation, width, height, position etc. for the Horizontal Text only layout - may be adapted to your needs
    In BasicHome.xml these xmls are referenced like this:
    Code (Text):
    1. <include>BasicHomeEditor.main.calc.xml</include>
    2.   <include>BasicHomeEditor.sub.calc.xml</include>
    3.   <include condition="#(eq(#hedit.mode,'Carousel'))">BasicHomeEditor.main.Carousel.xml</include>
    4.   <include condition="#(eq(#hedit.mode,'Carousel'))">BasicHomeEditor.sub.Carousel.xml</include>
    5.   <include condition="#(eq(#hedit.mode,'Horizontal (scroll)'))">BasicHomeEditor.main.horz.xml</include>
    6.   <include condition="#(eq(#hedit.mode,'Horizontal (scroll)'))">BasicHomeEditor.sub.horz.xml</include>
    7.   <include condition="#(eq(#hedit.mode,'Horizontal Text only'))">BasicHomeEditor.main.text.xml</include>
    8.   <include condition="#(eq(#hedit.mode,'Horizontal Text only'))">BasicHomeEditor.sub.text.xml</include>
    9.   <include condition="#(neq(#hedit.mode,'Horizontal Text only'))">BasicHomeInfoRecentlyAdded.xml</include>
    10.   <include condition="#(eq(#hedit.mode,'Horizontal Text only'))">BasicHomeInfoRecentlyAddedText.xml</include>
    11.   <import>BasicHomeEditorDefines.xml</import>
    In settings_GUI_Skin.xml the BasicHomeEditor files are referenced like this:
    Code (Text):
    1. <import>BasicHomeEditor.xml</import>
    2.     <import>BasicHomeEditorDefines.xml</import>
    All BasicHomeEditor.blabla.xml have short inline documentation in their code so you may get sufficient information about how the magic works.
    You will note that I make extensive use of skin expressions, so the BasicHomeEditor is also a great example of how to use those.

    Additionally to the relevant files above are the two xmls for LMH: BasicHomeInfoRecentlyAdded.xml and BasicHomeInfoRecentlyAddedText.xml providing the lastest media information for BasicHome.

    Now it´s your turn!
    Dive into the BasicHome Editor world and have fun :D ;)
     
    Last edited: November 20, 2015
    • Thank You! Thank You! x 1
  4. 2BitSculptor
    • Team MediaPortal

    2BitSculptor Super Moderator

    Joined:
    January 23, 2008
    Messages:
    1,822
    Likes Received:
    290
    Occupation:
    Sculptor - Maquettes, Resin Figure Model Kits, Toy
    Location:
    South Central Wisconsin
    Ratings:
    +386 / 0
    Home Country:
    United States of America United States of America
    Show System Specs
    still ... scary stuff to the uninitiated .... :eek:
     
  5. 2BitSculptor
    • Team MediaPortal

    2BitSculptor Super Moderator

    Joined:
    January 23, 2008
    Messages:
    1,822
    Likes Received:
    290
    Occupation:
    Sculptor - Maquettes, Resin Figure Model Kits, Toy
    Location:
    South Central Wisconsin
    Ratings:
    +386 / 0
    Home Country:
    United States of America United States of America
    Show System Specs
    @catavolt

    ...... that's a lot of stuff to go through ....:notworthy:

    ... you couldn't have just started with a simple vertical text menu? :rolleyes:
     
Loading...

Users Viewing Thread (Users: 0, Guests: 0)

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice
  • About The Project

    The vision of the MediaPortal project is to create a free open source media centre application, which supports all advanced media centre functions, and is accessible to all Windows users.

    In reaching this goal we are working every day to make sure our software is one of the best.

             

  • Support MediaPortal!

    The team works very hard to make sure the community is running the best HTPC-software. We give away MediaPortal for free but hosting and software is not for us.

    Care to support our work with a few bucks? We'd really appreciate it!