Commit graph

3247 commits

Author SHA1 Message Date
Blemjhoo Tezoulbr
aff36fa694 zero plugin, version 0.9 2012-09-22 15:50:33 +03:00
Philippe Mongeau
1e48317e51 fuzzy_search: simplifiy some nested code 2012-09-21 19:57:47 -04:00
Adrian Sampson
0d3064bae8 Merge pull request #48 from phmongeau/fuzzy
Fuzzy Search plugin
2012-09-18 10:26:16 -07:00
Philippe Mongeau
dfca295e31 pep8ify fuzzy_search 2012-09-17 22:40:38 -04:00
Philippe Mongeau
ca237ce3e7 make fuzzy_search case insensitive and add a threshold option
renamed fuzzy_list.py to fuzzy_search.py
2012-09-17 22:12:14 -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
Blemjhoo Tezoulbr
16aa842ccf plugin the: version 1.0 2012-09-16 04:42:39 +03:00
Fabrice Laporte
49a6b993d3 lastgenre: add existing genre to the list of suggested tags to canonicalize 2012-09-15 12:00:33 +02:00
Adrian Sampson
749b19955e bpd: use pygst.require() before importing gst
A user reports that this fixes BPD on OS X.
2012-09-12 17:57:37 -07:00
Adrian Sampson
a9fc483a36 importfeed: fix "link" mode w/ unicode paths 2012-09-11 17:32:43 -07:00
Zach Denton
6c6ae5a7c0 Send correct filename when downloading a file. 2012-08-26 15:19:03 -04:00
Adrian Sampson
473fe04f91 web: add size to item JSON in API
This is to be used by the Tomahawk resolver, which wants file sizes.
2012-08-24 19:20:27 -07:00
Adrian Sampson
6200f0a4c8 scrub: remove all types of tags 2012-08-24 15:39:13 -07:00
Adrian Sampson
420c78ff1b lyrics: fix UnicodeDecodeError with non-ASCII text 2012-08-19 13:42:43 -07:00
Adrian Sampson
701d8cf204 fetchart: fix extension-less files from CAA 2012-08-02 09:46:57 -07:00
Adrian Sampson
174824c570 lyrics: suppress not-found message
(in Lyrics.com results)
2012-07-24 15:33:44 -07:00
Adrian Sampson
ca1581996d fix early call to imported_items in chroma 2012-07-24 14:56:14 -07:00
Adrian Sampson
26fa3bcac6 remove outdated call in BPD 2012-07-24 14:26:47 -07:00
kraymer
e9104b6775 plugin importfeeds: fix symlink creation when it already exists 2012-07-21 13:27:15 +02:00
Adrian Sampson
ec849a3f88 chroma & lyrics: crash due to name change
I changed ImportTask.all_items to ImportTask.imported_items but forgot to change
the calls in the chroma and lyrics plugins.
2012-07-03 17:18:23 -07:00
Philippe Mongeau
5a2719711e Rename Fuzzy plugin class name. remove useless
conversion of an iterator to a list

