Commit graph

11864 commits

Author SHA1 Message Date
J0J0 Todos
d91a3e0fba Show details in resolve_duplicates prompt 2023-08-23 07:54:26 +02:00
J0J0 Todos
d7b7d60111 Refactor Album.store for code readability 2023-08-23 06:36:39 +02:00
J0J0 Todos
9616afd339 Fixes in docs for #4823
as suggested by @sampsyo.

Co-authored-by: Adrian Sampson <adrian@radbox.org>
2023-08-23 06:36:39 +02:00
J0J0 Todos
ad3199941d Clarify Album.store() docstring and comments,
explaining the inherit flag, fixed/flex attrs and the strict exclusion
of the id field.
2023-08-23 06:36:39 +02:00
J0J0 Todos
31cd0ecb4e Add docs for mod -a --noinherit option
and further clarify `mod -a` docs:
Even though e39dcfc002 and the linked discussion
already does a very good job on clarifying what is actually happening when `mod
-a` is issued, this commit adds further details about the difference between
the album query and what is actually modified.
2023-08-23 06:36:39 +02:00
J0J0 Todos
7b49b8680c Add changelog for #4823 2023-08-23 06:36:29 +02:00
J0J0 Todos
8d835b8cab Fix ipfs plugin and test_ipfs
by using store(inherit=False) for the creation of a new "ipfs album" as well as
when test_ipfs creates album+items to compare with.
Or put differently: Make ipfs and test_ipfs keep the old store() behaviour for
which the plugin initially was built for.
2023-08-23 06:34:16 +02:00
J0J0 Todos
94d00418b4 Fix test_albuminfo_change_artist_does_not_change_items
by adding (inherit=True) to fit with the new behaviour of the store() method
and add a second test that checks the opposite.
2023-08-23 06:34:16 +02:00
J0J0 Todos
3c7f1223f6 Fix failing test_a_album*_edit_apply tests by
excluding 'id' fields when storing within the Album model.
2023-08-23 06:34:16 +02:00
J0J0 Todos
3587067c1f Option to override album mods propagation to items
Adds a cli option to the modify command that prevents inheriting `modify -a`
changes to album-tracks.
2023-08-23 06:34:16 +02:00
J0J0 Todos
56c1ff8819 Propagate album flex attr mods to items
It seems that _deleting_ flex attrs from an album already propagate to items.
Now also _modifications_ of album flex attrs propagate to items.
2023-08-23 06:34:16 +02:00
Adrian Sampson
684fab47bd
Merge pull request #4876 from beetbox/fix4875
lyrics: Bypass None values in Google backend
2023-08-14 19:00:21 -04:00
Adrian Sampson
49846e7851
lyrics: Bypass None values in Google backend
Fixes #4875.
2023-08-13 18:52:39 -04:00
Benedikt
f75dc3d2c1
Merge pull request #4871 from luzpaz/typos
Fix various typos
2023-08-10 17:58:15 +02:00
Benedikt
290c1df10d
Merge pull request #4868 from mweinelt/pillow10-compat
Fix compatibility with pillow 10
2023-08-10 11:10:10 +02:00
luzpaz
8419149c7a
Fix various typos 2023-08-09 21:26:15 -04:00
Martin Weinelt
c2118a8b9c
Fix compatibility with pillow 10
The `ANTIALIAS` attribute has long been deprecated, and was finally
removed in pillow 10.0.

The recommendation is to migrate to `Resampling.LANCZOS` instead.
2023-08-07 22:19:21 +02:00
Adrian Sampson
a4e61e8bc7
Merge pull request #4867 from beetbox/flake8-fix
Adapt to some recent flake8/pycodestyle changes
2023-07-31 11:17:09 -07:00
Adrian Sampson
af0df4ca03
Missed a couple of cases in tests 2023-07-31 10:26:59 -07:00
Adrian Sampson
5602e9aaa8
Prefer isinstance over type/is 2023-07-31 10:03:18 -07:00
Adrian Sampson
7f7db33cf8
Adapt to some recent flake8/pycodestyle changes
As surfaced in this CI run:
https://github.com/beetbox/beets/actions/runs/5716141601/job/15486984755?pr=4866

