Commit graph

2848 commits

Author SHA1 Message Date
MartyLake
d1ba309f36 Add a new method that copied pathlib.path.as_posix 2019-07-23 17:17:40 +02:00
Zsin Skri
e5f2fe6fd3 avoid test failure
Use the POSIX character class instead of `\s` to match all whitespace in a
regular expression describing the language of valid inputs, in order to avoid a
test failure for the invalid escape sequence `\s` in Python strings.
2019-07-21 01:28:16 +02:00
Zsin Skri
f9ff56f496 improve wording in the ffmpeg replaygain backend
This commit mostly addresses feedback:
- remove some unused parenthesis
- fix a typo
- expand some docstrings
- document that ffmpeg is usually easy to install
2019-07-21 01:18:49 +02:00
Zsin Skri
271a3c980c replaygain: ffmpeg: increase parser readability
Use keyword arguments to make the ffmpeg parser more readable.
2019-07-19 21:54:47 +02:00
Zsin Skri
c3af5b3763 replaygain: add ffmpeg backend
Add replaygain backend using ffmpeg's ebur128 filter.

The album gain is calculated as the mean of all BS.1770 gating block powers.
Besides differences in gating block offset, this should be equivalent to a
BS.1770 analysis of a proper concatenation of all tracks.

Just calculating the mean of all track gains (as implemented by the bs1770gain
backend) yields incorrect results as that would:
- completely ignore track lengths
  - just using length in seconds won't work either (e.g. BS.1770 ignores
    passages below a threshold)
- take the mean of track loudness, not power

When using the ffmpeg replaygain backend to create R128_*_GAIN tags, the
targetlevel will be set to -23 LUFS. GitHub PullRequest #3065 will make this
configurable.
It will also skip peak calculation, as there is no R128_*_PEAK tag.

It is checked if the libavfilter library supports replaygain calculation. Before
version 6.67.100 that did require the `--enable-libebur128` compile-time-option,
after that the ebur128 library is included in libavfilter itself. Thus we
require either a recent enough libavfilter version or the `--enable-libebur128`
option.
2019-07-19 21:54:47 +02:00
Zsin Skri
7a7314ee3f Allow other ReplayGain backends to support R128.
Previously using EBU R128 forced the use of the bs1770gain backend.
This change adds a whitelist of backends supporting R128. When the configured
backend is in that list it will also be used for R128 calculations. Otherwise
bs1770gain is still used as a default.

This should not change the overall behaviour of the program at all, but allow
for further R128-supporting backends to be added.
2019-07-19 21:54:47 +02:00
Zsin Skri
30395911e2 util.command_output: return stderr, too
Return a namedtuple CommandOutput(stdout, stderr) instead of just stdout from
util.command_ouput, allowing separate access to stdout and stderr.

