1415 Commits

Author SHA1 Message Date
Alok Saboo
2f434b2b93 address reviewer comments 2026-06-15 09:45:35 -04:00
Alok Saboo
98681406af tidal: add flexattrs and tidalsync command
- Add item_types ClassVar with tidal_track_id, tidal_album_id,
  tidal_artist_id, tidal_track_popularity, tidal_alb_popularity,
  tidal_updated fields
- Populate flexattrs during album/track import via AlbumInfo/TrackInfo
  kwargs
- Add beet tidalsync command to refresh popularity data post-import
- Add tidal fields to REIMPORT_FRESH_FIELDS_ITEM for reimport support
- Add tests for flexattr population and tidalsync behavior
- Update tidal plugin docs with attribute reference and tidalsync usage
2026-06-14 13:44:16 -04:00
Šarūnas Nejus
0edda6df26 Fix links 2026-06-13 01:46:44 +01:00
Tommy Schnabel-Jones
97d593de84 Fix format 2026-06-08 11:16:40 -04:00
Tommy Schnabel-Jones
6ccd1e6db2 Reformat badfiles.rst 2026-06-08 11:16:40 -04:00
Tommy Schnabel-Jones
7cf79e0585 Fixed doc grammar; added error precedence comment 2026-06-08 11:16:40 -04:00
Tommy Schnabel-Jones
a871e9309e badfiles: added config options to automatically take action on error/warning 2026-06-08 11:16:40 -04:00
culpen0
fb7a940ea3 Fix titlecase template documentation 2026-06-06 09:36:14 -04:00
David Logie
785f8b7a5c Make aliases-as-credits functionality opt-in.
This feature was introduced in 2.10 but results a lot of data being
overwritten with (potentially) incorrect data the next time a user runs
`mbsync` over their library.

To make this less of a "breaking" change, make this feature opt-in. The
users who want this large change can enable the functionality.
2026-05-29 17:25:00 +01:00
benstev1
272d38ae0b Merge branch 'master' into feat/sylt-synchronized-lyrics 2026-05-27 14:33:45 -04:00
Maxr1998
3126957ea9 Fix code review comments 2026-05-24 01:33:00 +01:00
yosinn1-blip
2db31cda0d docs: fix received spelling in docs
Signed-off-by: Yoshiki <yosinn1@gmail.com>
2026-05-24 08:10:48 +09:00
benstev1
d9ef72ca02 Merge branch 'master' into feat/sylt-synchronized-lyrics 2026-05-22 15:05:53 -04:00
jaedonswanson
cbd5f3a813 docs: adding beets-getlrc to the 'other plugins' list 2026-05-21 20:20:53 -05:00
Benjamin Stevenson
fc8217f576 merge: resolve changelog and poetry.lock conflicts with master 2026-05-21 19:50:06 -04:00
Šarūnas Nejus
4acbb0f913 Add dependency extra for tidal 2026-05-14 14:54:40 +01:00
Šarūnas Nejus
34772d2684 Replace _get_opts_and_config with attributes 2026-05-06 15:30:50 +01:00
Ivan Kanis
4fdd8e2b96 Add Beetnik in other plugins 2026-05-02 02:47:02 +01:00
Terry Chen
e546e02596 Clarify MusicBrainz extra_tags defaults 2026-04-25 23:29:17 -04:00
Benjamin Stevenson
1b7b7a2b21 Fix docstrfmt line wrapping in changelog and lyrics docs 2026-04-21 17:42:03 -04:00
Benjamin Stevenson
fc769e9a79 lyrics: write synced LRC lyrics to SYLT ID3 frame
When the lyrics plugin writes LRC-formatted (timestamped) lyrics to an
ID3-tagged audio file, store the timing data in the SYLT (synchronized
lyrics) frame and plain text in USLT, rather than writing raw LRC text
verbatim to USLT.

Fixes #6541
2026-04-21 17:22:15 -04:00
Sebastian Mohr
dd58cc8ccc Added documentation. 2026-04-20 20:55:47 +02:00
J0J0 Todos
4fb9c9a816 smartplaylist: Document CLI output overhaul changes 2026-04-19 22:55:35 +02:00
Šarūnas Nejus
348eb9555f Update docs 2026-04-17 09:19:15 +01:00
Šarūnas Nejus
5528a2b7f5 Update docs 2026-04-16 09:02:28 +01:00
Christopher Larson
5bc11ea736 inline: make the album/item available directly
There have been multiple requests, in the past, for the ability to use
plugin fields in inline fields. This has not previously been available.
From what I can tell, it was intentionally left unavailable due to
performance concerns.

The way the item fields are made available to the inline python code
means that all fields are looked up, whether they're actually used by
the code or not. Doing that for all computed fields would be a
performance concern.

I don't believe there's a good way to postpone the field computation, as
python eval and compile requires that globals be a dictionary, not a
mapping. Instead, we can make available the album or item model object
to the code directly, and let the code access the fields it needs via
that object, resulting in postponing the computation of the fields until
they're actually accessed.

