Git Product home page Git Product logo

playnite.playnext's Introduction

Top Langs

playnite.playnext's People

Contributors

crowdin-bot avatar sparrowbrain avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

playnite.playnext's Issues

[Enhancement] Allow hiding sidebar item

Since the extension can be used in multiple ways (sidebar item, start page) users should be able to switch of the sidebar item, if they don't intent to use it.

[Enhancement] Multiple instances in StartPage

It would be really nice if there was a way to have the extension function at the same time in different shelves.
For example, I use 3 shelves on my StartPage, one is "Play Next", the other is "Beat Next" and the last one is "Complete Next".
The 3 can be run through PlayNext, but not at the same time.

I'd imagine this was possible if one either could (in the shelf settings, separate for each one) choose completion status filters, or, have multiple instances of PlayNext with different settings for each.

[Enhancement] Option for horizontal StartPage title

Hi, I like the plugin!

A request regarding the StartPage view. The title is vertical. If the option was available, I'd prefer it horizontal in order to match new games shelf and also hopefully fix the slight misalignment:

image

Thanks in advance.

[Enhancement] Series as a calculation factor

Series would make sense to include as a calculation factor. For example, playing a lot of Half-Life 1 would then recommend Half-Life: Opposing Force or Half-Life 2 if they're unplayed.

It would be nice if it was able to weight up the 'next' game in the series (perhaps by release year), but I suspect this would be complicated and might not work as expected for some series.

[Enhancement] Documentation of how weighting works

Some more documentation of the various weighting options in the settings would be helpful.

In specific:
I have no idea what Attribute Calculation Weights > Recent Order does,
I only have a vague idea of Game Score Calculation Weights > Release Year, except that it changes the games to different ones.

Thanks in advance!

Excluding tags

Hi! I was wondering if it would be possible to be able to exclude tags. For instance, I have VR games in my libraries which I am unable to play right now, so it would be nice if they would not be taken into account for the recommendations.

[Bug] Playnext list fails to load

26-01 19:51:11.478|INFO |PlayNext#GameActivityExtension:6 games with recent activity found
26-01 19:51:11.746|INFO |PlayNext#HowLongToBeatExtension:1145 games with HowLongToBeat data found
26-01 19:51:11.758|DEBUG|PlayNext#GameActivityExtension:Games with playtime: 6
26-01 19:51:11.801|INFO |PlayNext#HowLongToBeatExtension:1145 games with HowLongToBeat data found
26-01 19:51:11.801|DEBUG|PlayNext#GameActivityExtension:Games with playtime: 6
26-01 19:51:12.097|ERROR|PlayNext#PlayNext:Failure while parsing activities
System.InvalidOperationException: Sequence contains no matching element
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
   at PlayNext.Model.Score.TotalScoreCalculator.<>c__DisplayClass14_0.<Calculate>b__0(KeyValuePair`2 score) in C:\Users\Qwx\Documents\src\Playnite.PlayNext\PlayNext\Model\Score\TotalScoreCalculator.cs:line 78
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at PlayNext.Model.Score.TotalScoreCalculator.Calculate(PlayNextSettings savedSettings) in C:\Users\Qwx\Documents\src\Playnite.PlayNext\PlayNext\Model\Score\TotalScoreCalculator.cs:line 76
   at PlayNext.PlayNext.<<RefreshPlayNextData>b__39_0>d.MoveNext() in C:\Users\Qwx\Documents\src\Playnite.PlayNext\PlayNext\PlayNext.cs:line 212
26-01 19:51:12.138|ERROR|PlayNext#PlayNext:Failure while parsing activities
System.InvalidOperationException: Sequence contains no matching element
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
   at PlayNext.Model.Score.TotalScoreCalculator.<>c__DisplayClass14_0.<Calculate>b__0(KeyValuePair`2 score) in C:\Users\Qwx\Documents\src\Playnite.PlayNext\PlayNext\Model\Score\TotalScoreCalculator.cs:line 78
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at PlayNext.Model.Score.TotalScoreCalculator.Calculate(PlayNextSettings savedSettings) in C:\Users\Qwx\Documents\src\Playnite.PlayNext\PlayNext\Model\Score\TotalScoreCalculator.cs:line 76
   at PlayNext.PlayNext.<<RefreshPlayNextData>b__39_0>d.MoveNext() in C:\Users\Qwx\Documents\src\Playnite.PlayNext\PlayNext\PlayNext.cs:line 212

