Commit graph

229 commits

Author SHA1 Message Date
Doron Behar
e181ebeaae importsource: Add new plugin (+docs/tests/changlog) 2025-10-29 08:50:01 +01:00
Šarūnas Nejus
498b14ee1d
Convert autotagger plugin docs to use conf role 2025-10-19 01:34:33 +01:00
Šarūnas Nejus
90ca0a799a
Consider unseen tracks in data source matching 2025-10-10 20:36:33 +01:00
Šarūnas Nejus
1f62a928ec
Update data source documentation 2025-10-10 20:36:33 +01:00
Šarūnas Nejus
f8887d48b6
Add deprecation warning for <plugin>.source_weight 2025-10-10 20:36:33 +01:00
Šarūnas Nejus
455d620ae0
Fix data source penalty application logic
The data_source penalty was not being calculated correctly because
`_get_distance` was being called for **all** enabled metadata plugins
which eventually meant that matches were being penalised needlessly.

This commit refactors the distance calculation to:
- Remove the plugin-based track_distance() and album_distance() methods
  that were applying penalties incorrectly
- Calculate data_source penalties directly in track_distance() and
  distance() functions when sources don't match
- Use a centralized get_penalty() function to retrieve plugin-specific
  penalty values via a registry with O(1) lookup
- Change default data_source_penalty from 0.0 to 0.5 to ensure
  mismatches are penalized by default
- Add data_source to get_most_common_tags() to determine the likely
  original source for comparison

