Commit graph

8876 commits

Author SHA1 Message Date
Adrian Sampson
f865fc00cd replaygain: Fix py3 crash in audiotools backend
Fixes #3305.
2019-06-08 16:23:49 -04:00
Adrian Sampson
aea54e2487
Merge pull request #3137 from samuelnilsson/replaygain
per_disc option for the ReplayGain plugin
2019-06-08 16:15:25 -04:00
Samuel Nilsson
f5c8650dc9 Fixed merge issue regarding replaygain per_disc option 2019-06-08 16:44:03 +02:00
Samuel Nilsson
2c0d9b07db Fixed changelog for replaygain per_disc option 2019-06-08 16:23:24 +02:00
Samuel Nilsson
b8b99d9396 Merge branch 'master' into replaygain 2019-06-08 16:15:27 +02:00
Carl Suster
e64ecc2f81
Merge pull request #3299 from FichteForks/pr/https-beetsio
beets.io now supports HTTPS 🎉
2019-06-07 10:32:33 +10:00
FichteFoll
728203e15a
beets.io now supports HTTPS
See https://github.com/beetbox/beets/pull/3297.
2019-06-06 15:34:15 +02:00
Adrian Sampson
c04462d8d2
Merge pull request #3297 from FichteForks/pr/more-https
More https changes
2019-06-06 09:20:36 -04: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
Adrian Sampson
0206019a0d
Merge pull request #3295 from arcresu/docs-architecture
Expand library API docs
2019-06-05 10:33:14 -04:00
Carl Suster
6769da29ae docs: add dev importer and cli text from wiki 2019-06-05 13:28:06 +10:00
Carl Suster
de78151eea docs: rename api -> library 2019-06-05 13:18:46 +10:00
Carl Suster
918024a465 docs: document mtime management 2019-06-05 13:16:12 +10:00
Carl Suster
e27c6e480b docs: add query API reference 2019-06-05 13:10:10 +10:00
Carl Suster
984aa223c6 docs: highlight model field API 2019-06-05 13:03:36 +10:00
Carl Suster
0e65800fbc Expand library API docs 2019-06-05 12:49:39 +10:00
Carl Suster
3b2d621099
Merge pull request #3294 from beetbox/arcresu-patch-2
Add repology badge
2019-06-05 11:45:50 +10:00
Carl Suster
da8f4a294e Add repology badge
This is just to advertise that beets is available in distros. The badge links to a list of distro packages for beets and the current versions they have available, which is useful for users and contributors.
2019-06-05 11:43:04 +10:00
Carl Suster
9f9af300e8
Merge pull request #3296 from FichteForks/pr/https
Update a lot of URLs to use HTTPS
2019-06-05 11:39:09 +10:00
FichteFoll
aa31fea037
Update a lot of URLs to use HTTPS
*All* URLs were checked manually, but only once per domain!

I mostly concerned myself with URLs in documentation rather than source
code because the latter may or may not have impactful changes, while the
former should be straight forward.

Changes in addition to simply adding an s:

- changed pip and pypi references as their location has changed
- MPoD (iOS app) url redirects to Regelian, so I replaced those
- updated homebrew references

Notable observations:

- beets.io does have HTTPS set up properly (via gh-pages)
- beatport.py uses the old HTTP url for beatport
- as does lyrics.py for lyrics.wikia.com
- https://tomahawk-player.org/ expired long ago, but the http page
  redirects to https regardless
- none of the sourceforge subdomains have https (in 2019!)
2019-06-05 03:11:49 +02:00
Carl Suster
be1daa9771
Merge pull request #3214 from arcresu/bpd-mpd16
bpd: support MPD 0.16 protocol and more clients
2019-06-03 10:39:35 +10:00
Adrian Sampson
5a3157d85d Try to make a test more reliable
As @arcresu pointed out on Gitter, this openSUSE patch adds a safeguard
to this test, which was apparently failing for them:
https://build.opensuse.org/package/view_file/openSUSE:Factory/beets/fix_test_command_line_option_relative_to_working_dir.diff?expand=1

