Commit graph

6487 commits

Author SHA1 Message Date
Adrian Sampson
4a1e8fdd6e merge 2012-01-27 12:04:44 -08:00
Adrian Sampson
f685bdd89a unicode in str MediaFile fields (#311, closes #15) 2012-01-27 12:02:26 -08:00
Adrian Sampson
3b37433005 no penalty for "various artists" track artist (#251) 2012-01-25 20:41:59 -08:00
Adrian Sampson
47891b00f7 tolerate per-medium track numbering (#283) 2012-01-25 20:12:04 -08:00
Adrian Sampson
dbab290ba4 fix rewrite bug w/ multiple rules for a single field 2012-01-25 13:32:22 -08:00
Adrian Sampson
53e5bb05b7 merge 2012-01-23 03:06:51 -08:00
Adrian Sampson
402649af73 tolerate python-musicbrainz-ngs API changes 2012-01-19 21:55:52 -08:00
Adrian Sampson
a58253b79c "lyrics -p" prints out lyrics 2012-01-19 12:43:29 -08:00
Adrian Sampson
248a433d1d lyrics auto-fetch on import (#137) 2012-01-19 12:39:20 -08:00
Adrian Sampson
01a54e2e0e first stab at revamped lyrics plugin (#137) 2012-01-19 12:25:11 -08:00
Adrian Sampson
0275836293 warning about replaygain instability (#289) 2012-01-18 14:41:19 -08:00
Adrian Sampson
c987d68331 update install instructions 2012-01-18 14:36:26 -08:00
Adrian Sampson
837c900e5d version bump: b13 2012-01-18 14:11:39 -08:00
Adrian Sampson
0e81900675 mtime tests at integral second resolution (#298) 2012-01-18 14:08:15 -08:00
Adrian Sampson
9566d606e8 Added tag 1.0b12 for changeset 284b58a9f9ce 2012-01-16 22:44:57 -08:00
Adrian Sampson
b690418258 two more bullet points in readme 2012-01-16 22:36:22 -08:00
Adrian Sampson
7817d6e1c4 changelog summary 2012-01-16 21:24:16 -08:00
Adrian Sampson
347a29b0f6 rewrite plugin
--HG--
rename : docs/plugins/inline.rst => docs/plugins/rewrite.rst
2012-01-16 20:48:23 -08:00
Adrian Sampson
99d13c474f depend on released musicbrainzngs instead of embedding (#294) 2012-01-16 20:08:52 -08:00
Adrian Sampson
307560a6c9 ignore all .* files by default (#293) 2012-01-16 17:09:25 -08:00
Adrian Sampson
6a082234fb docs fixes regarding album types 2012-01-11 17:10:26 -08:00
Adrian Sampson
c40081808a fix double-removal when re-importing with deletion
With import_delete enabled and performing a re-import (which moves files), the
former location of the file would be "deleted". This would lead to a "file does
not exist" error.
2012-01-06 21:58:17 -08:00
Adrian Sampson
979c33a0b1 fix substring pattern match when value is None 2012-01-06 10:36:34 -08:00
Adrian Sampson
a998d36380 fix deletion in partial matches 2012-01-06 09:54:57 -08:00
Adrian Sampson
9920cc482c add "scrub" plugin (#280)
--HG--
rename : beetsplug/embedart.py => beetsplug/scrub.py
rename : docs/plugins/embedart.rst => docs/plugins/scrub.rst
2012-01-02 14:03:28 -08:00
Adrian Sampson
75d4e15e92 remove missing-length distance penalty
Previously, the thinking went that if the MB database didn't have a length, we
should penalize the track maximally in order to avoid prioritizing a bad match
just because its information was incomplete. As it turns out, though, missing
track lengths are pretty common and this was causing more problems than it was
solving; this way, mysteriously high distances won't appear.
2012-01-01 13:49:53 -08:00
Adrian Sampson
ca6df97ee9 explain shorthand query keys 2011-12-28 19:06:15 -08:00
Adrian Sampson
d73c133a53 query-conditioned path formats (#210)
Also, Library.path_formats is now a list of pairs instead of a dictionary. (I
would have used an OrderedDict, but that was added in 2.7.)
2011-12-28 19:01:13 -08:00
Adrian Sampson
a1b2b6c8a2 fix plugin hook in embedart 2011-12-28 15:56:07 -08:00
Adrian Sampson
890021008a inline plugin: define template fields in config (#169) 2011-12-27 14:43:58 -08:00
Adrian Sampson
fabaf41ecf never invalidate a queue with None
I saw this *extremely* intermittently (and wasn't able to reproduce it at all),
but I think there was a race when invalidating an output queue in the abort()
method of PipelineThread. It was possible for a thread's input queue to be
invalidated (with val=None) while abort_flag was False (and abort_lock was not
held). This would cause coroutines to see a None value when the pipeline was
shutting down. Always poisoning a queue when it's invalidated should solve this
by making the thread break before sending the value to the coroutine.
2011-12-22 18:05:54 -08:00
Adrian Sampson
b44195853c zero-pad date values in path formats (#282) 2011-12-22 15:57:02 -08:00
Adrian Sampson
93678307ef lastgenre now writes tags to files (#279)
This was accomplished by adding a new "config" parameter to the *_imported
events so that the handlers can check whether writing is enabled.
2011-12-20 17:49:11 -08:00
Adrian Sampson
112d0f5452 uniquify conflicting filenames (#182) 2011-12-19 22:52:13 -08:00
Adrian Sampson
bf638e2112 changelog note about incremental import message 2011-12-19 19:56:00 -08:00
Adrian Sampson
6fff1b9c36 message when skipping directories in incremental mode (#273) 2011-12-19 19:53:55 -08:00
Adrian Sampson
8fde981b1d add asciify function 2011-12-19 19:41:09 -08:00
Adrian Sampson
b493bc7004 configurable pathname substitution (#115) 2011-12-19 18:37:35 -08:00
Adrian Sampson
880776a810 remove special-case for !!! (#274) 2011-12-17 22:07:38 -08:00
Adrian Sampson
0cc92e482b remove lastid plugin 2011-12-17 22:05:11 -08:00
Adrian Sampson
101f18bc01 remove -p flag, which has outlived its usefulness 2011-12-17 22:04:07 -08:00
Adrian Sampson
7a189b2135 document global CLI flags 2011-12-17 22:00:33 -08:00
Adrian Sampson
c0115ad958 ignore .fuse_hidden* files 2011-12-17 21:55:12 -08:00
Adrian Sampson
69c0e8d496 doc fixes for extensible template fields 2011-12-17 21:46:09 -08:00
Adrian Sampson
91901fc379 plugin-extensible path format fields (#169) 2011-12-17 21:29:15 -08:00
Adrian Sampson
08b539a80e fix field inference w/ null first item (closes #14 on GitHub)
When a partial match is found, its first item (task.items[0]) may be None, and
_infer_album_fields would crash in this case. This solution walks through the
items list and finds the first non-None item.
2011-12-16 16:45:50 -08:00
Adrian Sampson
621b3d4bb7 link to plugin template format docs 2011-12-16 12:18:44 -08:00
Adrian Sampson
46a3bde5b5 fix empty function arguments
Previously, an empty argument was treated as "not an argument at all". Now,
every function call always has at least one argument -- i.e., %foo{} is a
function call whose only argument is "" -- and %foo{,bar} is valid syntax.
2011-12-16 12:08:39 -08:00
Adrian Sampson
f1ebc82a55 plugin hooks for template functions (#231) 2011-12-16 11:56:40 -08:00
Adrian Sampson
dd4ee6b2e4 document some template syntax details 2011-12-16 11:20:33 -08:00