beetbox / beetbox/beets

quiet incremental import

Open
#1,988 1 comment 0 reactions 0 assignees View on GitHub
discussion
Dominant language
Python
Stars
15.7k
Forks
2.1k
Avg merge
4d 21h
Merged PRs (30d)
31

Description

Assuming we have a folder containing all our music files managed by some program and we can not change these files. What is best practice to build a beets library of them?

I am currently playing with watching the directory and automatically importing new arrivals. The quiet option is used on import. The import is also incremental to speed things up and do things only once.

One central problem I have so far is that torrents which are skipped in quiet mode due to needed decision are tagged as skipped by decision in the database for incremental import. Running a manual import to deal with problematic folders is not trivial. I guess, changing this behaviour is not a very big deal, but before I dig into the code I want to ask, if there is an existing solution, which I am missing.
### Addition: True abstraction of underlying file structure

Writing this I have another idea for a useful feature. Playing with different configurations, I did a lot of import decisions multiple times, which is truly annoying. If we write all the decisions we make on import to a separate database, we can easily rebuild a new beets database from the source directory with one click. Ideally, this database of instructions could be synchronized over multiple machines. If we do the importer decision once in the cloud, it can be reproduced on local storage or vice versa. It would also be possible to gather refreshed tags from the source we decided earlier.

To achieve this celestial behaviour one could use a key value store. The key would be a hash of the items filenames and sizes. Perhaps one should also include the actual tags of the files. As value I would use one out of tag source with id / use as is / ignored / skipped for revision. The importer itself has to be tuned to check the database for entries before doing what its doing now.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.