This is a simple approach that makes the computed and plugin fields
available to inline python, which allows for more code reuse, as well as
more options for shifting logic out of templates and into python code.
The object is available as `db_obj`.

Examples:

    item_fields:
      test_file_size: db_obj.filesize

    album_fields:
      test_album_path: db_obj.path
      # If the missing plugin is enabled
      test_album_missing: db_obj.missing

Signed-off-by: Christopher Larson <kergoth@gmail.com>
2026-04-15 11:59:19 -07:00
Andrew Yang
692ef4a923 chroma: gate candidates on the musicbrainz plugin being enabled
The chroma plugin uses Acoustid fingerprinting, which returns MusicBrainz
release and recording IDs. It then unconditionally resolved those IDs
through a privately instantiated MusicBrainzPlugin, so MusicBrainz-sourced
candidates appeared during tagging even when the user had not enabled the
musicbrainz plugin.

Replace the direct MusicBrainzPlugin() instantiation with a lookup through
the metadata-source registry via get_metadata_source("musicbrainz"). When
that returns None, short-circuit both candidates() and item_candidates()
to return empty. This also fixes an incidental issue where the private
instance bypassed any plugin that swaps the musicbrainz plugin at runtime
(e.g. mbpseudo).

Acoustid fingerprinting itself is unaffected — acoustid_id and
acoustid_fingerprint item fields are still populated as before.

Fixes #6212
2026-04-15 00:03:23 +01:00
Sebastian Mohr
396f29262e Add a link to the aisauce plugin. 2026-04-14 20:20:45 +02:00
Šarūnas Nejus
2ff7887725 Apply all matching rules to a field 2026-04-10 14:54:57 +01:00
Šarūnas Nejus
e21f56fc60 Update docs 2026-04-10 10:43:25 +01:00
J0J0 Todos
fc367165f9 lastgenre: Docs for genre ignorelist feature 2026-04-09 22:42:38 +02:00
ShimmerGlass
3194666610 feat(fetchart): add support for webp files 2026-04-08 12:39:58 +02:00
Šarūnas Nejus
86509a0ec3 Update docs 2026-04-06 20:30:13 +01:00
ShimmerGlass
1242f42b37 feat(chroma): add chromasearch command
This command lets user search the database by chromaprint fingerprint
similarity.
Database item fingerprints are computed on the fly if needed.
This is useful for example to check if an unknown / untagged audio file
already exists in the database.
2026-04-04 15:03:42 +02:00
J0J0 Todos
9b1761ac44 autobpm: Options force,quite and deprecate overwrite
- Refactor docs to use conf directives
- Rename and deprecate overwrite setting in plugin and docs
- Add quiet CLI option and config
- Add force CLI option and config
2026-04-03 11:28:33 +02:00
Šarūnas Nejus
6067ccd8b7 Update listenbrainz docs 2026-03-31 01:36:08 +01:00
kelamg
97a89e919c Update docs/plugins/lyrics.rst
Co-authored-by: Šarūnas Nejus <snejus@protonmail.com>
2026-03-22 01:46:50 +00:00
kelamg
b3bcb78349 Fix indentation 2026-03-22 01:46:50 +00:00
jochem
55b6fbe77d copied more generic implementation from snejus, and updated the tests and docs accordingly 2026-03-22 01:46:50 +00:00
kelamg
eacaa09a07 Fix docs formatting 2026-03-22 01:46:50 +00:00
jochem
2f9ee89b2a Added feature to exclude albums/songs during importing when auto is enabled, as requested in issue #3523. Also added corresponding tests and documentation. 2026-03-22 01:46:50 +00:00
Šarūnas Nejus
6eff971257 lastimport: rename flexible field because of the clash with mpdstats 2026-03-17 08:20:47 +00:00
Andrejs Mivreniks
f9f4af874b feat(play): Add -R/--randomize option to play plugin 2026-03-16 20:33:23 +02:00
Brock Grassy
2c60c3eb49 Address comments and add new test case 2026-03-16 06:52:35 +00:00
Brock Grassy
6b62380b62 Change missing plugin to allow for filtering albums by release type 2026-03-16 06:52:35 +00:00
Pierre Ayoub
5157ba6021 Update docs/plugins/smartplaylist.rst
Styling by Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-13 19:17:56 +00:00
Pierre Ayoub
7dfed4429f chore(docs): Lint double backquotes 2026-03-13 19:17:56 +00:00
Pierre Ayoub
b798465a55 chore(docs): Format with docstrfmt 2026-03-13 19:17:56 +00:00
Pierre Ayoub
d81c0518c8 [docs/spl] Add documentation for new dest_regen option 2026-03-13 19:17:56 +00:00
john doe
1c3b58c7d8 Update discogs.rst
Formatting fix
2026-03-13 00:25:39 +00:00