Adrian Sampson
2871660ab7
NEWS note about MB IDs
2010-07-10 23:35:25 -07:00
Adrian Sampson
7142a14cf4
track ID matches now give candidates a distance bonus
2010-07-10 20:57:05 -07:00
Adrian Sampson
045481253f
autotagger now uses MusicBrainz IDs to match quickly
2010-07-10 20:49:59 -07:00
Adrian Sampson
274118dc10
identify albums by existing MB album ID
2010-07-10 20:10:34 -07:00
Adrian Sampson
3d88bbfa96
split autotag tests into autotag (fast) and mb (slow) modules
...
--HG--
rename : test/test_autotag.py => test/test_mb.py
2010-07-10 19:26:35 -07:00
Adrian Sampson
3ce936701a
autotagger now applies MusicBrainz IDs
2010-07-10 18:24:29 -07:00
Adrian Sampson
aec7bef504
add MusicBrainz ID fields to database schema
2010-07-10 17:53:51 -07:00
Adrian Sampson
f4d7d68e57
rudimentary migration (column adds only) support
2010-07-10 17:37:33 -07:00
Adrian Sampson
ac98777adc
MediaFile support for MusicBrainz track, album, and artist IDs
2010-07-10 14:05:01 -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
a91ea35517
misc. overdue code cleanup
2010-07-09 18:07:15 -07:00
Adrian Sampson
56adb7ed65
NEWS note about plugins
2010-07-08 17:23:28 -07:00
Adrian Sampson
7cdcc9a277
add config option for importing additional plugins
2010-07-08 17:18:43 -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
Adrian Sampson
e834ffd44f
make test suite runnable with "setup.py test"
2010-07-08 11:07:56 -07:00
Adrian Sampson
1ccc3bd6b9
improve readme/description using ReST; add trove classifiers
2010-07-08 10:43:55 -07:00
Adrian Sampson
5c0d1ec776
Added tag 1.0b1 for changeset c367859a82b9
2010-07-08 09:47:32 -07:00
Adrian Sampson
9c7c0a357b
Added tag 1.0b2 for changeset 86681cf6e45c
2010-07-08 09:43:09 -07:00
Adrian Sampson
cfece68a4f
add ui to setup.py packages list
2010-07-07 08:51:18 -07:00
Adrian Sampson
ca7484e4a4
adding commands.py, which I meant to add several commits ago :(
2010-07-06 18:36:54 -07:00
Adrian Sampson
1c54b161d7
fix detection of missing commands
2010-07-05 21:34:46 -07:00
Adrian Sampson
909b50e3c3
fixed: BPD debug mode log messages were always double-printed
2010-07-05 21:25:32 -07:00
Adrian Sampson
83dc838173
fix print_ for empty strings
2010-07-05 21:23:48 -07:00
Adrian Sampson
a0bf6112ae
remove dead code: add_path
2010-07-05 21:15:28 -07:00
Adrian Sampson
75ec3fda86
some very basic UI unit tests (for "list" only, for now)
2010-07-05 19:58:30 -07:00
Adrian Sampson
69b702690d
add note on CLI code reorganization
2010-07-05 17:58:52 -07:00
Adrian Sampson
3874afbaf8
let print_ take multiple arguments (just like print) -- thanks, Marty!
2010-07-05 17:56:44 -07:00
Adrian Sampson
9aa13312d3
new UserError exception for reporting errors to the user
2010-07-05 17:38:45 -07:00
Adrian Sampson
2719d4b5ec
reorganize commands.py into sections for each subcommand
2010-07-05 17:27:07 -07:00
Adrian Sampson
72cc9cbf90
decentralize configuration defaults
2010-07-05 17:16:58 -07:00
Adrian Sampson
402e2a1c61
split ui module into core and subcommands modules
...
--HG--
rename : beets/ui.py => beets/ui/__init__.py
2010-07-05 17:04:14 -07:00
Adrian Sampson
e84b1e3cd8
reorganize configuration function
2010-07-05 16:36:27 -07:00
Adrian Sampson
a7868f0d6a
moved root parsr and main function to ui module
2010-07-05 16:28:26 -07:00
Adrian Sampson
f06b1a5f4c
give Subcommand constructor a default value for parser
2010-07-05 16:22:14 -07:00
Adrian Sampson
2ca121cb03
preliminary reorganization of CLI code; remove cmdln module dependency
2010-07-05 16:18:23 -07:00
Adrian Sampson
e50a26e8a4
correctly handle directories passed to import
...
When autotagging, die with an error if given a non-directory. When not
autotagging, just import the single file.
2010-07-04 00:04:28 -07:00
Adrian Sampson
4dcbb38d78
log a warning instead of silently ignoring corrupt files
2010-07-03 23:55:27 -07:00
Adrian Sampson
40a965ea18
detect unreadable files that seem to be of the correct type
...
In the case that Mutagen throws an exception while trying to read a file, we
throw an UnreadableFileError, which is a new superclass for FileTypeError.
2010-07-03 23:44:28 -07:00
Adrian Sampson
37da0f4d49
note about fixed -A switch; bumped version to 1.0b2
2010-07-03 23:05:12 -07:00
Adrian Sampson
e8d14e461b
when importing without autotagging, don't bother identifying albums
2010-07-03 23:02:18 -07:00
Adrian Sampson
9c3db1e0b9
encode all terminal output, silently replacing unsupported characters
...
On terminals where the LANG environment variable didn't list UTF-8 as the
terminal's character encoding, the Python print statement throws an error when
it encounters a character that can't be encoded. So now we manually use the
"replace" policy for all output to the terminal.
2010-06-27 20:32:00 -07:00
Adrian Sampson
c76ddd7da8
fix error when no logfile is given
2010-06-27 20:04:59 -07:00
Adrian Sampson
76f52f9ea6
add a note about import log option
2010-06-27 01:38:44 -07:00
Adrian Sampson
93077c8410
added basic logging during imports
...
Just prints "skip" or "asis" followed by the album path for each untaggable
album.
2010-06-27 01:24:15 -07:00
Adrian Sampson
4be6edab7b
read-only metadata (length & bitrate) support for ogg and ape
2010-06-26 11:01:48 -07:00
Adrian Sampson
cd9cfbe6fc
refactor generated and specific mediafile tests into separate modules
...
--HG--
rename : test/test_mediafile.py => test/test_mediafile_basic.py
2010-06-26 10:52:39 -07:00
Adrian Sampson
ae3c42af05
note about new formats in NEWS
2010-06-26 02:27:58 -07:00
Adrian Sampson
3e23b412f4
a few more fields for Monkey's Audio support
2010-06-26 02:24:48 -07:00