Skip to content

metadata-tags, tag-clouds and playlist filters #10

@hgkamath

Description

@hgkamath

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 genre and mood have 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 AND and OR and NOT and CONTAINS and 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions