SerpentDrago / skin.auramod

Auramod Skin for Kodi 18
85 stars 20 forks source link

Kodi Nexus crashing #279

Open JFG1000 opened 1 year ago

JFG1000 commented 1 year ago

Hi there here is the log as requested from the crashes, hope this helps

https://paste.kodi.tv/ebuqoqabir

Here is also one when trying to play a stream

https://paste.kodi.tv/liqoharijo

Nuklear92 commented 1 year ago

What version of TMDb helper you're using?

JFG1000 commented 1 year ago

The nexus one, auramod is crashing alot with nexus, fingers crossed bugs can be ironed out and we can continue to use this amazing skin on Kodi 20

jojobrogess commented 1 year ago

What type of crash are you talking about? Something doesn't load/backsout or Kodi completely crashes? I wonder what these mean:

2023-01-11 12:50:04.581 T:11755    info <general>: LoadTimers: Trying to load skin timers from /storage/emulated/0/Android/data/net.kodinerds.maven.kodi20/files/.kodi/addons/skin.auramod/1080i/Timers.xml
2023-01-11 12:50:04.581 T:11755 warning <general>: LoadTimers: Could not load timers file /storage/emulated/0/Android/data/net.kodinerds.maven.kodi20/files/.kodi/addons/skin.auramod/1080i/Timers.xml: Failed to open file (row: 0, col: 0)
2023-01-11 12:50:04.581 T:11755    info <general>:   load new skin...
2023-01-11 12:50:04.581 T:11755    info <general>: Loading custom window XMLs from skin path /storage/emulated/0/Android/data/net.kodinerds.maven.kodi20/files/.kodi/addons/skin.auramod/1080i
2023-01-11 12:50:04.621 T:11755   debug <general>: Load Skin XML: 39.65 ms

And Interesting:

2023-01-11 12:50:07.272 T:11755   error <general>: Repository add-on repository.a4ksubtitles uses old schema definition for the repository extension point! This is no longer supported, please update your addon to use <dir> definitions.
2023-01-11 12:50:07.272 T:11755   error <general>: Repository add-on repository.a4ksubtitles does not have any directory and won't be able to update/serve addons! Please fix the addon.xml definition
2023-01-11 12:50:07.272 T:11755 warning <general>: Repository add-on repository.gaddinator uses plain HTTP for add-on downloads in path http://gaddinator.com/matrix/_zip/ - this is insecure and will make your Kodi installation vulnerable to attacks if enabled!

I really didn't see anything. Could be wrong though.

Kodi Nexus was just officially released today, so try updating. See if that helps? I'm not really seeing any crashes on my side of things, other than a tvshow scraping error. Which I already fixed by updating my nfos and reinstalling a fresh kodi.

I hope you can get this worked out! If you see anything suspicious in your logs, please post them

JayDee696969 commented 1 year ago

Timers.zip Try putting a Timers.xml file in the skins 1080i folder..

jojobrogess commented 1 year ago

@JayDee696969 Yeah that will probably shut up the notification thrown in the logs. Adding in that file(even if pretty much empty) to the skin(auramod/1080i) should get rid of that message. Although, it won't break anything if it's not.

I've never heard of that skin file, which probably means it's a Nexus feature.? lol Given that Nexus is officially out, I think it might be wise to implement it.


Looking here: enen92 "907 lines of code added just to be able to close a window properly in estuary (the video osd)"

The docs for Skin Timers from codexyz


Description Skin timers are skin resources that are dependent on time and can be fully controlled from skins either using Builtin functions or Infolabels and Boolean conditions. One can see them as stopwatches that can be activated and deactivated automatically depending on the value of info expressions or simply activated/deactivated manually from builtins. The framework was created to allow skins to control the visibility of windows (and controls) depending on the elapsed time of timers the skin defines. Skin timers allow multiple use cases in skins, previously only available via the execution of python scripts:

- Closing a specific window after x seconds have elapsed
- Controlling the visibility of a group (or triggering an animation) depending on the elapsed time of a given timer
- Defining a buffer time window that is kept activated for a short period of time (e.g. keep controls visible for x seconds after a player seek)
- Executing timed actions (on timer stop or timer start)
- etc
Tag Description
name The unique name of the timer. The name is used as the id of the timer, hence needs to be unique. (required)
description The description of the timer, a helper string. (optional)
start An info bool expression that the skinning engine should use to automatically start the timer (optional)
reset An info bool expression that the skinning engine should use to automatically reset the timer (optional)
stop An info bool expression that the skinning engine should use to automatically stop the timer (optional)
onstart A builtin function that the skinning engine should execute when the timer is started (optional)(can be repeated). Supports an additional "condition" as element attribute.
onstop A builtin function that the skinning engine should execute when the timer is stopped (optional)(can be repeated). Supports an additional "condition" as element attribute.

The following timer is an example of a completely automatic timer. The timer is automatically activated or deactivated based on the value of boolean info expressions. In this particular example, the timer is automatically started whenever the Player is playing a file (if not already running). It is stopped if there is no file being played (and of course if previously running). Since the timer can be activated/deactivated multiple times, reset="true" ensures the timer is always reset to 0 on each start operation. Whenever the timer is started or stopped, notifications are issued.

<timer>
    <name>myautomatictimer</name>
    <description>Player state checker</description>
    <start reset="true">Player.Playing</start>
    <stop>!Player.Playing</stop>
    <onstart>Notification(skintimer, Player has started playing a file, 1000)</onstart>
    <onstop>Notification(skintimer, Player is no longer playing a file, 1000)</onstop>
</timer>


Implementation does look pretty straight forward though: (EXAMPLE)

 <timer>
     <name>autoclosevideoosd</name>
     <description>Timer to auto close the video OSD (if enabled in the skin settings)</description>
     <start reset="true">Window.IsActive(videoosd) + Skin.HasSetting(OSDAutoClose)</start>
     <reset>Window.IsActive(videoosd) + System.IdleTime(1) + Integer.IsGreaterOrEqual(Skin.TimerElapsedSecs(autoclosevideoosd), 1)</reset>
     <stop>!Window.IsActive(videoosd) | String.IsEmpty(Skin.String(OSDAutoCloseTime)) + Integer.IsGreaterOrEqual(Skin.TimerElapsedSecs(autoclosevideoosd), 4) | !String.IsEmpty(Skin.String(OSDAutoCloseTime)) + Integer.IsGreaterOrEqual(Skin.TimerElapsedSecs(autoclosevideoosd),Skin.Numeric(OSDAutoCloseTime))</stop>
     <onstop>Dialog.Close(videoosd)</onstop>
 </timer>


Sadly, it looks like I'm the only one working on this skin at the moment and the Skin Timers feature is a little outside my area of understanding at the moment. I'm barely starting to be able to read kodi code.

Plus this feature looks a little involved, as it would probably replace some amount of code and add in a few features. But off the top of my head I don't really think the skin uses a timing function, other than maybe for OSD's or animations.

Obviously I could be wrong though, I don't know that much of what's going on within Auramod.

jojobrogess commented 1 year ago

Looks like there might be a Skinshortcuts issue as well, there have been some updates to the addon: https://github.com/mikesilvo164/script.skinshortcuts