Commit graph

304 commits

Author SHA1 Message Date
Philippe Mongeau
e80dce6930 fuzzy: use the new print_obj function 2012-10-21 11:29:21 -04:00
Jakob Schnitzer
54f29812cf convert: fix breakage due to recent API changes 2012-10-21 13:35:41 +02: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
9368075756 replaygain: reinstate albumgain config option 2012-10-20 16:49:52 -07:00
Adrian Sampson
848b56e54c replaygain: remove album noclip gain adjustment
as suggested by @kraYmer
2012-10-20 16:41:31 -07:00
Jakob Schnitzer
492f168124 convert: Fix problem with "threads" config option 2012-10-20 13:25:25 +02:00
Adrian Sampson
2c38c15fb8 replaygain: apply album gain in album mode 2012-10-18 11:33:13 -07:00
Jakob Schnitzer
58ba4b3d75 convert: fix album art embedding 2012-10-18 18:35:25 +02: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
1a261db918 replaygain: style and light refactoring 2012-10-17 21:47:17 -07:00
Adrian Sampson
95910a366b replaygain: run in import stage
This is the "new way" to post-process files on import (superseding the imported
events).
2012-10-17 21:43:27 -07:00
Adrian Sampson
3a4e1ca4f7 replaygain: add fields to Item
This has been a long time coming, but we now finally keep track of ReplayGain
values in the database. This is an intermediate step toward a refactoring of the
RG plugin; at the moment, these values are not actually saved!
2012-10-17 20:28:24 -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
3d68cf5deb replaygain: fix album nopeak adjustment
Removed the second tool invocation. We now adjust the album-level gain based on
track peaks in one fell swoop. Based on help from Fabrice via email.
2012-10-17 20:06:10 -07:00
Adrian Sampson
ce190fbe3b merge 2012-10-17 19:47:31 -07:00
Jakob Schnitzer
26dfe38bb0 convert: Write tags from library instead of copying them 2012-10-17 21:12:31 +02:00
Adrian Sampson
cc8ead7e34 convert: atomic mkdirall() call 2012-10-15 19:53:17 -07:00
Adrian Sampson
6115fba765 replaygain: calculate when any file needs calculation
This ensures accurate album-level data. It also fixes a problem with the old way
of doing things where the MediaFiles and tool results would become misaligned if
a subset of the tracks needed recalculation.
2012-10-15 14:54:06 -07:00
Adrian Sampson
672ac78e76 replaygain: write album-level tags 2012-10-15 14:42:28 -07:00
Adrian Sampson
9afaed534c refactor output parsing code to use a dictionary 2012-10-15 14:31:31 -07:00
Adrian Sampson
8de8777b7e replaygain: use log messages instead of prints 2012-10-15 12:19:14 -07:00
Adrian Sampson
4adc896a86 replaygain: consolidate command invocation code
Invocations of the mp3gain/aacgain commands are now wrapped in a centralized
function that takes care of output capture and error handling. This avoids code
duplication for the various sites at which the tool needs to be invoked.

This change also avoids unintentionally modifying tags via the command-line
tool. The "-s s" option makes the tool *just* calculate RG values rather than
toying with tags at all.
2012-10-15 12:14:35 -07:00
Adrian Sampson
df6c244381 replaygain: fix some spacing and error messages 2012-10-15 09:57:44 -07:00
Jakob Schnitzer
4ebc5237d0 replaygain: Fix TypeError if command option is not set 2012-10-15 16:23:03 +02:00
Adrian Sampson
f2ab26d6a4 mbcollection: change chunk size to 200 releases 2012-10-14 20:35:03 -07:00
Adrian Sampson
b1b4b39db7 merge 2012-10-14 14:16:52 -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
Fabrice Laporte
375137bc57 replaygain: fix aacgain waiting for user input by using -c switch to ignore clipping warnings 2012-10-13 11:35:24 +02: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
fcf5ec0b68 convert: low-level tweaks
Mainly adding some careful handling of paths (pass through displayable_path
before logging, etc.).
2012-10-12 22:19:27 -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
4ee39ed9da Forgot to actually call the function 2012-10-12 08:25:28 -04:00
Andrew G. Dunn
365fa4347e Added processor/thread detection, by default will now use maximum available processor count instead of 2. Idea adapted from soundconverter, credits in function. 2012-10-12 07:48:52 -04:00
Fabrice Laporte
ca6fd2ccf5 rgain: unclutter stdout 2012-10-12 08:54:35 +02:00
Fabrice Laporte
17842b8d0d rgain: fix computation on singleton import 2012-10-12 08:53:14 +02: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
115c0e7410 coonvert: make sure temporary are deleted if encoding is interrupted 2012-10-10 10:15:51 +02:00
Jakob Schnitzer
8f9b4f0362 convert: remove bloat that's not needed after the fix to pipeline 2012-10-09 23:11:05 +02:00
Adrian Sampson
1662f34528 "plugin is not configured" logged as debug message
@tezoulbr: I'm changing these to debug messages partially so they don't print
out when running the tests (with nose, for example) but also because it could
get a little annoying for someone who *intends* to use the defaults for one of
these plugins. Let me know if you disagree.
2012-10-09 10:47:19 -07:00
Jakob Schnitzer
a2ff20979f convert: Changed threading model to use beets.util.pipeline, fix embed 2012-10-09 14:05:54 +02:00
Jakob Schnitzer
b05fc8ef4f Merge branch 'convert' 2012-10-08 12:49:04 +02:00
Jakob Schnitzer
aa3a66daad Add option to disable embedding 2012-10-08 11:26:33 +02:00
Jakob Schnitzer
d1ab9267d0 Added lots of options, support MP3 as source 2012-10-07 22:19:15 +02:00
Matteo Mecucci
eebfaafe70 Small optimization in the fuzzy search plugin. 2012-10-07 22:02:43 +02:00
Jakob Schnitzer
3d580fc933 Added threads, cleaned up some of the code 2012-10-05 23:04:50 +02:00
Jakob Schnitzer
bbf974e581 First version of convert plugin 2012-10-05 20:56:59 +02: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
Blemjhoo Tezoulbr
a4033faf3b zero plugin: ver 0.10 - code cleanup 2012-10-05 00:47:46 +03:00
Jakob Schnitzer
ba140a3f97 Added command to the lastgenre plugin 2012-10-04 10:56:31 +02:00
Adrian Sampson
2793af7d70 zero, the: Python 2.6-compatible format strings 2012-09-25 15:13: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
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