Giter Site home page Giter Site logo

lacro59 / playnite-gameactivity-plugin Goto Github PK

View Code? Open in Web Editor NEW
57.0 57.0 10.0 5.04 MB

This plugin creates datas for your game activities and shows many statistics.

Home Page: https://playnite.link

License: MIT License

C# 99.58% PowerShell 0.42%
activity hwinfo msiafterburner openhardware playnite plugin

playnite-gameactivity-plugin's Introduction

Lacro59's GitHub stats
Buy Me a Coffee at ko-fi.com

Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases
Static Badge GitHub release (latest by date) GitHub Release Date Github Lastest Releases

playnite-gameactivity-plugin's People

Contributors

bancrash avatar canranban avatar lacro59 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

playnite-gameactivity-plugin's Issues

Genre tab doesn't even open

Annotation 2020-07-01 120116
The genre doesn't even open at all when opening the extension. Just shows the sources data. Changing the month just breaks it and shows this error.
Annotation 2020-07-01 120117

Resize window

From Discord (Лорд Хоботок (Lord Hobotok)#9591)
Resize window for 1366x768.

no logging data

from dPandl on forum https://playnite.link/forum/thread-264-post-2418.html#pid2418

Hi I use your awesome plugin with the msi afterburner option, but the plugin shows 0 fps, what am I doing wrong? Do i have to use hwinfo for that?

07-11 02:10:15.275|INFO|GameActivity:GameActivity - dataLogging_start
07-11 02:10:15.279|INFO|GamesEditor:Started Luigi's Mansion 3DS game.
07-11 02:15:32.346|WARN|PerfCounter:GameActivity - No Cpu temperature find
07-11 02:15:32.424|ERROR|Common:GameActivity [??? 486] - Fail get fpsValue
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
  bei GameActivity.GameActivity.<OnTimedEvent>d__66.MoveNext() in E:\Github\Lacro59\playnite-gameactivity-plugin\GameActivity.cs:Zeile 486.
07-11 02:16:04.367|INFO|PlayniteUiHelper:SuccessStory - Download achievements for Luigi's Mansion 3DS - RetroAchievements
07-11 02:16:04.367|INFO|GameActivity:GameActivity - dataLogging_stop

Error message - Failed to load listGameActivities

Getting below error.
I know its not your extension issue, but the issue is I messed up some installed game due to windows re-install or game deletion.
I am using Playnite portable version.
I know that removing and re-installing the plugin should solve this issue, but I just dont want that my last 1 month playtime data to be lost, all the charts, hour count that your extension provides.

Please let me know how can I remove these 1-2 game details from the extension manually so that this error goes.
Again thanks for the lovely extension.

image

Details missing in GA popup window

As already mentioned in Discord in GA the details of Elapsed Time and Source are missing for me in the game list. Tried with default theme as well as many custom ones.

Playnite 8.14
GameActivity 1.3

[Feature request] Set specific color for each library

It would be awesome if we could assign each library a set color in the overview "total hours by week". Or just have the libraries have a set color. That way, when flipping through months, its easy to see which store has what hours. Right now you have to hover over the bar to see which color was assigned to each library, as it changes throughout the months.

Crash report

After playing Starcraft II, Playnite poped up an error message indicating that GameActivity has crashed.
After restarting Playnite, everything seems fine and yesterday I played another without problems.

In attachment, the log.

GameActivity_bug.txt

MSI Afterburner Shared Memory Error Crash

I'm having crashes. The only relevant logs during the time of the crash are pasted below immediately followed by an entry referencing startup of Playnite. Please advise if there is anything else required. MSI Afterburner is installed.

Loaded Extensions:
Game Activity
Statistics
Success Story

2020-07-28 13:25:15.9537|INFO:Started Space Engineers game.
2020-07-28 13:30:30.7638|ERROR:Unhandled exception occured.MSIAfterburnerNET.Common.Exceptions.SharedMemoryNotFoundException: Could not connect to MSI Afterburner shared memory. ---> System.ComponentModel.Win32Exception: The system cannot find the file specified
at MSIAfterburnerNET.Common.SharedMemory.ReadonlyMemory..ctor(String name, FileMapAccess accessLevel)
at MSIAfterburnerNET.HM.HardwareMonitor.OpenMemory()
--- End of inner exception stack trace ---
at MSIAfterburnerNET.HM.HardwareMonitor.OpenMemory()
at MSIAfterburnerNET.HM.HardwareMonitor.RefreshHeader()
at MSIAfterburnerNET.HM.HardwareMonitor.Refresh()
at MSIAfterburnerNET.HM.HardwareMonitor..ctor()
at GameActivity.GameActivity.d__66.MoveNext() in H:\Lacro59\playnite-gameactivity-plugin\GameActivity.cs:line 564
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.b__6_1(Object state)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
2020-07-28 20:50:41.7948|INFO:Application started from 'C:\Program Files\Playnite', with '' arguments.
2020-07-28 20:50:43.1160|INFO:PluginCommon - Parse plugin localization file C:\Users<NAME>\AppData\Roaming\Playnite\Extensions\GameActivity_b969de3b0711c587c48960800bfd9bc0\localization\LocSource.xaml.
2020-07-28 20:50:43.1370|INFO:Loaded plugin: Game Activity
2020-07-28 20:50:43.1735|INFO:PluginCommon - Parse plugin localization file C:\Users<NAME>\AppData\Roaming\Playnite\Extensions\Statistics_ca512b8608887b13804fca36507f5a46\localization\LocSource.xaml.
2020-07-28 20:50:43.1735|INFO:Loaded plugin: Statistics
2020-07-28 20:50:43.2515|INFO:PluginCommon - Parse plugin localization file C:\Users<NAME>\AppData\Roaming\Playnite\Extensions\SuccessStory_e19bcf3b4090d027d90f39ef7ff733f3\localization\LocSource.xaml.
2020-07-28 20:50:43.2670|INFO:Loaded plugin: Success Story
2020-07-28 20:50:43.3145|INFO:Loaded plugin: Amazon Games Library Importer
2020-07-28 20:50:43.3590|INFO:Loaded plugin: Battle.net Library Importer
2020-07-28 20:50:43.4030|INFO:Loaded plugin: GOG Library Importer
2020-07-28 20:50:43.4345|INFO:Loaded plugin: Humble Library Importer
2020-07-28 20:50:43.4805|INFO:Loaded plugin: IGDB metadata provider
2020-07-28 20:50:43.5685|INFO:Loaded plugin: itch.io Library Importer
2020-07-28 20:50:43.6645|INFO:Loaded plugin: Steam Library Importer
2020-07-28 20:50:43.7025|INFO:Loaded plugin: Twitch Library Importer
2020-07-28 20:50:43.7535|INFO:Loaded plugin: Universal Steam Metadata
2020-07-28 20:50:43.8260|INFO:Loaded plugin: Uplay Library Importer
2020-07-28 20:50:43.8695|INFO:Loaded plugin: Xbox Library Importer

After booting up, GameActivity reports Afterburner "is logging but not running"

Hi,

I have weird issue, because whenever I boot up and have Playnite start via autostart, I get the message that MSI Afterburner is logging but not running. I guess it's because while booting up the process of Playnite is "ready" faster than MSI Afterburner.
When I restart Playnite or anything while being fully booted, there is no problem at all.

I guess having a delay of 5 seconds (or something) until GameActivity checks if Afterburner is running, would eliminate the problem.

image

[Feature request] Add option to not save short playtime

Many times I open a game quickly just to see some things, and I would like these sessions to not be saved.
An option to set a minimum amount of seconds that a game must be open for the session data to be saved would be great.
So if I set it for 120s, any sessions of 2 minutes or less wouldn't be saved. But a session of 121s would be saved as usual.
Thanks.

Edit:
An button to manually remove some sessions would be great too.
Maybe a button here (image) or a right click option to remove it.
image

[Suggestion] Make the wiki more clear for MSI afterburner

For the following link on how to activate MSI Afterburner isn't enough to actually make it play well with this plug in, at least in my use case. These are the step I used to actually enable it.

  1. Open Afterburner
  2. Go to Settings
  3. Open the tab of monitoring
  4. Click on the 3 little dots labeled "Activate hardware monitoring graphs"
  5. Activate the following plug ins (not sure which is actually relevant) "CPU.dll, GPU.dll, PerfCounter.dll" and press OK
  6. Enable all FPS and Temp relevant graphs
  7. Finally click Apply or OK
  8. Configure plugin in Playnite settings menu

New update crashes Playnite

Playnite prompted to update the addon to 2.3.1, and after the restart, the whole program freezes and refuses to start. It only starts successfully after deleting the gameactivity extension folder. This is the only activity that had to be updated and I have tried to update 3 times with same results.

add an option to have a view with separate sources or not

by Alowen from forum

If it could also include merging the sources in the weekly/monthly playtimes it would be perfect. Lets say i have played 50 hours this month, it always shows it divided among the various launchers. As i am using playnite to unify all these, it does not make sense TO ME and i would rather see one count.

[Feature request] Add the option to manually edit entries

(Based on my comment on #55, I think this should be a different Feature request issue).

Hi, currently we can edit the total play time in Playnite but if we use this extension play time and individual entries values will not be consistent. So I think could be useful to have a manual editor to be able to also change the individual entries generated by this extension.

Suggestion:

  1. Add a new option, similar to remove individual entries, to manually edit one entry.
  2. (Optional) Add an option to also manually add individual entries from 0, so we can manage all data related to the play time.

Add localization line

From Discord (Лорд Хоботок (Lord Hobotok)#9591)
need to add lines to translate in reducing units on time and weeks

labels & options

Some labels are not correct for chart options.
Some chart options are not available for custom integration.

Game time doubling

Hi, I installed GameActivity yesterday and noticed that my gametime according to GameActivity is always twice the time I have actually played. As you can see in the screenshot below, I played two sessions of a game (one was 1 minute long, the other one was 46 minutes long), and each was counted twice, with the total time on Steam also being double what it should be. This has happened for every game I have opened since installing GameActivity.

(p.s. I'm currently running Windows 11, I don't know if that might have something to do with this issue)

gameactivity doubling

Improve genre graphic

From Discord (Лорд Хоботок (Lord Hobotok)#9591)
Add some restriction to genre size. So that they do not overlap each other.

[Feature Request] Increment by more than one day at a time for charts

I'd like to be able to increment by more than one day at a time for game session charts

Currently, I am only able to shift the graph by one day at a time for each press of the button (left or right)

For example, let's say this is what the graph looks like right now
A
image

One left button press results in this (shifts by 1 day)
B
image

Instead, I'd like it to come to this (shifts by 7 days)
C
image

The 7 days is just an example, preferably it would be a customizable number of shifts

In summary -
Right now the charts work like A to B
But I'd like the functionality to make it go from A to C

Variables for custom integration

There is no variables for custom integration of selected elements when checked show graphic and show graphic with last log.
Something like Sc_IntegrationShowGraphic of SuccessStory

Playnite 9 Beta : Plugin didn't load correctly

On the Playnite 9 Beta, the plugin won't load.
I tried to install it from the plugin manager and from github but it doesn't work anymore

image

The log wich concern the extension :

16-09 09:51:40.746|ERROR|ExtensionFactory:Failed to load plugin: GameActivity
System.IO.IOException: Impossible de créer un fichier déjà existant.

   à System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   à System.IO.Directory.InternalMove(String sourceDirName, String destDirName, Boolean checkHost)
   à CommonPluginsShared.PlayniteExtended.PluginExtended`2.TransfertOldDatabase() dans D:\GitHub\Lacro59\playnite-gameactivity-plugin\source\playnite-plugincommon\CommonPluginsShared\PlayniteExtended\PluginExtended.cs:ligne 50
   à CommonPluginsShared.PlayniteExtended.PluginExtended`2..ctor(IPlayniteAPI api) dans D:\GitHub\Lacro59\playnite-gameactivity-plugin\source\playnite-plugincommon\CommonPluginsShared\PlayniteExtended\PluginExtended.cs:ligne 30
   à GameActivity.GameActivity..ctor(IPlayniteAPI api) dans D:\GitHub\Lacro59\playnite-gameactivity-plugin\source\GameActivity.cs:ligne 40

Crash On Start with 0.12.1

Updated this extension to 0.12.1 from 0.11 and now playnite crashes on start.

It crashes so early there aren't any log files.

Playnite is 7.9
OS: Microsoft Windows 10 Enterprise (1909) (x64) (10.0.18363)

Faulting application name: Playnite.DesktopApp.exe, version: 1.0.0.0, time stamp: 0xfeaa346a
Faulting module name: KERNELBASE.dll, version: 10.0.18362.815, time stamp: 0x67005c2a
Exception code: 0xe0434352
Fault offset: 0x00114402
Faulting process id: 0x76d0
Faulting application start time: 0x01d6815181ca47be
Faulting application path: C:\Clients\Playnite\Playnite.DesktopApp.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report Id: 5dcbec17-4f80-4060-8d15-c1bc0ccb607a
Faulting package full name: 
Faulting package-relative application ID: 
Application: Playnite.DesktopApp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidCastException
   at System.Windows.Controls.TextBlock.get_Text()
   at System.Windows.Controls.TextBlock.CreateLine(MS.Internal.Text.LineProperties)
   at System.Windows.Controls.TextBlock.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.Grid.MeasureCell(Int32, Boolean)
   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32, System.Windows.Size, Boolean, Boolean, Boolean ByRef)
   at System.Windows.Controls.Grid.MeasureOverride(System.Windows.Size)
   at Playnite.Controls.GridEx.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.StackPanel.StackMeasureHelper(System.Windows.Controls.IStackMeasure, System.Windows.Controls.IStackMeasureScrollData, System.Windows.Size)
   at System.Windows.Controls.StackPanel.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.Grid.MeasureCell(Int32, Boolean)
   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32, System.Windows.Size, Boolean, Boolean, Boolean ByRef)
   at System.Windows.Controls.Grid.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.StackPanel.StackMeasureHelper(System.Windows.Controls.IStackMeasure, System.Windows.Controls.IStackMeasureScrollData, System.Windows.Size)
   at System.Windows.Controls.StackPanel.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.Grid.MeasureCell(Int32, Boolean)
   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32, System.Windows.Size, Boolean, Boolean, Boolean ByRef)
   at System.Windows.Controls.Grid.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.Grid.MeasureCell(Int32, Boolean)
   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32, System.Windows.Size, Boolean, Boolean, Boolean ByRef)
   at System.Windows.Controls.Grid.MeasureOverride(System.Windows.Size)
   at Playnite.Controls.GridEx.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.DockPanel.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.Grid.MeasureCell(Int32, Boolean)
   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32, System.Windows.Size, Boolean, Boolean, Boolean ByRef)
   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32, System.Windows.Size, Boolean, Boolean)
   at System.Windows.Controls.Grid.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.Grid.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at MS.Internal.Helper.MeasureElementWithSingleChild(System.Windows.UIElement, System.Windows.Size)
   at System.Windows.Controls.ScrollContentPresenter.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.Grid.MeasureCell(Int32, Boolean)
   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32, System.Windows.Size, Boolean, Boolean, Boolean ByRef)
   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32, System.Windows.Size, Boolean, Boolean)
   at System.Windows.Controls.Grid.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.ScrollViewer.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.Control.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.ContextLayoutManager.UpdateLayout()
   at System.Windows.ContextLayoutManager.UpdateLayoutCallback(System.Object)
   at System.Windows.Media.MediaContext+InvokeOnRenderCallback.DoWork()
   at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   at System.Windows.Media.MediaContext.RenderMessageHandlerCore(System.Object)
   at System.Windows.Media.MediaContext.AnimatedRenderMessageHandler(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
   at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
   at System.Windows.Application.RunDispatcher(System.Object)
   at System.Windows.Application.RunInternal(System.Windows.Window)
   at System.Windows.Application.Run(System.Windows.Window)
   at Playnite.DesktopApp.ProgramEntry.Main(System.String[])

(I've temporarily reverted to 0.11)

Time tracking fails when multiple games running

Playnite 9.6, plugin version 2.2.

I've noticed that time tracking sometimes fails when multiple games are running, and gets recorded as "not played." Steps to replicate:

  1. Launch a game.
  2. Launch a second game.
  3. Exit the first game, or tell Playnite to stop monitoring it.
  4. Check the game activity of the first game. It remains as "not played."

image

If you need any more info I can try to provide.

Thank you.

GameActivity#Common:Error on Win32_VideoController error filling log

18-09 04: 34: 35.747 |ERROR|GameActivity#Common:Error on Win32_VideoController|D:\GitHub\Lacro59\playnite-gameactivity-plugin\source\playnite-plugincommon\CommonPluginsShared\LocalSystem.cs|163
System.NullReferenceException: Object reference not set to an instance of an object.
at CommonPluginsShared.LocalSystem.GetPcInfo(Boolean WithDiskInfos) en D:\GitHub\Lacro59\playnite-gameactivity-plugin\source\playnite-plugincommon\CommonPluginsShared\LocalSystem.cs:line 163

extensions.log

plugin crash on GameActivityView

from satrincha on forum (https://playnite.link/forum/thread-264-post-3471.html#pid3471)

I never had any issu with your extensions, i update everyone yesterday, and i got a crash with GameActivity.
When i go to general GameActivity window, i take a game, and when i want to see previous month it crash all the time.

30-01 11:03:28.326|DEBUG|HttpFileCache:Returning https://steamcdn-a.akamaihd.net/steam/apps/507490/page.bg.jpg from file cache E:\Program Files (portable)\Playnite\cache\images\9c14b13a5de20f5201e08bfa1c8283e0.jpg.
30-01 11:03:28.326|DEBUG|HttpFileCache:Returning https://steamcdn-a.akamaihd.net/steam/apps/507490/page.bg.jpg from file cache E:\Program Files (portable)\Playnite\cache\images\9c14b13a5de20f5201e08bfa1c8283e0.jpg.
30-01 11:03:28.418|WARN|PlayniteUiHelper:CheckLocalizations - No data find for Ashes of the Singularity: Escalation
30-01 11:03:28.418|WARN|PlayniteUiHelper:GameActivity - No data for Ashes of the Singularity: Escalation
30-01 11:03:29.638|WARN|PlayniteUiHelper:CheckLocalizations - No data find for Ancestors Legacy
30-01 11:03:30.044|WARN|PlayniteUiHelper:HowLongToBeat - No data for Ancestors Legacy
30-01 11:05:21.784|ERROR|PlayniteApplication:Unhandled exception occured.
System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
   à GameActivity.GameActivityView.lvGames_SelectionChanged(Object sender, SelectionChangedEventArgs e) dans H:\GitHub\Lacro59\playnite-gameactivity-plugin\Views\GameActivityView.xaml.cs:ligne 1002
   à System.Windows.Controls.SelectionChangedEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   à System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   à System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   à System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   à System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   à System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   à System.Windows.Controls.ListBox.OnSelectionChanged(SelectionChangedEventArgs e)
   à System.Windows.Controls.Primitives.Selector.InvokeSelectionChanged(List`1 unselectedInfos, List`1 selectedInfos)
   à System.Windows.Controls.Primitives.Selector.SelectionChanger.End()
   à System.Windows.Controls.Primitives.Selector.OnItemsChanged(NotifyCollectionChangedEventArgs e)
   à System.Windows.Controls.ListView.OnItemsChanged(NotifyCollectionChangedEventArgs e)
   à System.Windows.Controls.ItemsControl.OnItemCollectionChanged2(Object sender, NotifyCollectionChangedEventArgs e)
   à System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   à System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
   à System.Windows.Controls.ItemCollection.SetCollectionView(CollectionView view)
   à System.Windows.Controls.ItemCollection.ClearItemsSource()
   à System.Windows.Controls.ItemsControl.OnItemsSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   à System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   à System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   à System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   à System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   à System.Windows.DependencyObject.ClearValueCommon(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata)
   à System.Windows.DependencyObject.ClearValue(DependencyProperty dp)
   à System.Windows.Controls.ItemsControl.set_ItemsSource(IEnumerable value)
   à GameActivity.GameActivityView.Filter() dans H:\GitHub\Lacro59\playnite-gameactivity-plugin\Views\GameActivityView.xaml.cs:ligne 1226
   à GameActivity.GameActivityView.Button_Click_PrevMonth(Object sender, RoutedEventArgs e) dans H:\GitHub\Lacro59\playnite-gameactivity-plugin\Views\GameActivityView.xaml.cs:ligne 1034
   à System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   à System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   à System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   à System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   à System.Windows.Controls.Primitives.ButtonBase.OnClick()
   à System.Windows.Controls.Button.OnClick()
   à System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   à System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   à System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   à System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   à System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   à System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   à System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   à System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   à System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   à System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   à System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   à System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   à System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   à System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   à System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   à System.Windows.Input.InputManager.ProcessStagingArea()
   à System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   à System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   à System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   à System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   à System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   à MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   à MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   à System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   à System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   à System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   à MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   à MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   à System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   à System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   à System.Windows.Window.ShowHelper(Object booleanBox)
   à System.Windows.Window.Show()
   à System.Windows.Window.ShowDialog()
   à GameActivity.Services.GameActivityUI.OnBtActionBarClick(Object sender, RoutedEventArgs e) dans H:\GitHub\Lacro59\playnite-gameactivity-plugin\Services\GameActivityUI.cs:ligne 322
   à System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   à System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   à System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   à System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   à System.Windows.Controls.Primitives.ButtonBase.OnClick()
   à System.Windows.Controls.Button.OnClick()
   à System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   à System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   à System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   à System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   à System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   à System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   à System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   à System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   à System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   à System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   à System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   à System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   à System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   à System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   à System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   à System.Windows.Input.InputManager.ProcessStagingArea()
   à System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   à System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   à System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   à System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   à System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   à MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   à MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   à System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   à System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   à System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   à MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   à MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   à System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   à System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   à System.Windows.Application.RunDispatcher(Object ignore)
   à System.Windows.Application.RunInternal(Window window)
   à System.Windows.Application.Run(Window window)
   à Playnite.DesktopApp.ProgramEntry.Main(String[] args) dans E:\Devel\Playnite\source\Playnite.DesktopApp\ProgramEntry.cs:ligne 61
30-01 11:05:21.895|DEBUG|WindowFactory:Show dialog window Playnite.Windows.ExtensionCrashHandlerWindowFactory

var item = (ListBox)sender;

Index was out of range error

Getting this error repeatedly on Playnite 7.7 portable version. Tried re-installing the extension multiple times.

image

[Feature Request] Multiple action showing

I do Mario 64 Speedrunning and would like to see in Game Activity what type of speedruns I am doing using the play actions.

Have these play action :
123

Show up here :
456

It would be to know how much I have played which category?
I looked and didn't find how to do it so is it possible to add this feature or tell me how to do it if it already exists please.

[Feature Request] Add support for new pause play time feature of PlayState

Hello,

Last update of PlayState added an option to not add as a play time the time you have paused the process, and this causes an inconsistency in GameActivity, since GameActivity in the theme will show the real play time, but in the stats part it will show the play and pause time:

Theme part:
image

Stats part:
image
image
image

Time zone issue?

In the graph it says that I have played on 04/11/2021.
But it's still 03/11/2021 here:
image
Maybe the plugin graph is using GMT? (My time here is GMT-3)
On this window it shows correctly:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.