Jump to content

New Plugin: Smart Playlists 2.0


ShaneP

Recommended Posts

sdfgdtfhrztrhgd
9 hours ago, Junglejim said:

That look's like a earlier version to what I'm using (2.4.0.1).

The 3dot menu in the latest version has few options (add smart playlist, export playlist, import playlist)

Thank you, worked😀

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...
InaudibleDirge
On 3/24/2023 at 5:16 PM, sydlexius said:

FYI, I have SmartPlaylist 2.4.0.1 installed on Emby Server 4.8.0.26, and it bombs every time I attempt to go into its settings.  The corresponding log entry is as follows:

 

023-03-24 17:12:49.983 Debug App: [SmartPlaylist]:LoadPlaylistsFromStore {ElapsedTimeMs:'3'}
2023-03-24 17:12:49.986 Error Server: Error processing request
	*** Error Report ***
	Version: 4.8.0.26
	Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
	Operating system: Linux version 5.19.17-Unraid (root@Develop) (gcc (GCC) 12.2.0, GNU ld version 2.39-slack151) #2 SMP PREEMPT_DYNAMIC Wed Nov 2 11:54:15 PDT 2022
	Framework: .NET 6.0.13
	OS/Process: x64/x64
	Runtime: system/System.Private.CoreLib.dll
	Processor count: 40
	Data path: /config
	Application path: /system
	System.TypeInitializationException: System.TypeInitializationException: The type initializer for 'SmartPlaylist.Domain.DefinedOrders' threw an exception.
	 ---> System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
	Could not load type 'MediaBrowser.Model.Playlists.PlaylistCreationResult' from assembly 'MediaBrowser.Model, Version=4.8.0.26, Culture=neutral, PublicKeyToken=null'.
	   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
	   at System.Reflection.Assembly.GetTypes()
	   at SmartPlaylist.Extensions.AssemblyExtensions.FindDerivedTypes[TBase](Assembly assembly)
	   at SmartPlaylist.Extensions.AssemblyExtensions.FindAndCreateDerivedTypes[TBase](Assembly assembly)
	   at SmartPlaylist.Domain.DefinedOrders..cctor()
	System.TypeLoadException: Could not load type 'MediaBrowser.Model.Playlists.PlaylistCreationResult' from assembly 'MediaBrowser.Model, Version=4.8.0.26, Culture=neutral, PublicKeyToken=null'.
	   --- End of inner exception stack trace ---
	   at SmartPlaylist.Services.SmartPlaylist.CleanupOldCriteriaDecorator.CleanupOldLimit(SmartPlaylistDto dto)
	   at SmartPlaylist.Services.SmartPlaylist.CleanupOldCriteriaDecorator.CleanupSmartPlaylist(SmartPlaylistDto dto)
	   at System.Collections.Generic.List`1.ForEach(Action`1 action)
	   at SmartPlaylist.Services.SmartPlaylist.CleanupOldCriteriaDecorator.GetAllSmartPlaylistsAsync()
	   at SmartPlaylist.Services.SmartPlaylist.CacheableSmartPlaylistStore.<GetAllCachedSmartPlaylistAsync>b__8_0()
	   at SmartPlaylist.Infrastructure.MemCache.<>c__DisplayClass4_0.<<GetOrCreateManyAsync>b__0>d.MoveNext()
	--- End of stack trace from previous location ---
	   at SmartPlaylist.Infrastructure.MemCache.GetOrCreateManyAsync(Func`1 createAllFunc, TimeSpan absoluteExpiration)
	   at SmartPlaylist.Services.SmartPlaylist.CacheableSmartPlaylistStore.GetAllCachedSmartPlaylistAsync()
	   at SmartPlaylist.Services.SmartPlaylist.CacheableSmartPlaylistStore.LoadPlaylistsAsync(Guid userId)
	   at SmartPlaylist.PerfLoggerDecorators.Services.SmartPlaylistStorePerfLoggerDecorator.LoadPlaylistsAsync(Guid userId)
	   at SmartPlaylist.Api.SmartPlaylistService.Get(GetAppData request)
	   at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task)
	   at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IServerApplicationHost appHost, IRequest httpReq, IResponse httpRes, RestPath restPath, String responseContentType, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken)
	Source: SmartPlaylist
	TargetSite: Boolean CleanupOldLimit(SmartPlaylist.Contracts.SmartPlaylistDto)
	InnerException: System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
	Could not load type 'MediaBrowser.Model.Playlists.PlaylistCreationResult' from assembly 'MediaBrowser.Model, Version=4.8.0.26, Culture=neutral, PublicKeyToken=null'.
	Source: System.Private.CoreLib
	TargetSite: System.RuntimeType[] GetTypes(System.Reflection.RuntimeModule)
	   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
	   at System.Reflection.Assembly.GetTypes()
	   at SmartPlaylist.Extensions.AssemblyExtensions.FindDerivedTypes[TBase](Assembly assembly)
	   at SmartPlaylist.Extensions.AssemblyExtensions.FindAndCreateDerivedTypes[TBase](Assembly assembly)
	   at SmartPlaylist.Domain.DefinedOrders..cctor()

 

so i got this figured out finally. if you try to access the smart playlist menu via http://app.emby.media/, it'll blow up and be unusable. however if you access it using your localhost (eg. http://localhost:8096/) it will work as it should

Link to comment
Share on other sites

sydlexius
7 hours ago, InaudibleDirge said:

so i got this figured out finally. if you try to access the smart playlist menu via http://app.emby.media/, it'll blow up and be unusable. however if you access it using your localhost (eg. http://localhost:8096/) it will work as it should

That's great that you found something that works, but it will throw an exception for me no matter how I access it.  It throws exceptions running scheduled tasks, should execute without regard to connection state.

Link to comment
Share on other sites

  • 3 weeks later...
yaqushi

Looks like 2.4.0.1 is still unusable for latest beta emby? Last version was June 2022, so this plugin is marked dead? 

Link to comment
Share on other sites

12 hours ago, yaqushi said:

Looks like 2.4.0.1 is still unusable for latest beta emby? Last version was June 2022, so this plugin is marked dead? 

The developer is updating for stable releases.

  • Agree 1
Link to comment
Share on other sites

yaqushi
4 hours ago, Luke said:

The developer is updating for stable releases.

Thanks, this is off-topic, but I assume I cant downgrade from 4.8.0.39 beta to 'latest' using docker on synology without starting fresh? 

Link to comment
Share on other sites

34 minutes ago, yaqushi said:

Thanks, this is off-topic, but I assume I cant downgrade from 4.8.0.39 beta to 'latest' using docker on synology without starting fresh? 

Correct.

Link to comment
Share on other sites

crusher11
On 6/20/2023 at 4:35 AM, Luke said:

The developer is updating for stable releases.

Are you sure about that? He hasn't been online at all in over six months. 

Link to comment
Share on other sites

Junglejim
20 hours ago, crusher11 said:

Are you sure about that? He hasn't been online at all in over six months. 

The last release on guthub was Jul 22, 2022, so I'm not sure if this is still being developed. I hope it is and @ShanePwill come back to it at some point.

If not it's about time the Emby dev's got to work on adding smartlist support. ;)

Link to comment
Share on other sites

BuzStringer
On 6/19/2023 at 9:35 PM, Luke said:

The developer is updating for stable releases.

Native Smart Playlists has been an Emby feature request since 2014,

So we should see it built in any day now? 

  • Agree 1
Link to comment
Share on other sites

  • 4 weeks later...
DanHarris

@ShaneP@LukeHello -- I am posting in this thread because of the prior messages about Smart Playlists using parental rating.

With the Smart Playlist (built-in implementation), I'm encountering the same kind of issue with no items found for a basic rule.

image.thumb.png.512cba3731966419236f525cfbad035e.png

Resulting playlist has no items:

image.thumb.png.e87c58a6f18d1ac072280eefe455845c.png

smartplaylist.2.4.0.1

server version 4.7.13.0

Library is set to United States in advanced settings and library contains many PG movies

image.png.9fd940f8fa333df30c054b5318ab4d0d.png

Thank you -- as a parent, this particular filter has huge value.

I would appreciate any help to get a smart playlist with or without certain parental ratings.

Link to comment
Share on other sites

jiggity
On 18/10/2022 at 08:50, horstepipe said:

@ShaneP

On library scan I'm getting this error:

2022-10-18 16:47:34.617 Error App: [SmartPlaylist][Error]: Value cannot be null. (Parameter 'first')
        *** Error Report ***
        Version: 4.7.8.0
        Command line: /opt/emby-server/system/EmbyServer.dll -programdata /var/lib/emby -ffdetect /opt/emby-server/bin/ffdetect -ffmpeg /opt/emby-server/bin/ffmpeg -ffprobe /opt/emby-server/bin/ffprobe -restartexitcode 3 -updatepackage emby-server-deb_{version}_amd64.deb
        Operating system: Linux version 5.4.0-126-generic (buildd@lcy02-amd64-072) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)) #142-Ubuntu SMP Fri Aug 26 12:12:57 UTC 2
        Framework: .NET 6.0.8
        OS/Process: x64/x64
        Runtime: opt/emby-server/system/System.Private.CoreLib.dll
        Processor count: 8
        Data path: /var/lib/emby
        Application path: /opt/emby-server/system
        System.ArgumentNullException: System.ArgumentNullException: Value cannot be null. (Parameter 'first')
           at SmartPlaylist.Handlers.CommandHandlers.SmartPlaylistUpdater.Update(SmartPlaylist smartPlaylist, BaseItem[] items)
           at SmartPlaylist.Handlers.CommandHandlers.SmartPlaylistUpdater.Update(SmartPlaylist smartPlaylist, BaseItem[] items)
           at SmartPlaylist.Handlers.CommandHandlers.UpdateAllSmartPlaylistsCommandHandler.GetTasks(SmartPlaylist smartPlaylist, BaseItem[] items)
           at SmartPlaylist.Handlers.CommandHandlers.UpdateAllSmartPlaylistsCommandHandler.UpdateSmartPlaylistsWithNewItemsAsync(BaseItem[] items, SmartPlaylist[] smartPlaylists)
           at SmartPlaylist.Handlers.CommandHandlers.UpdateAllSmartPlaylistsCommandHandler.HandleAsync(UpdateAllSmartPlaylistsCommand message)
           at SmartPlaylist.PerfLoggerDecorators.PerLoggerMessageDecorator`1.HandleAsync(T message)
           at SmartPlaylist.Infrastructure.MesssageBus.Decorators.SuppressAsyncExceptionDecorator`1.HandleAsync(T message)
        Source: SmartPlaylist
        TargetSite: Void MoveNext()

I'm having a bunch of collections created by the plugin, any way to determine from which collection the error comes from? If not, could you please add the info to the log output?

Best regards

Was there ever a solution to this  I am seeing the same error, and did not see any answer this this nor any solutions

I am using Smart playlist 2.4.0.1
and Emby Server 4.7.13.0

Link to comment
Share on other sites

Well since this is on Github, I can publish a compatibility update for the 4.8 beta server. I can't take over all development for this, so the developer will still need to support the actual features. Thanks everyone.

  • Agree 1
Link to comment
Share on other sites

BuzStringer
15 minutes ago, CodeCat5 said:

@LukePerhaps it's time for this extremely popular plugin to be made into a core feature?

Native Smart Playlists has been an Emby feature request since 2014, So we should see it built in any day now?

Link to comment
Share on other sites

Guest CodeCat5
37 minutes ago, BuzStringer said:

Native Smart Playlists has been an Emby feature request since 2014, So we should see it built in any day now?

Yea, after my post I went into the feature requests forum and see it's the 2nd most popular request of all time there. It's a shame that it hasn't been implemented yet, and honestly it's one of the bigger reasons why I've mostly moved back to Plex now. Sorting content with Emby is just more cumbersome in comparison.

Link to comment
Share on other sites

3 hours ago, CodeCat5 said:

Yea, after my post I went into the feature requests forum and see it's the 2nd most popular request of all time there. It's a shame that it hasn't been implemented yet, and honestly it's one of the bigger reasons why I've mostly moved back to Plex now. Sorting content with Emby is just more cumbersome in comparison.

Why do you think it’s cumbersome?

  • Facepalm 1
Link to comment
Share on other sites

Guest CodeCat5
21 hours ago, Luke said:

Why do you think it’s cumbersome?

Well, one easy example is that occasionally I like to see a list of unwatched movies sorted by rating. To do this in Emby I have to go into my Movies library, navigate to the right to the filters to select "Unplayed", then up to the sorting options to sort by rating. Then I have to go back and change the filters/sorting again to get them back to normal afterward.

With Plex, I created some smart playlists (or maybe collections? Can't remember for sure at the moment) and pinned them in my libraries. So now I simply go into the Movies library, navigate to the "Recommended" tab if needed, and my "Unwatched Top Rated Movies" list is saved as the 2nd row here. Then I also have additional rows for things like "Newly Released", "Newly Added", etc, and I also have similar saved lists for my "TV Shows" and "Documentaries" libraries as well.

Plex's smart playlists/collections make this all easy to setup so I can easily see things sorted/filtered in different ways with a quick glance, whereas with Emby we're limited to just the couple of rows in a library by default and having to change filters/sorting back and forth.

Link to comment
Share on other sites

7 hours ago, markdj said:

Has there been an update for the Emby beta yet?

Not yet but I'll try to get to it soon.

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...