beetbox / beets

music library manager and MusicBrainz tagger
http://beets.io/
MIT License
12.74k stars 1.82k forks source link

cannot zero in "as-is" mode #2320

Closed simonbcn closed 4 years ago

simonbcn commented 7 years ago

Problem

When I import an album with Use as-is because it doesn't find the right album information, beets shows this message: cannot zero in "as-is" mode. Why?

I want it imports the tracks with its metadata but I want too it deletes certain fields. Why it cannot?

My configuration (output of beet config) is:

directory: "/home/juan/M\xFAsica/"
library: /home/juan/.beets/musiclibrary.blb
#threaded: no

plugins: convert fetchart info duplicates badfiles zero replaygain embedart lastgenre scrub chroma discogs fromfilename

fetchart:
  auto: yes
  maxwidth: 300

embedart:
  auto: yes
  maxwidth: 300
  remove_art_file: yes

match:
  strong_rec_thresh: 0.20
#  max_rec:
#    missing_tracks: strong

import:
  art: yes
  languages: es en

paths:
  default: $albumartist/$album/$track - $title
  singleton: $artist - $title
  comp: Varios/$album/$track - $title

replaygain:
  backend: bs1770gain
  overwrite: yes

lastgenre:
  auto: no
  canonical: yes
  count: 3

convert:
  auto: yes
  tmpdir: /tmp
  command: ffmpeg -i $source -y -codec:a libmp3lame -vn -qscale:a 1 $dest
  extension: mp3
  #embed: yes
  quiet: yes
  never_convert_lossy_files: yes

duplicates:
  path: yes
#   checksum: yes

scrub: 
  auto: yes  

zero:
  fields: comments albumartist_sort artist_sort albumartist_sort
  update_database: true

acoustid:
  apikey: cKEYu7Ccgf
sampsyo commented 7 years ago

Can you please include the rest of the information from the issue template (specifically, the beets version and output of a command run in verbose mode)?

simonbcn commented 7 years ago

I didn't include that information because it isn't relevant to this issue. It isn't a programming error, it's a limitation imposed by the programmer to the zero plugin. This plugin does nothing when it imports the music as-is.

But I include it anyway:

Arch Linux 64 bits
beets version 1.4.2
Python version 2.7.12
plugins: badfiles, chroma, convert, discogs, duplicates, embedart, fetchart, fromfilename, info, lastgenre, replaygain, scrub, zero
sampsyo commented 7 years ago

Thanks! For what it's worth, the beets version is always relevant so we know we're talking about the same code. I know it must seem like a burden, but providing as much information as possible really helps making dealing with issues easier.

This seems to be an instance of a general problem described in #726. Namely, the comment https://github.com/beetbox/beets/issues/726#issuecomment-64936448 describes the conundrum: running plugins like zero on as-is imports means that the import is no longer really as-is; we're actually modifying the files! There are clearly times when you want this and times when you don't, and we need a general policy for all plugins to decide what to in these situations.

You might also be interested in #2274 for managing this manually.

simonbcn commented 7 years ago

If the metadata information of the album isn't founded in Internet, what is the alternative? I only see the as-is like real alternative and use the metadata stored in files. Perhaps it should be an specific option to import the files with all plugins using the metadata stored in files.

sampsyo commented 7 years ago

Exactly! That's why it's a conundrum: it seems like there are two separate intents that could both be called "as-is." And adding a second prompt called "as-is except still run plugins that manipulate metadata" is probably a non-starter from a UI perspective.

I lean toward changing the definition of "as-is" to do what you want, but we'll need to do it carefully. Any chance you can add your thoughts to the more general thread on the other issue?

disrupted commented 5 years ago

this definitely needs to happen

stale[bot] commented 4 years ago

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

vganin commented 2 weeks ago

This is still an issue, can we re-open this maybe? Or is there any less manual solution than just invoke zero after the fact?