This change is required by the ffmpeg replaygain backend (GitHub
PullRequest #3056) as ffmpeg's ebur128 filter outputs only to stderr.
2019-07-14 18:32:59 +02:00
Adrian Sampson
e39341b282 Merge pull request #3322 from thedevilisinthedetails/master
465 discogs: Fetch a few more metadata fields
2019-07-01 17:22:50 -04:00
Peter
0cd46dab77 fixing per review comments 2019-07-01 21:04:35 +02:00
Peter
dd7e932a9a removing print log 2019-06-30 14:34:13 +02:00
Peter
e196c1dae6 fixing test 2019-06-30 13:54:38 +02:00
Peter
510276f653 fixing test 2019-06-30 13:44:13 +02:00
Adrian Sampson
73f8edd116 Simplify force check (#3318) 2019-06-27 22:44:57 -04:00
Adrian Sampson
0726123e41 Move PROBE_FIELD to module scope (#3318) 2019-06-27 22:43:18 -04:00
Susanna Maria
b20516e552 Small improvement of code doc 2019-06-26 20:29:17 +02:00
Susanna Maria
cab97c58d4 Pep8 drives me sometimes crazy 2019-06-25 20:57:43 +02:00
Susanna Maria
932d18a838 Pep8 error ... 2019-06-25 20:37:12 +02:00
Susanna Maria
f254b33c6e Findings from PR 2019-06-25 20:22:26 +02:00
Susanna Maria
6e179d86e6 Pep8 bugfix 2019-06-23 17:43:40 +02:00
Susanna Maria
0242176b40 Why binary import of json? 2019-06-23 16:59:33 +02:00
Susanna Maria
1643eea3f5 Parameter handling 2019-06-23 13:04:17 +02:00
Zsin Skri
f645400c5e replaygain: adapt to mediafile commit 95e569a
Since commit 95e569a, mediafile takes care of the float -> Q7.8 conversion in
R128 GAIN tags by itself.

From `store_album_r128_gain` this conversion was already missing, remove it from
`store_track_r128_gain`, too.

fixes #3311
2019-06-18 23:17:38 +02:00
Peter
90cf579ee3 adding genre, released_date and discogs_release_id 2019-06-16 21:55:35 +02:00
Adrian Sampson
7dd0ed77f9 Merge pull request #3302 from Holzhaus/fix-3301
beetsplug/importadded: Add missing path kwarg to update_after_write_time()
2019-06-11 11:50:36 -04:00
Adrian Sampson
ed30a7aed2 Merge pull request #3251 from thedevilisinthedetails/master
#2579 Adding styles to discogs plugin
2019-06-10 13:26:09 -04:00
Peter
7ec1fc934b removing unneeded condition 2019-06-10 15:54:19 +02:00
Peter
9bdadc5c73 removing extra line 2019-06-10 09:33:10 +02:00
Peter
55e003a3d4 fixing per review comments 2019-06-10 09:11:38 +02:00
Peter
f0c91b8f45 fixing per review comments 2019-06-09 20:01:55 +02:00
Peter
2c49c12166 fixing per review comments 2019-06-09 15:44:37 +02:00
Peter
5fc21a1e21 fixing per review comments 2019-06-09 15:39:49 +02:00
Peter
851c413976 adding config option for seperator and addressing review comments 2019-06-09 10:37:33 +02:00
Adrian Sampson
9fcb66b3c8 Nicer string wrap 2019-06-08 21:35:56 -04:00
Adrian Sampson
c2fdf04539 Merge pull request #3279 from dosoe/beets_parentwork_3
add parentwork plugin
2019-06-08 21:35:05 -04:00
Dorian Soergel
9d184e3cad docstrings and style 2019-06-08 22:58:05 +02:00
Dorian Soergel
fd14b5b649 docstrings and style 2019-06-08 22:55:05 +02:00
Dorian Soergel
c96dcfffb6 docstrings and style 2019-06-08 22:44:33 +02:00
Adrian Sampson
f865fc00cd replaygain: Fix py3 crash in audiotools backend
Fixes #3305.
2019-06-08 16:23:49 -04:00
Samuel Nilsson
b8b99d9396 Merge branch 'master' into replaygain 2019-06-08 16:15:27 +02:00
Dorian Soergel
070f50e1e7 docstring 2019-06-07 17:16:03 +02:00
Dorian Soergel
eacdb0d0e4 refetching works moved to new PR 2019-06-07 17:15:04 +02:00
Dorian Soergel
9c3c538dfb alternative way to refetch parent works 2019-06-07 16:51:33 +02:00
Dorian Soergel
765f7dc12d first try to implement event handler 2019-06-07 14:57:38 +02:00
Jan Holthuis
2b00e1de24 beetsplug/importadded: Add missing path kwarg to update_after_write_time()
This resolves #3301.
2019-06-07 14:17:39 +02:00
FichteFoll
728203e15a
beets.io now supports HTTPS
See https://github.com/beetbox/beets/pull/3297.
2019-06-06 15:34:15 +02:00
FichteFoll
9631616b53
Replace a couple URLs that don't point to anything
I'm unsure regarding the pygst tutorial, so I just added another URL
of the best resource I could find with a quick web search.
2019-06-05 23:08:18 +02:00
FichteFoll
c144141e9a
Update a few more http URLs to https that I missed
Should really be all now (pending the next commit).
2019-06-05 23:07:11 +02:00
FichteFoll
1a23eab8b6
Use https for lyrics.wikia.com, when supported 2019-06-05 23:00:52 +02:00
FichteFoll
670046dd9a
Build https URLS for beatport releases
I'm not sure where these are used, but the website supports https and
the API url already uses https, so this should be a safe call and not
require a util.SNI_SUPPORTED check.
2019-06-05 22:55:12 +02:00
Dorian Soergel
1d9e42567b flake8 2019-06-05 13:40:04 +02:00