Improving Menu structure (1 Viewer)

morpheus_xx

Retired Team Member
  • Team MediaPortal
  • March 24, 2007
    12,073
    7,459
    Home Country
    Germany Germany
    The property names need to remain the same ("AnimationStarted1" --> "AnimationStarted"), because this are property names of the GridListView, which are bound to the HomeMenuModel. So they are acting like events.
    They have to be used only for NextPage panel.
     

    ge2301

    Lead Design MP2
  • Team MediaPortal
  • January 11, 2014
    8,705
    3,491
    Stuttgart
    Home Country
    Germany Germany
    The property names need to remain the same ("AnimationStarted1" --> "AnimationStarted"), because this are property names of the GridListView, which are bound to the HomeMenuModel. So they are acting like events.
    They have to be used only for NextPage panel.

    I deleted them, the result is the same. There must be something else
    I don't know the usage of AnimationStarted and Completed, but I thought it's necessary also for MainMenu. If I leave it, it results in same error anyway :)

    [2016-02-14 17:10:15,307] [2682 ] [Main ] [ERROR] - ScreenManager: Error loading screen 'home' in resource bundle 'BlueVision', falling back to resource bundle 'Theme 'default' of skin 'default''
    MediaPortal.UI.SkinEngine.Xaml.Exceptions.XamlLoadException: XAML loader: Error parsing file 'C:\Users\Gerrit\Documents\Mediaportal 2\Work_new\MediaPortal\Bin\MP2-Client\bin\x86\Release\Plugins\BlueVision\Skin\BlueVision\screens\home.xaml' ---> MediaPortal.UI.SkinEngine.Xaml.Exceptions.XamlLoadException: Include: Could not open include file 'screens\master_homemenu.xaml' (evaluated path is '')
    bei MediaPortal.UI.SkinEngine.MpfElements.Resources.Include.FinishInitialization(IParserContext context)
    bei MediaPortal.UI.SkinEngine.Xaml.Parser.Instantiate(XmlElement currentElement, Object& key)
    bei MediaPortal.UI.SkinEngine.Xaml.Parser.Parse()
    bei MediaPortal.UI.SkinEngine.SkinManagement.XamlLoader.Load(TextReader reader, ISkinResourceBundle actualResourceBundle, IModelLoader loader)
    --- Ende der internen Ausnahmestapelüberwachung ---
    bei MediaPortal.UI.SkinEngine.SkinManagement.XamlLoader.Load(String skinFilePath, ISkinResourceBundle actualResourceBundle, IModelLoader loader)
    bei MediaPortal.UI.SkinEngine.ScreenManagement.ScreenManager.LoadScreen(String screenName, String relativeScreenPath, IModelLoader loader)
     

    morpheus_xx

    Retired Team Member
  • Team MediaPortal
  • March 24, 2007
    12,073
    7,459
    Home Country
    Germany Germany
    I tried this and it works:
    XML:
              <ResourceWrapper x:Key="TransitionKeyFrame" Resource="00:00:00.300"/>
              <ResourceWrapper x:Key="TransitionDuration" Resource="00:00:00.500"/>
    
              <!-- Common animation for both "page left" and "page right" transition -->
              <Storyboard x:Key="TransitionBase" FillBehavior="Stop">
                <!--<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" FillBehavior="HoldEnd" Storyboard.TargetName="NextPage" Storyboard.TargetProperty="Opacity">
                  <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0"/>
                  <SplineDoubleKeyFrame KeyTime="{StaticResource TransitionKeyFrame}" Value="1.0"/>
                  <SplineDoubleKeyFrame KeyTime="{StaticResource TransitionDuration}" Value="1.0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" FillBehavior="HoldEnd" Storyboard.TargetName="MainMenu" Storyboard.TargetProperty="Opacity">
                  <SplineDoubleKeyFrame KeyTime="00:00:00" Value="1.0"/>
                  <SplineDoubleKeyFrame KeyTime="{StaticResource TransitionDuration}" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                -->
                <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="NextPage" Storyboard.TargetProperty="AnimationStarted">
                  <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="True" />
                </ObjectAnimationUsingKeyFrames>
                <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="NextPage" Storyboard.TargetProperty="AnimationCompleted">
                  <DiscreteObjectKeyFrame KeyTime="{StaticResource TransitionDuration}" Value="True" />
                </ObjectAnimationUsingKeyFrames>
              </Storyboard>
    
              <Storyboard x:Key="SlideInLeft" FillBehavior="Stop">
                <StaticResource ResourceKey="TransitionBase"/>
                <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" FillBehavior="HoldEnd" Storyboard.TargetName="NextPage" Storyboard.TargetProperty="RenderTransform.X">
                  <SplineDoubleKeyFrame KeyTime="00:00:00" Value="-1920"/>
                  <SplineDoubleKeyFrame KeyTime="{StaticResource TransitionDuration}" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" FillBehavior="HoldEnd" Storyboard.TargetName="MainMenu" Storyboard.TargetProperty="RenderTransform.X">
                  <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0"/>
                  <SplineDoubleKeyFrame KeyTime="{StaticResource TransitionDuration}" Value="1920"/>
                </DoubleAnimationUsingKeyFrames>
              </Storyboard>
    
              <Storyboard x:Key="SlideInRight" FillBehavior="Stop">
                <StaticResource ResourceKey="TransitionBase"/>
                <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" FillBehavior="HoldEnd" Storyboard.TargetName="NextPage" Storyboard.TargetProperty="RenderTransform.X">
                  <SplineDoubleKeyFrame KeyTime="00:00:00" Value="1920"/>
                  <SplineDoubleKeyFrame KeyTime="{StaticResource TransitionDuration}" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" FillBehavior="HoldEnd" Storyboard.TargetName="MainMenu" Storyboard.TargetProperty="RenderTransform.X">
                  <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0"/>
                  <SplineDoubleKeyFrame KeyTime="{StaticResource TransitionDuration}" Value="-1920"/>
                </DoubleAnimationUsingKeyFrames>
              </Storyboard>
    btw, do an update from the online pushed branch, please.
     

    ge2301

    Lead Design MP2
  • Team MediaPortal
  • January 11, 2014
    8,705
    3,491
    Stuttgart
    Home Country
    Germany Germany
    After adjustment the animation looks perfect from my point of view :D
    It's a big step in navigation I believe :)

    Just one thing: Is there any code, that sets the focus on a MenuTile?
    Sometimes I go to the right and in next screen the focus is not on a left tile, but also right tile.
    Sometimes it's on the correct tile. It's not so important, I just wonder, if there is code behind or if it is randomly.
     
    Last edited:

    morpheus_xx

    Retired Team Member
  • Team MediaPortal
  • March 24, 2007
    12,073
    7,459
    Home Country
    Germany Germany
    The focus handling is the default one. Maybe I can add some logic in the place where I copy the new items into current screen list. Will check this tomorrow
     

    ge2301

    Lead Design MP2
  • Team MediaPortal
  • January 11, 2014
    8,705
    3,491
    Stuttgart
    Home Country
    Germany Germany
    The focus handling is the default one. Maybe I can add some logic in the place where I copy the new items into current screen list. Will check this tomorrow
    If possible the focus should jump to the (virtual) neigbour tile, as this would be intuitive. But we already talk about fine-tuning. The menu is already great!
    Unbenannt.jpg
     

    Timhoh1234

    Portal Pro
    September 29, 2015
    252
    90
    Home Country
    Germany Germany
    Wow, finally the new menu is coming :cool: Can't wait to see it with my eyes.
    The idea to have a common MenuModel that allows usage of Groupmenu and direct navigation is great!
    Navigation to the neigbour group can be faster like this. If there will be a menu editor in future it's an ultimative solution.

    Just an idea: By avoiding the large tile and instead giving 6 equaliy shared positions the "WMC skin" idea of an InGui editor could be used.
    There won't be any need of sizing of the Tiles and the positioning could be handled by a fixed order among the Tiles (e.g. 1=upper left, 6=lower right).

    @ge2301 @morpheus_xx
    What do you think about it?
     

    ge2301

    Lead Design MP2
  • Team MediaPortal
  • January 11, 2014
    8,705
    3,491
    Stuttgart
    Home Country
    Germany Germany
    I like the idea! Also a visually nice focus frame could be used then. The current one needs to consider the tile size and due to the "image crop bug" it doesn't look 100% perfect.
    Only small concern is the visual apperance, somehow the large tile looks also not bad and "smoothens" the appearence from my point of view. Don't know how to explain, but if all Tiles look same it's a little bit "boring" ... nevertheless this is minor ;)

    @Brownard is having a look on the WMC skin and a possible InGui Menu editor.
    If it is working, it could be also used for BV I think :)
     

    ge2301

    Lead Design MP2
  • Team MediaPortal
  • January 11, 2014
    8,705
    3,491
    Stuttgart
    Home Country
    Germany Germany
    I think it's possible to even leave the large tile.
    • WMC skin will allow only max. 5 subtiles
    • Current BV skin and it's themes also have max. 5 tiles, so the same Menu Editor could be used
    Here was the initial idea of a MenuEditor for the WMC skin.
    Unbenannt.jpg

    Here the update for BV, in pronciple it can be 100% overtaken (if it can be realized!)
    Unbenannt1.jpg

    Exception would be only the "Others" group, here all ungrouped tiles will come up, so smaller tile sizes are necessary. But this is anyways controlled by MP2 and not a MenuEditor.
     
    Last edited:

    Lehmden

    Retired Team Member
  • Premium Supporter
  • December 17, 2010
    12,554
    3,936
    Lehmden
    Home Country
    Germany Germany
    By avoiding the large tile and instead giving 6 equaliy shared positions
    I don't like this idea. There are groups with 1, 2 or three tiles. Such groups only looks nice if you have bigger tiles. The default pictures section already is really ugly in default menu configuration as thew tile is way too small:
    Zwischenablage-2.jpg


    imagine this wit a even smaller tile image.... What a waste of space. So a variable tile size is absolutely necessary as long as the menu structure is like it is now.
    So one can get at least such a result:
    Zwischenablage-3.jpg


    So if you disable variable tile size you will make a lot of people unhappy.
     

    Users who are viewing this thread

    Top Bottom