[REQUEST] Add option to allow adding data to the list view

I would like to request an option so we have custom columns in list view, for example HLTB duration, critic/community score, or others.

I find the extension useful but sometimes I see the same games there forever and some kind of help would be helpful without going back and forth to details view.

Thanks :) Loving the extension

[bug] Changing alignment in StartPage crashes Playnite

Changing alignment from the StartPage edit mode > Right click on Play Next > horizontal alignment > left (for example) crashes Playnite. The alignment persists, but so do the crashes.

Only disabling the extension, changing the shelf out to something new, setting the alignment back to "stretch" on both, then re-enabling and changing back the shelf solves the issue.

I don't know if this'd be a hard fix, but disallowing the re-alignment of the shelf should fix it. Or what's probably more work than its worth, making re-alignment possible.

the last line of extensions.log was 28-07 09:30:34.421|DEBUG|Extras#Extras:Popped "Start Page" from backwards stack., I assume that means everything initialized fine.

however, in the last lines of playnite.log:

28-07 09:30:50.405|ERROR|PlayniteApplication:Unhandled exception occured.
System.ArgumentException: '-196' is not a valid value for property 'Width'.
   at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
   at PlayNext.StartPage.StartPagePlayNextView.Dock_OnSizeChanged(Object sender, SizeChangedEventArgs e) in C:\Users\Qwx\Documents\src\Playnite.PlayNext\PlayNext\StartPage\StartPagePlayNextView.xaml.cs:line 52
   at System.Windows.SizeChangedEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   at System.Windows.FrameworkElement.OnRenderSizeChanged(SizeChangedInfo sizeInfo)
   at System.Windows.ContextLayoutManager.fireSizeChangedEvents()
   at System.Windows.ContextLayoutManager.UpdateLayout()
   at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
   at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()
   at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
   at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   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.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at Playnite.DesktopApp.ProgramEntry.Main(String[] args) in C:\projects\playnite\source\Playnite.DesktopApp\ProgramEntry.cs:line 61
28-07 09:30:50.474|DEBUG|WindowFactory:Show dialog window Playnite.Windows.ExtensionCrashHandlerWindowFactory: cb385baf-e770-42c3-9805-50e619a8690d

[REQUEST] Exlude by tag or category

Want to request an option to exclude games by tag or category. or to add some to exclude list right from the extension
also would be nice to have the option to hide extension icon from sidebar.

Feature request: filter games based on completion state

The addon looks very promising, but it unfortunately has one big flaw: It shows games, that I already have beaten. At the moment at least 60% of the suggested games are already beaten games for me. It would be great if you could filter the completion state to only show games that have specific states or at least filter out certain states like "beaten", "abandoned" or "completed".

It also would be great if you could put different weights on different completion states. For example I have one with games I really want to play and another with games, that I'll maybe play sometime. It would be great if the games from the first list could be weighted higher than the second.

Exclude Platforms/Libraries

I'd like an option to either whitelist, excluding everything else, or blacklist by both library and platform if possible.

[Bug] PlayNext causes Playnite crash

On application start PlayNext Start Page part caused Playnite crash.
There are new games in the list.

02-06 10:16:39.753|ERROR|PlayniteApplication:Unhandled exception occured.
System.NullReferenceException: Object reference not set to an instance of an object.
   at PlayNext.Extensions.StartPage.StartPagePlayNextView.UpdateCoversColumnWidth(FrameworkElement dock) in C:\Users\Qwx\Documents\src\Playnite.PlayNext\PlayNext\Extensions\StartPage\StartPagePlayNextView.xaml.cs:line 100
   at PlayNext.Extensions.StartPage.StartPagePlayNextView.Dock_OnSizeChanged(Object sender, SizeChangedEventArgs e) in C:\Users\Qwx\Documents\src\Playnite.PlayNext\PlayNext\Extensions\StartPage\StartPagePlayNextView.xaml.cs:line 49
   at System.Windows.SizeChangedEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   at System.Windows.FrameworkElement.OnRenderSizeChanged(SizeChangedInfo sizeInfo)
   at System.Windows.ContextLayoutManager.fireSizeChangedEvents()
   at System.Windows.ContextLayoutManager.UpdateLayout()
   at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
   at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()
   at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
   at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   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.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at Playnite.DesktopApp.ProgramEntry.Main(String[] args) in C:\projects\playnite\source\Playnite.DesktopApp\ProgramEntry.cs:line 71

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.