Commit graph

3552 commits

Author SHA1 Message Date
Šarūnas Nejus
0aa361e6c8
Remove support for Python 3.7 in the build and docs 2024-06-05 04:41:02 +01:00
Kirill A. Korinsky
d8ea474764
Update changelog.rst 2024-06-03 13:28:47 +02:00
Serene
731acd848c
Add timeout argument to all requests calls (#5262) 2024-06-02 14:44:28 +10:00
Serene-Arc
6edd80a1d5
Fix changelog version 2024-05-30 14:21:30 +10:00
Serene-Arc
33ab22db8c Increment version numbers to 2.0.0 2024-05-30 04:05:25 +00:00
Lev Gorodetskiy
53d72c14ea
Update changelog 2024-05-25 12:28:08 -03:00
Serene
7543a351ed
Merge pull request #5184 from freddiewanah/master
Enhancement: Refactor Test Code for Efficiency and Quality
2024-04-21 09:06:38 +10:00
J0J0 Todos
d510177820
Merge pull request #5121 from mgoltzsche/generate-playlist-item-attributes 2024-04-20 08:04:32 +02:00
Max Goltzsche
2e9308f713
docs: mention autogenre plugin 2024-04-20 05:33:48 +02:00
Max Goltzsche
2821eac973
docs: add smartplaylist example config and m3u 2024-04-20 05:33:20 +02:00
ktetzlaff
b47635dc29 Prefer VISUAL environment variable over EDITOR
When unix tools make use of an external editor, they typically check the
environment variable VISUAL and fall back to EDITOR. This commit adds the
additional check for VISUAL to the existing EDITOR check (where VISUAL is
preferred over EDITOR).
2024-04-14 12:15:30 +02:00
Serene
125f26fdb1
Merge pull request #5160 from Dr-Blank/bug-unimported-failing-to-ignore-subdirectories 2024-04-14 12:58:53 +10:00
Max Goltzsche
3c6309fe22
docs: mention Beetstream and webrouter plugins
Also, moves the webm3u plugin link from tne interoperability section to the "Other Plugins" section of the documentation.
2024-04-13 04:55:43 +02:00
Max Goltzsche
883bbb3e4b
smartplaylist: rename output format m3u8 to extm3u 2024-04-13 04:55:43 +02:00
Max Goltzsche
c0afd3eb3c
smartplaylist: allow exporting item fields
Allow generating extm3u playlists so that they contain additional item fields such as the `id`.

The feature is required by the mgoltzsche/beets-webm3u plugin (M3U server) to transform playlists using a request based item URI template which may require additional fields such as the `id`, e.g. `beets:library:track;$id`.
2024-04-13 04:55:37 +02:00
Dr-Blank
c3e922e2d2
missing changelog for #5153 2024-04-11 14:12:46 -04:00
Dr-Blank
ada2f80de6
add changelog entry for bug-fix 2024-04-11 13:05:46 -04:00
Dr-Blank
640c9613c0
add changelog for bug fix 2024-04-11 13:01:04 -04:00
freddiewanah
52271bc093 update changelog 2024-04-10 15:57:37 +02:00
InvisibleFunction
33c8ae7a4b Update in response to comments 2024-03-07 09:11:54 -05:00
InvisibleFunction
94e294581b Update Changelog 2024-03-06 09:12:58 -05:00
Serene
3548e35360
Merge pull request #5122 from Bobo1239/master
convert: Correctly identify WAVE format as lossless
2024-03-02 09:05:53 +10:00
Boris-Chengbiao Zhou
47ba590999 convert: Correctly identify WAVE format as lossless
Seems like this entry was added before mediafile gained support for WAVE
files in commit 832f3d. Adjust it to fix detection.
2024-03-01 17:58:26 +01:00
Serene
fa8b1201c3
Merge pull request #5103 from Josef-Friedrich/remove-unused-functions
Remove unused functions
2024-03-01 15:59:31 +10:00
Serene
35e8eb985f
Merge pull request #5058 from arsaboo/lb
Add initial version of the Listenbrainz plugin
2024-03-01 15:51:50 +10:00
J0J0 Todos
dae525741b
Merge pull request #5096 from raspbeguy/alpine 2024-02-21 13:33:46 +01:00
Josef Friedrich
7abaa2da98 Document change in the changelog.rst 2024-02-12 09:56:24 +01:00
raspbeguy
258e52af5b
Add alpine instructions 2024-02-06 09:19:17 +01:00
Serene
ddb34de72a
Merge pull request #5081 from mthies-unibi/zsh-completion-fixes
Fixes zsh completion dependency on specific awk/sed/sqlite3 versions and settings
2024-01-17 21:43:21 +10:00
Michael Thies
35af8d363a added changelog entry 2024-01-17 10:36:56 +01:00
Lars Kruse
508d28f66b tests: move reusable test-related modules into the beets package
External Python packages interfacing beets may want to use an in-memory
beets library instance for testing beets-related code.
The `TestHelper` class is very helpful for this purpose.
Previously `TestHelper` was located in the `test/` directory.
Now it is part of `beets` itself (`beets.test.helper.TestHelper`) and
can be easily imported.
2024-01-15 19:40:57 +01:00
Alok Saboo
ce023a3c53 Revert unwanted commits 2023-12-25 17:14:45 -05:00
Alok Saboo
7838e70d41 Revert "Merge remote-tracking branch 'upstream/master' into lb"
This reverts commit 6bfe26642c, reversing
changes made to 9b8dbe8055.
2023-12-23 12:25:22 -05:00
Alok Saboo
6bfe26642c Merge remote-tracking branch 'upstream/master' into lb 2023-12-23 12:19:30 -05:00
Alok Saboo
a88591824c Add lastimport changelog 2023-12-23 10:32:26 -05:00
Alok Saboo
d5a237912a Add listenbrainz to index 2023-12-21 12:22:12 -05:00
Alok Saboo
4541644961 Updated docs 2023-12-21 11:57:14 -05:00
Alok Saboo
7f4da6e023 Update changelog.rst 2023-12-20 10:46:35 -05:00
Max Goltzsche
6b929c6e72
web: fix range request support
Do not let the web plugin overwrite the Content-Length header with the full file length since flask/werkzeug sets the requested range's/chunk's size when handling a range request.
This allows to play large audio/opus files using e.g. a browser/firefox or gstreamer/mopidy without making a reverse-proxy/nginx emulate range request support and hide range-related headers from the backend.
2023-12-20 01:23:13 +01:00
RollingStar
d927262bd5
Merge branch 'master' into master 2023-12-17 10:48:31 -05:00
RollingStar
9f958b886e
Update docs/changelog.rst
Co-authored-by: J0J0 Todos <2733783+JOJ0@users.noreply.github.com>
2023-12-17 10:47:41 -05:00
Adrian Sampson
3ea4a0ba46
Merge pull request #5050 from Maxr1998/abort-on-template-field-conflicts
beetsplug: Error out on conflicts in template functions
2023-12-16 10:51:14 -05:00
Maxr1998
e64ee0b0cd
beetsplug: Error out on conflicts in template functions
Raises an exception if multiple plugins provide template functions for the same field.

Closes #5002, supersedes #5003.
2023-12-16 16:38:32 +01:00
Max Goltzsche
58e5b02929
smartplaylist: add --uri-format option
Beets web API already allows remote players to access audio files but it doesn't provide a way to expose the playlists defined using the smartplaylist plugin.
Now the smartplaylist plugin provides an option to generate ID-based item URIs/URLs instead of paths.
Once playlists are generated this way, they can be served using a regular HTTP server such as nginx.

To provide sufficient flexibility for various ways of integrating beets remotely (e.g. beets API, beets API with context path, AURA API, mopidy resource URI, etc), the new option has been defined as a template with an `$id` placeholder (assuming each remote integration requires a different path schema but they all rely on using the beets item `id` as identifier/path segment).

To prevent local path-related plugin configuration from leaking into a HTTP URL-based playlist generation (invoked with CLI option in addition to the local playlists generated into another directory), setting the new option makes the plugin ignore the other path-related options `prefix`, `relative_to`, `forward_slash` and `urlencode`.

Usage examples:
* `beet splupdate --uri-format 'http://beets:8337/item/$id/file'` (for beets web API)
* `beet splupdate --uri-format 'http://beets:8337/aura/tracks/$id/audio'` (for AURA API)

(While it was already possible to generate playlists containing HTTP URLs previously using the `prefix` option, it did not allow to generate ID-based URLs pointing to the beets web API but required to expose the audio files using a web server directly and refer to them using their file system `$path`.)

Relates to #5037
2023-12-16 05:37:27 +01:00
Max Goltzsche
385c05f98e
smartplaylist: change option --extm3u to --output
The boolean flags `--extm3u` and `--no-extm3u` are replaced with a string option `--output=m3u|m3u8`.
This reduces the amount of options and allows to evolve the CLI to support more playlist output formats in the future (e.g. JSON) without polluting the CLI at that point.
2023-12-16 00:23:03 +01:00
Maxr1998
6e5bcbc070
advancedrewrite: Add note about quoting issues to docs 2023-12-15 17:14:00 +01:00
Adrian Sampson
1efd67cb82
Merge pull request #5044 from Maxr1998/advancedrewrite-rewrite
advancedrewrite: Support simple syntax and improve advanced syntax
2023-12-15 09:34:25 -05:00
Serene
618af1511e
Merge pull request #5047 from mgoltzsche/expose-smartplaylist-cli-opts
smartplaylist: expose config as CLI options
2023-12-15 14:44:46 +10:00
Max Goltzsche
222b3a34f9
smartplaylist: expose config as CLI options
Add CLI options to `splupdate` command:
* `--playlist-dir`, `-d`
* `--relative-to`
* `--prefix`
* `--urlencode`
* `--forward-slash`
* `--pretend-paths`
2023-12-15 03:51:27 +01:00
J0J0 Todos
bf6eb04827
Merge pull request #5034 from beetbox/YES_NO_COLOR 2023-12-14 23:37:56 +01:00
Max Goltzsche
b07a2e42f4
smartplaylist: add extm3u/extinf/m3u8 support
This is to be able to display meaningful metadata and search a playlist within a player without having to load the linked audio files of a playlist.
2023-12-14 01:46:14 +01:00
Maxr1998
4b1c7dd8be
Specify new advancedrewrite configuration in docs 2023-12-13 11:25:27 +01:00
David Logie
fd795c9da6 Add changelog entry for #5028. 2023-12-12 09:03:17 +00:00
J0J0 Todos
c1a232ec7b Fix some changelog entries 2023-12-11 11:01:54 +01:00
Adrian Sampson
0604aeadc1
Merge pull request #5022 from mgoltzsche/expose-incremental-skip-later-opt
expose incremental_skip_later as cli option
2023-12-10 11:45:36 -05:00
J0J0 Todos
e5d10004ae
Merge pull request #4807 from doronbehar/mbsubmit-improvements
mbsubmit: Add picard `PromptChoice`
2023-12-06 13:08:20 +01:00
Doron Behar
9357448bde mbsubmit: document new prompt choices 2023-12-05 19:21:38 +02:00
Max Goltzsche
177f284d40
expose incremental_skip_later as cli option
Closes #4958
2023-12-05 01:03:22 +01:00
Max Goltzsche
8a3b9acdee
expose import.quiet_fallback as cli option 2023-12-04 22:56:25 +01:00
Alok Saboo
79216e1f64 Update changelog.rst 2023-12-04 10:37:06 -05:00
RollingStar
ae8866f85c
Update changelog.rst for config_default 2023-12-04 01:43:54 -05:00
Adrian Sampson
df2d6ae753
Merge branch 'master' into deezer_error 2023-12-02 13:49:16 -05:00
Adrian Sampson
85268ad061
Merge pull request #5013 from arsaboo/spotify_error
Spotify: Add 502 error handling
2023-12-02 13:35:08 -05:00
Alok Saboo
079936c826 Merge remote-tracking branch 'upstream/master' into deezer_error 2023-12-01 08:40:58 -05:00
Serene
c4c82e908e
Merge pull request #5007 from Serene-Arc/track_change_info
Revert line change behaviour when importing tracks
2023-12-01 09:07:17 +10:00
Alok Saboo
51c017ab6f Update changelog.rst 2023-11-28 10:04:04 -05:00
Alok Saboo
7e2f9b5333 Merge remote-tracking branch 'upstream/master' into deezer_error 2023-11-26 11:53:27 -05:00
Serene-Arc
2892be9892 Add changelog entry 2023-11-24 15:24:58 +10:00
Serene-Arc
fc5a9030e6 Add more detail to option 2023-11-24 13:55:27 +10:00
Alok Saboo
e5df18c981 Merge remote-tracking branch 'upstream/master' into deezer_error 2023-11-23 09:40:21 -05:00
Alok Saboo
39fd14cec7 Update changelog.rst 2023-11-16 12:28:56 -05:00
Alok Saboo
f636167bd0
Update docs/changelog.rst
Co-authored-by: J0J0 Todos <2733783+JOJ0@users.noreply.github.com>
2023-11-15 10:13:56 -05:00
Alok Saboo
c21e736811 Update changelog.rst 2023-11-12 09:46:48 -05:00
Alok Saboo
263796d194 Update changelog.rst 2023-11-11 21:33:18 -05:00
Alok Saboo
e9bfeee9e7 Update changelog.rst 2023-11-11 21:28:27 -05:00
jeff
7b0f5fb3f3 Add config option to prefer synced lyrics over plain 2023-11-05 11:26:33 -05:00
jeff
e14982cad7 Add LRCLIB as a provider for the lyrics plugin 2023-11-05 11:26:33 -05:00
Alok Saboo
a5f4599cd3 Update changelog.rst 2023-11-01 18:04:43 -04:00
J0J0 Todos
d80d45974b Transparent background logo for docs
Exchange the white-bg logo with a transparent-bg version, to ensure
Sphinx pydata theme also looks well when switched to dark
mode.
2023-10-29 10:30:33 +01:00
Serene-Arc
c2c2ff638e Integrate code of conduct 2023-10-27 21:55:13 +10:00
Adrian Sampson
6655760732
Merge pull request #4974 from fhchl/master 2023-10-26 10:09:07 -04:00
fhchl
e1818e1851
Update changelog.rst 2023-10-26 10:07:18 +02:00
Adrian Sampson
37f12bfa49
Fix capitalization 2023-10-25 15:11:03 -04:00
Adrian Sampson
94d75a759f
Merge branch 'master' into add-ytimport-plugin-link 2023-10-25 15:00:37 -04:00
Adrian Sampson
a2d6819276
Merge pull request #4972 from henges/henges/discogs-fetchart
discogs: Populate `cover_art_url` attribute
2023-10-25 14:51:33 -04:00
Adrian Sampson
6e11bb5267
Remove an errant space 2023-10-25 14:14:51 -04:00
J0J0 Todos
af6258301c Add beets.css customizing Sphinx theme "pydata"
- Set static path and css file in Sphinx config.
- Codebox style to black/white
- Secondary color to beetroot red
- Inline code color to beetroot green
- Leave primary color (pydata teal), difficult to read with beetroot
  green. Works well with beetroot red actually.
- Leave some notes on colors in beets.css for reference.
2023-10-23 12:09:55 +02:00
J0J0 Todos
c1e2b34aa2 Rename assets/ to _static/ (logo, css, custom Sphinx stuff) 2023-10-23 10:12:19 +02:00
J0J0 Todos
4dc1f251d7 Revert "Set and configure Sphinx theme book"
This reverts commit 71873b66de.

Revert back to using "pydata" theme. Keep this in the history, just in
case we reconsider to using "book".
2023-10-23 09:53:56 +02:00
J0J0 Todos
71873b66de Set and configure Sphinx theme book
- Reduce base font a bit by custom.css
- Collapse nav
- Title "beets" below logo
2023-10-23 09:51:52 +02:00
J0J0 Todos
957a6e445c Set and configure Sphinx theme "pydata"
- Collapse nav
- Add title "beets" next to small logo on top left
2023-10-23 09:51:52 +02:00
J0J0 Todos
ff7d5f7c3a Set and configure Sphinx theme "readthedocs"
- Sticky Nnavigation (default but make sure)
- Top left area white, to fit with beets logo background
- Title "beets"
- Logo only false, we want to see title
- Version true, we want to see which beets version we are looking at
- Issue: The latter two are invisible, would require custom CSS!!!
2023-10-23 09:51:52 +02:00
J0J0 Todos
9e972fe8ae Set and configure Sphinx theme "alabaster"
- Fixed sidebar
- Sidebar collapse (default but make sure)
2023-10-23 09:51:52 +02:00
J0J0 Todos
8260427168 Fix all occurences of Discourse to GH-Discussions
and rephrase a little if required. Often "our forums" was stated. Mostly
I tried to use the wording "discussion board" throughout and (almost) never used
the term "GitHub Discussions"
2023-10-23 09:51:52 +02:00
J0J0 Todos
a6032cdaa9 Add beets logo to docs
and leave html_static_path commented out in conf.py as a reminder. We
might need it if builds via readthedocs require it.
2023-10-23 09:51:36 +02:00
U-LAPTOP-4EP3DB2K\alexa
e9574bdc21 Add documentation 2023-10-22 20:55:38 +08:00
Max Goltzsche
9dd0c6cea9
docs: add link to ytimport plugin to docs 2023-10-22 05:06:00 +02:00
Serene-Arc
a6e5201ff3 Apply formatting tools to all files
This is 'the big one', which touches every file so that it all conforms
to the given standard.
2023-10-22 09:53:18 +10:00
Alok Saboo
f79fd64aeb Simplify loop and update changelog entry 2023-10-21 16:16:51 -04:00
Alok Saboo
ee42f79b25 Update retry logic 2023-10-21 09:43:01 -04:00