Adrian Sampson
cabf287962
autotagger now imports tracks as albums; actually gets album art
2010-07-14 22:52:13 -07:00
Adrian Sampson
6b99e3f48d
importer now takes album art config options and switch
...
(doesn't yet actually apply art)
2010-07-14 14:58:17 -07:00
Adrian Sampson
4f1b55f7a9
avoid long database locks by storing items at the end of AlbumInfo.move
2010-07-14 14:38:42 -07:00
Adrian Sampson
6a3c024005
add_art convenience function takes care of copying to destination
2010-07-14 14:28:54 -07:00
Adrian Sampson
304e4d6708
albums move and remove their items, manage album art
2010-07-14 14:19:51 -07:00
Adrian Sampson
19ded256cd
albums query and modify their associated items
2010-07-14 13:24:11 -07:00
Adrian Sampson
3006f9953c
beginnings of explicit album management
2010-07-14 12:40:25 -07:00
Adrian Sampson
fe892cc268
attempt at managing album info table in Python instead of with triggers
...
I think this is the end of the road for the design that treats albums as a
lightweight hanger-on to items. That is, we attempted to keep the interface
strictly item-focused; album information was created and deleted on the fly in
response to creation and deletion of items. I now believe that this was
ultimately a bad idea and can only lead to unexpected behavior and complex
implementation. It's time to start over.
2010-07-14 11:55:19 -07:00
Adrian Sampson
5335bc6b8a
log a message when no art is found
2010-07-14 00:01:54 -07:00
Adrian Sampson
54df8a7b43
config option and negative flag for getting art (defaults to true)
2010-07-13 23:54:47 -07:00
Adrian Sampson
e7e7ee64b0
albuminfo() can now take an album id as well as an item
2010-07-13 23:43:49 -07:00
Adrian Sampson
a49ebc853a
autotagger -r switch now fetches and places album art
2010-07-13 22:34:52 -07:00
Adrian Sampson
5bb064a860
configurable album art path construction
2010-07-13 22:00:42 -07:00
Adrian Sampson
722e0ea2b7
AlbumInfo implementation now uses opaque "ident" field (concretely: row id)
...
--HG--
extra : transplant_source : %F42%F7k%7F%23%3EY%8E1%C2%9B%B9%1DR%1C%28w%AEm
2010-07-13 21:22:55 -07:00
Adrian Sampson
f1870b7941
AlbumInfo implementation now uses opaque "ident" field (concretely: row id)
2010-07-13 21:22:55 -07:00
Adrian Sampson
dd0c70e01c
add triggers for dropping album entries consistently with items
2010-07-13 21:14:11 -07:00
Adrian Sampson
5096a12052
basic (non-collected) implementation of albums table
2010-07-13 19:42:45 -07:00
Adrian Sampson
bdbabe91da
basic album information access through proxy object
2010-07-13 18:01:14 -07:00
Adrian Sampson
84f5577121
comment and docstring cleanup
2010-07-13 17:27:50 -07:00
Adrian Sampson
5d4f452393
add "albums" table to library database (including migrations)
2010-07-13 10:25:42 -07:00
Adrian Sampson
6394371628
better names for KEYS constants
2010-07-13 10:04:17 -07:00
Adrian Sampson
529d2b1c49
start cleanup of field definitions
2010-07-12 18:14:20 -07:00
Adrian Sampson
57fa6139f7
clean up code for art fetcher; add unit tests
2010-07-12 17:49:23 -07:00
Adrian Sampson
55035c9a72
nascent album art fetcher (based on MB-reported Amazon IDs)
2010-07-12 00:05:53 -07:00
Adrian Sampson
34e9923669
fixed situation where the MusicBrainz match duplicated a metadata match
2010-07-11 19:22:22 -07:00
Adrian Sampson
30669fd7ac
replace :s with -s instead of _s in path names
2010-07-11 19:12:50 -07:00
Adrian Sampson
ca48d88598
couple of outdated tests: mock Items didn't have MB fields
2010-07-11 18:19:27 -07:00
Adrian Sampson
4378db1361
more characters escaped on Windows
2010-07-11 18:14:40 -07:00
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