Jump to content

New Plugin: Smart Playlists 2.0


ShaneP

Recommended Posts

ShaneP
9 minutes ago, feerlessleadr said:

@ShanePI saw that you preferred bugs/issues to be added to your github for tracking. I added an issue I'm facing here, but not sure you saw it:

https://github.com/ShanePe/Emby.SmartPlaylist.Plugin/issues/2

Hey @feerlessleadr, can you dm me the log or scan through the log to look for the offending shows and see why they where not added (no personal identifiable information stored… icon top right on the detail page, also if you could export the playlist and I can have a look) do you see any errors on the Emby logs? Also what version of Emby. Thanks so much

Edited by ShaneP
Link to comment
Share on other sites

feerlessleadr

Thanks for the quick response. So to be honest, I haven't really been looking at the playlists since I raised that issue. When I logged into my server and went to the playlists, I'm now seeing that the playlist is showing all of the shows. I'm not sure if that's because I need to wait for a job trigger or something for the playlist to update, or if there was an update to the plugin or server.

I did try to add another show to my playlist 'Comedy', and I'm facing the same issue again. Just PMed you the log. I don't see anything in there (even after I turned on debugging) that might be an issue, but I'm defintely no expert. 

Also DMed you my exported playlist. I'm running 4.7.14.0

Link to comment
Share on other sites

ShaneP

Version 2.4.0.3

Feature

  • Create a copy of a playlist. (Duplicate)
  • Decluttered UI by adding a pop up menu to playlists
  • New Criteria:
    • Added Audio Stream Codec Criteria (Stream: Audio Codec)
    • Added Audio Stream Language Criteria (Stream: Audio Language)
    • Added Audio Stream Display title Criteria (Stream: Audio Display Title)
    • Added Subtitle Stream Language Criteria (Stream: Subtitle Language)
    • Added Video Stream Codec Criteria (Stream: Video Codec)
    • Added Video Stream Display title Criteria (Stream: Video Display Title)
  • Updated Criteria:
    • Parental Rating: Now uses official rating under the hood
    • Resolution Height: Now uses video streams to determine the available video heights rather than the metadata.
    • Resolution Width: Now uses video streams to determine the available video widths rather than the metadata.
  • Added Monitor Mode to shuffle playlist type. Meaning that the playlist will be destroyed and recreated on a schedule, but between scheduled executions, media item changes will be batched and monitored for inclusion/exclusion. (So .... combination of live and shuffle modes but could have a perf hit on larger playlists, experimental)
  • Collapsible sections in the playlist editor that keeps state, for more UI real estate.
  • Added the ability to add notes to a playlist (limited to 256 chars). If there are notes assigned a pop up is displayed when hovering over a playlist (2 second delay).
  • Order all selection lists on criteria with dropdowns alphabetically.

-------------------------------------------------------

Can't seem to edit the main topic anymore so can't add release to the first page. Might start a new topic.

As per usual, please let me know if there are any issues, I will be focusing on the changes introduced in the next version of Emby next.

SmartPlaylist-2.4.0.3.zip

  • Agree 1
  • Thanks 2
Link to comment
Share on other sites

GrimReaper
3 minutes ago, ShaneP said:

Can't seem to edit the main topic anymore so can't add release to the first page

For some time now, editing posts for Regular member group has been limited to 3 hrs upon posting. If you need original post edited, you can approach any mod, who will do it in your stead. 

  • Like 1
Link to comment
Share on other sites

ShaneP
8 minutes ago, GrimReaper said:

For some time now, editing posts for Regular member group has been limited to 3 hrs upon posting. If you need original post edited, you can approach any mod, who will do it in your stead. 

Great, I will do that, I'd like to keep the first posted updated with the latest release, saves new users trawling through all this nonsense :). I see you're a mod @GrimReaper, would you mind replacing the file for me...

Edited by ShaneP
  • Agree 1
Link to comment
Share on other sites

ShaneP

Does anyone know where I can see the change log/release notes for beta 4.8? I'd like to see what's changed so I can work on compatibility. I've search the forum... No luck.

Link to comment
Share on other sites

ShaneP
9 hours ago, jaycedk said:

This is the server change logs.

Releases · MediaBrowser/Emby.Releases (github.com)

 

Great thanks @jaycedk, Would you perhaps know where I can find the what NetCore SDK the latest beta uses, I have been able to at least trick my dev environment into using the same as the beta's Media.Controllers but seems to be failing on trying to ref the System.Private.Corlib (6.0.0.0). On linux... Doesn't help :)

  • Thanks 1
Link to comment
Share on other sites

vislade

Alright so I love that you were able to add audio languages but im running into a snag for my setup. So I have multiple folders for anime and I only want a playlist for anime dubbed shows (I ran out of room on one drive so I had to put more on another) so I think for this to work It needs to be essentially:

