Open arsaboo opened 3 years ago
Maybe the solution here should be a more general mechanism to configure auto-tagging rather than a discogs-specific approach? Something like a keep-fields
importer option? The *sync
plugins might want to respect such a setting, too.
In fact, we could have something like the following to also address (a part of) #4071
import:
autotag: yes|no
autotag-fields:
genre: 'append' # see #4071
year: 'as-is' # import as-is, don't apply autotagger data
comment: 'set: foo' # set field to a constant value
title: 'auto' # the default, autotag this field
albumartist_sort: 'zero' # clear the field
and deprecate the set_fields
option.
That's a pretty good idea! We could start with just the "filter" functionality (selecting fields not to apply) and then later expand it to take on the role of stuff like set_fields
.
I like the idea of configuring inputs (with sensible defaults) that other auto-taggers could follow.
I've got something similar implemented in the beetcamp
plugin, where most of the fields can be excluded. See the readme or the implementation
bandcamp:
...
exclude_extra_fields: []
...
Running import without exclusions:
Running import with
exclude_extra_fields:
- genre
- style
- albumartist
- comments
- title
- albumstatus
The configuration option should actually be called exclude_fields
instead, probably :)
That's a pretty good idea! We could start with just the "filter" functionality (selecting fields not to apply) and then later expand it to take on the role of stuff like
set_fields
.
Should the goal of a first "filter" functionality be just this?
(beets) jojo@gin ~/git/beets (skip_write) $ beet info every day | grep title:
title: Every Day - Ebm - 84
(beets) jojo@gin ~/git/beets (skip_write) $ beet info -l every day | grep title:
disctitle:
title: Every Day
(beets) jojo@gin ~/git/beets (skip_write) $
Adding to beets db as matched, but not writing to file? Or should it also skip writing the changed value to beets db?
I'm just here for a +1. As of now I think I'll copy my current genres to a flexible attribute so I don't loose that information, and let write
do it's job
+1
I'm curious @arsaboo, why do you think Discogs' genre is useless? Do you have a better source? I think the static genre/style they define is pretty solid compared to say Last.fm tags as genre. And as far as I know, Spotify genres are pretty much the same as Discogs'.
One thing I dont like about Discogs as the genre source is that it only provides the genre for the whole release. I'd prefer something that provides it on a track basis.
I tried whatslastgenre plugin but often it feels like all tracks of an release get the same genre anyway, even if I configure the plug to work on a track basis. Not sure why but could be that I'm using it wrong.
Does the discogs plugin actually grab the genre only from Discogs or does it grab style as well? (let me look into the code....). For a lot of Music it would then just save Electronic for example, which is indeed pretty useless IMHO 😆 Maybe that's what @arsaboo was referring to??
Does the discogs plugin actually grab the genre only from Discogs or does it grab style as well?
It grabs the style as well, and it can be appended as a genre with an option
@raphaelyancey I have manually defined genres. Most of my music is Bollywood songs. For international music, Discogs mostly defaults to genres like Folk, World, & Country, Stage & Screen.
It would be nice to get track-level genres, but the problem is Plex (the client that I use) cannot use track-level genres. Style is great.
Overall, I think we should let the user decide what attribute they want from which service. Genre from Discogs, the popularity from Spotify, tags from Musicbrainz, etc. @JOJ0 has a PR on obtaining Discogs ID from MB. it would be great to have similar plugins to translate attributes across services, e.g., I would like to obtain the MB artist id from the Spotify artist ID that is captured by the Spotify plugin. Once we have all the identifiers, it should be easy to configure.
I have manually defined genres. Most of my music is Bollywood songs. For international music, Discogs mostly defaults to genres like Folk, World, & Country, Stage & Screen.
You're right it's poor for international music.
I've drafted something to solve my specific problem (choosing which fields to consider from Discogs & Spotify), if that can be of any help to you : https://discourse.beets.io/t/pick-some-fields-from-a-metadata-source-and-some-other-elsewhere/2147/3?u=ryancey
I'd like to remind everyone that out of this thread there came this feature idea, which I stll think would be valuable to inplement: https://github.com/beetbox/beets/issues/4087#issuecomment-932901710
The title of this issue is a little misleading now. Should it be renamed? Or rather a new issue about the feature idea openend? @wisp3rwind how should we proceed to make this feature request obvious again?
Discogs is a useful source for meta-data, however, the genre information in Discogs is pretty useless. Currently, when we use Discogs as a tag source, everything is overwritten by Discogs information. I posted it on Discourse here and Adrian suggested that currently, the Discogs plugin is not configurable.
In general, I think it would be a good idea to make plugins configurable so that they don't overwrite other details that the user may not want.
Proposed solution
Make Discogs plugin configurable so that users can choose fields to be ignored. The current behavior (where it imports everything) can be the default so that this is not a breaking change.
Objective
Avoid getting unwanted information from Discogs.
Goals
Provide more fine-grained user control.