Skip to content

Feature parity with Apple Music Smart Playlists #1908

@joshqou

Description

@joshqou

Hi. I'm a very heavy user of smart playlists in iTunes (now Music), which is why I've stuck with it despite all of the silly changes Apple has made over the years.

While OwnTone has a 'basic' implementation of smart playlists, similar in functionality to Rhythmbox, it's missing quite a few rules.

Supported rules in Apple Music 1.5.6.11
iTunes Rule Source Is Useful OwnTone Equivalent
Album file album
All n/a a and b and c and d
Album Artist file album_artist
Album Artwork file
Album Favourite / Suggest Less player
Album Rating player
Any n/a a or b or c or d
Artist file artist
Bit Rate file
BPM file
Category file
Cloud Status file data_kind is file
Comments file comment
Compilation file compilation
Composer file composer
Date Added file time_added
Date Modified file time_modified
Description file description
Disc Number file disc
Favourite / Suggest Less player
Genre file genre
Grouping file grouping
Kind file data_kind
Last Played file time_played
Last Skipped file time_skipped
Location file path
Media Kind file media_kind
Movement Name file
Movement Number file
Playlist player
Plays player play_count
Purchased file
Rating player rating
Sample Rate file
Size file file_size
Skips player skip_count
Sort Album file
Sort Album Artist file
Sort Artist file
Sort Composer file
Sort Show file
Sort Title file
Ticked player
Time file
Title file title
Track Number file
Video Rating file
Work file
Year file year

The primary omission, at least for my uses, is Playlist, which allows smart playlists to pull data from regular playlists or other smart playlists. This lets you create very complex and reusable filter chains with fairly simple rules. i.e:

# In iTunes, `Playlist` is an `is/is not` rule, however it is
# evaluated more like a `contains` `does not contain` rule.

"Good Songs" {
  rating is >= 2
}

"Excluded Songs" {
  genre is "Heavy Metal"
  or playlists includes "Manual Exclusions"
}

"Shuffle Playlist" {
  playlists includes "Good Songs"
  and not playlists includes "Excluded Songs"
}

Apple's support doc for smart playlists can be found here

From what I can see looking at sql_from_ast, supporting playlist includes may require reworking how smart playlists currently work.

Apple Music also stores some song-specific data in it's database, namely songs that are hearted/favourited and unhearted/"suggest less"ed. I believe Album Rating is also stored in the database as well.

I've found a use for the hearts system outside of it's intended use in the Apple Music streaming service and would prefer to keep it or have something similar to it, even if it can only be shown in the web ui. Perhaps playlists could have a little icon that appears for all songs in them?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions