AtmoLight 2.1.0.0 for MediaPortal2 [2015-01-21] (2 Viewers)

kilik360

MP Donator
  • Premium Supporter
  • September 3, 2010
    576
    235
    Home Country
    Canada Canada
    Country flag
    Just to let you know that I use Beta 2 with MP2 10th AE Update 1, and so far so good Lightning303 !

    Thanks a lot !
     
    Last edited:

    Lightning303

    MP Donator
  • Premium Supporter
  • September 12, 2009
    798
    577
    Home Country
    Germany Germany
    Country flag
    The MP2 version of AtmoLight gets an update also, of course :).

    With this update, we close the gap to AtmoLight 1.x, as now everything the MP1 version can do, the MP2 version can do aswell.

    Information about now supporting Boblight, Hue and Hyperion, aswell as some other changes can be found here: https://forum.team-mediaportal.com/threads/atmolight-1-14-0-0-2014-11-23.125633/page-6#post-1111698


    On top of that, these are some of the changes exclusive to the MP2 version:

    You can now change the settings for AtmoLight without having to restart MP2. Before lots of the settings would not be considered until MP2 got restarted. This also means that you can add or remove targets (e.g. AtmoWin) on the fly.

    We added the VUMeter and VUMeter Rainbow effect from the MP1 version. This effect will light up your leds according to the music you are listening to.

    Blackbar detection and removal has been added. If you are watching an old tv show or a bluray, and the blackbars are encoded in the video, then AtmoLight can now remove them, so that the leds light up even with the bars. Note that this will not change how the video looks on your screen.

    We fixed a bug where AtmoLight would not change the effect if a video ended on its own.

    Finally, we added Picture-in-Picture support. The leds will always light up according to the primary videoplayer, if you switch the player, then the lights will switch aswell. Also AtmoLight now handles the effects correctly when you start or stop a player in PiP mode.
     

    morpheus_xx

    Lead Dev MP2
  • Team MediaPortal
  • March 24, 2007
    11,752
    7,115
    Home Country
    Germany Germany
    Country flag
    @Lightning303 can you please check this error? The latest release has changed player code (using Texture directly, not a copied Surface):
    Methode nicht gefunden: "SharpDX.Direct3D9.Surface MediaPortal.UI.SkinEngine.Players.ISharpDXVideoPlayer.get_Surface()".
    at AtmoLight.Plugin.UICapture(Object sender, EventArgs args)
    at MediaPortal.UI.SkinEngine.DirectX.GraphicsDevice.Fire(EventHandler eventHandler)


    Besides this error also the plugin.xml needs to be adjusted to match new compatibility management. Can you check this, please?
     

    morpheus_xx

    Lead Dev MP2
  • Team MediaPortal
  • March 24, 2007
    11,752
    7,115
    Home Country
    Germany Germany
    Country flag
    @Lightning303 did you find a moment to update the plugin for last SR'15?

    I can offer a patch if you like. Changes are minimal. We plan to release an Update build soon, would be great if the plugin works again :)
     

    Lightning303

    MP Donator
  • Premium Supporter
  • September 12, 2009
    798
    577
    Home Country
    Germany Germany
    Country flag
    Hey,
    no i didnt take a look at it yet. If you have a patch and would provide it, i could give it a try and make a new version after that. Will probably be easier and faster ;).
     

    morpheus_xx

    Lead Dev MP2
  • Team MediaPortal
  • March 24, 2007
    11,752
    7,115
    Home Country
    Germany Germany
    Country flag
    Before I checkout source, I can post the changes:

    https://github.com/ambilight-4-medi...er/AtmoLight.MediaPortal2/Plugin.cs#L442-L444
    old: surfaceSource = player.Surface;
    new: surfaceSource = player.Texture.GetSurfaceLevel(0);

    I think you need to Dispose the returned Surface by GetSurfaceLevel, but only the one from player, not the RenderTarget.

    A conceptional question: why do you take the video surface if it is present? Isn't it better to capture the finished rendered backbuffer? It should give you better results, i.e. if there are 2 PiP video players, the actual screen position of video frames need to be considered (fullscreen background+PiP window overlay).
     

    Lightning303

    MP Donator
  • Premium Supporter
  • September 12, 2009
    798
    577
    Home Country
    Germany Germany
    Country flag
    why do you take the video surface if it is present?
    I dont even know what that means ;), "if it is present". As said before, everything directx and so on is pretty much just me trying everything i can think of until it works. MP1 uses surfaces, so thats what i was looking for in MP2. If you know of a better solution (im sure you do), please, go for it. Implement it and either provide me with a patch, or i can give you the rights on GitHub so you can just push it. But giving me hints on how to make it better is not going to give us any results, as i dont have the background in all this render stuff and currently using my free time for other things :).
    If you want to leave it up to me, thats fine aswell, and im going to do it, at some point. But i have no idea when.
     

    morpheus_xx

    Lead Dev MP2
  • Team MediaPortal
  • March 24, 2007
    11,752
    7,115
    Home Country
    Germany Germany
    Country flag
    I dont even know what that means ;), "if it is present".
    I was refering to the existing code parts.
    Here you take the VideoPlayer's frame surface as source: https://github.com/ambilight-4-medi...er/AtmoLight.MediaPortal2/Plugin.cs#L438-L445.

    And if no player is active you take the back buffer (full rendered frame): https://github.com/ambilight-4-medi.../master/AtmoLight.MediaPortal2/Plugin.cs#L448

    A generic solution in all case (no video, 1 or 2 video players) is the latter one, the finished rendered back buffer frame.
     

    Lightning303

    MP Donator
  • Premium Supporter
  • September 12, 2009
    798
    577
    Home Country
    Germany Germany
    Country flag
    I dont even know what that means ;), "if it is present".
    I was refering to the existing code parts.
    Here you take the VideoPlayer's frame surface as source: https://github.com/ambilight-4-medi...er/AtmoLight.MediaPortal2/Plugin.cs#L438-L445.

    And if no player is active you take the back buffer (full rendered frame): https://github.com/ambilight-4-medi.../master/AtmoLight.MediaPortal2/Plugin.cs#L448

    A generic solution in all case (no video, 1 or 2 video players) is the latter one, the finished rendered back buffer frame.

    I see, but my comment in the code should then show why i used 2 different approaches. The backbuffer was the first approach i ever did. However using the frame surface is faster, or atleast it was faster when i implemented it, and it has the nice effect that blackbars that are not encoded into the video will not be in the frame, as far as i can remember this also is true for osd and so on.
    So whenever a frame surface from the videoplayer is available, it gets used, because its more desireble. Otherwise we fall back to the backbuffer which gives us everything we can see on screen (e.g. while browsing menus, looking at pictures and so on).
     

    Lightning303

    MP Donator
  • Premium Supporter
  • September 12, 2009
    798
    577
    Home Country
    Germany Germany
    Country flag
    Found some time to have a look. Here is an intermittent version which works with the snapshot from 2015-08-01.
    As soon as we are ready to release a new AtmoLight version for MP1, we will also update this one properly.
     

    Attachments

    • AtmoLight_2.1.0.303.rar
      155.7 KB · Views: 111

    Users who are viewing this thread

    Similar threads

    • Sticky
    Just for your information: couldn't find the ns*.tmp file...
    Just for your information: couldn't find the ns*.tmp file...
    Pre Releases are provided as a way for the community to test and give feedback on all the exciting things we have lined up for the...
    Replies
    39
    Views
    1K
    It is looking and working very well now and I am almost at the point of switching my HTPC to MP2, madvr would definitely push me over the edge for sure.;)
    It is looking and working very well now and I am almost at the point of switching my HTPC to MP2, madvr would definitely push me...
    We are proud to present MediaPortal 2.3 MediaPortal 2.3 is a full-blown media center software that addresses the most common user...
    Replies
    4
    Views
    2K
    Hallo, Since the update to MP1 27 pre, the refresh rate display no longer works correctly. The font is too small and illegible. The display can be reached with "Shift, 1". Andreas
    Hallo, Since the update to MP1 27 pre, the refresh rate display no longer works correctly. The font is too small and illegible. The...
    Pre Releases are provided as a way for the community to test and give feedback on all the exciting things we have lined up for the...
    Replies
    2
    Views
    814
    • Sticky
    We have just released MediaPortal 1.27 Highlights of this release Bugfixes: [MP1-5050] - GUIHome should not be copied next to the mediaportal executable [MP1-5051] - Music Playback fails with ReplayGain enabled and no ReplayGain Information in song [MP1-5053] - TV framerate is not parsed from tsbuffer Since Pre-Release ...
    We have just released MediaPortal 1.27 Highlights of this release Bugfixes: [MP1-5050] - GUIHome should not be copied next to...
    We have just released MediaPortal 1.27 Highlights of this release Bugfixes: [MP1-5050] - GUIHome should not be copied next to...
    Replies
    0
    Views
    2K
    I thinks this is the first time I've installed MP on all my machines without a single IO error 32. Good work guys, thanks!
    I thinks this is the first time I've installed MP on all my machines without a single IO error 32. Good work guys, thanks!
    We have just released MediaPortal 1.26 - Winter is coming... Highlights of this release Bugfixes: [MP1-5031] - Fix Invalid File...
    Replies
    1
    Views
    1K
    Top Bottom