beetbox / beetbox/beets

Beets Work Queue Discussion

Open
#1,375 16 comments 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

### Work Queue Discussion

I wanted to start a discussion on work queuing.
With current beets functionality, you run the command `beet import ~/music` and that folder is imported but in an interactive state.
Beets can be run in a psudo non-interactive state, but at the risk of reducing the confidence of the autotagger.
What I would like is the ability to still have the full functionality of beets, but simply at a later date, which is why I would like to a see a task based functionality implemented.
### Proposed Scenario

Here are my proposed scenario:
1. Run a `beet import` with a switch to run in an non-interactive mode
2. Beets starts an import, and either stays open, or demonises itself for the period of the import process.
3. I can then run a `beet tasks` or something to that effect
4. Based on a configuration, this would contain all the tasks that require human intervention
5. From here I could then go through each task, which is either an album or track, and see the options available to me, and then either apply, skip, keep, etc, as I would when running interactively.

Maybe this tasks functionality could also be used to hold other tasks or actions such as
- Verify correct cover image before applying
- Verify chroma matches
- Update library
- …and anything else you can think of
### Applications

The applications for this are the following:
- Import a HUGE library and not have to worry about sitting down for ages
- Import and worry about the tasks at a later date
- Work on 4 or 5 tasks at a time, and leave the rest when you are free
- Because tasks are being done in the background, when an albums confidence is low, it can request similar albums as well. So when the task is revisited the user can pick from multiple, and it’s entered immediately.
- A GUI web application could be created, so that it can easily pick up the tasks, and display the content. Which can facilitate people who aren’t comfortable with the command line. This will also facilitate with being able to show album art.

---

Thoughts? Discussions? Implementation ideas?

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing `beet import` command and its interactive and non-interactive behavior. The proposed `beet tasks` entry point and task lifecycle need to be designed before implementation; done would require an agreed scope and documented behavior for queued human-intervention tasks.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.