replaygain: Analyze in parallel
- 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
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