(Stream: Audio Language is en OR Stream: Audio Language is en-US OR Stream: Audio Language is Eng OR Stream: Audio Language is English OR Stream: Audio Language is English[eng])
AND
(Path/Filename contains D:\Anime OR Path/Filename contains G:\Anime 2 OR Path/Filename contains G:\Gundam)
 
but it won't let me essentially have an AND between these 2 paths from how I'm understanding it since I need multiple OR(s) for the different audio languages then multiple OR(s) for the different folders. Right now the program is basically looking at well it can have multiple files that are English (with the various different ways files choice to word English audio) or it can have files from the various folders. I can't have it where all the audio language choices are: english and Eng etc. cause then the program thinks I want a file with all of those choices not just any of those choices
 
Sorry for my rambling lol if anyone could please help that would be awesome

UkMo9Ew1UN.png

firefox_6U2PMS4HeJ.png

Edited by vislade
Link to comment
Share on other sites

LongMan

The section for path  rules are subordinate to the audio language rules. They should be at the same level. In so doing you will get Type AND (langauge en OR enUS ...) AND (path...)
 

In other words add path section with + not += then add individual path rules with +=

Hope that help
Cheers

Link to comment
Share on other sites

ShaneP
On 10/8/2023 at 9:54 PM, vislade said:

Alright so I love that you were able to add audio languages but im running into a snag for my setup. So I have multiple folders for anime and I only want a playlist for anime dubbed shows (I ran out of room on one drive so I had to put more on another) so I think for this to work It needs to be essentially:

(Stream: Audio Language is en OR Stream: Audio Language is en-US OR Stream: Audio Language is Eng OR Stream: Audio Language is English OR Stream: Audio Language is English[eng])
AND
(Path/Filename contains D:\Anime OR Path/Filename contains G:\Anime 2 OR Path/Filename contains G:\Gundam)
 
but it won't let me essentially have an AND between these 2 paths from how I'm understanding it since I need multiple OR(s) for the different audio languages then multiple OR(s) for the different folders. Right now the program is basically looking at well it can have multiple files that are English (with the various different ways files choice to word English audio) or it can have files from the various folders. I can't have it where all the audio language choices are: english and Eng etc. cause then the program thinks I want a file with all of those choices not just any of those choices
 
Sorry for my rambling lol if anyone could please help that would be awesome

UkMo9Ew1UN.png

firefox_6U2PMS4HeJ.png

@visladethere seem to be an issue here right from the start is that you cannot added a group as the first child of another group. I’ll sort this out on the next release. Alternatively you can create a playlist with the first set of filters (say language) then a second playlist that uses the first playlist as the source. (With execute).

 

--Edit

So I was just playing around and if you click the group button (+=) on a "group" it creates another group on the same level. You can try this but not sure if it will work on the back end. Let me know.

image.png.e37a8d6bfd2168c44a4e7033c2b2bf7c.png

Edited by ShaneP
Link to comment
Share on other sites

9 hours ago, ShaneP said:

@ShanePThank you!! I figured out where I went wrong. I feel so dumb now xD I clicked the += on the last stream audio language instead of the very first rule when I needed to make another set of rules for the paths
 

 

Link to comment
Share on other sites

Junglejim
3 hours ago, chowbok said:

Is it currently completely non-functional with the Emby beta, or do I have something set up wrong?

If your on beta you'll have to wait!

  • Like 1
Link to comment
Share on other sites

Sorry if this was answered earlier, but it's a massive thread. Is it possible to install this plug-in through the catalog? Or do you have to manually install it?

Link to comment
Share on other sites

jaycedk

Guess you need to read 1st post.

On 7/10/2021 at 9:56 PM, ShaneP said:

Hey All,

 

Firstly, excellent work! secondly, I noticed that this has stopped working in Emby 4.6.4.0, I have forked the repo and fixed if anyone is interested. (Have PR out for main repo)

https://github.com/ShanePe/Emby.SmartPlaylist.Plugin/

Sorry also, I have made an update, if the playlist has NOT yet been generated, it will generate it, regardless of the playlist schedule trigger. So one no longer need to 'manually' run first to initialize the playlist if it falls outside of playlist generation schedule. (Make sense !?!?!?!)

 

Version 2.4.0.3

Feature

  • Create a copy of a playlist. (Duplicate)
  • Decluttered UI by adding a pop up menu to playlists
  • New Criteria:

    Added Audio Stream Codec Criteria (Stream: Audio Codec)

    Added Audio Stream Language Criteria (Stream: Audio Language)

    Added Audio Stream Display title Criteria (Stream: Audio Display Title)

    Added Subtitle Stream Language Criteria (Stream: Subtitle Language)

    Added Video Stream Codec Criteria (Stream: Video Codec)

    Added Video Stream Display title Criteria (Stream: Video Display Title)

  • Updated Criteria:

    Parental Rating: Now uses official rating under the hood

    Resolution Height: Now uses video streams to determine the available video heights rather than the metadata.

    Resolution Width: Now uses video streams to determine the available video widths rather than the metadata.

  • Added Monitor Mode to shuffle playlist type. Meaning that the playlist will be destroyed and recreated on a schedule, but between scheduled executions, media item changes will be batched and monitored for inclusion/exclusion. (So .... combination of live and shuffle modes but could have a perf hit on larger playlists, experimental)
  • Collapsible sections in the playlist editor that keeps state, for more UI real estate.
  • Added the ability to add notes to a playlist (limited to 256 chars). If there are notes assigned a pop up is displayed when hovering over a playlist (2 second delay).
  • Order all selection lists on criteria with dropdowns alphabetically.

