Commit graph

879 commits

Author SHA1 Message Date
Wieland Hoffmann
aafcbdc730 plugins/zero.rst: Add a missing 'a' 2013-08-06 10:41:05 +02:00
Wieland Hoffmann
d6673b7f79 plugins/zero.rst: Add a missing 'the' 2013-08-06 10:41:05 +02:00
Wieland Hoffmann
39d67363b5 ref/cli.rst: Remove a 'd' 2013-08-06 10:40:17 +02:00
Wieland Hoffmann
e0ea009508 ref/cli.rst: Add a missing 'k' 2013-08-06 10:40:17 +02:00
Wieland Hoffmann
ec30e3d377 guides/tagger: Make emailing Adrian less imperative 2013-08-06 10:40:17 +02:00
Adrian Sampson
c1b66105dd fix regex (and other) queries in path field 2013-08-04 13:12:25 -07:00
Wieland Hoffmann
0082570e11 pathformat.rst: Add back "track"
This got lost in e0bb3b5cd0 but is really essential enough to appear in that list.
2013-08-03 15:13:29 +02:00
Wieland Hoffmann
d849f37d0a Beets is a music library manager, not a TARDIS 2013-08-02 23:09:31 +02:00
Adrian Sampson
f493156e2d beets is now in the official Arch package repo 2013-07-30 21:59:33 -07:00
Fabrice L.
ed15c18bc8 Update index.rst
`pluginpath` option is described in *config* page, not *cli*
2013-07-27 10:34:49 +02:00
Wieland Hoffmann
cc3d12f218 docs/.../cli.rst: Add an of to the description of update -p
This seems to have been missed when the documentation was added in the first place.
2013-07-12 19:11:47 +02:00
Adrian Sampson
a6bed1135e changelog for #340 2013-07-02 20:12:52 -07:00
Adrian Sampson
214e6f76d9 changelog for #339 2013-06-30 18:34:42 -07:00
Adrian Sampson
649dcd760d changelog for #335, version bump 2013-06-26 22:03:02 -07:00
Dale Sedivec
0e994c2274 Add Item instance to item_moved event
This brings this plug-in event in to line with similar events.
2013-06-26 22:10:19 -05:00
Dale Sedivec
ee5b0d36c4 Document new plug-in event item_moved 2013-06-25 22:31:01 -05:00
Adrian Sampson
252b476f43 clean up changelog for release 2013-06-22 15:44:24 -07:00
Adrian Sampson
1649512b54 web: item_count -> stats (#333)
The new /stats endpoint now counts both items and albums. In the future, it
could also expose other interesting information.
2013-06-21 10:27:49 -07:00
Adrian Sampson
6f7d633564 changelog/docs for #332 2013-06-21 10:18:49 -07:00
Adrian Sampson
58bd8a9e24 docs: a note about albums and the update command 2013-06-15 22:49:14 -07:00
Adrian Sampson
4f9beb6543 changelog for py26 fixes 2013-06-14 13:09:54 -07:00
Adrian Sampson
4555d69803 random: py26 fix 2013-06-12 16:09:41 -07:00
Adrian Sampson
03a2bedac3 changelog for #325 2013-06-11 19:07:50 -07:00
Adrian Sampson
2f053b0ecd scrub: handle IOError
Mutagen can raise this error when trying to truncate a file.
2013-06-10 16:06:43 -07:00
Adrian Sampson
b1ea90a724 don't duplicate penalty names in max_rec section
This is for maintanability: in the future, when we add new distance penalty
components, now we won't have to list them twice in the default config.
2013-06-10 15:59:41 -07:00
Adrian Sampson
82991ce614 documentation enhancements for new config opts 2013-06-10 15:53:06 -07:00
Adrian Sampson
d1ebe423c9 changelog/thanks/style for #319 2013-06-07 20:53:53 -07:00
Adrian Sampson
6baaa7e06e Changelog for migration fix (#317)
Eventually, we should just remove the migration code. Not sure when, however.
2013-06-07 11:59:08 -06:00
Tai Lee
42efd2a761 Change log for #316 and code style tweaks. 2013-06-08 00:32:40 +10:00
Adrian Sampson
884c596f46 clarify changelog for distance refactor (#302) 2013-06-06 10:44:30 -07:00
Adrian Sampson
e3472a5150 move changelog for #302 to 1.2.1 section 2013-06-06 10:23:18 -07:00
Adrian Sampson
40dadd4c59 Merge pull request #302 from mrmachine/distance-refactor
Use a Distance object instead of floats for distance calculations.
2013-06-06 10:18:09 -07:00
Adrian Sampson
daec2e6806 version bump: 1.2.1 2013-06-06 10:17:46 -07:00
Tai Lee
4cfd1a874f Merge branch 'master' of github.com:sampsyo/beets into distance-refactor
Conflicts:
	beets/autotag/match.py
	beets/config_default.yaml
	docs/changelog.rst
	docs/reference/config.rst
2013-06-06 23:28:25 +10:00
Adrian Sampson
c5e8e7b52d oops! forgot release date 2013-06-05 21:58:04 -07:00
Adrian Sampson
78187cfcba preferred_media: null default, expand docs
Setting the default preferred_media to null is more like previous versions.
This way, as digital becomes more popular, we aren't stuck with a default
configuration that prefers an outdated format.
2013-06-05 20:00:17 -07:00
Adrian Sampson
11e8c3e784 mpdupdate domain sockets (#313): changelog/docs 2013-06-05 18:43:47 -07:00
Tai Lee
898254ed6a Merge branch 'master' into distance-refactor
Conflicts:
	docs/changelog.rst
2013-06-06 11:09:36 +10:00
Tai Lee
5ce996df0d Revert "Don't bypass candidate selection in timid mode. Always show all candidates."
This reverts commit b02974f68f.
2013-06-06 10:18:01 +10:00
Adrian Sampson
9542a292ed write more connective text in changelog 2013-06-05 15:51:19 -07:00
Adrian Sampson
7fca25fba6 1.1.1 -> 1.2.0 2013-06-05 15:21:43 -07:00
Adrian Sampson
1364e6ba37 organize 1.1.1 changelog into sections 2013-06-05 15:20:36 -07:00
Adrian Sampson
975f5bd818 changelog/doc links for Beatport plugin (#301) 2013-06-03 14:01:16 -07:00
Adrian Sampson
dc75935b89 Merge pull request #301 from jbaiter/beatport
Plugin for Beatport Metadata in Autotagger
2013-06-03 13:53:05 -07:00
Adrian Sampson
5904959b8a item templates now expand all fields
A user noticed that $id wasn't being expanded. There's no good reason for
that.
2013-06-02 16:49:10 -07:00
Tai Lee
b02974f68f Don't bypass candidate selection in timid mode. Always show all candidates.
Saves paranoid and interested users from having to either force all max
recommendations to none or constantly go back to candidate selection
from a recommendation to see if there is another slightly less similar
but more preferred (by the user) candidate.
2013-06-03 01:20:32 +10:00
Tai Lee
2c175faa46 Colorise no-penalty text differences in a secondary colour, light grey. 2013-06-03 01:08:35 +10:00
Tai Lee
461c3c047c Colour benign track index changes in light gray, consistent with non-penalty supplementary information. 2013-06-03 00:46:40 +10:00
Tai Lee
f3545860da Add ignored setting. Don't show matches with specified penalties applied, e.g. missing tracks or unmatched tracks.
If you know you never want these, they can clutter up the interface
especially now that we have multiple data sources.
2013-06-03 00:35:32 +10:00
Tai Lee
45dc99f1a9 Group preferred media patterns, in case they contain "|" to keep them separate from the number of media. 2013-06-03 00:25:31 +10:00
Johannes Baiter
6c3e38863b Add documentation for Beatport plugin 2013-06-02 11:55:57 +02:00
Tai Lee
e6ac8e1646 Use a Distance object instead of floats for distance calculations.
The new Distance object knows how to perform various types of distance
calculations (expression, equality, number, priority, string).

It will keep track of each individual penalty that has been applied so
that we can utilise that information in the UI and when making decisions
about the recommendation level.

We now display the top 3 penalties (sorted by weight) on the release
list (and "..." if there are more than 3), and we display all penalties
on the album info line and track change line.

The implementation of the `max_rec` setting has been simplified by
removing duplicate validation and instead looking at the penalties that
have been applied to a distance. As a result, we can now configure a
maximum recommendation for any penalty that might be applied.

We have a few new checks when calculating album distance:

`match: preferred: countries` and `match: preferred: media` can each be
set to a list of countries and media in order of your preference. These
are empty by default. A value that matches the first item will have no
penalty, and a value that doesn't match any item will have an unweighted
penalty of 1.0.

If `match: preferred: original_year` is set to "yes", beets will apply
an unweighted penalty of 1.0 for each year of difference between the
release year and the original year.

We now configure individual weights for `mediums` (disctotal), `label`,
`catalognum`, `country` and `albumdisambig` instead of a single generic
`minor` weight. This gives more control, but more importantly separates
and names the applied penalties so that the UI can convey exactly which
fields have contributed to the overall distance penalty.

Likewise, `missing tracks` and `unmatched tracks` are penalised and
displayed in the UI separately, instead of a combined `partial` penalty.

Display non-MusicBrainz source in the disambiguation string, and
"source" in the list of penalties if a release is penalised for being
a non-MusicBrainz.
2013-06-02 18:25:10 +10:00
Adrian Sampson
3a715a6703 changelog/thanks for ALAC (#295) 2013-06-01 17:33:06 -07:00
Adrian Sampson
9a6b6240d0 zero: fix nulling fields containing None 2013-06-01 17:28:59 -07:00
Adrian Sampson
46340af6b7 #291: changelog and docs 2013-05-29 15:39:10 -07:00
Adrian Sampson
3b438b7778 inline: rename "pathfields" to "item_fields" 2013-05-28 23:20:19 -07:00
Adrian Sampson
0176e10ccf inline: allow album field definitions
Under the album_field heading.
2013-05-28 23:10:47 -07:00
Adrian Sampson
a0cb31956d distinguish Album and Item template fields
An earlier change (due to @pedros) added the ability for plugins to define
template fields that work with Albums as well as Items. This enables some
cool new use cases but required that every template field definition check the
type of its arguments. Instead, this iteration on the idea distinguishes
between fields meant for Items and those meant for Albums.

In addition to simplifying the implementation of these functions, this also
enables the creation of album fields with identical names to item fields.
(For example, a user contacted me recently about adding a $bitrate field for
albums, which would be the average bitrate of the items. They can do this now
using a plugin.)

I also changed the docs to stop using the decorator approach to registering
template fields. We're moving toward removing those.
2013-05-28 22:30:23 -07:00
Adrian Sampson
9f927438ca fix some dumb mistakes from most recent flurry 2013-05-28 22:04:20 -07:00
Adrian Sampson
6334f4d1a5 refinements to artpath modification patch
That's 371cc72f2d09 in hg. This makes the patch slightly more general by
reusing our type conversion infrastructure. It also uses "bytes" as a synonym
for "str" that I find a little bit clearer.
2013-05-28 21:41:03 -07:00
Adrian Sampson
b3646f2659 fix some docs syntax 2013-05-28 21:28:26 -07:00
Tai Lee
a5151bb32e Look at many more metadata fields when calculating distance.
Produce slightly more varied similarity score to prioritise extremely
similar releases.
2013-05-29 10:18:55 +10:00
Tai Lee
7700eaee79 Update examples in docs to reflect new UI enhancements. 2013-05-27 01:25:13 +10:00
Tai Lee
e66a865f17 Rename the discogs max rec setting to non_mb_source, so it can apply to all data source plugins. 2013-05-25 22:44:41 +10:00
Adrian Sampson
3807252685 slightly expand UI changelog description 2013-05-24 11:28:27 -07:00
Tai Lee
ae8f7560e9 reST fail. 2013-05-25 01:50:54 +10:00
Tai Lee
f19dcb0508 Update change log. 2013-05-25 01:45:36 +10:00
Tai Lee
f5557a74d7 Update intersecting max_rec and discogs docs. 2013-05-24 15:01:19 +10:00
Tai Lee
15be24998a Add ability to specify a maximum recommendation for Discogs matches. 2013-05-24 14:43:37 +10:00
Tai Lee
34faebfbdb Display "artist" and/or "ID" on RHS of track list in light gray when a penalty has been applied. 2013-05-24 14:42:00 +10:00
Adrian Sampson
26682f9168 docs/changelog for convert paths config (#285) 2013-05-22 15:00:53 -07:00
Lucas Duailibe
e952e37c74 docs for the convert pathformat configuration 2013-05-22 11:12:32 -03:00
Adrian Sampson
06887a8cef discogs: expand docs ever so slightly 2013-05-21 18:03:03 -07:00
Adrian Sampson
27071a6e38 discogs: tweak colorization & installation docs
I thought having "MusicBrainz" colored green was a little distracting since
it's the common case (and universal without the discogs plugin), so this just
makes it neutral-color in that case.
2013-05-21 17:59:17 -07:00
Adrian Sampson
f0d63b3596 changelog thanks for discogs plugin (#283 / #210) 2013-05-21 17:40:21 -07:00
Adrian Sampson
dd304c3339 merge 2013-05-21 17:36:45 -07:00
Adrian Sampson
bf78751090 human-readable errors in read() and write() 2013-05-21 15:58:22 -07:00
Tai Lee
75a4171d20 Merge branch 'master' of github.com:sampsyo/beets into imenem-discogs-search
Conflicts:
	docs/changelog.rst
	docs/plugins/index.rst
2013-05-21 23:27:53 +10:00
Tai Lee
3eb6f8e5eb Add discogs plugin, which extends the autotagger to include results from the discogs database.
This is a refactor of the plugin developed by `imenem`.

- Pass `artist`, `album` and `va_likely` to `candidates()` so that
  plugins don't have to work this out from `items` all over again.
- Pass `artist` and `title` to `item_candidates()`.
- Silence spurious `urllib3` info log lines.
- Use a proper "beets" user agent with `discogs_client`.
- Remove `abstract_search` plugin. It seems unnecessary. How many
  music databases are there? How many will beets support? How much
  common code might there be between them? We can add some abstraction
  if or when more databases are supported.
- Derive more AlbumInfo and TrackInfo properties from discogs Release
  objects, especially album ID so that beets doesn't just use the first
  release and think all subsequent releases are duplicates.
- Add basic documentation, doc strings and code comments.
- Sanitise search query. Remove non-word characters and medium info that
  might filter out good search results.
- Use artist `join` strings from discogs Release object when an album
  or track has multiple artists.
- Don't rely on discogs track position, which is unreliable. But tracks
  are in order, so we can recalculate medium and medium_index as long as
  we can extract a consistent medium across tracks from the position.
- Add "various" as a known signal to indicate various artists.
- Prevent `chroma` plugin from returning a a huge track distance for any
  track that is missing an ID (e.g. all discog tracks).
- `TrackInfo.index` should be the release index (calculated by beets),
  not the medium index (derived from discogs track position).
- Add `AlbumInfo.data_source`. It's "Unknown" by default which is shown
  in red when displaying a suggested or selected match. The built in
  auto tagger sets it to "MusicBrainz" which is shown in green. Anything
  else (e.g. "Discogs") is shown in yellow.
- Remove double spaces from album titles (bad data from Discogs).
2013-05-21 21:16:52 +10:00
Adrian Sampson
f3962e6275 link to the advanced guide from "getting started" 2013-05-19 17:43:10 -07:00
Adrian Sampson
45baa6efe1 first stab at "advanced guide" 2013-05-19 17:35:23 -07:00
Adrian Sampson
90b4092e4f changelog & docs typo fixes for #263 2013-05-19 10:44:35 -07:00
Adrian Sampson
748d8caa64 Merge pull request #263 from madjar/master
Added a -e option to random that makes the distribution even among artists
2013-05-19 10:41:39 -07:00
Adrian Sampson
475228a5e8 fix #281: album art filename respects replace 2013-05-19 10:34:46 -07:00
Adrian Sampson
0bb51e9f1b thanks and doc tweaks for duplicates (#278) 2013-05-17 12:20:27 -07:00
Adrian Sampson
2f442b5677 Merge pull request #278 from pedros/duplicates
Duplicates plugin
2013-05-17 12:15:06 -07:00
Adrian Sampson
1ffc56b85a doc correction and refactoring for #275
Plugin-provided template fields are not available for queries. (Perhaps they
should be, though!)
2013-05-17 12:07:53 -07:00
Adrian Sampson
a6a0256bf9 Merge pull request #276 from pedros/missing
Use newly defined '$missing' template field instead of hardcoded format (-c)
2013-05-17 11:57:12 -07:00
Adrian Sampson
916ceb4b15 changelog and tweaks for #275
I've removed the -p option. The command now always shows plugin-provided
template fields if any are available. We also avoid printing out blank lines
for plugins that don't provide fields.
2013-05-17 11:55:17 -07:00
Adrian Sampson
22044eacac Merge pull request #275 from pedros/show_plugin_fields
Append plugin template fields to 'beet fields' output with -p, --plugins
2013-05-17 11:46:17 -07:00
Adrian Sampson
b8f651fa1a changelog/API docs for #274 2013-05-17 11:44:35 -07:00
Pedro Silva
7031c15418 Initial import of 'duplicates' plugin 2013-05-17 12:47:34 +01:00
Pedro Silva
a48fde9f2c Use newly defined '$missing' template field instead of hardcoded format (-c) 2013-05-15 15:09:00 +01:00
Pedro Silva
4f5faeccac Append plugin template fields to 'beet fields' output with -p, --plugins 2013-05-15 13:41:54 +01:00
Pedro Silva
106ad99556 Perform template field substitution on albums
- adds another traversal through all plugins' template_fields for each
  'evaluate_template' call.
- requires the following idiom (or equivalent):

    @Plugin.template_field(field')
    def _tmpl_field(album):
        """Return stuff.
        """
        if isinstance(album, Album):
            return stuff
2013-05-15 13:05:55 +01:00
Adrian Sampson
a5cb34360d lyrics: fix encoding for Lyrics.com 2013-05-12 12:38:48 -07:00
Adrian Sampson
056cf932d8 docs/changelog for date added (#264) 2013-05-11 13:31:42 -07:00
Lucas Duailibe
5c31d3ac15 Formatting the import time in the view and paths
Added the %format{} template function to output the time to any format supported by time.strftime()
2013-05-11 10:53:43 -03:00
Adrian Sampson
f086fb6fd7 changelog, little style tweak for #272
Changed single-triple quotes to double-triple quotes, just for consistency
with the rest of the codebase.
2013-05-10 22:23:24 -07:00
Adrian Sampson
e1f7027abc Merge branch 'missing' of https://github.com/pedros/beets
Conflicts:
	docs/plugins/index.rst
2013-05-10 22:08:15 -07:00
Pedro Silva
99355e60d4 Synchronize documentation with new parameters and respective behavior 2013-05-10 16:43:36 +01:00
Pedro Silva
6ac86f9f4a Add documentation for missing tracks plugin
Also add link to the documentation plugin to the index
2013-05-10 14:14:58 +01:00
Adrian Sampson
cc13edf49f changelog/docs for range queries #261 2013-05-09 16:13:22 -07:00
Adrian Sampson
b57193fd6c changelog/thanks for #265 2013-05-08 22:58:01 -07:00
Adrian Sampson
8d0449c23d rewrap and changelog note for #267 2013-05-08 22:31:53 -07:00
Adrian Sampson
12be4f23b0 version bump: 1.1.1 2013-05-08 22:28:35 -07:00
Georges Dubus
bcae495c50 Added a -e option to random that makes the distribution even among artists 2013-05-03 18:19:44 +02:00
Adrian Sampson
a9d3ad65bf changelog summary 2013-04-28 23:37:52 -07:00
Fabrice L.
39615c95e0 Update fetchart.rst
fix option name and provided example
2013-04-28 12:31:23 +03:00
Adrian Sampson
96c706013f changelog for #257 2013-04-27 16:49:11 -07:00
Adrian Sampson
a416e9b768 Merge branch 'fetchart-459' of git://github.com/KraYmer/beets
Conflicts:
	docs/plugins/fetchart.rst
2013-04-27 16:34:12 -07:00
Fabrice Laporte
5aab7334e3 fetchart: document 'cautious' and 'cover_names' options 2013-04-27 12:54:56 +02:00
Adrian Sampson
e920cacfed fix link to MusicBrainz albumtype docs 2013-04-25 09:19:33 -07:00
Dale Sedivec
8861d7019b Clarify fetchart docs, and a couple corrections
Reading the fetchart docs it was not clear to me that it would use _any_
image file found alongside your music files, even if the image file did
not have one of the five privileged names (cover, front, art, album,
folder).  I humbly propose these edits to the docs in an attempt to make
it more clear that, by default, any local image file will be used.

I also corrected '"album," _for_ "folder"' to '"album," _or_ "folder"',
and from reading the code I'm pretty sure that remote_priority needs to
be true, not false, in order to prefer remote sources.
2013-04-24 01:06:29 -05:00
Adrian Sampson
bf904187e2 smartplaylist: split query w/ shlex (fixes #256) 2013-04-21 20:55:07 -07:00
Adrian Sampson
aaafba4d28 changelog for #254 2013-04-21 20:41:01 -07:00
Adrian Sampson
7ffeec86e7 Merge pull request #254 from KraYmer/lastgenre-skip
lastgenre: force real lookup during import only if no custom whitelist set
2013-04-21 20:32:05 -07:00
Fabrice Laporte
0fb877a059 lastgenre: invert 'force' option default value. 2013-04-21 23:34:20 +02:00
Adrian Sampson
2a22e6eae8 sort Album.items() output
This closes #181 and #255, which fixed the problem in one usage (importfeeds).
2013-04-20 13:37:29 -07:00
Adrian Sampson
7f17266a6e another docs typo 2013-04-15 16:47:31 -07:00
Fabrice L.
52b8e87c66 Update lyrics.rst
fix typo
2013-04-16 00:12:08 +03:00
Adrian Sampson
2a3a12ee0b docs and changelog for #243
Also note that this fixes #162.
2013-04-15 11:08:43 -07:00
Adrian Sampson
1622dcefb7 Merge pull request #243 from KraYmer/master
Add a lyrics backend that scrapes results from google custom search api
2013-04-15 10:19:31 -07:00
Adrian Sampson
16e0648c81 lastgenre: fix crash with canonicalization 2013-04-10 10:34:06 -07:00
Adrian Sampson
8ae202cf24 changelog for #246 2013-04-10 10:18:58 -07:00
Adrian Sampson
2532c03d86 hard limit on guessed filename length 2013-04-08 18:36:27 -07:00
Fabrice Laporte
479b25bac3 Code style + fix doc typo 2013-04-08 18:35:02 +02:00
Fabrice Laporte
cfb6735e43 Add a lyrics backend that scraps results from google custom search api.
Add a 'fallback' option to facilitate working around the 100 queries/day google
limit by marking files as 'visited' so they are not considered for lyrics search
on the next beet run.
I've put my own google_engine_ID as default value in the code but could be
reconsidered, this engine contains databases known to be scrappable by the
plugin algorithm though.
2013-04-06 15:22:04 +02:00
Adrian Sampson
70b528ed81 use standard query API for album-by-artist (#240) 2013-04-02 20:31:28 -07:00
Fabrice Laporte
e8be4d5ba9 Update inline plugin doc by providing an example about how to define a field depending on 'path' attribute. 2013-03-27 23:19:15 +01:00
Fabrice L.
84c53011ad Update scrub.rst
*autoscrub* option renamed to *auto*
2013-03-26 11:28:17 +01:00
Adrian Sampson
461f43077d changelog note for #234/#125 2013-03-25 12:36:41 -07:00
Adrian Sampson
bb1507bd1c version bump/changelog for #182 2013-03-17 22:52:33 -07:00
Adrian Sampson
f8d6e84581 invert new embedart switch (#182)
The default behavior now does what most people probably expect, which is to
run like the on-import handler for the embedart plugin.
2013-03-17 22:50:28 -07:00
Lucas Duailibe
0c53c0bc3f option to embed current album arts (closes #182) 2013-03-17 22:52:51 -03:00
Adrian Sampson
7383da127d changelog summary/date for 1.1b3 2013-03-16 10:44:47 -07:00
Adrian Sampson
ab69cfb1f9 fix typo in web screenshot (closes #222) 2013-03-15 10:26:58 -07:00
Adrian Sampson
99cb4a171f the: fix config syntax in docs 2013-03-14 18:34:55 -07:00
Adrian Sampson
f474f3aed2 split FieldQuery into base and registered versions 2013-03-14 10:00:30 -07:00
Adrian Sampson
f005ec2de0 refactor: everything is like a plugin query (#214)
The initial idea for this refactor was motivated by the need to make
PluginQuery.match() have the same method signature as the match() methods on
other queries. That is, it needed to take an *item*, not the pattern and
value. (The pattern is supplied when the query is constructed.) So it made
sense to move the value-to-pattern code to a class method.

But then I realized that all the other FieldQuery subclasses needed to do
essentially the same thing. So I eliminated PluginQuery altogether and
refactored FieldQuery to subsume its functionality. I then changed all the
other FieldQuery subclasses to conform to the same pattern.

This has the side effect of allowing different kinds of queries (even
non-field queries) down the road.
2013-03-13 22:57:20 -07:00
Adrian Sampson
40b49ac786 some low-level tweaks to extensible queries (#214) 2013-03-13 21:59:03 -07:00
Philippe Mongeau
292092bef7 Merge #214 extend query syntax from plugins
Conflicts:
	docs/changelog.rst
2013-03-13 18:32:27 -04:00
Philippe Mongeau
280b431173 changelog / doc for #214 2013-03-13 18:29:11 -04:00
Philippe Mongeau
a5367df66e document how extend the query syntax in plugins using PluginQuery
update the fuzzy documentation
2013-03-13 01:04:23 -04:00
Adrian Sampson
54d8adf6a6 changelog for #180 2013-03-12 22:00:11 -07:00
Lucas Duailibe
b9844ccf3a importfeeds: absolute path option (#180) 2013-03-13 01:50:09 -03:00
Adrian Sampson
ae40b97528 chroma: catch acoustid exceptions during submit 2013-03-12 20:30:57 -07:00
Lucas Duailibe
76310b876b collections broken link
Broken link. The current way to see the collections is:
```http://musicbrainz.org/user/YOUR_USER/collections```
2013-03-12 10:34:51 -03:00
Adrian Sampson
3cb71a4f6d python-musicbrainz-ngs 0.3 is out! 2013-03-11 19:35:26 -07:00
Adrian Sampson
fc0924f666 changelog/thanks for #217 2013-03-11 19:24:18 -07:00
Adrian Sampson
aff3fb106d chroma: fingerprint command's write from config
This turns on metadata-writing based on the import.write config option, so
those with this option turned off will be spared any surprises. (Affects #217
and #143.)
2013-03-11 19:19:48 -07:00
Adrian Sampson
c72cb5af59 Merge pull request #217 from duailibe/store_fingerprints
Store fingerprints with the "fingerprint" command
2013-03-11 19:04:38 -07:00
Lucas Duailibe
3390fd339a store fingerprints with the "fingerprint" command 2013-03-11 18:31:53 -03:00
Lucas Duailibe
8a64686ff3 store fingerprints 2013-03-11 17:56:13 -03:00
single-sandwiches
563c4be2ad Update pathformat.rst
Fixed link pointing to the MusicBrainz wiki in regards to the list of albumtype: type names
2013-03-11 22:46:26 +11:00
Adrian Sampson
33ff0e8fd2 changelog/thanks for #213 2013-03-10 15:20:29 -07:00
Adrian Sampson
8736a0bb4c convert auto: changelog and de-cloning (#212) 2013-03-10 13:12:56 -07:00
Adrian Sampson
47a549a31c Merge pull request #212 from duailibe/auto_convert
Transcode files during import
2013-03-10 12:57:36 -07:00
Lucas Duailibe
c2c96d522f config name and docs update 2013-03-09 23:33:45 -03:00
Adrian Sampson
218f10a62d echonest_tempo: catch socket.error 2013-03-09 11:33:55 -08:00
Adrian Sampson
87d71abc28 changelog/cleanup/fixes for #209
The major functional change here is how files move around when in keep_new
mode. Now, files are first moved to the destination directory and then
copied/transcoded back into the library.

This avoids problems where naming conflicts could occur when transcoding from
MP3 to MP3 (and thus not changing the filename).
2013-03-06 18:21:42 -08:00
Adrian Sampson
5a94cfe5d6 Merge pull request #209 from duailibe/convert
Adding functionality to convert plugin: keep newly converted files
2013-03-06 17:33:25 -08:00
Lucas Duailibe
a338b95bb7 Changing behavior in "keep new files" 2013-03-06 22:04:05 -03:00
Lucas Duailibe
5a8880e86f Correcting typo in writing.rst
Simple typo: "fishes" -> "finishes"
2013-03-06 19:59:08 -03:00
Adrian Sampson
5f68d03793 mbsync: don't write tags if import.write is off
This will avoid surprising users with import.write turned off.
2013-03-03 17:13:54 -08:00
Adrian Sampson
5f3ebde6bb mbsync: docs/changelog
As discussed on #115, this has the "reimport" docs refer to the mbsync plugin.
2013-03-03 16:41:48 -08:00
Jakob Schnitzer
d647ea0f0d mbsync: a little refactoring 2013-03-03 23:39:14 +01:00
Jakob Schnitzer
49d3ca4f02 mbsync: update docs 2013-03-03 23:39:13 +01:00
Jakob Schnitzer
78a99c23fa mbsync: documentation 2013-03-03 23:39:13 +01:00
Adrian Sampson
1fbbe61546 mbcollection: human-readable MB exceptions
Fixes #107 by wrapping the API invocation function with exception handlers.
2013-02-28 10:43:02 -08:00
Adrian Sampson
698e54edbc fix bytes literals causing a Unidecode warning
This would trigger a warning in Unidecode when metadata was missing (which is
the only case when those empty-string literals are used). Closes #109, which
is a different fix for the same problem.
2013-02-28 10:14:21 -08:00
Adrian Sampson
d71737114a format None values as the empty string
Fix due to @pscn. Includes test. Closes #108.
2013-02-28 10:00:26 -08:00
Adrian Sampson
c31eabe95c convert: add missing syspath call (closes #106) 2013-02-27 10:30:24 -08:00
Adrian Sampson
c2e6150af5 changelog/thanks for #104 2013-02-27 10:21:14 -08:00
Adrian Sampson
f268aae17f add --flat option to import command (GC-202) 2013-02-26 20:59:52 -08:00
Adrian Sampson
706c4fb7f6 import.detail config option (GC-263) 2013-02-26 20:36:29 -08:00
Adrian Sampson
6ab9b55845 link to GitHub Issues 2013-02-26 16:40:37 -08:00
Adrian Sampson
0045880f58 change option name to "languages"; docs (#102) 2013-02-26 14:38:34 -08:00
Adrian Sampson
4a35be5724 fix crash when RG fields set to null
In general, we convert None values to type-based nulls in packed fields just
as we do for normal fields.
2013-02-24 16:10:18 -08:00
Adrian Sampson
fa9d326d39 ignore "System Volume Information" directory
This is a control directory on Windows whose permissions are always set very
restrictively:
http://blogs.msdn.com/b/oldnewthing/archive/2003/11/20/55764.aspx
2013-02-24 15:53:47 -08:00
Adrian Sampson
c19fd0e0e6 proceed past os.listdir errors in sorted_walk 2013-02-24 15:47:09 -08:00
Adrian Sampson
d3a00ec443 don't crash when config file is empty 2013-02-21 11:03:22 -08:00
Adrian Sampson
6c1b49aadb use gst-python from stock Homebrew 2013-02-21 11:03:08 -08:00
Adrian Sampson
c2a746562a fix Sound Check decode (GC-521)
Fixes the case when the gain number is negative.
2013-02-20 22:54:57 -08:00
Adrian Sampson
4f2bc970ea docs: link to FreeBSD port 2013-02-19 10:18:03 -08:00
Adrian Sampson
a1e89b879d echonest_tempo: warn on API error 2013-02-18 18:40:59 -08:00
Adrian Sampson
63564d84e7 echonest_tempo: sanitize newlines from input
The Echo Nest API confusingly says that the input is missing if it contains a
newline.
2013-02-18 18:34:31 -08:00
Adrian Sampson
eb32fa4c0e docs: may need to create directories 2013-02-17 15:08:53 -08:00
Adrian Sampson
bbeb04c34f mention GStreamer plugins in BPD docs 2013-02-17 15:04:19 -08:00
Adrian Sampson
6f2ec68ca8 version bump: 1.1b3 2013-02-17 15:02:32 -08:00
Adrian Sampson
7a0bfff00a summary paragraph for 1.1b2 2013-02-16 16:34:13 -08:00
Adrian Sampson
e780ff27c2 update plugin API docs for 1.1 2013-02-16 15:04:07 -08:00
Adrian Sampson
0366dc8184 fix "import -l logpath" CLI option (GC-518) 2013-02-16 14:58:53 -08:00
Adrian Sampson
d1e50da71f fetchart: remote_priority config option 2013-02-10 21:40:55 -08:00
Adrian Sampson
3e624ea884 original_date config option (GC-441) 2013-02-08 13:45:31 -08:00
Adrian Sampson
e0bb3b5cd0 original_{year,month,day,date} fields (GC-441) 2013-02-08 13:28:51 -08:00
Adrian Sampson
15a652ab73 docs/changelog: filename length detection (GC-461) 2013-02-08 12:57:31 -08:00
Adrian Sampson
b9cb3980c2 path_sep_replace config option
I also took this opportunity to move and rename util.santize_for_path to
library.format_for_path, which was long overdue.
2013-02-08 10:51:33 -08:00
Adrian Sampson
fa4d8d96e7 max_rec (#98): more lenient defaults
These defaults more closely reflect the current behavior of beets, which I
think is desirable.
2013-02-07 23:39:13 -08:00
Adrian Sampson
7a4c228c79 style tweaks & doc expansion (#98) 2013-02-07 23:35:27 -08:00
Tai Lee
baa5bc5a01 Add max_rec configuration options.
Allow users to apply a maximum recommendation to partial albums and albums
with differing track lengths/numbers.
2013-02-08 17:42:00 +11:00
Adrian Sampson
55770ae212 changelog & style tweaks for Sound Check (#97) 2013-02-07 15:12:10 -08:00
Adrian Sampson
f7f2454134 docs & style for #92
We already have a nice plurality() function in beets.util to calculate the most
popular value of something, so I reused that.
2013-02-06 10:55:48 -08:00
Adrian Sampson
3860a5ac27 lastgenre: "auto" config option 2013-02-05 12:02:51 -08:00
Adrian Sampson
0c29c52f8c changelog for #92 2013-02-05 11:36:27 -08:00
Adrian Sampson
cd2d4c9b8a Merge pull request #92 from pscn/master
lastgenre improvements
2013-02-05 10:31:46 -08:00
Adrian Sampson
5be50fbb38 echonest_tempo: skip when missing artist or title 2013-02-05 10:28:24 -08:00
Adrian Sampson
2b4a70227d correct changelog credits for @mrmachine 2013-02-05 10:15:39 -08:00
Adrian Sampson
07e1366fc6 changelog for #94 2013-02-05 09:57:13 -08:00
Adrian Sampson
d544c832c7 changelog, docs, and style tweaks for #93 2013-02-04 22:44:04 -08:00
Peter Schnebel
936fdc303d Added track to source options in the docs. 2013-02-04 22:39:20 +01:00
Adrian Sampson
48194a128e changelog and docs for #89 2013-02-03 12:23:09 -08:00
Adrian Sampson
c706c1f15a changelog entry / tiny doc tweaks for #90 2013-02-03 10:31:15 -08:00
Dang Mai
24bc084724 Add small docs for smartplaylist about chaining 2013-02-03 10:10:29 -05:00
Adrian Sampson
4f7e738f82 changelog and doc fixes for #88 2013-02-02 12:56:08 -08:00
Adrian Sampson
a21e3ca344 Merge pull request #88 from pdf/lastgenre_source_selection
Allow selection of source for genre information (ie - artist vs album)
2013-02-02 12:44:02 -08:00
Adrian Sampson
50a89e790c both release and release group disambig (#87)
This joins the two strings with a comma if both are present.
2013-02-02 12:42:53 -08:00
Adrian Sampson
89f1ae302e changelog and partial reversion of #87
This pull request made two changes. This commit reverts one of them to make the
changes orthogonal.
2013-02-02 12:37:28 -08:00
Adrian Sampson
89689899c9 changelog note and indentation fix for #86 2013-02-02 12:27:42 -08:00
Adrian Sampson
44d195a119 suffix-based colorization for numeric value diffs 2013-02-02 12:24:05 -08:00
Adrian Sampson
d050211c2c length_diff_thresh moved to config
This was previously hard-coded as 2.0 seconds, which was way too low.
2013-02-02 12:07:58 -08:00
Adrian Sampson
3ef423b735 update changelog note for #82 2013-02-02 11:20:12 -08:00
Adrian Sampson
2ea190ceba better error message when using real tabs 2013-02-02 10:37:02 -08:00
Adrian Sampson
e850e1aab8 changelog note for #85 2013-02-02 08:23:52 -08:00
Peter Fern
eb1fbbac24 Add documentation for lastgenre source 2013-02-02 14:40:32 +11:00
Adrian Sampson
8ae40e9945 changelog and style fix for #81 2013-01-31 16:25:02 -08:00
Dang Mai
7fe9e2ea18 Refer to the lib param in the documentation 2013-01-31 16:54:42 -05:00
Adrian Sampson
63d939d1d3 windows: error when migrating .beetsconfig 2013-01-31 12:29:37 -08:00
Adrian Sampson
bba0051ee7 changelog & doc tweaks for smartplaylist (#80) 2013-01-31 10:07:18 -08:00
Adrian Sampson
615b0decfa Merge pull request #80 from dangmai/smartplaylist
Smart Playlist plugin
2013-01-31 09:45:40 -08:00
Adrian Sampson
199add3a4d changelog re. none_rec_action (#77) 2013-01-30 21:05:30 -08:00
Adrian Sampson
521a4d1ebd Merge pull request #77 from mrmachine/none-rec-action
For matches with no recommendation, import as-is or skip automatically.
2013-01-30 20:38:12 -08:00
Adrian Sampson
ee641e9b13 default_action config option, et cetera (#76)
- Partial matches are always downgraded to a "medium" match.
- The config option, now called "default_action", lets you choose what to do
  with "medium" matches.
- Expanded the "low" recommendation level to include cases with just one
  match.
2013-01-30 20:32:37 -08:00
Adrian Sampson
00dfa33249 Merge pull request #76 from mrmachine/safer-defaults
Safer defaults
2013-01-30 19:41:24 -08:00
Adrian Sampson
27be3ddae5 changelog note for #78 2013-01-30 19:32:12 -08:00
Dang Mai
89b19f3e67 Documentation about template in m3u names 2013-01-30 12:47:44 -05:00
Dang Mai
f4107703fb Add documentation for plugin 2013-01-30 09:30:36 -05:00
Adrian Sampson
a96e8ab3df changelog/docs for WMA support (#75) 2013-01-29 21:32:44 -08:00
Adrian Sampson
58dc7be0a7 docs for new plugin events (#79) 2013-01-29 20:59:02 -08:00
Adrian Sampson
37a7aedaae version bump: 1.1b2 2013-01-29 20:50:10 -08:00
Adrian Sampson
8c9ca36907 version bump and changelog summary for 1.1b1 2013-01-29 12:21:05 -08:00
Adrian Sampson
38dee5af0f silence Unidecode warning due to byte string info
--HG--
extra : source : 6a023b1f3ace0ae3177afb382d0eebcb445bec05
2013-01-29 11:30:31 -08:00
Tai Lee
6286954435 Add docs for confirm_partial setting. 2013-01-29 15:04:01 +11:00
Tai Lee
1d236aaa79 Add docs for none_rec_action setting. 2013-01-29 15:02:32 +11:00
Adrian Sampson
cc0e9112b4 document migration from 1.0 to 1.1 2013-01-24 16:55:00 -08:00
Adrian Sampson
7e84e7da57 add thanks to changelog note for #74 2013-01-22 21:04:56 -08:00
Adrian Sampson
0969749e5b cleanup, docs, and changelog for relative_to (#74) 2013-01-22 21:02:41 -08:00
Philippe Mongeau
c01e06e0fe importfeeds: document the relative_to configuration option 2013-01-22 22:54:29 -05:00
Adrian Sampson
899ac18f71 importfeeds migration: remove prefix (GC-503) 2013-01-22 11:55:58 -08:00
Adrian Sampson
7779a5c6f5 replaygain: catch Unicode exc on Windows (GC-499)
(grafted from 89cee0e842b4e553790b0db7daaf2fd31d217e15)

--HG--
extra : source : 89cee0e842b4e553790b0db7daaf2fd31d217e15
2013-01-12 14:38:19 -08:00
Adrian Sampson
f207a3b72e backported lyrics fix 2013-01-11 14:55:31 -08:00
Adrian Sampson
9e6b1db02d configurable match thresholds (GC-290) 2013-01-11 14:46:15 -08:00
Adrian Sampson
c418e6d379 configurable MusicBrainz host/rate limit (GC-408) 2013-01-11 13:33:14 -08:00
Adrian Sampson
974929541f terminal_encoding config option (GC-472) 2013-01-11 13:07:57 -08:00
Adrian Sampson
d6c7cfa4e3 lyrics: replace apostrophes with ' (GC-498) 2013-01-11 10:51:22 -08:00
Adrian Sampson
b9a6f4d617 remove outdated "art" config in docs 2013-01-06 16:21:20 -08:00
Adrian Sampson
f7bef39769 GH-72: use function bodies instead of special var 2013-01-05 17:48:00 -08:00
Adrian Sampson
14b5170aec GH-72: some cleanup and changelog note 2013-01-05 17:20:39 -08:00
Adrian Sampson
f127d8e18a merge scrub fix from master 2012-12-31 18:25:51 -08:00
Adrian Sampson
287d00179a scrub: fix Py27-style format string (GC-484) 2012-12-31 18:11:31 -08:00
Adrian Sampson
628f4816cd merge changelog note and tag from master release 2012-12-31 16:53:20 -08:00
Adrian Sampson
71fd8d5030 version numbers for 1.0rc2 release 2012-12-31 16:31:48 -08:00
Adrian Sampson
3e2aca82b8 correctly parse and migrate "pluginpath"
This used to be a colon-separated list. Now we use a real YAML list (or a
single string).
2012-12-31 16:09:16 -08:00
Adrian Sampson
5d210f755c merge fix from master 2012-12-29 13:07:09 -08:00
Adrian Sampson
082932069f echonest_tempo: catch IO errors (GC-482) 2012-12-26 17:16:59 -08:00
Adrian Sampson
123189b393 default file locations
Due mostly to some improvements in Confit, we now have a reasonable way to
define the default filenames of auxiliary data files. These are relative to the
beets config directory (i.e., alongside config.yaml).
2012-12-23 18:01:21 -08:00
Adrian Sampson
51e9c519d4 plugin renames: fuzzy and random
Renamed fuzzy_search to fuzzy and rdm to random. These names should be easier
to remember since they are the same as the commands they provide.

--HG--
rename : beetsplug/fuzzy_search.py => beetsplug/fuzzy.py
rename : beetsplug/rdm.py => beetsplug/random.py
rename : docs/plugins/fuzzy_search.rst => docs/plugins/fuzzy.rst
rename : docs/plugins/rdm.rst => docs/plugins/random.rst
2012-12-23 14:46:20 -08:00
Adrian Sampson
6b000983c3 merge echonest_tempo fix from master 2012-12-23 14:34:08 -08:00
Adrian Sampson
1809de1500 GH-71: changelog note & retry limit 2012-12-21 23:10:30 -08:00
Adrian Sampson
11e1fd1bd8 document new Confit-based configuration 2012-12-20 21:56:47 -08:00
Adrian Sampson
2451571dbe version bump to "1.1b1" 2012-12-19 12:25:48 -08:00
Adrian Sampson
2023344019 Windows: fix relative paths in normpath()
The changes introduced in rc1 caused paths to be syspath-ified before they were
passed to os.path.abspath. The magic prefix caused them to be interpreted as
absolute paths even if they were relative. The fix is, in this *isolated*
case, to use Unicode but prefix-free paths in calls to the os.path.* functions.
Those functions need to act on Unicode objects but seem to be purely syntactic
-- nothing is tripped up by using long filenames without the magic prefix.
2012-12-19 12:19:23 -08:00
Adrian Sampson
09c543ed0e remove link to GitHub downloads page
https://github.com/blog/1302-goodbye-uploads
2012-12-17 23:32:55 -08:00
Adrian Sampson
0c49db0f11 fetchart: fix exception when source returns None 2012-12-17 23:22:45 -08:00
Adrian Sampson
556a77a506 docs version: 1.0 2012-12-17 18:11:39 -08:00
Adrian Sampson
6082f0162f changelog summary for 1.0rc1 2012-12-17 18:04:39 -08:00
Adrian Sampson
c0461c8847 improve some short plugin descriptions 2012-12-17 17:29:24 -08:00
Adrian Sampson
49ae56e455 embedart: changelog for GC-468 2012-12-11 13:53:02 -08:00
Adrian Sampson
98892945c2 don't crash when singleton-importing broken files 2012-12-08 12:10:06 -08:00
Adrian Sampson
3e9135ee7c syspath-ify call to pyacoustid (GC-464) 2012-12-07 14:49:11 -08:00
Adrian Sampson
128a881bb4 GH-69/GC-450: docs, changelog, simplification 2012-12-05 09:10:07 -08:00
Adrian Sampson
4f5c5d4e4f echonest_tempo: docs wording fix 2012-12-02 16:34:05 -08:00
Adrian Sampson
f5628e03f6 include official beets Echo Nest API key 2012-12-02 16:32:19 -08:00
Adrian Sampson
a8cf42d05b echonest_tempo: changelog + doc fixes + print fix 2012-12-02 16:25:45 -08:00
David Brenner
0fe2331842 Create echonest_tempo plugin - use EchoNest API to get tempo (bpm).
A simple plugin that connects to the EchoNest API to retrieve
tempo (bpm) metadata for tracks. Functions similarly to the lyrics
plugin.

Requires the pyechonest library.
2012-12-02 18:27:20 -05:00
Wieland Hoffmann
335ce9c73c Some grammar corrections for docs/.../ihate.rst 2012-12-01 10:53:35 +01:00
Adrian Sampson
becd4f957d long-overdue docs for the "info" plugin 2012-11-27 19:44:46 -08:00
Adrian Sampson
9a4cda60cd autotag: use albumartist if available (GC-423) 2012-11-27 17:05:56 -08:00
Adrian Sampson
eef87c2189 truncation incorporates extension length (GC-461) 2012-11-27 16:54:50 -08:00
Adrian Sampson
953291f736 truncate bytes instead of unicode (GC-422) 2012-11-27 16:43:57 -08:00
Adrian Sampson
da3ffcbec3 version change: b16 is now 1.0rc1 2012-11-27 15:56:02 -08:00
Adrian Sampson
90f7fabb9a convert docs phrasing tweaks
@yagebu: I did a code review of the new version of convert using FFmpeg as a
backend. Everything looks perfect. These are just a few changes to the docs.
Thanks again!
2012-11-06 14:38:45 -08:00
Adrian Sampson
859268f707 decode Unicode arguments to import -L (GC-457) 2012-11-06 14:29:58 -08:00
Jakob Schnitzer
19acf0809f convert: switch from flac and lame to ffmpeg
Instead of flac and lame the convert plugin now uses ffmpeg. This adds
support for more input formats and simplifies the code. ffmpeg also uses
the lame encoder internally and has equivalents of all the -V<num>
presets which should be sufficient.
2012-11-05 22:30:21 +01:00
Adrian Sampson
cb03766813 merge 2012-11-03 12:16:50 -07:00
Adrian Sampson
c569ddd412 human-readable mkdir error 2012-11-03 12:16:32 -07:00
Fabrice Laporte
dfddc3a899 Update docs/plugins/fetchart.rst 2012-11-01 23:58:49 +01:00
Adrian Sampson
289287690e more helpful changelog about maxsize 2012-11-01 15:33:38 -07:00
Adrian Sampson
338eb6388e documentation for convert.exe problem (#64)
We currently just document the fact that convert.exe can interfere with finding
ImageMagick's convert binary. We can solve this with a config option easily once
confit is merged.

This also changes the line endings for fetchart.rst back to Unix.
2012-11-01 14:25:46 -07:00
Adrian Sampson
d9974081a7 add extension for proxied images
`urllib.urlretrieve` was using the correct extension in most cases -- I think
when the URL ended with .jpg -- but not in every case. This was leading to files
named just "cover" and not "cover.jpg" or something else sensible. In
particular, proxied URLs don't have .jpg extensions. This generates the filename
manually so the source image always has an extension.
2012-11-01 12:39:02 -07:00
Adrian Sampson
29c6f9c342 changelog and light style fixes for #64 2012-10-31 17:52:21 -07:00
Fabrice Laporte
7f2aa44ac6 Add 'maxwidth' option to embedart and fetchart plugins.
artresizer.py instances an ArtResizer object that uses internally the PIL; ImageMagick
or a web proxy service to perform the resizing operations.
Because embedart works on input images located on filesystem it requires PIL or ImageMagick, whereas
fetchart is able to do the job with the fallback webproxy resizer.
2012-10-28 15:36:42 +01:00
Adrian Sampson
57e66d7b1a fetchart: sort image filenames (GC-452) 2012-10-25 18:02:22 -07:00
Adrian Sampson
1a94d9e4b7 warnings about using syspath with some utils
Also pertaining to #58: for most utility functions, paths should *not* be
`syspath`-ified. (This only occurs right before a path is sent to the OS.) In
fact, as @Wessie discovered, using the result of `syspath` with `ancestry` leads
to incorrect behavior. I checked and this should not currently happen anywhere,
but these docstring changes make that requirement explicit.
2012-10-21 14:27:40 -07:00
Adrian Sampson
91ad913399 #62: simplify list (and random) code
With the new centralized print_obj function, we can greatly simplify the code
for the list command. This necessitated a couple of additional tweaks:

- For performance reasons, print_obj can now take a compiled template. (There's
  still an issue with using the default/configured template, but we can cross
  that bridge later).
- When listing albums, $path now expands to the album's item dir. So the format
  string '$path' now exactly corresponds to passing the -p switch.

As an added bonus, we can now also reduce copypasta in the random plugin (which
behaves almost exactly the same as list).
2012-10-20 21:10:39 -07:00
Adrian Sampson
3952fbec62 docs & changelog for pervasive format config (#62)
This version of the (renamed) _print_obj function uses introspection to
determine whether we're printing an Album or an Item. It's like function
overloading for Python! 😁
2012-10-20 20:29:49 -07:00
Adrian Sampson
b9cc206093 changelog & cleanup for pull request #59 2012-10-20 16:57:56 -07:00
Adrian Sampson
9368075756 replaygain: reinstate albumgain config option 2012-10-20 16:49:52 -07:00
Adrian Sampson
0ab3426bd9 replaygain: add command
You can now disable automatic analysis and instead use a command to manually
analyze albums or tracks.
2012-10-17 22:12:38 -07:00
Adrian Sampson
83f3069d57 replaygain: remove albumgain setting
We now always calculate album gain when importing an album. This is "free" (no
performance cost) now and players are free to ignore the setting if they so
choose.
2012-10-17 20:11:20 -07:00
Adrian Sampson
b81ac1d6e0 fix crash when stdin comes from pipe w/o encoding
This allows, for example, "yes | beet convert".
2012-10-15 14:58:59 -07:00
Adrian Sampson
f2ab26d6a4 mbcollection: change chunk size to 200 releases 2012-10-14 20:35:03 -07:00
Adrian Sampson
244ffd71e2 fix "beet modify" for date fields (GC-449)
This is fixed by allowing MediaFiles to convert strings to integers on
assignment. An eventual complete fix will perform these type conversions in the
Item interface.
2012-10-14 20:27:13 -07:00
Adrian Sampson
526e82feaf move cpu_count to util module; credit @storrgie 2012-10-14 14:09:03 -07:00
Adrian Sampson
6b7d9a6f40 merge pull request #56 (thread count detection) 2012-10-14 14:01:04 -07:00
Adrian Sampson
b9e2beddec replaygain: changelog & doc enhancements for GH-55 2012-10-12 22:42:08 -07:00
Adrian Sampson
b6f34000f0 Merge pull request #55 from KraYmer/upstream
Adding threads to new ReplayGain backend based on command-line tool
2012-10-12 22:27:42 -07:00
Adrian Sampson
d8433f977c convert: changelog thanks & doc enhancements 2012-10-12 22:11:07 -07:00
Adrian Sampson
71a5a5b02f only load plugins from specified modules
Eliminate the __subclasses__ trick for finding all plugins. Now we explicitly
look in each plugin module for a plugin class. This allows us to import plugin
modules with unintentionally loading them. This lets us reuse the image
embedding machinery without copypasta.
2012-10-12 21:55:54 -07:00
Andrew G. Dunn
780cbed809 Made a simple update to the documentation 2012-10-12 16:57:12 -04:00
kraymer
6208c453c6 add apply_gain option (was default) 2012-10-12 08:52:12 +02:00
kraymer
7265119aad change replaygain plugin backend: it now invokes a command line tool (mp3gain or aacgain) 2012-10-12 08:51:36 +02:00
Jakob Schnitzer
e316d0ea30 convert: PEP8, changelog note and license 2012-10-11 17:10:28 +02:00
Jakob Schnitzer
f4d6826462 convert: Added note to docs that 'dest' is a required setting 2012-10-08 23:02:22 +02:00
Jakob Schnitzer
b05fc8ef4f Merge branch 'convert' 2012-10-08 12:49:04 +02:00
Jakob Schnitzer
ec6bbf53d4 convert: Add docs 2012-10-08 12:34:35 +02:00
Adrian Sampson
cb93900888 changelog & docs for "beet stats --exact" 2012-10-07 15:13:49 -07:00
Adrian Sampson
114cea0da6 changelog: ihate plugin 2012-10-06 18:42:38 -07:00
Blemjhoo Tezoulbr
3eb11355cf ihate plugin: ver 1.0 - initial import 2012-10-05 02:37:21 +03:00
Blemjhoo Tezoulbr
c9fafb8379 plugin the: ver 1.1 - singleton mode, code cleanup 2012-10-05 02:04:51 +03:00
Adrian Sampson
56958d175b docs + changelog for GH-50 (lastgenre command) 2012-10-04 09:47:59 -07:00
Adrian Sampson
1372e42dec docs: warn that incremental must be enabled early 2012-09-30 14:16:30 -07:00
Adrian Sampson
5f7d280987 changelog note about @KraYmer's lastgenre feature 2012-09-30 14:06:21 -07:00
Adrian Sampson
4aac7f5324 zero: changelog note & doc improvements 2012-09-25 14:15:33 -07:00
Adrian Sampson
d09308eab2 Merge pull request #49 from tezoulbr/master
new plugin - zero
2012-09-25 14:04:19 -07:00
Philippe Mongeau
d6f2bf20f4 fuzzy_search: enable setting threshold value from the config file 2012-09-22 17:35:39 -04:00
Blemjhoo Tezoulbr
edcacde9ba zero plugin ref included in plugins doc index 2012-09-22 19:06:38 +03:00
Blemjhoo Tezoulbr
aff36fa694 zero plugin, version 0.9 2012-09-22 15:50:33 +03:00
Adrian Sampson
e092af2b2f changelog note: fuzzy_search plugin 2012-09-18 10:33:58 -07:00
Adrian Sampson
0d3064bae8 Merge pull request #48 from phmongeau/fuzzy
Fuzzy Search plugin
2012-09-18 10:26:16 -07:00
Philippe Mongeau
a49dcb81c6 add documentation for fuzzy_search 2012-09-17 22:41:02 -04:00
Adrian Sampson
201571bf93 changelog note &c. for "the" plugin (GH-47) 2012-09-17 11:11:22 -07:00
Adrian Sampson
cdc833b8ab Merge pull request #47 from tezoulbr/master
new plugin: "the" (pattern moving in path formats)
2012-09-17 11:06:22 -07:00
Adrian Sampson
c056467c5d friendly error message in Item.write (GC-437) 2012-09-17 10:36:48 -07:00
Adrian Sampson
ef248576f0 bpd: fix crash w/ unicode extensions (GC-439) 2012-09-17 10:24:34 -07:00
Blemjhoo Tezoulbr
16aa842ccf plugin the: version 1.0 2012-09-16 04:42:39 +03:00
Adrian Sampson
a9fc483a36 importfeed: fix "link" mode w/ unicode paths 2012-09-11 17:32:43 -07:00
Adrian Sampson
dc054907d5 fix non-string value matching in SubstringQuery 2012-09-09 12:17:13 -07:00
Adrian Sampson
90b3dba085 fix match() on RegexpQuery for non-string values 2012-09-08 16:24:39 -07:00
Adrian Sampson
931a6b636b fix for plugins not modifying files' tags 2012-09-02 16:00:18 -07:00