[ { "guid": "dd2326e3-4d3e-4bfc-80e6-28502c1131df", "name": "Smart Playlist", "description": "Create smart playlists with a Lisp filter engine.\n\nThe same playlist definition can be used for multiple users.\n", "overview": "Smart playlists with Lisp filter engine.", "owner": "redxef", "category": "General", "versions": [ { "version": "0.3.0.0", "changelog": "## v0.3.0.0\n- Add a second program (`SortProgram`) which is run after the filtering, this\n program should return the list of items, but in the order in which they should appear in\n the playlist. The default is `(begin items)` which returns the list as is.\n- Extend builtin lisp definitions: add `qsort` and string comparison methods\n- Extend default program definitions: add `all-genres` and `any-genres` to quickly specify a list of genres which to include (or excluding when negating)\n- Update Jellyfin to v 10.10.3\n\n**Fixes**:\n- The progress report now correctly gives a percentage in the range [0, 100].\n\n## v0.2.2.0\n- Update Jellyfin to v 10.10.2\n\n## v0.2.1.0\n- Make default program configuration a textarea in the settings page\n- Add convinience definitions: `is-type`, `name-contains`\n- Update YamlDotNet to v 16.2.0\n\n**Fixes**:\n- The default program was malformed, a closing bracket was at the wrong position\n- The `haskeys` function could only be called on Objects\n\n## v0.2.0.0\n- Switch to yaml loading, old json files are still accepted\n- Rework lisp interpreter to be more conventional\n- Use arbitrary strings as ids for playlists\n- Add configuration page with some default definitions for\n the filter expressions.\n\n**Breaking Changes**:\n- The lisp interpreter will now only detect strings in double quotes (`\"`).\n- The interpreter will also not allow specifying lists without quoting them.\n `(1 2 3)` ... used to work but will no longer, replace by either specifying\n the list as `(list 1 2 3)` or `(quote (1 2 3))`.\n\n## v0.1.1.0\n- Initial Alpha release.\n", "targetAbi": "10.10.3.0", "sourceUrl": "https://gitea.redxef.at/redxef/jellyfin-smart-playlist/releases/download/v0.3.0.0/smart-playlist_0.3.0.0.zip", "checksum": "6011b6f34452960d5122797df161f791", "timestamp": "2024-11-24T22:36:29Z" }, { "version": "0.2.2.0", "changelog": "## v0.2.2.0\n- Update Jellyfin to v 10.10.2\n\n## v0.2.1.0\n- Make default program configuration a textarea in the settings page\n- Add convinience definitions: `is-type`, `name-contains`\n- Update YamlDotNet to v 16.2.0\n\n**Fixes**:\n- The default program was malformed, a closing bracket was at the wrong position\n- The `haskeys` function could only be called on Objects\n\n## v0.2.0.0\n- Switch to yaml loading, old json files are still accepted\n- Rework lisp interpreter to be more conventional\n- Use arbitrary strings as ids for playlists\n- Add configuration page with some default definitions for\n the filter expressions.\n\n**Breaking Changes:**\n- The lisp interpreter will now only detect strings in double quotes (`\"`).\n- The interpreter will also not allow specifying lists without quoting them.\n `(1 2 3)` ... used to work but will no longer, replace by either specifying\n the list as `(list 1 2 3)` or `(quote (1 2 3))`.\n\n## v0.1.1.0\n- Initial Alpha release.\n", "targetAbi": "10.10.2.0", "sourceUrl": "https://gitea.redxef.at/redxef/jellyfin-smart-playlist/releases/download/v0.2.2.0/smart-playlist_0.2.2.0.zip", "checksum": "d41d77cb56c058c41ee6dbcfd2112a31", "timestamp": "2024-11-18T20:02:36Z" }, { "version": "0.2.1.0", "changelog": "## v0.2.1.0\n- Make default program configuration a textarea in the settings page\n- Add convinience definitions: `is-type`, `name-contains`\n- Update YamlDotNet to v 16.2.0\n\n**Fixes**:\n- The default program was malformed, a closing bracket was at the wrong position\n- The `haskeys` function could only be called on Objects\n\n## v0.2.0.0\n- Switch to yaml loading, old json files are still accepted\n- Rework lisp interpreter to be more conventional\n- Use arbitrary strings as ids for playlists\n- Add configuration page with some default definitions for\n the filter expressions.\n\n**Breaking Changes:**\n- The lisp interpreter will now only detect strings in double quotes (`\"`).\n- The interpreter will also not allow specifying lists without quoting them.\n `(1 2 3)` ... used to work but will no longer, replace by either specifying\n the list as `(list 1 2 3)` or `(quote (1 2 3))`.\n\n## v0.1.1.0\n- Initial Alpha release.\n", "targetAbi": "10.10.0.0", "sourceUrl": "https://gitea.redxef.at/redxef/jellyfin-smart-playlist/releases/download/v0.2.1.0/smart-playlist_0.2.1.0.zip", "checksum": "14e40e271cf94a6612e06ea0cced4c94", "timestamp": "2024-11-11T17:21:58Z" }, { "version": "0.2.0.0", "changelog": "## v0.2.0.0\n- Switch to yaml loading, old json files are still accepted\n- Rework lisp interpreter to be more conventional\n- Use arbitrary strings as ids for playlists\n- Add configuration page with some default definitions for\n the filter expressions.\n\n**Breaking Changes:**\n- The lisp interpreter will no only detect strings in double quotes (`\"`).\n- The interpreter will also not allow specifying lists without quoting them.\n `(1 2 3)` ... used to work but will no longer, replace by either specifying\n the list as `(list 1 2 3)` or (quote (1 2 3)).\n\n## v0.1.1.0\n- Initial Alpha release.\n", "targetAbi": "10.10.0.0", "sourceUrl": "https://gitea.redxef.at/redxef/jellyfin-smart-playlist/releases/download/v0.2.0.0/smart-playlist_0.2.0.0.zip", "checksum": "f06603c85c6b12a1ffbe3967290ed54b", "timestamp": "2024-11-08T19:44:27Z" }, { "version": "0.1.1.0", "changelog": "- Initial Alpha release.\n", "targetAbi": "10.10.0.0", "sourceUrl": "https://gitea.redxef.at/redxef/jellyfin-smart-playlist/releases/download/v0.1.1.0/smart-playlist_0.1.1.0.zip", "checksum": "1f2246097b9c2550c0208282765ed856", "timestamp": "2024-10-30T14:32:28Z" }, { "version": "0.1.0.0", "changelog": "- Initial Alpha release.\n", "targetAbi": "10.10.0.0", "sourceUrl": "https://gitea.redxef.at/redxef/jellyfin-smart-playlist/releases/download/v0.1.0.0/smart-playlist_0.1.0.0.zip", "checksum": "d11b2ef8f328ed1143d95657cae33a02", "timestamp": "2024-10-30T02:16:48Z" } ] } ]