This ensures that tracks and albums from different data sources are
properly penalized during matching, improving match quality and
preventing cross-source matches.
2025-10-10 20:36:33 +01:00
Šarūnas Nejus
203c2176d9
Update data_source_penalty docs 2025-10-10 20:36:33 +01:00
Šarūnas Nejus
e6084cd3ee
Set default data_source_penalty to 0.0 2025-10-10 20:36:33 +01:00
Šarūnas Nejus
6e5af90abb
Rename source_weight -> data_source_mismatch_penalty 2025-10-10 20:36:33 +01:00
henry
3336b68d08
Fix musicbrainz plugin documentation (#6024)
Add several lines to documentation to clear up possible confusion on
musicbrainz plugin being disabled when plugin list is modified.

closes #6020
2025-09-18 11:33:55 +02:00
Sebastian Mohr
69b47b3071
A number of smaller additions. 2025-09-04 12:49:43 +01:00
Šarūnas Nejus
ab5acaabb3
Reformat all docs using docstrfmt 2025-08-10 16:25:05 +01:00
Šarūnas Nejus
769dcdc88a
Docs: fix linting issues 2025-08-10 16:16:02 +01:00
Uncorrupt3318
dd2f203090
Feat: Add replace plugin (#5644)
Adds replace plugin. The plugin allows the user to replace the audio
file of a song, while keeping the tags and file name.

Some music servers keep track of favourite songs via paths and tags. Now
there won't be a need to 'refavourite'. Plus, this skips the
import/merge steps.
2025-05-27 00:17:52 +02:00
Šarūnas Nejus
3f1d117078
Add musicbrainz to plugins docs 2025-05-17 03:32:00 +01:00
Gavin Tronset
b92a1b3d98
Add beets-filetote to community plugins docs (#5779)
Add link to community plugin
[`beets-filetote`](https://github.com/gtronset/beets-filetote).

This plugin is the spiritual successor to
[beets-copyartifacts](https://github.com/adammillerio/beets-copyartifacts)
(`beets-copyartifacts3` was last updated 3 years ago) and
[beets-extrafiles](https://github.com/Holzhaus/beets-extrafiles) (last
updated 5 years ago).

Given the updates and changes in beets and how outdated those plugins
are, does it make sense to keep `beets-copyartifacts` in the community
plugins list?

---------

Co-authored-by: Sebastian Mohr <39738318+semohr@users.noreply.github.com>
2025-05-13 18:48:43 +02:00
Bob Cotton
670a3bcd17
Add beets-id3extract to community plugins (#5660)
Add link to community plugin beets-id3extract
2025-03-12 07:14:38 +00:00
Max Goltzsche
2e9308f713
docs: mention autogenre plugin 2024-04-20 05:33:48 +02: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
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
Alok Saboo
d5a237912a Add listenbrainz to index 2023-12-21 12:22:12 -05:00
Adrian Sampson
37f12bfa49
Fix capitalization 2023-10-25 15:11:03 -04:00
Max Goltzsche
9dd0c6cea9
docs: add link to ytimport plugin to docs 2023-10-22 05:06:00 +02:00
Maxr1998
0a4c8e4952
Add advanced rewrite plugin
This plugin allows rewriting fields based on a given library query. This can be helpful, for example, when an artist was renamed but you'd like to keep their older releases under their old name, or if you have a single track from a Various Artists release and want to have it included with the original artist.
2023-10-14 15:00:57 +02:00
tandy1000
7961cf3aaa Add autobpm plugin
This plugin uses librosa to automatically calculate the BPM for a track.
It is based on the keyfinder plugin, and rounds the BPM to an int.

Co-authored-by: Adrian Sampson <adrian@radbox.org>
2023-09-30 16:25:06 +01:00
Hiroto Kaku
0f770b6dde
Add beets-mpd-utils plugin 2023-09-21 15:56:15 -04:00
J0J0 Todos
442a535b3e Add substitute plugin to the docs' plugins index 2023-08-31 08:27:33 +02:00
Sunny
edd4f9a4f5
Point URL to specific plugin 2023-06-27 15:33:11 +02:00
Sunny
76932962f8
Add beets-more to community plugins 2023-06-27 10:25:26 +02:00
Alok Saboo
b1b31f7fb4 Remove archived plugin 2023-05-21 16:29:35 -04:00
Adrian Sampson
eb361af84e
Caps fix 2023-05-13 13:34:10 -04:00
Alok Saboo
f655cd24c2 Add youtube tag source 2023-05-12 09:58:04 -04:00
J0J0 Todos
34227cfabc
Merge pull request #4708 from JOJ0/mb_external_ids
Save external ID's via MusicBrainz
2023-03-26 14:25:15 +02:00
J0J0 Todos
2e5394246f Docs for #4708 2023-03-25 20:51:52 +01:00
Alok Saboo
5231037591 Add JioSaavn as a tag source 2023-03-20 17:32:45 -04:00
Alok Saboo
033f63ad47 Add Github link 2023-03-07 17:18:15 -05:00
Alok Saboo
4c62673e41 Update index.rst 2023-03-07 17:12:11 -05:00
Mark Trolley
55255b0087
Deprecate absubmit and update acousticbrainz plugins
Fixes #4627.

AcousticBrainz is shutting down as of early 2023. Deprecate the absubmit
plugin and update the acousticbrainz plugin to require configuration of
an AcousticBrainz server instance.
2023-02-20 17:42:07 -05:00
Stefano Pigozzi
e76fe01212
Add missing space 2023-01-22 15:02:18 +01:00
Stefano Pigozzi
21bf37befa
Use definition lists with the plugins' names
So that they are easier to find when knowing the name of an enabled plugin
2023-01-20 12:36:44 +01:00
Phill Price
867656eef7
Update index.rst
Corrects popularity service from spotify to deezer to match plugin
2022-10-20 23:05:33 +01:00
Sacha Bron
93725c454d Add Beetstream in the plugin list 2022-08-20 01:30:38 +02:00
Dickson
eed8a5bd83 docs: add link to Beets-audible plugin 2022-06-19 18:44:54 +08:00
patrick-nicholson
126b4e94cf Fixing doc typo and adding limit to toctree. 2021-12-26 21:57:29 -05:00
wisp3rwind
786236f046 remove the gmusic plugin 2021-10-30 14:46:14 +02:00
Adrian Sampson
e1d41c241d
Merge pull request #4048 from edgars-supe/albumtypes-plugin
Add plugin for formatting albumtypes
2021-09-10 16:47:33 -04:00
Edgars Supe
fea5f5c548 Add beets-importreplace to external plugins list 2021-09-10 10:57:49 +03:00
Edgars Supe
c59a22efa2 Add albumtypes to plugin index 2021-09-09 23:07:11 +03:00
Edgars Supe
899136774b Add documentation for albumtypes plugin 2021-09-09 23:07:11 +03:00
Šarūnas Nejus
c6e4cf80f4
Add reference to the beetcamp plugin 2021-08-03 19:27:26 +01:00