jellyfin-smart-playlist/Jellyfin.Plugin.SmartPlaylist/PluginConfiguration.cs
redxef 67cffd98ff
fix!: default program configuration.
also add new name-contains definition.
2024-11-11 14:17:18 +01:00

21 lines
1.1 KiB
C#

using MediaBrowser.Model.Plugins;
namespace Jellyfin.Plugin.SmartPlaylist {
public class PluginConfiguration : BasePluginConfiguration {
public PluginConfiguration() {
InitialProgram = """
(begin
(define lower (lambda (s) (invoke s "ToLower" nil)))
(define is-genre (lambda (g g-list) (any (lambda (x) (invoke (lower x) "Contains" (list (lower g)))) g-list)))
(define is-genre-exact (lambda (g g-list) (find g g-list)))
(define genre-list (lambda nil (let (_g (getitems item "Genres")) (if (null _g) nil (car _g)))))
(define is-favorite (lambda nil (invoke item "IsFavoriteOrLiked" (list user))))
(define is-type (lambda (x) (and (haskeys item "GetClientTypeName") (invoke (invoke item "GetClientTypeName" nil) "Equals" (list x)))))
(define name-contains (lambda (x) (invoke (lower (car (getitems item "Name"))) "Contains" (list (lower x)))))
(define is-favourite is-favorite))
""";
}
public string InitialProgram { get; set; }
}
}