54 lines
2 KiB
YAML
54 lines
2 KiB
YAML
name: Smart Playlist
|
|
guid: dd2326e3-4d3e-4bfc-80e6-28502c1131df
|
|
version: 0.3.0.0
|
|
targetAbi: 10.10.3.0
|
|
framework: net8.0
|
|
owner: redxef
|
|
overview: Smart playlists with Lisp filter engine.
|
|
description: |
|
|
Create smart playlists with a Lisp filter engine.
|
|
|
|
The same playlist definition can be used for multiple users.
|
|
category: "General"
|
|
artifacts:
|
|
- jellyfin-smart-playlist.dll
|
|
- YamlDotNet.dll
|
|
changelog: |
|
|
## v0.3.0.0
|
|
- Add a second program (`SortProgram`) which is run after the filtering, this
|
|
program should return the list of items, but in the order in which they should appear in
|
|
the playlist. The default is `(begin items)` which returns the list as is.
|
|
- Extend builtin lisp definitions: add `qsort` and string comparison methods
|
|
- Extend default program definitions: add `all-genres` and `any-genres` to quickly specify a list of genres which to include (or excluding when negating)
|
|
- Update Jellyfin to v 10.10.3
|
|
|
|
**Fixes**:
|
|
- The progress report now correctly gives a percentage in the range [0, 100].
|
|
|
|
## v0.2.2.0
|
|
- Update Jellyfin to v 10.10.2
|
|
|
|
## v0.2.1.0
|
|
- Make default program configuration a textarea in the settings page
|
|
- Add convinience definitions: `is-type`, `name-contains`
|
|
- Update YamlDotNet to v 16.2.0
|
|
|
|
**Fixes**:
|
|
- The default program was malformed, a closing bracket was at the wrong position
|
|
- The `haskeys` function could only be called on Objects
|
|
|
|
## v0.2.0.0
|
|
- Switch to yaml loading, old json files are still accepted
|
|
- Rework lisp interpreter to be more conventional
|
|
- Use arbitrary strings as ids for playlists
|
|
- Add configuration page with some default definitions for
|
|
the filter expressions.
|
|
|
|
**Breaking Changes**:
|
|
- The lisp interpreter will now only detect strings in double quotes (`"`).
|
|
- The interpreter will also not allow specifying lists without quoting them.
|
|
`(1 2 3)` ... used to work but will no longer, replace by either specifying
|
|
the list as `(list 1 2 3)` or `(quote (1 2 3))`.
|
|
|
|
## v0.1.1.0
|
|
- Initial Alpha release.
|