Skip to content

Addition and subtraction operators for multi-value fields #6587

@dgodot

Description

@dgodot

Objective

Previous discussion at #6576

Goals

I'd like to have a syntax for modify that allows for adding or subtracting of parts of a multi-value fields such as genres, artists, etc.

For example if I have an album where each track has a different set of genres, and there's one that I'd like to add to or remove from all tracks without having to lose or reinstate the other genres manually. e.g.:

Track 1 -> genres="Jazz; Blues; Funk"
Track 2 -> genres="Soul; Funk; Blues"
...

I'd like a command that can scan through the whole album and remove any instances of "Blues" without changing the other genres in each track. It would need to account for surrounding spaces and separators, and automatically add or remove them as appropriate.

Proposed solution

A potential sensible syntax could be genres-="unwanted_genre" and genres+="wanted_genre"

Non-goals

This proposal does not cover bulk-editing multi-value fields across different albums in a single command, or fuzzy matching for removal (e.g., removing "Blues" should not also remove "Blues Rock").

Anti-goals

Currently this would result in the insertion of a new field called genres- or genres+, so the proposed solution would have the side effect of making it impossible to inset new custom fields with names ending in + or -. If that's not acceptable, a separate --add or --remove flag could be used instead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions