Call for tester for 1.4.0 features and fixes (4 Viewers)

Status
Not open for further replies.

Scythe42

Retired Team Member
  • Premium Supporter
  • June 20, 2009
    2,065
    2,703
    51
    Berlin
    Home Country
    Germany Germany
    Added new Build #16 to the first post.

    Contains all the small fixes of the last few days plus the SplashScreen glitch recent reported, where the desktop is shown quickly. As there are quite a few now I decided to upload a new build.

    Please test and report back any issues you found.

    PS: zapOSD will be fixed in the next build.
     

    Lightning303

    MP Donator
  • Premium Supporter
  • September 12, 2009
    798
    577
    Home Country
    Germany Germany
    Found a new bug in build 16.
    It somehow broke textblocks... When you are in TVSeries or MovingPictures, there are these textblocks with the plot in them. Wall of text that is scrolling.
    Now it looks like if only the first 3 rows are beeing displayed.
    For example for the series Arrow, first episode, the summary should be:
    Code:
    After a violent shipwreck, billionaire playboy Oliver Queen was missing and presumed dead for five years before being discovered alive on a remote island in the Pacific. Back in Starling City, Oliver slowly reconnects with those closest to him...

    However it only shows:
    Code:
    After a violent shipwreck, billionaire playboy Oliver Queen was missing and presumed dead for five years before

    At first it looked like thats what everywhere happens. But on some summarys it gets crazy. It looks like now there are 2 textblocks instead of one, and they scroll independently from each other, but just for a certain time, and then they merge... I dont know... crazy. So i made a video with my mobile. Hope that helps.
    Nothing in the logs as far as i can see, but i can provide some tomorrow if you need.

    The text for second episode should be:
    Code:
    Oliver heads to the courthouse to get his death certificate repealed and is pleasantly surprised to run into Laurel, who is there prosecuting Martin Somers, a criminal with ties to the Chinese Triad. Oliver recognizes Martin’s name from his father’s book and sets his sights on taking him down. Martin orders the Triad to ''take care of'' Laurel so they send their top mercenary -- China White -- after her. Meanwhile, Moira and Walter ask Oliver to take over the company.

     
    Last edited:

    Scythe42

    Retired Team Member
  • Premium Supporter
  • June 20, 2009
    2,065
    2,703
    51
    Berlin
    Home Country
    Germany Germany
    That's a nice one.

    Looks like from some experiments I did with hardcoded values to force some issues in TextScrollBoxUp. Somehow VS2012 did not compile everything fresh even though I did a Clean Solution.

    Can you try this one quickly, just a recompile/repackaging:

    Edit: Build removed - attached to first thread.
     
    Last edited:

    disaster123

    MP Donator
  • Premium Supporter
  • May 14, 2008
    3,558
    434
    Home Country
    Germany Germany
    I still have this error in my error.log:

    Code:
    [2013-04-07 14:00:26,878] [Log	] [MPMain   ] [ERROR] - Exception: System.InvalidOperationException: Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig.
       bei MediaPortal.Mixer.Mixer.Open(Int32 mixerIndex, Boolean isDigital)
       bei MediaPortal.Player.VolumeHandler..ctor(Int32[] volumeTable)
       bei MediaPortal.Player.VolumeHandler.CreateInstance()
       bei MediaPortal.Player.VolumeHandler.get_Instance()
       bei MediaPortalApp.OnResume()
       bei MediaPortalApp.WndProc(Message& msg)  Message: Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig.  Site   : Void Open(Int32, Boolean)  Source : Core  Stack Trace:	 bei MediaPortal.Mixer.Mixer.Open(Int32 mixerIndex, Boolean isDigital)
       bei MediaPortal.Player.VolumeHandler..ctor(Int32[] volumeTable)
       bei MediaPortal.Player.VolumeHandler.CreateInstance()
       bei MediaPortal.Player.VolumeHandler.get_Instance()
       bei MediaPortalApp.OnResume()
       bei MediaPortalApp.WndProc(Message& msg)
    
    ...
    
    
    [2013-04-07 14:00:26,872] [Log	] [MPMain   ] [DEBUG] - Main: WM_ACTIVATE
    [2013-04-07 14:00:26,872] [Log	] [MPMain   ] [INFO ] - Main: Activation Request Received
    [2013-04-07 14:00:26,872] [Log	] [MPMain   ] [DEBUG] - D3D: OnGotFocus()
    [2013-04-07 14:00:26,874] [Log	] [MPMain   ] [INFO ] - X10 debug: Could not get interface
    [2013-04-07 14:00:26,875] [Log	] [MPMain   ] [DEBUG] - Main: OnResume - Autoplay start listening
    [2013-04-07 14:00:26,875] [Log	] [MPMain   ] [DEBUG] - Main: OnResume - Initializing volume handler
    [2013-04-07 14:00:26,878] [Log	] [MPMain   ] [ERROR] - Exception: System.InvalidOperationException: Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig.
       bei MediaPortal.Mixer.Mixer.Open(Int32 mixerIndex, Boolean isDigital)
       bei MediaPortal.Player.VolumeHandler..ctor(Int32[] volumeTable)
       bei MediaPortal.Player.VolumeHandler.CreateInstance()
       bei MediaPortal.Player.VolumeHandler.get_Instance()
       bei MediaPortalApp.OnResume()
       bei MediaPortalApp.WndProc(Message& msg)  Message: Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig.  Site   : Void Open(Int32, Boolean)  Source : Core  Stack Trace:	 bei MediaPortal.Mixer.Mixer.Open(Int32 mixerIndex, Boolean isDigital)
       bei MediaPortal.Player.VolumeHandler..ctor(Int32[] volumeTable)
       bei MediaPortal.Player.VolumeHandler.CreateInstance()
       bei MediaPortal.Player.VolumeHandler.get_Instance()
       bei MediaPortalApp.OnResume()
       bei MediaPortalApp.WndProc(Message& msg)
    [2013-04-07 14:00:26,919] [Log	] [MPMain   ] [DEBUG] - Main: WM_DEVICECHANGE (Event: 32772)
    [2013-04-07 14:00:26,923] [MusicShareWatcher] [MusicShareWatcher] [INFO ] - Unable to turn on monitoring for: \\Homeserver\netzwerkshare\Musik Exception: Der Verzeichnisname \\Homeserver\netzwerkshare\Musik ist ungültig.
    [2013-04-07 14:00:26,923] [MusicShareWatcher] [MusicShareWatcher] [INFO ] - ---------------------------------------
    [2013-04-07 14:00:26,923] [MusicShareWatcher] [MusicShareWatcher] [INFO ] - Note: Errors reported for CD/DVD drives can be ignored.
    [2013-04-07 14:00:26,980] [Log	] [.NET SystemEvents] [INFO ] - SQLLiteClient: waiting for remote database file \\192.168.178.100\drs\DB\media-pc2\TVSeriesDatabase4.db3 for 9840 msec
    [2013-04-07 14:00:27,075] [Log	] [MPMain   ] [DEBUG] - Main: WM_DEVICECHANGE (Event: 32772)
    [2013-04-07 14:00:27,075] [Log	] [MPMain   ] [DEBUG] - Main: Audio Renderer AMD High Definition Audio Device removed
    [2013-04-07 14:00:27,985] [Log	] [MPMain   ] [DEBUG] - Main: WM_DEVICECHANGE (Event: 32772)
    [DOUBLEPOST=1365406048][/DOUBLEPOST]My minidisplay problems seem to come from .NET SystemEvents i don't see them when the display does not work.[DOUBLEPOST=1365337495][/DOUBLEPOST]i also don't see these lines:
    Code:
    [2013-04-07 13:55:46,884] [Log	] [.NET SystemEvents] [INFO ] - MiniDisplay: Suspend or Hibernation detected, shutting down plugin
    [2013-04-07 13:55:46,885] [Log	] [.NET SystemEvents] [INFO ] - MiniDisplay.DoStop(): Called.
    [2013-04-07 13:55:46,885] [Log	] [.NET SystemEvents] [INFO ] - MiniDisplay.DoStop(): Requesting background thread to stop.
    [2013-04-07 13:55:46,902] [Log	] [MPMain   ] [DEBUG] - Main: WM_ACTIVATE
    
    
    [2013-04-07 13:55:47,261] [Log	] [MiniDisplay] [INFO ] - MiniDisplay.DisplayHandler.Stop(): Called
    [2013-04-07 13:55:47,261] [Log	] [MiniDisplay] [INFO ] - MiniDisplay.DisplayHandler.Stop(): Calling driver CleanUp() function
    [2013-04-07 13:55:47,261] [Log	] [MiniDisplay] [INFO ] - (IDisplay) iMONLCDg.CleanUp(): called
    [2013-04-07 13:55:47,263] [Log	] [MiniDisplay] [INFO ] - iMONLCDg.CloseLcd(): called
    [2013-04-07 13:55:47,263] [Log	] [MiniDisplay] [INFO ] - iMONLCDg.CloseLcd(): Stopping iMONLCDg.UpdateIcons() Thread
     

    Scythe42

    Retired Team Member
  • Premium Supporter
  • June 20, 2009
    2,065
    2,703
    51
    Berlin
    Home Country
    Germany Germany
    Interesting that you get this exception:

    When I take a look at the code:
    Code:
    	  Log.Debug("Main: OnResume - Initializing volume handler");
    	  try
    	  {
    		#pragma warning disable 168
    		VolumeHandler vh = VolumeHandler.Instance;
    		#pragma warning restore 168
    	  }
    	  catch (Exception exception)
    	  {
    		Log.Info("Main: OnResume - Could not initialize volume handler: ", exception.Message);
    	  }
    It is clearly inside try-catch statement, which means no exception gets thrown as they are handled. As you are compiling your own version, please check you pulled all changes from git.

    Regarding the Mini Display: SystemEvents.PowerModeChanged is a normal .NET function, so .NET itself should raise this event. Very strange that it seems not getting raised on your system. This is something an application cannot control. Possible that the code relies on something else I optimized away. If so it is not in the OnSuspend() methods itself.
     
    Last edited:

    disaster123

    MP Donator
  • Premium Supporter
  • May 14, 2008
    3,558
    434
    Home Country
    Germany Germany
    Sure i'm using YOUR branch and just two patches regarding the tvserver on top. I'm always rebasing on top of your branch. So i def. have all patches. As you can see later in the Logs the AMD HDMI Audio device get's removed:
    "
    [2013-04-07 14:00:27,075] [Log ] [MPMain ] [DEBUG] - Main: Audio Renderer AMD High Definition Audio Device removed
    "

    and later reinserted. I think that is the reason why the volume handler can't be initialized. I think this happens due to the loss of the HDMI connection and then a reconnect.

    Regarding the PowerModeChanged => it works sometimes and sometimes it doesn't. With plain 1.3.0 it was always working.

    Thanks!
     

    Scythe42

    Retired Team Member
  • Premium Supporter
  • June 20, 2009
    2,065
    2,703
    51
    Berlin
    Home Country
    Germany Germany
    @Developers: How it is possible that MP raises an exception here when I have it in a try/catch block? I don't throw anything.

    How can this:
    Code:
    	Log.Debug("Main: OnResume - Initializing volume handler");
    	  try
    	  {
    		#pragma warning disable 168
    		VolumeHandler vh = VolumeHandler.Instance;
    		#pragma warning restore 168
    	  }
    	  catch (Exception exception)
    	  {
    		Log.Info("Main: OnResume - Could not initialize volume handler: ", exception.Message);
    	  }

    cause this:

    Code:
    [2013-04-07 14:00:26,875] [Log  ] [MPMain  ] [DEBUG] - Main: OnResume - Initializing volume handler
    [2013-04-07 14:00:26,878] [Log  ] [MPMain  ] [ERROR] - Exception: System.InvalidOperationException: Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig.
      bei MediaPortal.Mixer.Mixer.Open(Int32 mixerIndex, Boolean isDigital)
      bei MediaPortal.Player.VolumeHandler..ctor(Int32[] volumeTable)
      bei MediaPortal.Player.VolumeHandler.CreateInstance()
      bei MediaPortal.Player.VolumeHandler.get_Instance()
      bei MediaPortalApp.OnResume()
      bei MediaPortalApp.WndProc(Message& msg)  Message: Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig.  Site  : Void Open(Int32, Boolean)  Source : Core  Stack Trace:	bei MediaPortal.Mixer.Mixer.Open(Int32 mixerIndex, Boolean isDigital)
      bei MediaPortal.Player.VolumeHandler..ctor(Int32[] volumeTable)
      bei MediaPortal.Player.VolumeHandler.CreateInstance()
      bei MediaPortal.Player.VolumeHandler.get_Instance()
      bei MediaPortalApp.OnResume()
      bei MediaPortalApp.WndProc(Message& msg)

    It's a try/catch block. I don't understand this. Any C# gurus?
     
    Last edited:

    Scythe42

    Retired Team Member
  • Premium Supporter
  • June 20, 2009
    2,065
    2,703
    51
    Berlin
    Home Country
    Germany Germany
    Regarding the PowerModeChanged => it works sometimes and sometimes it doesn't. With plain 1.3.0 it was always working.
    Then I am probably a bit too fast in the code for the plugin on suspending MP. Will think of something. Probably best to teach the MiniDisplay Plugin a WndProc() method instead of relying on the .NET EventHandlers here.
     
    Last edited:
    Status
    Not open for further replies.

    Users who are viewing this thread

    Top Bottom