These all look like perfectly reasonable improvements that are unlikely
to break anything.
2023-07-31 10:00:41 -07:00
J0J0 Todos
e18b9432a5 Use f-string in test_importfeeds
Quickfix a thing ment for #4863
2023-07-28 07:04:06 +02:00
J0J0 Todos
e7dec4eab8
Merge pull request #4863 from JOJ0/importfeeds_per_session
Add m3u per session feature to importfeeds plugin
2023-07-28 06:56:26 +02:00
J0J0 Todos
342421a36c
Update beetsplug/importfeeds.py
Co-authored-by: Adrian Sampson <adrian@radbox.org>
2023-07-27 20:14:39 +02:00
J0J0 Todos
546e1b8751 Add test for #4863 importfeeds m3u_session feature 2023-07-27 07:56:55 +02:00
J0J0 Todos
411350cf2a Add changelog for #4863 2023-07-27 07:56:50 +02:00
J0J0 Todos
c481670f1b Add docs for new importfeeds list format in #4863 2023-07-27 07:56:14 +02:00
J0J0 Todos
60227c48f5 Add m3u per session feature to importfeeds plugin 2023-07-27 07:56:14 +02:00
J0J0 Todos
e919c482f6
Merge pull request #4862 from JOJ0/subsonicupdate_trigger
Trigger subsonicupdate on database and smart playlist changes
2023-07-27 07:55:37 +02:00
J0J0 Todos
09378e122c Add docs for subsonicupdate features in #4862 2023-07-27 07:41:50 +02:00
J0J0 Todos
c34385fce7 Add changelog for #4862 2023-07-27 07:41:50 +02:00
J0J0 Todos
e9f840580a Trigger subsonicupdate on db_change and splupdate
- Trigger subsonicupdate on database_change event instead of only at import
  event.
- Send a new event from smartplaylist plugin whenever lists are updated/created
  and have subsonicupdate plugin listen to it.
- Make sure the both events register a new listener that launches the actual
  subsonic library update at the very end of a beets run (cli_exit) instead of
  during each change (similar to how mpdupdate plugin does it).
2023-07-27 07:41:50 +02:00
Benedikt
ab3e2a98d1
Merge pull request #4858 from wisp3rwind/dbcore_typing_4
typing: Wrap up dbcore
2023-07-26 13:40:57 +02:00
wisp3rwind
82a748a31d dbcore/db: slightly refine typing 2023-07-26 13:26:26 +02:00
Adrian Sampson
0cc52fe810
Merge pull request #4861 from JOJ0/splupdate_create_log
Log smart playlist create msg as info log
2023-07-25 10:46:31 -07:00
J0J0 Todos
409db2e6c1 Add changelog for #4861 2023-07-25 08:10:14 +02:00
J0J0 Todos
871be9c98b Log smartplaylist create msg as info log
instead of debug log. In an explicit run (not while importing) it doesn't hurt
to get some progress to the UI.
2023-07-25 07:52:51 +02:00
J0J0 Todos
c03bd26e3a
Merge pull request #4854 from JOJ0/discogs_single_album_refactor
Support providing album information on singleton imports via Discogs
2023-07-25 06:23:27 +02:00
Benedikt
87cd387ecc
Merge pull request #4851 from wisp3rwind/pr_rg_refactor_2
replaygain: Assorted refactoring
2023-07-23 20:10:16 +02:00
wisp3rwind
8b11b3ef2e dbcore: improve/fix typing 2023-07-22 15:53:30 +02:00
wisp3rwind
8d9f62cdb5 db: don't build an intermediate list 2023-07-22 13:01:18 +02:00
wisp3rwind
3965858ac1 replaygain: apply review feedback: fixup previous refactor, improve tests
by adding files which are not completely silent, thus hitting a different
code path in some calculations

The sample files were generated using
> sox -n whitenoise.flac synth 00:00:02 whitenoise
> ffmpeg -i whitenoise.flac whitenoise.opus
> ffmpeg -i whitenoise.flac whitenoise.mp3
2023-07-22 12:47:19 +02:00
wisp3rwind
b8be2af11d replaygain: in Gst backend, pass paths instead of items around
This is a preparation for moving the Gst calculation to multiprocessing
worker threads. Passing only the file paths to the worker threads instead of
synchronizing the entire `Item`s (i.e. minimizing the data that is
shared between the processes) hopefully helps to prevent any issues with
this approach.
2023-07-22 12:47:19 +02:00
wisp3rwind
fa37085493 replaygain: in ffmpeg backend refactor album gain calculation
now that we have the `track_results` upfront, some simplifications are
possible
2023-07-22 12:47:19 +02:00
wisp3rwind
76f6c86291 replaygain: in ffmpeg backend, analyse items upfront, then summarize...
...album gains. This is in preparation for parallelizing the track
analysis, and computing the album values in the plugin's "main thread"
once all items are done.
2023-07-22 12:47:19 +02:00
wisp3rwind
545ed6f385 replaygain: log album name for album tasks
doesn't seem to be very useful to log the _list of items_ here
2023-07-22 12:47:19 +02:00
wisp3rwind
7ec7a0d362 replaygain: avoid hasattr in favor of None values
to check for an optional ThreadPool. Seems more idiomatic and readable.
2023-07-22 12:47:19 +02:00
Benedikt
69ce0c7c0a
Merge pull request #4857 from Decad/patch-1
Fix link format in README
2023-07-22 00:54:33 +02:00
Declan Cook
ea66725c4a
Fix link 2023-07-21 22:41:57 +01:00
J0J0 Todos
a374977953 Append album to singleton disambiguation string
- New config option for the importer 'singleton_album_disambig' lets
  users choose whether they want to display [album names] in the list of
  candidates. Enabled by default but ony applicable if the candidate provides
  an album attribute.
- Add docs describing the new option and which source plugins currently support
  it.
2023-07-21 08:30:37 +02:00