the plugin class was called Random (because of copy
paste)
2012-06-25 20:54:11 -04:00
Philippe Mongeau
7187d93303 implement album option for the fuzzy plugin 2012-06-25 20:54:11 -04:00
Philippe Mongeau
288902a572 add experimental fuzzy matching plugin
fuzzy is a command which tries to be like the list command but using
fuzzy matching.
2012-06-25 20:54:11 -04:00
Adrian Sampson
6503e85a57 fetchart: autofetch option
This necessitated a slight refactoring in the plugin event handling mechanism.
Rather than loading all handlers up front and storing them in a module-scope
structure, we now scan for event handlers at every send(). This is probably
very slightly less efficient but allows for more flexible logic.
2012-06-24 19:01:19 -07:00
Adrian Sampson
fbb5823541 fetchart: command to manually download art 2012-06-24 18:27:00 -07:00
Adrian Sampson
77cbb19564 fetchart: get local art for as-is imports (GC-339) 2012-06-24 17:41:37 -07:00
Adrian Sampson
d807b3fbf1 Cover Art Archive support (GC-71) 2012-06-24 16:57:04 -07:00
Adrian Sampson
11d4fb1abb move album art fetching to a plugin (fetchart) 2012-06-24 00:34:50 -07:00
Adrian Sampson
c5424dce05 lastgenre and lyrics: use new pluggable import stages
This solves a problem where files were copied before the genre field was
updated, resulting in problems when $genre was used in a path (GC-357).
2012-06-08 15:17:49 -07:00
Adrian Sampson
00c47b6811 library has per-thread transaction stacks (GC-399)
The Library object is now (almost) safe to share across threads. Per-thread
resources are now automatically managed internally. There is no longer any need
for the _reopen_lib hack to get multiple copies of the Library object.
2012-06-08 11:09:45 -07:00
Adrian Sampson
d88afbad11 library maintains per-thread DB conns. (GC-399) 2012-06-08 10:49:47 -07:00
Adrian Sampson
d83c1fad6b chroma: use multiple recording candidates 2012-06-06 12:35:25 -07:00
Adrian Sampson
e634b95996 Merge pull request #40 from djrtl/upstream
Fixed an issue with a readline from socket in bpd
2012-06-03 22:53:57 -07:00
Matteo Mecucci
469fb95e3e Added a second check for empty line in bpd after my latest change 2012-06-03 22:07:16 +02:00
Matteo Mecucci
df25de89f7 Fixed an issue with a readline from socket in bpd 2012-06-03 11:40:57 +02:00
kraymer
2c67f0f76e importfeeds: write _feeds_dir global once, on reception of 'library_opened' event 2012-05-27 23:15:16 +02:00
Adrian Sampson
66e75c398d embedart: log & skip unreadable audio files 2012-05-21 10:47:17 -07:00
Adrian Sampson
face0ba323 chroma submission: fix crash; better errors 2012-05-17 14:54:58 -07:00
Philippe Mongeau
9824cee7fb add the 'path' argument to mpdupdate plugin 2012-05-17 12:31:19 -04:00
Adrian Sampson
d82d74b422 move bluelet to util subpackage
This way, it can be shared among multiple plugins (as could happen
eventually...)
2012-05-13 21:22:50 -07:00
Adrian Sampson
760fff3ace use new "except ... as ...:" syntax
This replaces the older "except ..., ...:" syntax.
2012-05-13 21:18:50 -07:00
Adrian Sampson
429af42e14 use print_function __future__ import
All code should now use Python 3-style "print"s.
2012-05-13 21:08:27 -07:00
Adrian Sampson
f6b37d2c8c remove with_statement __future__ imports
This is the first of several commits that will modernize the beets codebase for
Python 2.6 conventions. (Compatibility with Python 2.5 is hereby abandoned.)
2012-05-13 20:39:07 -07:00
Adrian Sampson
b68e87b92c The Great Trailing Whitespace Purge of 2012
What can I say? I used to use TextMate!
2012-05-13 20:22:17 -07:00
Adrian Sampson
fb3956723c fix format string in info plugin 2012-05-12 15:21:45 -07:00
Fabrice Laporte
031ae68006 Merge pull request #36 from KraYmer/master
Issue 358:Options for when lastgenre fails to find a tag
2012-05-09 00:11:32 -07:00
Nicolas Dietrich
a0e133ae5d Allow unicode in rewrite items
This commit makes rewrite explicitely match items using the .lower() function
instead of using Pythons builtin re.I flag.

This is required as the re.I flag only allows for case-independent pattern
matching with ascii chars. Even worse, the pattern is stored in lowercase when
using re.I, but the value to be matched isn't lowercased.

Example:

[rewrite]
artist Сергей Васильевич Рахманинов: Sergei Rachmaninoff
2012-05-09 00:21:06 +02:00
kraymer
c4783e25f8 'Issue 358:Options for when lastgenre fails to find a tag'. Added 'fallback_str' plugin parameter to specify a fallback string when no genre found. Declare the parameter without specifying a value (= empty string) to blank the genre field when no genre found. 2012-05-08 23:41:07 +02:00
Matteo Mecucci
030c656a75 Added support for random and repeat in the bpd plugin. 2012-05-08 22:53:17 +02:00
Adrian Sampson
6ce08c4ce6 merge 2012-05-08 11:59:41 -07:00
Adrian Sampson
8b25a86ee3 use 2.6-compatible format strings 2012-05-08 11:46:08 -07:00
Adrian Sampson
a28f930c52 transaction objects to control DB access
In an attempt to finally address the longstanding SQLite locking issues, I'm
introducing a way to explicitly, lexically scope transactions. The Transaction
class is a context manager that always fully fetches after SELECTs and
automatically commits on exit. No direct access to the library is allowed, so
all changes will eventually be committed and all queries will be completed. This
will also provide a debugging mechanism to show where concurrent transactions
are beginning and ending.

