-
Notifications
You must be signed in to change notification settings - Fork 12
Description
Firstly, thank-you to the developer(s) for their opensource contribution.
I understand audioscape is a very new project.
Filing this issue at this early stage so that one's early design decisions do not make harder or preclude this possibility.
This issue maybe depends on as prerequisite : the download-feature and play-offline-mp3-file-features
Description
Ability to create and play dynamic playlists by filtering a existing playlist by meta-data
Many music file formats have metadata tags, ID3 tags
- These tags are sometimes come along with the file but are also user append-able/modify-able using a music tag editor.
- Some fields like
genreandmoodhave multiple strings that qualify them and each such string can be treated like a tag of a tag cloud. - A user may also have custom fields like a rating.
Let playlists be filterable by
- file-metadata-tags, tag-clouds (such as genre)
- existence of tag, tag-with-value, tagcloud.tag, tagcloud.tag-with-value
- also more complex filters by using
ANDandORandNOTandCONTAINSand grouping()criteria - also allow strings to be matched with equality and also by regular expressions
- some relational operators that can work with integers, floats and dates
So if one has a default playlist containing all songs, then examples of filtered playlists one could create include one could create
- only party genre songs
(genre CONTAINS "party" )
- only songs between 19800101 and 19891212
( (releasedate > 19800101) OR (releasedate < 19891212 ) )
- songs of album1 album2 album3 but not in spanish and no earlier than 1970
( (album == "a1" OR album == "a2" OR album == "a3" ) AND (NOT (language == "spanish")) AND (releasedate <19700101) )
- songs of particular singer
(artist == ".*yanni.*")
- only instrumental electronic songs that are also upbeat tempo
( (genre CONTAINS "electronic" OR genre CONTAINS "instrumental") AND (mood CONTAINS fast-tempo) )
- play only songs rated above 3, that is 4 and 5 and less than 3 minutes long
( (rating > 3) and (duration< 180) )
- combinations of above
- if the playlist name can also be part of the logic, then it becomes possible to import and filter and union multiple playlists
This would be better than creating new playlists each time.
The criteria for creating dynamic playlists should also be savable so that a user does not have to create then each time.
Perhaps one could also include unsort/sort-by/shuffle and play-direction as part of the filter