[Blog] MediaPortal 2 progress report (1 Viewer)

Baboonanza

Retired Team Member
  • Premium Supporter
  • February 5, 2010
    143
    57
    North London
    Home Country
    United Kingdom United Kingdom
    Thanks, I understand all of that.

    What I meant by greyscale is more like this image, ie a pixel shader that de-saturates a texture. This simple effect cannot currently be achieved by either MP or XBMC, the closest you can get is rendering a partially transparent grey rect. over the top. There's an unlimited supply of other possible effects that would really jazz MP2 skins up.

    You can animate brush properties? That's pretty cool and takes care of the animation problem very nicely :)

    My point is that it would be really good to be able to specify the effect to be used for a brush without having to code your own brush and add it as a plugin. Effects files can be authored using tools that require little to no coding, so requiring code to use them in MP just imposes a barrier to creativity IMO. A simple generic brush should be very easy to implement, just get the effect file path from a URI parameter instead of assigning it in code. A more comprehensive implementation that allowed parameters to be passed to the effect would be more difficult, but then think of all the time saved by not having to add loads of specialised brushes like LinearGradient.

    And if I may ask, what is a Visual brush for? I couldn't work it out from the code alone. EDIT: Nevermind, I looked it up.

    Thanks for your time btw.
     

    infinite.loop

    Retired Team Member
  • Premium Supporter
  • December 26, 2004
    16,163
    4,133
    127.0.0.1
    Home Country
    Austria Austria
    Hi Baboonanza,
    you seem to know quite a lot about xaml.
    Just out of curiosity, is there any work you did with this technology which you could show?
    Would be very interesting! :)
     

    Baboonanza

    Retired Team Member
  • Premium Supporter
  • February 5, 2010
    143
    57
    North London
    Home Country
    United Kingdom United Kingdom
    :oops: It wasn't my intention to sound more knowledgable than I am, I've never used xaml but I started reading up on it when I discovered MP2 would be using it. It's a very cool technology, and my intention is to learn more about WPF/MPF and xaml by skinning MP2. Likewise with the MP2 code, I've had a look through the SkinEngine but I certainly wouldn't claim to be an expert.

    But it's not really an xaml issue, effect files (the .fx ones) that are used in brushes are an older DirectX technology. What I'm suggesting is more like an extension of WPF to allow effects files to be used more directly as brushes. This is already possible with WPF but AFAIK requires .Net code in addition to the xaml, which is more difficult in MP because it would have to be put into a plugin and installed with the skin. I've done plenty of 3D programming so I'm quite excited about the possibilities of allowing pixel shaders in skins.
     

    Albert

    MP2 Developer
  • Premium Supporter
  • February 18, 2008
    1,297
    1,130
    45
    Freiburg im Breisgau, Germany
    Home Country
    Germany Germany
    AW: Re: MediaPortal 2 progress report

    Thanks, I understand all of that.

    What I meant by greyscale is more like this image, ie a pixel shader that de-saturates a texture. This simple effect cannot currently be achieved by either MP or XBMC, the closest you can get is rendering a partially transparent grey rect. over the top.

    Yeah, that's true. That is one example which is not simple to do with standard means of MPF.

    My point is that it would be really good to be able to specify the effect to be used for a brush without having to code your own brush and add it as a plugin. Effects files can be authored using tools that require little to no coding, so requiring code to use them in MP just imposes a barrier to creativity IMO. A simple generic brush should be very easy to implement, just get the effect file path from a URI parameter instead of assigning it in code.

    That's a very good idea. Would you like to implement such a generic brush? That could be your "first MP2 plugin" and might be a cool graphics feature addon.
    As you perhaps know, we won't add every cool feature to the standard MP2 system, but we could ship that brush maybe in a toolbox for "extended graphics" or similar.

    A more comprehensive implementation that allowed parameters to be passed to the effect would be more difficult, but then think of all the time saved by not having to add loads of specialised brushes like LinearGradient.
    Well, I'm not a master in shader programming, but I think it would not so easy to replace the LinearGradientBrush/RadialGradientBrush completely by an effect because there is still some code necessary to make the gradients work. But if you find a good way how the C# parts of the brushes can be replaced with all of its features, tell me please!

    And if I may ask, what is a Visual brush for? I couldn't work it out from the code alone. EDIT: Nevermind, I looked it up.

    See here. Well, the VisualBrush is not described so obvious. The VisualBrush is for drawing with the look of another "Visual" - typically a control. That other visual could be a visual which is already present in the visual tree of the screen or it could be a visual which has been especially instanciated for the VisualBrush.
    With a VisualBrush, you can for example draw a shape with the look of a Button.

    The implementation in MP2 isn't finished yet. Same with the image brushes. I will have to continue the implementation when I have time.
     

    Baboonanza

    Retired Team Member
  • Premium Supporter
  • February 5, 2010
    143
    57
    North London
    Home Country
    United Kingdom United Kingdom
    Re: AW: Re: MediaPortal 2 progress report

    That's a very good idea. Would you like to implement such a generic brush? That could be your "first MP2 plugin" and might be a cool graphics feature addon.
    As you perhaps know, we won't add every cool feature to the standard MP2 system, but we could ship that brush maybe in a toolbox for "extended graphics" or similar.
    I guess I talked myself into that one :D I'll certainly have a go.

    I think you're correct about LinearGradientBrush because of the multiple gradient stops. You could pass the stops array to the shader but the problems with iterating over arrays means it's not worth it in DX9. The only other way would be to split the geometry for each stop-to-stop section and then Gouraud shade using coloured verticies, but that doesn't offer any advantages over your current implementation since you'd still have to manage the vertex buffer object.

    So yeah, in a lot of cases a proper brush is necessary :)
     

    Livin

    Portal Member
    February 1, 2007
    21
    0
    Since there is no other place to post a general topic related to MP2 I thought I'd do it here.

    This post is purely an opinion on the current state of open source and DIY Home Media Server software and where I hope to see MediaPortal move to in V2.

    You don't have to agree, nor do I expect many of you to do so, but my opinions are based on my experience over the past 10 years of doing Home Automation and Home Theater with apps like: XLobby, NetRemote, Girder, MSFT Media Center, SateTV, MythTV, XBMC (Xbox & PC), MediaPortal 1.x, J River Media Center, Boxee, and many others.

    I watched MP since its start with Frodo breaking from XBMC.

    I believe that MediaPortal has a few advantages over XBMC. But in general XBMC (and its variants like Boxee and Plex) have surpassed MP in most areas except PVR, which MP does well.

    In the current state of Home Media Players where Google is entering the mix and more Receivers, TVs, and Blueray players have streaming (local and internet) media browsers/players built-in - even low cost units - the field is becoming crowded and we will see many go by the wayside. I've already seen this in mass with converts from commercial and free apps moving to XBMC, Boxee, Plex, etc... this includes many recent notifications from former MP users.

    Where am I going with this, you ask... OK fair enough.

    I think MP should refocus development efforts to complete integration with XBMC.

    Exactly what do I mean...

    1. Stop development of the core media and UI features to leverage XBMC's code.
    2. Focus on creating a web based setup/config for XBMC simular to MPs current windows based config.
    - the current MP config is far better than XBMC's and XBMC could benefit from it.
    3. Focus on PVR integration with XBMC.
    - XBMC lacks native PVR and has been struggling to create add-ons for a few PVRs which are not as mature as MPs. This is an area MP could really shine!


    In all, with way things are moving in the HTPC & Home Media Player space and the fact that XBMC's user and developer base is so robust this is the perfect time for the MP developers to refocus efforts to helping create what will likely be the Media app that will dominate the open source Media Players/Centers for at least the next 5 years.


    I hope everyone takes this as a positive thing. I'm not downplaying the quality of MP, it is a very good app and works well, and I think that taking the best parts of it and integrating with the largest open source media center community would be a benefit to all.

    highest regards,
    Aaron
     

    aidbish

    MP Donator
  • Premium Supporter
  • March 7, 2007
    207
    20
    righthandside 3/4 way up
    valid comments, but i find the attitude of the devs on the XBMC forum appaling. always taking the superior stance and not open to feeback
    That is one of the main reasons i stick with MP. i can ask a question and most times will be answered curtiously

    but thats my take on their forums
     

    infinite.loop

    Retired Team Member
  • Premium Supporter
  • December 26, 2004
    16,163
    4,133
    127.0.0.1
    Home Country
    Austria Austria
    Thanks for your comments Livin! :)

    MediaPortal started as an XBMC port. But the current code of MP 1.1 has not much in common anymore with XBMC.
    MediaPortal 2 was created from scratch, where we took an completelly new approach to avoid design flaws we have in MP1 and push the server / client concept for the entire mediaplayback/management (not just for TV).
    We definitly do not plan to turn it into an XBMC (PC) port.

    I do understand why you suggest that we should "team up" with XBMC, but truth is that I do not think that such is even wanted by XBMC team, nor that it would be a benefit for our application.
    Yes, XBMC is a great software, but I do not agree that it surpassed MediaPortal 1 in general (well, maybe different because of the various needs of users across the world -> US/Europe).

    I know that it is hard to understand what a great application MediaPortal 2 will become.
    But I am sure that this will change with the infos and testbuilds we will release during the next months.

    Those who use XBMC right now, and miss features which MediaPortal offers since years, will either have to talk to the XBMC developers to incorporate these, or consider a switch to MediaPortal.
     

    Mouch.net

    Portal Pro
    July 6, 2007
    163
    12
    La Calamine
    Home Country
    Belgium Belgium
    infinite.loop

    my 2cent to the topic. Even if I get Livin's opinion. I think MePo is on the right way with the Client/Server Architecture.

    Hope it will also get some great way to control all Clients through a lightweight windows or web application (see here)
    I think tablets/slates could turn to the default remote for all the home entertainment (or maybe the whole home :p ) in near future

    Keep up the good work :D
     

    Users who are viewing this thread

    Top Bottom