To support composition (transaction reentrancy), an internal, per-Library stack
of transactions is maintained. Commits only happen when the outermost
transaction exits. This means that, while it's possible to introduce atomicity
bugs by invoking Library methods outside of a transaction, you can conveniently
call them *without* a currently-active transaction to get a single atomic
action.

Note that this "transaction stack" concepts assumes a single Library object per
thread. Because we need to duplicate Library objects for concurrent access due
to sqlite3 limitation already, this is fine for now. Later, the interface should
provide one transaction stack per thread for shared Library objects.
2012-05-06 23:24:05 -07:00
Adrian Sampson
5a9cc6a2d9 fix crash on 0 chroma matches for singleton 2012-05-06 21:19:13 -07:00
kraymer
f92d5d5e29 change m3u open mode to 'a' so file content is not reseted at each import when in 'm3u' mode 2012-05-02 21:51:37 +02:00
Adrian Sampson
1ee07e116e flexible -f templates for album listings (and rdm) 2012-04-30 22:59:17 -07:00
Adrian Sampson
fa3e41c86a BPD: print messages reflecting tree (re)build 2012-04-30 12:02:00 -07:00
Adrian Sampson
de87fb7489 memoize %aunique results (share among tracks) 2012-04-29 18:07:29 -07:00
Adrian Sampson
d042bed27c pre-parse path format templates
Instead of parsing the template at each call to destination(), it's now possible
to parse them *once*, a priori, and re-use the resulting template object. This
is analogous to the re module's compiled expressions.
2012-04-29 15:30:43 -07:00
Philippe Mongeau
97e202e015 importfeeds: use expanduser on feeds_dir 2012-04-15 21:18:38 -04:00
Matteo Mecucci
43cebabcb6 Added sorting in listing command of bpd 2012-04-15 17:05:16 +02:00
Adrian Sampson
2c11855b1e catch URL fetch exceptions in lyrics plugin 2012-04-10 21:05:01 -07:00
kraymer
78fbe6d836 rename 'm3uupdate' plugin to 'importfeeds'. Handles two more output formats: multi m3u files (one per item imported) and symlinks. Update plugin docs.
Conflicts:

	docs/plugins/index.rst
