beetbox / beetbox/beets

replaygain: Analyze in parallel

Open
#2,224 6 comments 0 reactions 0 assignees View on GitHub
feature replaygain
Dominant language
Python
Stars
15.7k
Forks
2.1k
Avg merge
4d 21h
Merged PRs (30d)
31

Description

### Problem

The `replaygain` plugin doesn’t appear to make use of multicore capacities. On my machine, I see increased activity on only one core out of four.

In my opinion, it would be useful to be able to configure the plugin to analyze different albums or tracks at the same time.
### Setup
- OS: Arch Linux
- Python version: 2.7.12
- beets version: 1.3.18
- Turning off plugins made problem go away (yes/no): n/a

My configuration (output of `beet config`) is:

``` yaml
replaygain:
backend: gstreamer
auto: yes
targetlevel: 89
overwrite: no
embedart:
remove_art_file: no
compare_threshold: 0
auto: yes
ifempty: no
maxwidth: 0

plugins: fromfilename embedart fetchart mbsync replaygain scrub duplicates missing random
directory: ~/Media/music

import:
copy: no
write: no
library: ~/Media/musiclibrary.blb
scrub:
auto: yes
missing:
count: no
total: no
fetchart:
auto: yes
minwidth: 0
sources:
- filesystem
- coverart
- itunes
- amazon
- albumart
google_engine: 001442825323518660753:hrh5ch1gjzm
enforce_ratio: no
cautious: no
maxwidth: 0
store_source: no
google_key: REDACTED
fanarttv_key: REDACTED
cover_names:
- cover
- front
- art
- album
- folder
duplicates:
count: no
full: no
format: ''
keys: []
move: ''
tag: ''
path: no
copy: ''
tiebreak: {}
album: no
strict: no
checksum: ''
merge: no
delete: no
```

Contributor guide

Open the contributing guide

Research direction

Start by locating the Python replaygain plugin and its analysis entry point, then inspect how its configuration is read. The issue describes configurable parallel analysis for albums or tracks; done should include that configuration and verification that work can use multiple cores, with tests covering the behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.