# Keep existing artwork for tracks

**URL:** <https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379>\
**Category:** Help\
**Created:** [August 12, 2023, 8:26am UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379 "2023-08-12T08:26:22Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![djkc1072](https://avatars.discourse-cdn.com/v4/letter/d/77aa72/32.png) [@djkc1072](https://discourse.beets.io/u/djkc1072)\
**Post date:** [August 12, 2023, 8:26am UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379/1 "2023-08-12T08:26:22Z")

</div>

Hello everyone,

Could someone please help (noob!) When I import tracks into beets that have existing artwork, the artwork is removed and replaced with a generic waveform image. Is there a config to run tracks through beets to correct metadata but keep existing artwork?

---

<div class="post-metadata">

**Author:** ![jackwilsdon](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/jackwilsdon/32/10_2.png) [@jackwilsdon](https://discourse.beets.io/u/jackwilsdon)\
**Post date:** [August 12, 2023, 9:15am UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379/2 "2023-08-12T09:15:19Z")

</div>

Could you please post the output of `beet config` and `beet version`? Beets shouldn’t be doing this by default.

Can you also try importing with `-vvv` and post the logs here?

---

<div class="post-metadata">

**Author:** ![djkc1072](https://avatars.discourse-cdn.com/v4/letter/d/77aa72/32.png) [@djkc1072](https://discourse.beets.io/u/djkc1072)\
**Post date:** [August 12, 2023, 9:41am UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379/3 "2023-08-12T09:41:32Z")

</div>

Hi Jack,

I have the latest version of beets v1.6.0.

```auto
directory: ~/Music/NEW_MUSIC
library: ~/Music/NEW_MUSIC_DB/newmusic.blb

import:
   move: no
   copy: yes

paths: 
    default: /$albumartist/$album %aunique{}/$title %aunique{} 
    singleton: /$albumartist/$album %aunique{}/$title %aunique{} 
    comp: /Compilation/$album %aunique{}/$track $title %aunique{} 
    albumtype:soundtrack: Soundtracks/$album %aunique{}/$track $title %aunique{}

plugins: fetchart embedart zero the discogs beatport4 

fetchart:
   cautious: yes
   auto: yes
   minwidth: 0
   maxwidth: 0
   quality: 0
   max_filesize: 0
   enforce_ratio: no
   sources:
    – filesystem
    – coverart
    – itunes
    – amazon
    – albumart
   google_key: -----
   google_engine: ------
   store_source: no
   high_resolution: no
   deinterlace: no
   cover_format:
   
embedart:
   maxwidth: 0
   auto: yes
   compare_threshold: 0
   ifempty: no
   remove_art_file: no
   quality: 0

the:
   the: yes
   a: yes
   format: ‘{0}, {1}’
   strip: no
   patterns: []

zero:
   fields: comments
   comments: -> None
   update_database: true

discogs:
   index_tracks: yes
   user_token: --------
   source_weight: 0.0

beatport4:
   art: yes
   art_overwrite: no
   username: ------
   password: -------
   source_weight: 0.0

```

---

<div class="post-metadata">

**Author:** ![djkc1072](https://avatars.discourse-cdn.com/v4/letter/d/77aa72/32.png) [@djkc1072](https://discourse.beets.io/u/djkc1072)\
**Post date:** [August 12, 2023, 9:52am UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379/4 "2023-08-12T09:52:05Z")

</div>

Seems that I have some errors for plugins?

```auto
beet import logging
** error loading plugin fetchart:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__ (modname, None, None)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'beetsplug.fetchart'

** error loading plugin embedart:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__ (modname, None, None)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'beetsplug.embedart'

** error loading plugin zero:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__ (modname, None, None)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'beetsplug.zero'

** error loading plugin the:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__ (modname, None, None)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'beetsplug.the'

** error loading plugin discogs:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__ (modname, None, None)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'beetsplug.discogs'

** error loading plugin beatport4:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__ (modname, None, None)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'beetsplug.beatport4'

```

---

<div class="post-metadata">

**Author:** ![jackwilsdon](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/jackwilsdon/32/10_2.png) [@jackwilsdon](https://discourse.beets.io/u/jackwilsdon)\
**Post date:** [August 12, 2023, 10:23am UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379/5 "2023-08-12T10:23:16Z")

</div>

There doesn’t seem to be anything obviously wrong with your configuration. Those errors don’t sound right (although I can’t imagine how missing plugins would cause beets to remove artwork) - looks similar to [#3730](https://github.com/beetbox/beets/issues/3730). Is that the full log from an import with `-vvv`?

---

<div class="post-metadata">

**Author:** ![djkc1072](https://avatars.discourse-cdn.com/v4/letter/d/77aa72/32.png) [@djkc1072](https://discourse.beets.io/u/djkc1072)\
**Post date:** [August 12, 2023, 10:50am UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379/6 "2023-08-12T10:50:09Z")

</div>

My first thought was the config but seems I’ve opened up a can of worms now! Thank you for the link, seems to be a similar issue.

Here is full log:

```auto
beet -vvv import
user configuration: /Users/jc/.config/beets/config.yaml
data directory: /Users/jc/.config/beets
plugin paths: /Users/jc/.local/lib/python3.8/site-packages/beetsplug
** error loading plugin fetchart:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__ (modname, None, None)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'beetsplug.fetchart'

** error loading plugin embedart:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__ (modname, None, None)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'beetsplug.embedart'

** error loading plugin zero:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__ (modname, None, None)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'beetsplug.zero'

** error loading plugin the:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__ (modname, None, None)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'beetsplug.the'

** error loading plugin discogs:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__ (modname, None, None)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'beetsplug.discogs'

** error loading plugin beatport4:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__ (modname, None, None)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'beetsplug.beatport4'

Sending event: pluginload
library database: /Users/jc/Music/NEW_MUSIC_DB/newmusic.blb
library directory: /Users/jc/Music/NEW_MUSIC
Sending event: library_opened
error: no path specified

```

---

<div class="post-metadata">

**Author:** ![jackwilsdon](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/jackwilsdon/32/10_2.png) [@jackwilsdon](https://discourse.beets.io/u/jackwilsdon)\
**Post date:** [August 12, 2023, 11:12am UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379/7 "2023-08-12T11:12:14Z")

</div>

How did you install beets? It seems like it’s installed in `/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/beets` (i.e. system-wide), but it’s trying to pull plugins from `/Users/jc/.local/lib/python3.8/site-packages/beetsplug` (it should be the same site-packages path by default I believe).

---

<div class="post-metadata">

**Author:** ![djkc1072](https://avatars.discourse-cdn.com/v4/letter/d/77aa72/32.png) [@djkc1072](https://discourse.beets.io/u/djkc1072)\
**Post date:** [August 12, 2023, 7:49pm UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379/8 "2023-08-12T19:49:47Z")

</div>

So, I have uninstalled python and beats and re-installed, to see if it would correct but same error.

beets installation: pip install [https://github.com/beetbox/beets/tarball/master](https://github.com/beetbox/beets/tarball/master)

beets version 1.6.1

Python version 3.11.4

Any suggestions on how to fix this would be much appreciated.

Not sure if this is linked, but plugins seemed to be working fine before I installed extrafiles plugin? I have now uninstalled this.

---

<div class="post-metadata">

**Author:** ![jackwilsdon](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/jackwilsdon/32/10_2.png) [@jackwilsdon](https://discourse.beets.io/u/jackwilsdon)\
**Post date:** [August 12, 2023, 7:58pm UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379/10 "2023-08-12T19:58:15Z")

</div>

I think the issue here is that you’ve got two copies of beets installed - a global installation and a user installation.

The global one is the one you installed with `pip install`, but it seems like the `pip install --user beets-extrafiles` (assuming you used the command from their documentation) installed a user copy too (as extrafiles has a dependency on beets).

Try `pip uninstall --user beets` and see if that fixes it.

---

<div class="post-metadata">

**Author:** ![djkc1072](https://avatars.discourse-cdn.com/v4/letter/d/77aa72/32.png) [@djkc1072](https://discourse.beets.io/u/djkc1072)\
**Post date:** [August 12, 2023, 8:45pm UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379/11 "2023-08-12T20:45:00Z")

</div>

Thanks very much Jack, seems to have fixed the problem! 😀  
Now just the original, minor problem of keeping album artwork.

```auto
beet -vvv import 
user configuration: /Users/jc/.config/beets/config.yaml
data directory: /Users/jc/.config/beets
plugin paths: 
Sending event: pluginload
library database: /Users/jc/Music/NEW_MUSIC_DB/newmusic.blbpip3 uninstall
library directory: /Users/jc/Music/NEW_MUSIC
Sending event: library_opened
error: no path specified

```

```auto
beet version
beets version 1.6.0
Python version 3.11.4
plugins: beatport4, discogs, embedart, fetchart, the, zero

```

---

<div class="post-metadata">

**Author:** ![jackwilsdon](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/jackwilsdon/32/10_2.png) [@jackwilsdon](https://discourse.beets.io/u/jackwilsdon)\
**Post date:** [August 12, 2023, 9:01pm UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379/12 "2023-08-12T21:01:43Z")

</div>

Do the source files have artwork embedded in them or is it a separate file?

Can you provide the logs of an import with `-vvv`? i.e. actually import an album - seeing the full logs of the import process might help us work out what’s happening.

---

<div class="post-metadata">

**Author:** ![jackwilsdon](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/jackwilsdon/32/10_2.png) [@jackwilsdon](https://discourse.beets.io/u/jackwilsdon)\
**Post date:** [August 13, 2023, 1:44pm UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379/14 "2023-08-13T13:44:24Z")

</div>

Can you perform an import (still with `-vvv`) without the item already being in your library? fetchart only runs after an album has been imported and I think the logs from that will be useful.

---

<div class="post-metadata">

**Author:** ![jackwilsdon](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/jackwilsdon/32/10_2.png) [@jackwilsdon](https://discourse.beets.io/u/jackwilsdon)\
**Post date:** [August 14, 2023, 12:18pm UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379/16 "2023-08-14T12:18:24Z")

</div>

I think the waveform icon is being provided by your OS. If you hit space with the file selected in Finder, what does Quick Look display for the artwork?

By the looks of things, fetchart never find any artwork for the album and beatport4 crashes whilst trying to apply artwork. It seems that this is a bug in the beatport4 plugin - it’s trying to access `ImportTaks#item` but that field doesn’t exist (although it does exist for singleton imports). It’s probably worth raising an issue on [Samik081/beets-beatport4](https://github.com/Samik081/beets-beatport4) (assuming that’s the plugin you’re using).

---

<div class="post-metadata">

**Author:** ![djkc1072](https://avatars.discourse-cdn.com/v4/letter/d/77aa72/32.png) [@djkc1072](https://discourse.beets.io/u/djkc1072)\
**Post date:** [August 16, 2023, 10:27am UTC](https://discourse.beets.io/t/keep-existing-artwork-for-tracks/2379/17 "2023-08-16T10:27:09Z")

</div>

Yes, when I hit space it only shows waveform icon.

Thanks for clarifying the issue, I will contact developer as you recommended. These are in fact beatport tracks so artwork should be exactly the same.

Thanks for your help Jack 👍
