Jump to content

New Plugin: Smart Playlists 2.0


ShaneP

Recommended Posts

sross44
On 3/13/2023 at 3:48 PM, IronicRhetoric said:

Clicking on "AppData" simply brings me to the "Share Settings" page. I don't see anything here to upload a plugin.image.thumb.jpeg.07b5fd92455639d54de5392ed3cabd7c.jpeg

You’ll have to do this via SMB share or an unRAID plugin. You can’t upload anything from this window. 

Link to comment
Share on other sites

jaycedk
1 hour ago, sross44 said:

You’ll have to do this via SMB share or an unRAID plugin. You can’t upload anything from this window. 

Ohh yes. he needs to install this plugin "Dynamix File Manager" on unraid to do this.

That why I told the person to learn about its OS.

 

Link to comment
Share on other sites

  • 2 weeks later...

Please let me know if you need help updating to the changes in 4.8. There are some signature changes to the playlist creation and responses that I think should be straight-forward.

The main thing you need to know is related to supplying a user (or not). Here's what to do:

  • Leaving null = playlist not associated with a user, and it would be just like playlists in 4.7
  • Supplying a user - playlist will be private to the given user
  • Supplying a user and setting IsPublic - it would be the same as if you created a playlist in the web app, and then marked it public. So the user supplied will be able to change it and mark it private again.
Link to comment
Share on other sites

sydlexius

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()

 

  • Agree 1
Link to comment
Share on other sites

cool0007

Thanks bro! This works for my trance, Emby in a container on Khadas VIM3Pro - but there's not much chaos yet ;);)

 

Smart Playlist - Google Chrome 2023-03-29 21.11.32.jpg

Emby - Google Chrome 2023-03-29 21.13.34.jpg

Edited by cool0007
Link to comment
Share on other sites

nuentes

I have a simple smart playlist for putting all MCU films into a single collection. It works fine, and I've had it up for months. My only annoyance is that since the Collection/Playlist refreshes daily, it seems that Kodi re-scans these videos daily. So every morning, when I turn my TV on, I see all the MCU films being updated in Kodi. So it seems that the plugin updates the nfo file for each of the videos daily, regardless of whether it was already in the collection.

Is it possible to only edit a movies metadata on initial add/removal from a collection? I could obviously change the Collection from being live as a workaround, but that obviously means my list won't be current immediately after new films are added.

Link to comment
Share on other sites

Mister D

I recently upgraded to beta server 4.8.0.29 and now the smart playlist menu doesn't work. I see the plugin as installed in the plugins menu but when I click on the Smart Playlist  menu item I just get the 3 loading dots and nothing comes up. I uninstalled the dll and installed it again and I'm still getting the same result. I can manually add items to a playlist but none of my smart playlists are updating. Any ideas what's going on?

Edited by Mister D
  • Facepalm 1
Link to comment
Share on other sites

GrimReaper
1 minute ago, Mister D said:

Any ideas what's going on?

Plugin likely not updated for beta .26+ branch. 

  • Agree 1
Link to comment
Share on other sites

Mister D
On 4/9/2023 at 4:03 PM, GrimReaper said:

Plugin likely not updated for beta .26+ branch. 

Gotcha. Guess I'll just wait and hope that when it does get updated and the scheduled task runs that the movies that should be added to the live playlists will get added.

Link to comment
Share on other sites

grimevil

@ShanePDo you know when this will be working again on the Latest Beta's, no rush just checking to see if you have any eta,

I am the same as other people, access the settings and just see the loading three dots. 

 

  • Agree 2
Link to comment
Share on other sites

  • 2 weeks later...
Mister D
On 4/16/2023 at 8:09 AM, grimevil said:

@ShanePDo you know when this will be working again on the Latest Beta's, no rush just checking to see if you have any eta,

I am the same as other people, access the settings and just see the loading three dots. 

 

Yup, an update on when the new version will be made available would be greatly appreciated.

Link to comment
Share on other sites

  • 2 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()

 

did you ever get this figured out?

Link to comment
Share on other sites

12 minutes ago, InaudibleDirge said:

did you ever get this figured out?

I think it just needs a compatibility update for the beta server.

Link to comment
Share on other sites

Mister D
20 hours ago, Luke said:

I think it just needs a compatibility update for the beta server.

@LukeDo we have any idea when this compatibility update will be done?

Link to comment
Share on other sites

GrimReaper
2 minutes ago, Mister D said:

@LukeDo we have any idea when this compatibility update will be done?

That's a question for plugin dev, which hasn't been around for a few months (since December '22), so unless some community member is willing to take it on, it remains unknown when/if it will be (at all). 

Link to comment
Share on other sites

Mister D
2 hours ago, GrimReaper said:

That's a question for plugin dev, which hasn't been around for a few months (since December '22), so unless some community member is willing to take it on, it remains unknown when/if it will be (at all). 

Gotcha. Thanks for the update.

Link to comment
Share on other sites

Junglejim
21 hours ago, GrimReaper said:

That's a question for plugin dev, which hasn't been around for a few months (since December '22), so unless some community member is willing to take it on, it remains unknown when/if it will be (at all). 

I was hoping that some of the smart playlist features would make it into core at some point. I guess that's still not going to happen anytime soon.

Link to comment
Share on other sites

GrimReaper
20 minutes ago, Junglejim said:

I was hoping that some of the smart playlist features would make it into core at some point. I guess that's still not going to happen anytime soon.

Ditto, and I'd guess a number of users as well, as it's still the top-upvoted open Feature Request at present time, so it's likely bound to happen (rather) sooner than later - but hat "sooner" has really been stretched quite a lot. 

 

  • Sad 1
  • Agree 1
Link to comment
Share on other sites

Guest CodeCat5
On 5/10/2023 at 7:27 AM, Junglejim said:

I was hoping that some of the smart playlist features would make it into core at some point. I guess that's still not going to happen anytime soon.

Definitely agreed, and this is one of the biggest reasons that I've switched back to Plex for now at least. Being able to create smart playlists and having them as sections on the app's homescreen and in libraries makes it so much more convenient to browse content. Hopefully Emby will come up with something in the core product that can compete.

Link to comment
Share on other sites

sdfgdtfhrztrhgd

How can i Export all my smart Playlist settings and Import them in a new Server? Is there any way? I tried to Transfer the json files but this Not worked :-(

Link to comment
Share on other sites

Junglejim
1 hour ago, sdfgdtfhrztrhgd said:

How can i Export all my smart Playlist settings and Import them in a new Server? Is there any way? I tried to Transfer the json files but this Not worked 😞

Hi mate, there should be a little 3dot icon (top right) in the smart playlist plugin. Hopefully that should do the trick. ;)

  • Like 1
Link to comment
Share on other sites

sdfgdtfhrztrhgd
2 hours ago, Junglejim said:

Hi mate, there should be a little 3dot icon (top right) in the smart playlist plugin. Hopefully that should do the trick. ;)

thank you but i can not find the three dots 😞 what do you mean?

2.3.0.2

smartplaylist.jpg

Edited by sdfgdtfhrztrhgd
Link to comment
Share on other sites

Junglejim
13 hours ago, sdfgdtfhrztrhgd said:

thank you but i can not find the three dots 😞 what do you mean?

2.3.0.2

smartplaylist.jpg

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)

  • Thanks 1
Link to comment
Share on other sites

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...