2012-04-10 12:06:38 -07:00
kraymer
00d47b1bff The default setting for the plugin is now a m3u directory path (m3u_dirpath).
User can specify a fixed name (eg *import.m3u*) by setting the `m3u_fixedname`, otherwise a dynamic m3u filename will be generated base on the imported items (album/track title).
2012-04-10 12:05:12 -07:00
Adrian Sampson
2d20e3582b typo: >=, not > 2012-04-01 20:58:49 -07:00
Adrian Sampson
44bcc5b3bd chroma: "beet submit" command (#332) 2012-04-01 20:41:27 -07:00
Adrian Sampson
01dce53212 store Acoustid data in DB & file
This is accomplished via a new event, "import_task_apply", which is called
right after metadata is applied to newly-imported items.

This change makes chroma REQUIRE a new version (0.6) of pyacoustid. Users with
older versions installed will see complaints about a missing method
"fingerprint_file".
2012-04-01 19:38:46 -07:00
Adrian Sampson
82a4bafc3e chroma: fingerprint when task begins
The old "caching"-based approach to fingerprinting was kinda hacky to begin
with. Now, the chroma plugin has an explicit opportunity (in the form of a new
event) to perform its initial fingerprinting and lookup for all tracks. Then,
this information is used explicitly during the autotagging phase rather than
being used transparently through memoization of the lookup function.
2012-04-01 18:55:14 -07:00
Adrian Sampson
aeeb040fe4 chroma: more logging on match failure 2012-04-01 17:55:30 -07:00
Adrian Sampson
2466305d7e add MusicBrainz collection plugin by @jeffayle 2012-03-23 11:34:57 -07:00
Adrian Sampson
9befb94561 -n option for random command (#24) 2012-03-23 10:33:44 -07:00
Adrian Sampson
7e6cdd75d6 docs & changelog for rdm plugin 2012-03-23 10:26:50 -07:00
Adrian Sampson
fc45e5fb97 Merge pull request #24 from phmongeau/random_plugin
add random plugin
2012-03-23 10:15:56 -07:00
Adrian Sampson
22e8695172 BPD: use playbin2 instead of playbin (#364) 2012-03-21 14:25:01 -07:00
Philippe Mongeau
bdef5ef152 add random plugin 2012-03-20 22:10:43 -04:00
Adrian Sampson
af0da7d1b6 m3uupdate docs, changelog, and cleanup (#23) 2012-03-18 16:42:12 -07:00
kraymer
f670fc87ab add 'm3uupdate' plugin 2012-03-17 12:12:12 +01:00
Adrian Sampson
3ffbe171e5 lyrics: detect missing lyrics in lyrics.com result 2012-03-10 12:40:19 +00:00
Adrian Sampson
c65b237b99 lyrics: resolve   entity 2012-03-10 12:37:57 +00:00
Adrian Sampson
5befad8ba0 lyrics safely decoded from bytes 2012-03-10 12:33:19 +00:00
Adrian Sampson
2d3c9d9f9a suppress more pylast errors (#349) 2012-02-26 17:57:40 -08:00
Adrian Sampson
8fca659392 log errors when fingerprinting fails 2012-02-26 17:51:19 -08:00
Adrian Sampson
8d9c324b61 fix unicode encoding for lyrics requests (#350) 2012-02-26 12:54:27 -08:00
Simon Chopin
52a34c7510 Fix the list command in BPD
The cmd_list method wasn't a generator as run() expected, but instead
loaded directly the data onto the connection withoutactually sending it.
2012-02-17 20:15:25 +01:00
Adrian Sampson
74f14a7aeb fix plugin errors with missing sections 2012-01-31 18:52:27 -08:00
Adrian Sampson
eb8b194508 handle acoustid response w/ no recording (#322) 2012-01-29 17:50:03 -08:00
Adrian Sampson
7b265e353d print a better error for exceptions raised from inline snippets 2012-01-29 13:27:47 -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
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
347a29b0f6 rewrite plugin
--HG--
rename : docs/plugins/inline.rst => docs/plugins/rewrite.rst
2012-01-16 20:48:23 -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
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
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
0cc92e482b remove lastid plugin 2011-12-17 22:05:11 -08:00
Adrian Sampson
fed9e206c0 sync with latest bluelet version (824609773a85) 2011-12-14 14:11:49 -08:00
Adrian Sampson
59b4338f81 fix BPD lsinfo results for libmpc (#277) 2011-12-14 14:04:00 -08:00
Adrian Sampson
def0f2c0e5 update lastid plugin for Album/TrackInfo objects
The plugin's deprecated, but there's no reason not to keep it in working order
with the recent changes to the autotagging workflow.
2011-12-06 18:32:27 -08:00
Adrian Sampson
82367e9067 cleanup for partial match feature (#260)
- Plugins are sent the unadulterated, None-ridden ordered items lists. Changed
  the lastid plugin to accommodate this.
- Make colorization optional in partial album warnings.
- Fix some tests.
2011-12-01 14:03:32 -08:00
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
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
6f5beff8e0 use non-minified JavaScript libraries (#259) 2011-11-23 18:26:08 -08:00
Adrian Sampson
99bb4df94b check for releases in acoustid result (fixes #252) 2011-11-19 17:55:19 -08:00
Adrian Sampson
1219c9c0fb remove some dead code from replaygain 2011-11-13 15:54:08 -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
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
604a7d5aa0 removed basically unused Last.fm/MBID logic 2011-10-23 16:01:55 -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
b62b462b1e file-based genre whitelist & cleanup
--HG--
rename : beetsplug/lastgenre.py => beetsplug/lastgenre/__init__.py
2011-10-07 12:51:38 -07:00
kraymer
0805e50a13 fixes initialization of the whitelist when no genre specified in the config 2011-09-24 23:56:48 +02:00
kraymer
35a06e6b62 add a config parameter to lastgenre plugin allowing to define a genres whitelist 2011-09-24 23:31:15 +02:00
Adrian Sampson
21d919fbd0 share last.fm API key among plugins 2011-09-23 12:37:56 -07:00
Adrian Sampson
d6431b992e lastgenre plugin (#139) 2011-09-23 12:33:47 -07:00
Adrian Sampson
f48fefdf61 merge 2011-09-18 15:39:38 -07:00
Adrian Sampson
6fbe69d454 spelling errors in comments 2011-09-18 13:00:36 -07:00
Adrian Sampson
521131bc2b screenshot image and syntax cleanup 2011-09-17 15:32:27 -07:00
Adrian Sampson
9348c6a2b8 port and host options for web plugin 2011-09-16 12:00:05 -07:00
Adrian Sampson
9d1870af16 fix reference to old greenlet client 2011-09-05 13:06:01 -07:00
Adrian Sampson
05aa907e23 move player to the left 2011-08-08 18:41:25 -07:00
Adrian Sampson
4dc020e4a7 show a few more file details 2011-08-08 16:38:02 -07:00
Adrian Sampson
8e0638512d automatically play next track 2011-08-08 16:27:28 -07:00
Adrian Sampson
7a28dcecb0 player improvements: double-click to play; visual indicator 2011-08-08 16:19:22 -07:00
Adrian Sampson
b6ac0e4d36 replace audio.js with a hand-rolled player 2011-08-08 15:11:49 -07:00
Adrian Sampson
952dbad142 in-page media player using audio.js 2011-08-07 10:30:44 -07:00
Adrian Sampson
ba45cf6964 show more detail about items 2011-08-07 01:08:08 -07:00
Adrian Sampson
e06f3247fd UI tweaks 2011-08-07 00:42:24 -07:00
Adrian Sampson
586371a4e2 show detail for selected item 2011-08-07 00:30:57 -07:00
Adrian Sampson
e8baeb0c07 a little style for the web interface 2011-08-06 23:56:40 -07:00
Adrian Sampson
568683af21 basic Backbone.js-based frontend 2011-08-06 11:20:17 -07:00
Adrian Sampson
8493909a81 albums and queries in web plugin 2011-08-06 09:52:22 -07:00
Adrian Sampson
c11c7fe4cc playing around with a Web API 2011-08-05 17:35:47 -07:00
Adrian Sampson
3b2ea5d289 add a missing __future__ import in embedart 2011-07-10 12:07:52 -07:00
Adrian Sampson
f53a06ddf1 merge 2011-07-07 08:33:33 -07:00
Adrian Sampson
fed8782ca1 fix Unicode queries from CLI arguments 2011-07-01 15:43:06 -07:00
Adrian Sampson
a448879ca9 infer album artist or VA for as-is imports (#161) 2011-06-29 10:36:07 -07:00
Adrian Sampson
fcc2744ac5 use separate shell arguments for queries to preserve whitespace 2011-06-26 00:12:45 -07:00
Adrian Sampson
7310e9ea10 fix playlist versioning & directory recursion in BPD 2011-05-07 12:08:13 -07:00
Adrian Sampson
e5e11503ad a couple more cursor closings 2011-05-05 18:26:29 -07:00
Adrian Sampson
8341dee3ab reorder items() and albums() parameters to reflect common use 2011-05-05 17:20:24 -07:00
Adrian Sampson
3e90579a6c BPD uses new VFS as a backend (#131) 2011-05-05 17:00:05 -07:00
Adrian Sampson
61a037af6f add "album art" to info plugin 2011-05-01 13:33:40 -07:00
Adrian Sampson
a0e7c70c64 "clearart" command for removing embedded album art 2011-04-27 10:37:46 -07:00
Adrian Sampson
73c4bedc41 simplify MediaFile art interface: no type is included
The interface no longer specifies the type of the image embedded in the file; it
just returns a bytestring blob. When a type must be stored, it is inferred using
the imghdr module, which shoudl reduce the potential for weird bugs when the
formats don't correspond.
2011-04-27 10:27:26 -07:00
Adrian Sampson
30080bc520 fix memory leak in bluelet, syncing with latest source (#151) 2011-04-21 21:40:28 -07:00
Adrian Sampson
2c81b40952 make bluelet resilient to "broken pipe" errors (client disconnects) 2011-04-21 20:50:26 -07:00
Adrian Sampson
072680e894 "profile" command in BPD for memory debugging 2011-04-21 20:31:44 -07:00
Adrian Sampson
2768e71c21 config option for disabling automatic embedding 2011-04-21 01:42:08 -07:00
Adrian Sampson
e8d54af9df NEWS note; check for missing art when extracting 2011-04-21 01:33:56 -07:00
Adrian Sampson
415fe0be31 "embedart" and "extractart" commands 2011-04-21 01:20:50 -07:00
Adrian Sampson
866c662014 use imghdr directly instead of MIME lib (which uses imghdr) 2011-04-21 00:42:16 -07:00
Adrian Sampson
c20ce11a8c update album art embed plugin for new API
--HG--
rename : beetsplug/embedcoverart.py => beetsplug/embedart.py
2011-04-21 00:01:34 -07:00
Adrian Sampson
a1996472e8 close gstreamer pipeline after each track
(*maybe* addressing BPD memory leak)
2011-04-20 10:34:44 -07:00
Adrian Sampson
a0e0104d83 clean up some log handler addtions 2011-04-15 12:30:12 -07:00
Adrian Sampson
6ba433e3b1 fix track query syntax
It turns out the documentation for MB was wrong here:
http://wiki.musicbrainz.org/XMLWebService#Searching_Tracks
At the time that I read it, at least, that said the field for track title was
named "title". It's actually named "track".
2011-04-13 21:33:37 -07:00
Adrian Sampson
f567c505d8 plugin item candidates, including lastid support for singletons 2011-04-13 21:20:21 -07:00
Adrian Sampson
88fd6c604c merge event fix from Lugoues 2011-04-10 22:22:16 -07:00
Adrian Sampson
e669868896 move a bunch of functions to util 2011-04-10 21:48:05 -07:00
Peter B
9df548c738 updated embedcoverart plugin for album_imported change 2011-04-11 00:23:54 -04:00
Adrian Sampson
2aa9a17fb3 rename albumart_data to albumart; fix indentation 2011-04-10 12:11:22 -07:00
Daniele Sluijters
00c5a275a4 *facepalm* and fix some Engrish. 2011-04-10 16:12:21 +02:00
Daniele Sluijters
1859375593 Only try to add albumart if the MIME-type is correct, log if it's not. 2011-04-10 14:54:32 +02:00
Daniele Sluijters
0628d8df0e Add initial version of the embed coverart plugin.
This plugin allows users to embed the cover into the audio file.
Probaly still has a few bugs but it should work in most cases right
now.
2011-04-10 14:51:01 +02:00
Adrian Sampson
bb8ebd24b0 fix adding tracks in BPD 2011-04-09 10:44:56 -07:00
mdecker
4eead8d846 fix divzero error in distance debug output in lastid plugin 2011-04-04 20:52:06 +02:00
mdecker
4d571b2281 fix lastid plugin breakage introduced in f256726 2011-04-04 11:22:31 +02:00
Adrian Sampson
379b998a02 merge 2011-04-02 22:38:28 -07:00
Adrian Sampson
effc338957 "info" command for dumping file metadata 2011-04-02 19:59:22 -07:00
Adrian Sampson
5f993a0bfe BPD now lists albumartists instead of artists, works with VA releases 2011-04-02 18:49:15 -07:00
Adrian Sampson
945e253c2f fix artist field in BPD file browser 2011-02-07 19:47:23 -08:00
Adrian Sampson
9d3eaa5b05 remove albumify plugin (it's been a while since beta 3) 2011-01-24 19:43:27 -08:00
Adrian Sampson
20fe707a09 change BPD browser to use albumartist instead of artist 2011-01-24 16:08:04 -08:00
Adrian Sampson
2ed72f796a preliminary replacement of eventlet with my own bluelet library in BPD 2011-01-02 18:46:03 -08:00
Adrian Sampson
5cab0ede24 fix lastid bug when plurality artist name was None 2010-10-10 12:37:45 -07:00
Adrian Sampson
c885b7b2b5 use logging a bit more instead of print_ 2010-09-28 10:40:44 -07:00
Adrian Sampson
86d9d75db4 outdated reference to _ie_dist 2010-09-22 19:59:08 -07:00
Adrian Sampson
a5cc58e228 merge 2010-09-21 10:41:48 -07:00
Adrian Sampson
ed89394368 mpdupdate plugin (and config system for plugins) 2010-09-21 10:40:39 -07:00
Adrian Sampson
751a46c716 more efficiently limit the number of results returned from MB 2010-09-18 11:01:20 -07:00
Adrian Sampson
4adb76bb65 fix parsing of escaped characters in MPD commands 2010-09-16 23:06:33 -07:00
Adrian Sampson
fc6f6750f7 more tag_album refactoring; typo fixed in lastid 2010-09-16 12:56:53 -07:00
Adrian Sampson
8b02dd176c lastid plugin can now generate its own candidates
That is, in addition to contributing to the distance function, the plugin can
also influence the initial search into MusicBrainz. This will allow albums to be
tagged even when they're missing metadata entirely. This change required a
significant bit of refactoring to the "mb" module -- it's much nicer now.
2010-09-16 12:27:04 -07:00
Adrian Sampson
4d978f3541 album-level distance function in lastid plugin
This involves yet another new plugin method: album_distance. This leaves as the
last major puzzle piece for lastid the ability to augment the initial search
into MB (i.e., can start a search using fingerprinted metadata).
2010-09-14 14:42:51 -07:00
Adrian Sampson
99cd36e34f weighting for fingerprinted metadata 2010-09-14 11:16:13 -07:00
Adrian Sampson
b7518038be fingerprinting track distance based on MB track IDs 2010-09-14 11:08:16 -07:00
Adrian Sampson
fba874932c beginnings of last.fm fingerprinting plugin for autotagger
This required the introduction of a track_distance method on plugins. We'll also
need to add an album_distance method as well as a mechanism for extending the
search routine (so we can search for albums in MusicBrainz even when they have
no tags). This commit also adds the '-v' flag for printing debug logs (something
we should do more of).
2010-09-13 21:14:49 -07:00
Adrian Sampson
514d1bc706 fixed silly error when listing tracks in BPD 2010-08-09 21:57:06 -07:00
Adrian Sampson
5b2653bb53 albumify plugin for upgrading old databases 2010-07-22 10:52:43 -07:00
Adrian Sampson
6754155c71 Albums now have an internal cache of their values
This makes way more sense than fetching every metadata request from the
database. The performance of "beet ls -a" and the like should be drastically
better.
2010-07-21 16:04:59 -07:00
Adrian Sampson
cc3ec0d8aa albums() browse function now returns Album objects
As part of this, the BaseLibrary class was also adapted to include a notion of
albums. This is reflected by the new BaseAlbum class, which the Album class
(formerly _AlbumInfo) completely replaces in the concrete Library. The BaseAlbum
class just fetches metadata from the underlying items.
2010-07-21 15:02:08 -07:00
Adrian Sampson
6c0895de96 make sure beetsplug is loaded as a namespace package 2010-07-20 23:15:19 -07:00
Adrian Sampson
f8c317a2cd undefined variable reported by pylint 2010-07-09 18:16:40 -07:00
Adrian Sampson
6e90009b07 remove outdated references to beets.player module 2010-07-09 18:12:18 -07:00
Adrian Sampson
8ccc8e1ccd move bpd and dadd commands to plugins
--HG--
rename : beets/player/bpd.py => beetsplug/bpd/__init__.py
rename : beets/player/gstplayer.py => beetsplug/bpd/gstplayer.py
rename : beets/device.py => beetsplug/device.py
2010-07-08 17:09:07 -07:00
Adrian Sampson
78efe771b1 extremely simple plugin system with discovery 2010-07-08 16:35:15 -07:00