-------------------------------------------------------

Releases Here ->

 

(See change logs in this thread .... way down)

 

Plugin for Emby Server 4.7:

 

 

SmartPlaylist-2.4.0.3.zip 288.33 kB · 9 downloads

 

Link to comment
Share on other sites

1 hour ago, jaycedk said:

Guess you need to read 1st post.

 

Is this in reply to my question or somebody else? Maybe I'm missing what you're referring to, but I don't see anything about the catalog in here.

Link to comment
Share on other sites

Spaceboy
9 minutes ago, sngreco said:

Is this in reply to my question or somebody else? Maybe I'm missing what you're referring to, but I don't see anything about the catalog in here.

no - you need to manually install. put the linked (unzipped) file in your plugins folder in the programdata folder

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...

Am I wrong in thinking that filtering a field by "current user" should yield results based on which user is logged in?

Example:

tempplaylist.jpg.34769b23fd71dd291085184d175de74e.jpg

So, if there are 3 users, each user should only see their favorited items of Artist X, basically creating 3 versions of the same playlist.

 

I'm seeing that a playlist is created based on the user who creates the smart playlist. When other users log in, they see the creator's favorite items from Artist X. Not a big deal if each user needs to create their own playlist but then how do you make the playlists private so that each user doesn't see the other's playlists?

 

Server Version: 4.7.14.0

Plugin Version: 2.4.0.3

 

Link to comment
Share on other sites

LongMan

Feature Request
All Users - the ability to make playlists or collections which pull data for all users on the server.

 

Cheers,
LongMan

Link to comment
Share on other sites

horstepipe
On 11/9/2023 at 3:06 PM, gbrock said:

Am I wrong in thinking that filtering a field by "current user" should yield results based on which user is logged in?

Example:

tempplaylist.jpg.34769b23fd71dd291085184d175de74e.jpg

So, if there are 3 users, each user should only see their favorited items of Artist X, basically creating 3 versions of the same playlist.

 

I'm seeing that a playlist is created based on the user who creates the smart playlist. When other users log in, they see the creator's favorite items from Artist X. Not a big deal if each user needs to create their own playlist but then how do you make the playlists private so that each user doesn't see the other's playlists?

 

Server Version: 4.7.14.0

Plugin Version: 2.4.0.3

 

I am also interested to the answer. I tried similar and it didn’t work either.

i wanted to create a playlist of the last 10 movies the user has watched, but it didn’t work.

best regards

Edited by horstepipe
Link to comment
Share on other sites

quickmic

Emby server 4.8.0.58 beta:

Smart playlist 2.4.0.3

 

2023-11-15 03:59:32.115 Debug App: [SmartPlaylist]:LoadPlaylistsFromStore {ElapsedTimeMs:'2'}
2023-11-15 03:59:32.118 Error Server: Error processing request
	*** Error Report ***
	Version: 4.8.0.58
	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 6.2.16-15-pve (build@proxmox) (gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC PMX 6.2.16-1
	Framework: .NET 6.0.20
	OS/Process: x64/x64
	Runtime: opt/emby-server/system/System.Private.CoreLib.dll
	Processor count: 24
	Data path: /var/lib/emby
	Application path: /opt/emby-server/system
	System.TypeInitializationException: System.TypeInitializationException: The type initializer for 'SmartPlaylist.Domain.CriteriaDefinition.DefinedCriteriaDefinitions' 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.58, 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.CriteriaDefinition.DefinedCriteriaDefinitions..cctor()
	System.TypeLoadException: Could not load type 'MediaBrowser.Model.Playlists.PlaylistCreationResult' from assembly 'MediaBrowser.Model, Version=4.8.0.58, Culture=neutral, PublicKeyToken=null'.
	   --- End of inner exception stack trace ---
	   at SmartPlaylist.Services.SmartPlaylist.CleanupOldCriteriaDecorator.CleanupOldCriteria(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, IStreamHelper streamHelper, 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 CleanupOldCriteria(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.58, 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.CriteriaDefinition.DefinedCriteriaDefinitions..cctor()

 

Link to comment
Share on other sites

GrimReaper
On 11/9/2023 at 10:06 PM, gbrock said:

Not a big deal if each user needs to create their own playlist but then how do you make the playlists private so that each user doesn't see the other's playlists?

 

Server Version: 4.7.14.0

There are no private playlists in 4.7 stable, public/private playlists feature will be in upcoming 4.8 release (currently implemented only in 4.8+ beta branch). 

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