Commit graph

11434 commits

Author SHA1 Message Date
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
J0J0 Todos
70cbe3c8ff Quickfix format in ref docs external_ids chapter 2023-07-21 06:59:36 +02:00
J0J0 Todos
4087e8c790 Simplify singleton importer "Album: " print
conditions.

Co-authored-by: Benedikt <wisp3rwind@posteo.eu>
2023-07-20 09:12:42 +02:00
J0J0 Todos
1e050e2703 Add singleton matching info to Discogs plugin docs
PR #4854
2023-07-20 09:12:42 +02:00
J0J0 Todos
d61b7c9a42 Add changelog for #4854 2023-07-20 09:12:42 +02:00
J0J0 Todos
4272cbec6a Show album information during singleton imports
- If the file being imported has an album tag already, display it.
- If the metadata plugin provides a new album value, preview the change.
2023-07-20 09:12:42 +02:00
J0J0 Todos
f84b9ea7cf DiscogsPlugin.item_candidates attaches album info
to the TrackInfo objects it returns.

Additionally a new feature is introduced that uses string_dist to find the
correct track on the Discogs album.
2023-07-20 09:12:42 +02:00
J0J0 Todos
090cfc6f07 Add optional album field to candidate TrackInfo 2023-07-20 09:12:42 +02:00
J0J0 Todos
106a1638cc Improve singleton disambiguation string
When available, display e.g:
- Track Index as "Index 2"
- Alternative Track name as "Track A2"
2023-07-20 09:12:34 +02:00
Adrian Sampson
efebd72ca9
Merge pull request #4849 from wisp3rwind/pr_add_syspath_3
Always use syspath conversions (#3690 split up, part 3)
2023-07-18 13:14:35 -07:00
Benedikt
fc05a85c3b
Merge pull request #4850 from wisp3rwind/pr_add_syspath_4
tests: make use of our custom filesystem assertions for conciseness
2023-07-18 22:02:48 +02:00
Adrian Sampson
6c741d5991
Merge pull request #4848 from wisp3rwind/pr_add_syspath_2
Always use syspath conversions (#3690 split up, part 2)
2023-07-18 11:27:28 -07:00
Adrian Sampson
7b86f61a56
Merge pull request #4847 from wisp3rwind/dbcore_typing_3
typings: Fixes and improvements for dbcore.query
2023-07-18 11:22:36 -07:00
J0J0 Todos
0630f4a263 Strip word "vinyl" when searching Discogs
In DiscogsPlugin.get_albums() we already strip away the words "CD" and "disk".
It makes sense to also remove "vinyl"
2023-07-18 08:05:22 +02:00
J0J0 Todos
3debf4edca Fix early exit in Discogs item_candidates method 2023-07-18 07:51:12 +02:00
wisp3rwind
9af9eb9b31 tests: make use of our custom filesystem assertions for conciseness
this replaces assertions of the form
    self.assertTrue(os.path.exists(syspath(path)))
by
    self.assertExists(path)
which includes the syspath conversion and is much easier to read.

Occurences where located using
    git grep -E 'assert(True|False).*(isdir|isfile|exist)'
2023-07-16 10:42:47 +02:00
wisp3rwind
b58ab909da add missing syspath conversions (3/3, beets) 2023-07-16 10:42:14 +02:00
wisp3rwind
29c21860a9 add missing syspath conversions (2/3, beetsplug) 2023-07-16 10:17:40 +02:00
wisp3rwind
bffeb9816c dbcore/query: improve/fix typing 2023-07-15 23:58:05 +02:00
wisp3rwind
7fbf562d24 dbcore: Actually normalize RegexpQuery pattern
unintentionally, the pattern normalization added in
1c3a053ce5 was a no-op, and only value
normalization was actually applied (since self.pattern was left
unchanged)

This also helps with typing by ensuring that variables have fixed types
2023-07-15 23:46:51 +02:00
Adrian Sampson
b19b961035
Merge pull request #4842 from arsaboo/deezer
Import additional fields from Deezer and add function to update rank
2023-07-14 14:29:44 -07:00
Alok Saboo
ef8a780e1c Add error handling for invalid Deezer track_id 2023-07-13 09:53:41 -04:00
Alok Saboo
a4bde2af8b Add changelog entry for bugfix 2023-07-12 20:13:10 -04:00
Alok Saboo
272d01103c
Update docs/changelog.rst
Co-authored-by: Adrian Sampson <adrian@radbox.org>
2023-07-12 16:15:08 -04:00
Alok Saboo
63122da24d remove unused imports 2023-07-10 15:55:42 -04:00
Alok Saboo
c00cdd3cc7 Error handling 2023-07-10 15:52:36 -04:00
Alok Saboo
acd604f102 Update deezer.py 2023-07-10 15:39:28 -04:00
Alok Saboo
a027612216 error handling 2023-07-10 15:34:06 -04:00
Alok Saboo
014d41f208 Error handling 2023-07-10 15:30:20 -04:00
Alok Saboo
edda4a588d Add changelog and docs 2023-07-10 08:32:29 -04:00
Alok Saboo
6460e4d829 added deezer_updated to keep track of update time 2023-07-09 19:06:04 -04:00