Jump to content

New Plugin: Smart Playlists 2.0


ShaneP

Recommended Posts

13 hours ago, ShaneP said:

Thanks @Bagul, but I can't take credit for this :D most of the heavy lifting was already done by ppankiewicz.

So if I understand you correctly, you could do this. (Will scan for Netflix movies once a day, when the scheduled task runs), Let me know if that works for you.

image.thumb.png.5fde5e5734c8b11d041c32ffbddd452e.png

Hello,
Thanks for the answer but what I want to do is to create a collection of Netflix series for example.
I tried to filter the series.

Link to comment
Share on other sites

@ShaneP Thanks for your work on this plugin!

Is there a way to import many items without having to click "+" for each line? I have a csv file that I want to make into a collection. Is there a special delimiter or format I could use like "item1; item2; item3; ...etc" ?

FYI, this is to make a collection to show duplicate items where I made a csv with this info, but perhaps there is another way? I suspect a text-based method could be helpful to others with large collection lists so they can make things like "IMDB top 200" or "Shows from Netflix" or maybe even "Shows not from Netflix"... but want to start small with this request.

I am using version 2.1.0.2

Edited by Brailyn
Link to comment
Share on other sites

Hi,
I know why I can't do the same thing with the series. Could you (unless you have the solution) add 'network' as a filter? That would be perfect.

Link to comment
Share on other sites

ShaneP
On 2/13/2022 at 7:14 AM, levander said:

hi, could you include filter by country?

 

btw, still struggling to find a way to keep collection/playlist after I remove it in plugin. any ideas?

@levander I have added the country and a checkbox when deleting to retain the generated playlist. Release is good to go, just seeing if there are any other items I can squeeze in as I don't want to release to often, that could get annoying :D, for now you could just "turn the smart list off" in the management section to stop it from generating.

On 2/13/2022 at 9:02 AM, Tangsgod said:

@ShaneP "Fixed a bug where images could be removed under certain circumstances" 

So you found it ? :D

@Tangsgod well ... yes and no :D, I was calling the refresh metadata when generating the collection, which is what I suspect was causing the issue, although I did not see the images disappear in my tests at home. BUT in saying that, there is no reason for me to be calling that in the first place. So removed it. Let me know if you see this again.

31 minutes ago, Bagul said:

Hi,
I know why I can't do the same thing with the series. Could you (unless you have the solution) add 'network' as a filter? That would be perfect.

@BagulDo you perhaps know the related metadata field?

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

ShaneP
On 2/14/2022 at 3:34 AM, Brailyn said:

@ShaneP Thanks for your work on this plugin!

Is there a way to import many items without having to click "+" for each line? I have a csv file that I want to make into a collection. Is there a special delimiter or format I could use like "item1; item2; item3; ...etc" ?

FYI, this is to make a collection to show duplicate items where I made a csv with this info, but perhaps there is another way? I suspect a text-based method could be helpful to others with large collection lists so they can make things like "IMDB top 200" or "Shows from Netflix" or maybe even "Shows not from Netflix"... but want to start small with this request.

I am using version 2.1.0.2