Reading the configuration once here to make sure that we're in a clean
state seems harmless enough. The culprit is likely that a previous test
was modifying the configuration and not properly cleaning up. This
change defends against that kind of mistake.
2019-06-02 20:16:51 -04:00
Adrian Sampson
94b38ee78c
Merge pull request #3285 from arcresu/cookbook
Move wiki cookbook to the docs
2019-06-02 19:47:24 -04:00
Carl Suster
65432bbb2d Changelog for #3214 2019-06-02 23:50:20 +10:00
Carl Suster
6054550178
Merge pull request #3288 from arcresu/confuse-package-path
Avoid using an internal confuse function
2019-06-02 23:49:17 +10:00
Carl Suster
62aa358ce7 bpd: bump protocol version to 0.16 2019-06-02 23:37:07 +10:00
Carl Suster
d8be83bc0d bpd: support ranges in playlistid 2019-06-02 23:37:07 +10:00
Carl Suster
dc7e3b9b6a bpd: support nextsong in status 2019-06-02 23:37:07 +10:00
Carl Suster
fdd809fd36 bpd: support more tagtypes 2019-06-02 23:37:07 +10:00
Carl Suster
cc2c35221d bpd: avoid sending playlist events on navigation 2019-06-02 23:37:07 +10:00
Carl Suster
5187100294 bpd: accept all idle events 2019-06-02 23:37:07 +10:00
Carl Suster
27c462d287 bpd: make noidle a no-op outside idle mode
The real MPD ignores `noidle` when the client is not idle. It doesn't
even send a successful response, just ignores the command. Although
I don't understand why a client would fail to keep track of its own
state, it seems that this is necessary to get ncmpcpp working.
2019-06-02 23:37:07 +10:00
Carl Suster
e708d28f85 bpd: allow fractional seconds in seek
The documented type is float, not integer, and clients like mpDris2 send
fractional seconds, causing them to crash if these values ar enot
accepted.
2019-06-02 23:37:07 +10:00
Carl Suster
1a5263b68f bpd: support volume command for real 2019-06-02 23:37:07 +10:00
Carl Suster
5c37a58ad6 bpd: add more tests 2019-06-02 23:37:07 +10:00
Carl Suster
59c506990a bpd: fix bug in playlistid
The playlistid command is supposed to list the whole playlist if no
argument is provided, but we were accidentally trying to look up an
impossible negative id in that case causing an error to always be
returned.
2019-06-02 23:37:07 +10:00
Carl Suster
64ed54330b bpd: mention control socket address in log 2019-06-02 23:37:07 +10:00
Carl Suster
80286ea898 bluelet: catch ECONNRESET
When ncmpcpp quits after an error it causes a "connection reset by peer"
exception, also known as ECONNRESET (104) in errno terms. In Python
2 this is mapped to a `socket.error` and in Python 3 this is
  `ConnectionResetError` which is thankfully a subclass of the
  `socket.error` exception class.
2019-06-02 23:37:07 +10:00
Carl Suster
5b7b5061e7 Avoid using an internal confuse function 2019-06-02 23:16:30 +10:00
Carl Suster
176fac781f docs: update cookbook for modern beets 2019-06-02 22:25:26 +10:00
Carl Suster
aa9e39327d docs: document 'quiet' config item 2019-06-02 22:25:26 +10:00
Carl Suster
ad695a34e4
Merge pull request #3287 from beetbox/arcresu-patch-1
Retry dependency installation commands on AppVeyor
2019-06-02 22:01:32 +10:00
Carl Suster
b0d476ae78
Retry dependency installation commands on AppVeyor
There's an `appveyor-retry` command that should help to make some of the dependency installation more reliable and the AppVeyor tests less flaky.
2019-06-02 21:30:57 +10:00
Carl Suster
9e60b3101a
Merge pull request #3286 from arcresu/pytest-warnings
tests: avoid non-test classes named Test*
2019-06-02 16:53:26 +10:00
Carl Suster
10d41a1cbb tests: avoid non-test classes named Test*
When using pytest's test collector, any class with a name starting with
Test is collected. If it notices that the class has an `__init__` member
then it skips it with a warning since it's probably a false positive.
This isn't a big deal, but we can avoid warnings like this:

    test/test_ui_importer.py:33
      beets/test/test_ui_importer.py:33: PytestCollectionWarning: cannot collect test class 'TestTerminalImportSession' because it has a __init__ constructor
        class TestTerminalImportSession(TerminalImportSession):

simply by renaming TestX to XFixture.
2019-06-02 16:35:37 +10:00
Carl Suster
8bea1cc7f5 docs: add report recipe 2019-06-02 16:07:07 +10:00
Carl Suster
001183ec54 docs: add cron import recipe 2019-06-02 16:01:10 +10:00