55 lines
1.5 KiB
Markdown
55 lines
1.5 KiB
Markdown
# Examples
|
|
|
|
- `Favourite Pop`: A playlist
|
|
containing all favourite items of the genre pop.
|
|
```
|
|
Id: Favourite Pop
|
|
Name: Favourite Pop
|
|
Program: |
|
|
(and (is-type "Audio") (is-favorite) (is-genre "pop" (genre-list)))
|
|
```
|
|
- `Electro Swing`: A playlist containing all items
|
|
which have a genre that contains "electro" and a
|
|
genre that contains "swing". It will only include
|
|
albums and single tracks.
|
|
```
|
|
Id: Electro Swing
|
|
Name: Electro Swing
|
|
Program: |
|
|
(let
|
|
(g (genre-list))
|
|
(and
|
|
(or
|
|
(is-type "Audio")
|
|
(is-type "MusicAlbum"))
|
|
(is-genre "electro" g)
|
|
(is-genre "swing" g)))
|
|
```
|
|
|
|
- `All of Seeed`: A playlist containing all items by artist `Seeed`,
|
|
useless, since you also can just navigate to the artist to play all
|
|
their songs, but a good example.
|
|
```
|
|
Id: Seeed
|
|
Name: Seeed
|
|
Program: |
|
|
(let
|
|
(parent
|
|
(invoke-generic item "FindParent" nil (list "MediaBrowser.Controller.Entities.Audio.MusicArtist, MediaBrowser.Controller")))
|
|
(cond
|
|
((null parent) nil)
|
|
(t (string= (car (getitems parent "Name")) "Haller"))))
|
|
```
|
|
or simplified with definitions contained in the preamble:
|
|
```
|
|
Id: Seeed
|
|
Name: Seeed
|
|
Program: |
|
|
(let
|
|
(parent
|
|
(find-parent "MediaBrowser.Controller.Entities.Audio.MusicArtist, MediaBrowser.Controller"))
|
|
(cond
|
|
((null parent) nil)
|
|
(t (string= (car (getitems parent "Name")) "Seeed"))))
|
|
|
|
```
|