Hey @Brailyn, to support the CSV import would require quite a bit of validation and time to write. BUT what I can suggest is that the data for the playlists are stored in just plain "json" files on the server. (linux: /var/lib/emby/data/smartplaylists, not sure on windows). You could generate the json file from csv or another tool and just copy them across? If you have a look at one of the files it will give you the layout. (You'll need to make 100% sure the field name, operators and selection list values are 100% the same)

  • Like 1
Link to comment
Share on other sites

ShaneP
34 minutes ago, Bagul said:

Hi,
I know why I can't do the same thing with the series. Could you (unless you have the solution) add 'network' as a filter? That would be perfect.

@Bagul Would something like this not work for you?


 

Screenshot from 2022-02-15 15-46-53.png

Link to comment
Share on other sites

31 minutes ago, ShaneP said:

@Bagul Would something like this not work for you?


 

Screenshot from 2022-02-15 15-46-53.png

No it doesn't work.

You get the info from the episodes in your example, right?

But for example for the series "3%" the studio is indeed netflix but the episodes do not have this metadata.

Link to comment
Share on other sites

ShaneP
4 minutes ago, Bagul said:

No it doesn't work.

You get the info from the episodes in your example, right?

But for example for the series "3%" the studio is indeed netflix but the episodes do not have this metadata.

Thanks @Bagul, can you maybe DM a copy of the metadata from one of the episodes  you would expect to see in the playlist? (You can omit any personal info please :D)

Link to comment
Share on other sites

ShaneP

Hey @Bagul

Great thanks for that, I have figured it out. What happens is when Emby tags the metadata for Series, it does it on the "Series" level and not the actually "Episode" level. SmartPlayList only looks at Episode level. So what I have done is added a new filter called "Studio (Tree Crawl)" that will look "up" the chain for the Studio. (Same with Tag).

So ... If you have the following Series:

  • Extreme Mushroom Watering <- (Studio is tagged here)
    • Season 1
      • Episode 1 <- (SmartPlayList Looks here)

If you select "Studio (Tree Crawl)". It will look at "Episode 1" .. if not found, rolls up to "Season 1" if not found there it then rolls up to "Extreme Mushroom Watering". If it is found here, it marks "Episode 1" as a match and added to the playlist/collection. Built into the next version.

Then when creating a Collection, You can select the "Epimode" and either add "Extreme Mushroom Watering", "Season 1" or "Episode 1" to the collection.

Edited by ShaneP
Link to comment
Share on other sites

levander
16 hours ago, ShaneP said:

@levander I have added the country and a checkbox when deleting to retain the generated playlist. Release is good to go, just seeing if there are any other items I can squeeze in as I don't want to release to often, that could get annoying :D, for now you could just "turn the smart list off" in the management section to stop it from generating.

@Tangsgod

Ok, great! Maybe you can squeeze in an option to generate Daily List but without Shuffle. The reason is that Live list is very memory consuming especially with big libraries so I like to use Daily Shuffle instead (daily updates are just fine) but I don't like Shuffle in any lists...

  • Like 1
Link to comment
Share on other sites

On 2/7/2022 at 3:56 PM, ShaneP said:

Hi all, Version 2.1.0.1 is available for testing.

 

  • Version 2.1.0.1
    • Feature
      • Added Sync Count to playlist statistics
      • Added more detailed status messages to playlist statistics
      • Added the ability to turn playlist syncing on or off per playlist
      • Added sort for newly added items
      • Added new source type for playlists
        • Media Items: Use all media items as a base to apply filters on.
        • Playlist: Use an existing playlist as a base to apply filters on.
        • Collection: Use an existing Collection as a base to apply filters on.
      • Added the ability to execute a playlist from the editor.(Pop up is not the actual execution time, you need to check the info to see how the playlist updated)
      • Renamed criteria "Path" to "Path/Filename".  BREAKING CHANGE, please re-select path/filename, save any playlist that uses the criteria
      • Fixed thumbnail image rendering in plugin list.

 

As always code can be found here

 

SmartPlaylist-2.1.0.1.zip 169.53 kB · 8 downloads

Thanks for the update. I finally had the opportunity to test the source function. Unfortunately, it does not seem to work. I tested it with "Source: Collection" and collections that contain music albums. Newly created playlists are empty and existing ones that I updated no longer have new tracks added. As filters I have "Media Type: Audio" and "Favroit: is Favorite".

Link to comment
Share on other sites

ShaneP
8 hours ago, Kauzig said:

Thanks for the update. I finally had the opportunity to test the source function. Unfortunately, it does not seem to work. I tested it with "Source: Collection" and collections that contain music albums. Newly created playlists are empty and existing ones that I updated no longer have new tracks added. As filters I have "Media Type: Audio" and "Favroit: is Favorite".

Hey @Kauzig I think I know what the issue is, my collections contain only video and not "parent" items like albums or artists. So it's picking the the album to run the filter on and not the actual song. as the album does not match the filter it's excluded. What I will do in the next version is recursive drill down to the lowest time song/video and use that for the filtering.

46 minutes ago, levander said:

btw, would it be possible to make some icons to destinguish whish lists live/scheduled/manual?

Hey @levander You mean like on the management block the the collection/playlist icon?

Link to comment
Share on other sites

ShaneP

Hey All 2.1.0.3 ready for testing.

Version 2.1.0.3

  • Feature
    • Added "Country" Filter Criteria. Filter item on the "ProductionLocation" metadata.
    • Added "Genre (List)" Filter Criteria. Displays a drop down list of Genres already in the system, if the Genre does not exist the fall back it to use the already existing "Genre" string filter.
    • Added checkbox on delete confirmation to retain the generated playlist/collection
    • Sorted playlists/collections alphabetically
    • Added "Tag (Tree Crawl)" Criteria. Filters the item on tag or its parents tags (and so on, all the way to to root).
    • Added "Studio (Tree Crawl)" Criteria. Filters the item on it's studio value or its parents studio value (and so on, all the way to to root).
    • Updating sourcing to navigate to the lowest item in the path.
    • Added new Update types: Daily, Weekly, Monthly, The main difference between this and the shuffle update types is that the shuffle will remove all items in the playlist/collection prior to adding new items, and then shuffle the playlist randomly, where as the scheduled update types will only add new items to to the playlist/collection or remove items no longer meeting the criteria from the playlist/collection and NOT shuffle the playlist/collection. Scheduled update types are way better when it comes to performance as there are only small updates to the the backend after the initial populate.
    • Added updateType Icons
    • Added tooltips to buttons and icons
  • Bug
    • Fixed a legacy bug where the next shuffle date was calculated based on the last shuffle date isn't of the current run date. Meaning that if the playlist ran twice the shuffle date would be bumped twice.

As always code in the repo

SmartPlaylist-2.1.0.3.zip

  • Like 1
  • Thanks 3
Link to comment
Share on other sites

2 hours ago, ShaneP said:

Hey All 2.1.0.3 ready for testing.

Version 2.1.0.3

  • Feature
    • Added "Country" Filter Criteria. Filter item on the "ProductionLocation" metadata.
    • Added "Genre (List)" Filter Criteria. Displays a drop down list of Genres already in the system, if the Genre does not exist the fall back it to use the already existing "Genre" string filter.
    • Added checkbox on delete confirmation to retain the generated playlist/collection
    • Sorted playlists/collections alphabetically
    • Added "Tag (Tree Crawl)" Criteria. Filters the item on tag or its parents tags (and so on, all the way to to root).
    • Added "Studio (Tree Crawl)" Criteria. Filters the item on it's studio value or its parents studio value (and so on, all the way to to root).
    • Updating sourcing to navigate to the lowest item in the path.
    • Added new Update types: Daily, Weekly, Monthly, The main difference between this and the shuffle update types is that the shuffle will remove all items in the playlist/collection prior to adding new items, and then shuffle the playlist randomly, where as the scheduled update types will only add new items to to the playlist/collection or remove items no longer meeting the criteria from the playlist/collection and NOT shuffle the playlist/collection. Scheduled update types are way better when it comes to performance as there are only small updates to the the backend after the initial populate.
    • Added updateType Icons
    • Added tooltips to buttons and icons
  • Bug
    • Fixed a legacy bug where the next shuffle date was calculated based on the last shuffle date isn't of the current run date. Meaning that if the playlist ran twice the shuffle date would be bumped twice.

As always code in the repo

SmartPlaylist-2.1.0.3.zip 171.89 kB · 1 download

Yeah! It works perfectly.
Thanks again for your work!

Link to comment
Share on other sites

wordlover
3 hours ago, ShaneP said:

Hey All 2.1.0.3 ready for testing.

Version 2.1.0.3

  • Feature
    • Added "Country" Filter Criteria. Filter item on the "ProductionLocation" metadata.
    • Added "Genre (List)" Filter Criteria. Displays a drop down list of Genres already in the system, if the Genre does not exist the fall back it to use the already existing "Genre" string filter.
    • Added checkbox on delete confirmation to retain the generated playlist/collection
    • Sorted playlists/collections alphabetically
    • Added "Tag (Tree Crawl)" Criteria. Filters the item on tag or its parents tags (and so on, all the way to to root).
    • Added "Studio (Tree Crawl)" Criteria. Filters the item on it's studio value or its parents studio value (and so on, all the way to to root).
    • Updating sourcing to navigate to the lowest item in the path.
    • Added new Update types: Daily, Weekly, Monthly, The main difference between this and the shuffle update types is that the shuffle will remove all items in the playlist/collection prior to adding new items, and then shuffle the playlist randomly, where as the scheduled update types will only add new items to to the playlist/collection or remove items no longer meeting the criteria from the playlist/collection and NOT shuffle the playlist/collection. Scheduled update types are way better when it comes to performance as there are only small updates to the the backend after the initial populate.
    • Added updateType Icons
    • Added tooltips to buttons and icons
  • Bug
    • Fixed a legacy bug where the next shuffle date was calculated based on the last shuffle date isn't of the current run date. Meaning that if the playlist ran twice the shuffle date would be bumped twice.

As always code in the repo

SmartPlaylist-2.1.0.3.zip 171.89 kB · 2 downloads

Seems to work great, @ShaneP - thanks so much. One request for next iteration: fix playlist renaming, which doesn't currently work - it fixes within the plugin module, but doesn't seem to take effect when returning to the list of playlists in main screens.

  • Like 1
Link to comment
Share on other sites

Tangsgod
8 hours ago, ShaneP said:

Hey All 2.1.0.3 ready for testing.

Version 2.1.0.3

  • Feature
    • Added "Country" Filter Criteria. Filter item on the "ProductionLocation" metadata.
    • Added "Genre (List)" Filter Criteria. Displays a drop down list of Genres already in the system, if the Genre does not exist the fall back it to use the already existing "Genre" string filter.
    • Added checkbox on delete confirmation to retain the generated playlist/collection
    • Sorted playlists/collections alphabetically
    • Added "Tag (Tree Crawl)" Criteria. Filters the item on tag or its parents tags (and so on, all the way to to root).
    • Added "Studio (Tree Crawl)" Criteria. Filters the item on it's studio value or its parents studio value (and so on, all the way to to root).
    • Updating sourcing to navigate to the lowest item in the path.
    • Added new Update types: Daily, Weekly, Monthly, The main difference between this and the shuffle update types is that the shuffle will remove all items in the playlist/collection prior to adding new items, and then shuffle the playlist randomly, where as the scheduled update types will only add new items to to the playlist/collection or remove items no longer meeting the criteria from the playlist/collection and NOT shuffle the playlist/collection. Scheduled update types are way better when it comes to performance as there are only small updates to the the backend after the initial populate.
    • Added updateType Icons
    • Added tooltips to buttons and icons
  • Bug
    • Fixed a legacy bug where the next shuffle date was calculated based on the last shuffle date isn't of the current run date. Meaning that if the playlist ran twice the shuffle date would be bumped twice.

As always code in the repo

SmartPlaylist-2.1.0.3.zip 171.89 kB · 6 downloads

Amazing work ! 

Link to comment
Share on other sites

ShaneP
7 hours ago, levander said:

 

I hope this is an option!? I need to keep chronological sorting! 

This is on the manager side, to make finding and editing smart playlist easier. What would be your use case to having this chronological?

Link to comment
Share on other sites

horstepipe

Hey @ShaneP

I was just trying out the plugin - got the last release from yesterday. Unfortunately the UI doesn't load at all. I checked privileges of the dll and they are okay (Ubuntu here). Unfortunately I do not get any output in logs, either.

Any idea? 😕

Link to comment
Share on other sites

ShaneP
19 minutes ago, horstepipe said:

Hey @ShaneP

I was just trying out the plugin - got the last release from yesterday. Unfortunately the UI doesn't load at all. I checked privileges of the dll and they are okay (Ubuntu here). Unfortunately I do not get any output in logs, either.

Any idea? 😕

I am running mine on Ubuntu here without issue, You restarted the service right? And do you see the option in the management menu? (Normally goes in /var/lib/emby/plugins)

  • Like 1
Link to comment
Share on other sites

ShaneP

Hey All, a thousand apologies, I noticed my schedule task did not execute last night, so on closer investigation I introduced a tiny bug when changing how the  scheduling works. I tested the change and my test data was passing, where as my live data highlighted the issue. So I've pushed out a new release with the fix and 2 other small items. So let's hope this settles now and I can start looking at the preview build.

As always...

Version 2.1.0.4

  • Feature
    • Added "Genre (Tree Crawl)" Criteria. Filters the item on tag or its parents tags (and so on, all the way to to root).
  • Bug
    • Schedule task was not executing scheduled lists correctly.
    • Renaming a playlist. If the Name field is locked the smartplaylist name will be reverted so that the playlist and smartplaylist names stay in sync.(refresh required).

SmartPlaylist-2.1.0.4.zip

  • Like 1
Link to comment
Share on other sites

38 minutes ago, horstepipe said:

Hey @ShaneP

I was just trying out the plugin - got the last release from yesterday. Unfortunately the UI doesn't load at all. I checked privileges of the dll and they are okay (Ubuntu here). Unfortunately I do not get any output in logs, either.

Any idea? 😕

Hello.
Are you using the beta version of Emby? If yes, then the plugin does not work there. Only with the stable version.

I am also still waiting for it to work in the beta. 😉

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