Commit graph

12907 commits

Author SHA1 Message Date
Adrian Sampson
c03fb658c7 clean up genre canonicalization (#264)
- Canonicalization is disabled by default. (This prevents pyyaml from being a
  dependency if you don't use canonicalization.)
- Config value to set the tree file.
- Python style.
- Added YAML file to MANIFEST.in.
- Documentation.
2011-12-01 12:14:11 -08:00
Simon Chopin
7aaab602c0 ui.commands: Warn the user when the candidates are partial matches 2011-11-24 16:03:56 +01:00
Simon Chopin
9a7a551d92 Enable import of incomplete albums
This commit disables the autoreject for incomplete albums. There is
several one-liner fixes in autotag/__init__.py and importer.py, as well
as some UI additions to report to the user when a track seems missing.
2011-11-22 13:47:36 +01:00
Simon Chopin
bb964a7c47 autotag: Fill the blanks when ordering incomplete album
In the function order_items, instead of automatically reject the
canonical candidate if it has more tracks, the function still tries to
find matches for the tracks amongst the items, and otherwise uses None
to fill the void in order to keep the information about the track
numbers
2011-11-22 13:47:36 +01:00
Simon Chopin
4dc4025b5f autotag: Can now compute the distance for incomplete albums
If the user has some songs from a specific album, but not all of them,
the real solution is immediately discarded. This commit is the first of a
series that will implement support for these incomplete albums.

The point of this patch is to make sure missing commits are taken into
account when calculating the distance between an album and its canonical
data.

Note that in order not to break API compatibility, the album_distance
call for the plugins receives a purged version of both the items and the
album info, resulting in some potential accuracy if the plugin bases
itself on the index of a track in album_info.tracks.
2011-11-22 13:47:35 +01:00
Adrian Sampson
78dca315d4 slightly clean up mtime feature; changelog mention 2011-11-22 00:11:45 -08:00
Jos van der Til
f150d76b55 Handled the case where file_mtime was changed, but no metadata was changed
--HG--
extra : transplant_source : %D0%DB%B1r%1D%CAh%23%3D%0C%E0%90%21%CA%7B%97%CE%F0u%19
2011-11-21 20:41:43 +01:00
Jos van der Til
2c81ee736c Implemented file modified time tracking to beets.
Only files which were modified after beets checked them will be checked again.
Implements feature request #227

--HG--
extra : transplant_source : K%F1d%C5%B1%1F%CA%AB%95ck%8C%AC%25m%F0%26%E4%9DB
2011-11-21 19:51:16 +01:00
Adrian Sampson
e8924cc7bf check for label presence (actually fixes #254 this time) 2011-11-21 23:27:12 -08:00
Adrian Sampson
6cd157c15f fix duplicate log messages caused by py-mb-ngs 2011-11-19 18:41:50 -08:00
Adrian Sampson
2f4b64a768 check for label in label info from MB (fixes #254) 2011-11-19 18:05:03 -08:00
Adrian Sampson
55d7869adc remove subscripting of info objects in candidate menu (fixes #253) 2011-11-19 17:59:47 -08:00
Adrian Sampson
99bb4df94b check for releases in acoustid result (fixes #252) 2011-11-19 17:55:19 -08:00
Jos van der Til
25b67d7c27 Fixes KeyError ['type'] error 2011-11-20 00:41:13 +01:00
Adrian Sampson
31af2c498e request track artist credits from MusicBrainz (for VA releases) 2011-11-17 17:37:35 -08:00
Adrian Sampson
3f4c985f3d add python-musicbrainz-ngs package to setup.py 2011-11-14 10:53:05 -08:00
Adrian Sampson
5965b37f51 skip (configurable) clutter filenames when importing 2011-11-13 17:14:40 -08:00
Adrian Sampson
02402545e0 get original release date for MB release group (#65) 2011-11-13 16:30:49 -08:00
Adrian Sampson
1219c9c0fb remove some dead code from replaygain 2011-11-13 15:54:08 -08:00
Adrian Sampson
d63924b142 docs for replaygain plugin (#248) 2011-11-13 15:51:11 -08:00
Adrian Sampson
b614e97964 Merge pull request #12 from Lugoues/master
ReplayGain plugin
2011-11-13 15:23:24 -08:00
Peter B
6b3365303a -moved replaygain plugin from Lugoues/beets-replaygain into beets core
-moved output to debug messages
2011-11-13 17:15:32 -05:00
Adrian Sampson
7e627c5e57 decode pathnames before formatting them (#232) 2011-11-13 10:10:19 -08:00
Adrian Sampson
bfb8b443ff beginning of ReplayGain fields in MediaFile 2011-11-12 21:23:54 -08:00
Adrian Sampson
4f2fe61ddc make some unicode types explicit (for #232) 2011-11-12 16:45:56 -08:00
Adrian Sampson
f2bb220f5a chroma plugin (for acoustid fingerprinting) (#152)
--HG--
rename : docs/plugins/lastid.rst => docs/plugins/chroma.rst
2011-11-12 15:33:00 -08:00
Adrian Sampson
1085d14e9e special-case !!! (fixes regression) 2011-11-02 21:00:32 -07:00
Adrian Sampson
11d218b393 customize user agent for talking to MB 2011-11-02 19:44:27 -07:00
Adrian Sampson
adbfd06682 embed python-musicbrainz-ngs; beets is now on /ws/2 2011-10-23 18:20:01 -07:00
Adrian Sampson
604a7d5aa0 removed basically unused Last.fm/MBID logic 2011-10-23 16:01:55 -07:00
Adrian Sampson
95f38dbe52 "info dictionaries" replaced with AlbumInfo and TrackInfo 2011-10-23 14:12:13 -07:00
Adrian Sampson
de2ee7e447 still refactoring: unify two styles of metadata search 2011-10-23 12:20:59 -07:00
Adrian Sampson
5ab92fe853 fix outdated imports 2011-10-11 19:36:16 -07:00
Adrian Sampson
1e88b9ea8d fix storing of genres after item import 2011-10-11 10:20:43 -07:00
Adrian Sampson
064a0432f1 further refactoring: abstract source from matching logic
--HG--
rename : beets/autotag/model.py => beets/autotag/hooks.py
2011-10-10 21:31:47 -07:00
Adrian Sampson
ee78391f4f autotag refactoring in preparation for interface changes 2011-10-10 18:19:24 -07:00
kraymer
9fd10c0186 add genres canonicalization: when a last.fm tag is found but rejected (because not in user whitelist), try to found a
parent tag that is accepted

--HG--
extra : transplant_source : %C6%F2%F9%EDY%C4%1B%FD%BDV/%E5%041I%CB4%00%0A%07
2011-10-11 00:16:57 +02:00
Adrian Sampson
460f0bd149 use track title over recording title (#268) 2011-11-30 23:40:28 -08:00
Adrian Sampson
dae2805152 use artist credit phrases for multi-artist albums (#269) 2011-11-30 20:55:34 -08:00
Adrian Sampson
62a63d8673 merge 2011-11-30 20:39:45 -08:00
Adrian Sampson
780e4443ef case-insensitive ID3 "desc" field matching 2011-11-29 12:22:52 -08:00
Adrian Sampson
9a1d43d156 prevent albums_in_dir from yielding empty albums (#265)
This regression was introduced with the album collapsing feature. We need to
check whether the items array is empty before yielding every time.
2011-11-29 11:36:33 -08:00
Adrian Sampson
948f7effd2 fix logging of unicode pathnames
(reported by HMS on IRC today)
2011-11-28 16:06:33 -08:00
Adrian Sampson
1ba4d74a75 use better default paths on Windows (#241) 2011-11-27 23:33:11 -08:00
Adrian Sampson
d805401b23 simplifications afforded by eager result iterators (#261) 2011-11-27 22:35:19 -08:00
Adrian Sampson
bcc348f018 make result iterators query the database eagerly (#261)
Previously, ResultIterators would query the database lazily. Specifically, they
would only fetch a row from the underlying cursor when an Item was pulled from
the iterator. This was a performance optimization. However, it was causing
endless headaches due to SQLite's locking policy: as long as the cursor is
"open", it holds a reader lock. This led to many hard-to-diagnose problems when
trying to acquire a writer lock. This solution may require a little more memory,
but it should put an end to this kind of bug for good.
2011-11-27 22:29:32 -08:00
Adrian Sampson
35d1f2420b document multi-disc album collapsing (#42) 2011-11-26 15:59:30 -08:00
Adrian Sampson
450115358d multi-disc album collapsing based on heuristics (#42) 2011-11-26 15:43:26 -08:00
Adrian Sampson
814370e647 substitute " characters (#249) 2011-11-26 14:37:15 -08:00
Adrian Sampson
8374a86fd6 include manpages in source distribution packages (#258) 2011-11-26 12:28:04 -08:00