Commit graph

2048 commits

Author SHA1 Message Date
John Hawthorn
a3940a6a07 Add 'disk' spelling as a multidisc marker. 2013-06-05 18:15:23 -07:00
Adrian Sampson
dfda5a311d beatport (#301): more Unicode literals
Avoids warnings in the unidecode module.
2013-06-03 14:06:51 -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
4e016f1913 fix MediaFile exception test 2013-06-03 13:39:52 -07:00
Adrian Sampson
c276cfecc9 mediafile: pass through base IOErrors
This also tries to be a bit more thorough about capturing all the
Mutagen-originated exceptions.
2013-06-03 12:11:28 -07:00
Adrian Sampson
e093d76e21 handle FLACVorbisError exceptions from Mutagen 2013-06-03 12:01:06 -07:00
Adrian Sampson
7c430a791c possibly fix error for some Mutagen exceptions 2013-06-03 10:06:54 -07:00
Johannes Baiter
edd0efcb87 Fix unicode bug in Beatport plugin 2013-06-03 17:22:29 +02: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
Johannes Baiter
6c3e38863b Add documentation for Beatport plugin 2013-06-02 11:55:57 +02:00
Johannes Baiter
f2a924fb56 Bugfixes in Beatport plugin 2013-06-02 11:55:44 +02:00
Adrian Sampson
cff06431cc add tests for ALAC (#295) 2013-06-01 17:44:21 -07:00
Adrian Sampson
3a715a6703 changelog/thanks for ALAC (#295) 2013-06-01 17:33:06 -07:00
Adrian Sampson
d8a39b6725 merge 2013-06-01 17:30:30 -07:00
Adrian Sampson
3e95c52db8 Merge pull request #295 from simonluijk/alac-support
Initial support for ALAC encoded audio files
2013-06-01 17:29:49 -07:00
Adrian Sampson
9a6b6240d0 zero: fix nulling fields containing None 2013-06-01 17:28:59 -07:00
Adrian Sampson
4624f65ce3 fix interface to ID matching
As outlined in #299, we broke many places in the code that were expecting
_album_for_id and _track_for_id to return a single item rather than a list. I
took this opportunity to divide up the interface: there's now one function for
MBIDs (returning a single object or None) and one for generic IDs (returning a
list).
2013-06-01 17:22:39 -07:00
Johannes Baiter
eb20d77c69 Implement BeetsPlugin API for Beatport plugin 2013-06-01 18:45:54 +02:00
Johannes Baiter
bbd50c65cd Fix Beatport source weight 2013-06-01 15:50:59 +02:00
Johannes Baiter
af81b67c0c Implement Beatport API wrapper 2013-06-01 15:23:18 +02:00
Johannes Baiter
1a8f54fd51 Lay out beatport plugin based on discogs plugin 2013-06-01 15:20:58 +02:00
Adrian Sampson
18bbe9f645 Merge pull request #298 from jayme-github/python26-resub
Fix Python 2.6 compatibility
2013-05-30 09:48:50 -07:00
Tai Lee
ee0c00708b Quick fix for a couple other places that were expecting hooks._album_for_id()` to return a single result.
It's possible that these plugins might require a little more thought
into how they should work (or not work) with potentially multiple albums
matching an idea, and potentially those those albums being an incorrect
match (e.g. if two data source plugins share a simple numerical ID
format).
2013-05-31 00:05:24 +10:00
Tai Lee
0a448a2380 Display album disambiguation information in order of common importance. Media, year, country, label, albumdisambig. 2013-05-30 23:28:33 +10:00
Jayme
5bb0881cdd Replace two more flag arguments 2013-05-30 10:09:39 +02:00
Jayme
32e1c13510 Fix Python 2.6 compatibility 2013-05-30 09:30:00 +02:00
Simon Luijk
79f56adb12 Add note about current approach of detecting aac vs alac
Signed-off-by: Simon Luijk <simon@simonluijk.com>
2013-05-30 09:26:57 +02:00
Simon Luijk
ffe65648d2 Style change
Signed-off-by: Simon Luijk <simon@simonluijk.com>
2013-05-30 08:22:39 +02:00
Adrian Sampson
46340af6b7 #291: changelog and docs 2013-05-29 15:39:10 -07:00
Adrian Sampson
a408f691b4 #291: plugin hook for track_for_id
For symmetry with album candidates, plugins can now provide item candidates by
ID.
2013-05-29 15:31:59 -07:00
Adrian Sampson
5e7964d2dd fix implicit ID search
This was broken because hooks._album_for_id now returns a list. This was
assuming it returned a single value (or None).
2013-05-29 15:24:05 -07:00
Adrian Sampson
bf1291a97d #291: restore shortcut for manual ID searches 2013-05-29 15:16:27 -07:00
Adrian Sampson
73a904f7e8 #291: simplify plugin interface for album_for_id 2013-05-29 15:02:42 -07:00
Adrian Sampson
611dc44c46 fix tests for ID parsing (#291)
The previous tests accessed the network. This refactoring lets us test the ID
parsing in isolation.
2013-05-29 14:51:16 -07:00
Adrian Sampson
303cd9ba00 Merge pull request #291 from jbaiter/discogs_albumid
Support for manually entered IDs in plugins
2013-05-29 14:43:59 -07:00
Simon Luijk
0309775a91 Initial support for ALAC encoded audio files
Both AAC and ALAC are normally embedded in an .m4a container. For
this reason I have split the m4a type into aac and alac types.

To distinguish between the two encodings I have taken advantage
of the fact that, in my collection, ALAC don't have a sample_rate
set. I could not find verification if this is always the case
or not. Would bitrate be a more reliable determining factor?
e.g. if bitrate > 320000: type = 'alac'

Signed-off-by: Simon Luijk <simon@simonluijk.com>
2013-05-29 21:25:23 +02:00
Johannes Baiter
3df635eca2 Make regex for Discogs ID more specific 2013-05-29 20:31:58 +02:00
Adrian Sampson
e75718d196 use album template fields in item templates
This lets you use, for example, the example album bitrate field in path
formats.
2013-05-29 10:10:07 -07:00
Johannes Baiter
2d4ea4e49b Fix bug in discogs.album_for_id for ID-Strings that end in a bracket 2013-05-29 10:59:04 +02:00
Johannes Baiter
40a6e03ba6 Improve regular expression for Discogs IDs 2013-05-29 10:54:15 +02:00
Johannes Baiter
adb22c3511 Return a list of candidates in hooks._album_for_id 2013-05-29 10:53:55 +02:00
Adrian Sampson
d8815898b8 fix for undefined TRACK_LENGTH_GRACE
Thanks for catching this, @mrmachine.
2013-05-28 23:37:04 -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
72449caccf discogs: move config default into constructor
Such is the new convention for plugin configuratino defaults.
2013-05-28 21:45:31 -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
4d44e11a32 back out source-sensitive sorting
This is now addressed by a distance penalty.
2013-05-28 21:28:46 -07:00