If I understand this correctly the admin would define some defaults for the filter params but those values can be changed from the UI ? This isn't about creating a new "quality" property that will be used to always filter the content ?
I think the formats and bitrate should be more abstract, or configurable as mapping.
A bitrate can represent a lot of different quality depending on the format/bit depth/sample rate..., so I feel like it doesn't make sens to use it alone. To keep the filter simple, we could provide a function that transform abstract qualities (e.g. 1 to 10) to a set of formats/bitrates/... (mp3, >=256kbps), (ogg, >=192kbps), flac (24bit) ...
Or we use a mapping using as key the format, and as value a list of conditions ? And make sure this can be extended to use other audio properties.
Maybe this is adding too much complexity, in that case I would rather go with the abstraction and wait until everything is implemented to allow a public usage of this "complex" filtering.
The has_art filter seem only to apply for albums right ? It could also be applied to artists, and we could require the artist to has some artwork.
I think the feature should be opt in, but for the default settings I would suggest:
- bitrate: As per above I don't know how to fill this value properly
- format: flac,ogg,vorbis,mp3,aac (no strong opinion)
- has_tags: true
- has_art: true
- has_release_date: false