Commit graph

2751 commits

Author SHA1 Message Date
yoasif
54a34a77f0 Slight grammar improvement 2013-12-26 23:58:09 -05:00
yoasif
8eb30f77f0 Added instructions on how to run manually from CLI 2013-12-26 23:54:33 -05:00
Adrian Sampson
cc5e3d489c item templates can use album flexattrs (fix #461) 2013-12-25 15:49:51 -08:00
Adrian Sampson
da794ffc44 remove vestigial plugin hooks
These have been superseded by the new function-based approach.
2013-12-25 00:37:04 -08:00
Adrian Sampson
925a6178ba expunge pathmod parameter
I started using this a long time ago as a misguided attempt to make
path-related functions more testable. Harnessing is better.
2013-12-25 00:35:01 -08:00
Adrian Sampson
d6ff4308f9 fix tests for new path formatting
Slowly expunging the terrible idea that was `pathmod`...
2013-12-25 00:28:26 -08:00
Adrian Sampson
a9faa9bf74 restore correct formatting of paths
- don't sanitize paths (this is already done separately)
- album.path (or album['path']) is now an alias for album.item_dir(), which
  restores the formatting of $path in templates
2013-12-25 00:00:12 -08:00
Adrian Sampson
d752014708 shared formatting/templating logic 2013-12-24 23:50:24 -08:00
Adrian Sampson
141f29aad9 replace old add methods with unified logic 2013-12-24 22:28:01 -08:00
Adrian Sampson
b9d503f846 new Model.add() method
This will replace most of the functionality of Library.add and
Library.add_album, completing the set of CRUD methods available on Model
classes.
2013-12-24 16:45:13 -08:00
Adrian Sampson
3e59c158ff enable queries over computed attributes
This makes containment (field in obj) work with all attributes even though
other dict-like methods for iterating over the object don't expose computed
fields by default. I think this is the right compromise to avoid accidental
eager evaluation of computed fields.
2013-12-24 15:30:39 -08:00
Adrian Sampson
b38812b452 collapse model base classes
The artificial separation was hurting legibility/maintainability more than it
was helping.
2013-12-24 15:20:52 -08:00
Adrian Sampson
13b1e0f115 first stab at computed fields
The idea is to have uniform access to plugin-provided (computed) fields of
items and albums. This also permits queries over these computed fields.
2013-12-24 14:52:40 -08:00
Adrian Sampson
b87de00ba4 Added tag v1.3.2 for changeset d3bb90ef6bc7 2013-12-22 16:18:02 -08:00
Adrian Sampson
aeb9afdbb5 1.3.2: finish up changelog 2013-12-22 16:17:02 -08:00
Adrian Sampson
f9b978a1c7 docs: link to mailing list, not me directly
It's about time for beets to "grow up" as an open-source project and to be
more owned by the community rather than just by me alone. Questions should go
to the hive mind. :)
2013-12-22 13:52:02 -08:00
Adrian Sampson
888f76a631 merge 2013-12-22 13:44:37 -08:00
Adrian Sampson
0852f8ff4a docs: "using plugins" section
Plugin pages can now link to :ref:`using-plugins` for instructions.
2013-12-22 13:41:41 -08:00
Adrian Sampson
638b2e3321 organize 1.3.2 changelog 2013-12-22 13:14:53 -08:00
Adrian Sampson
5d55c21c38 changelog for scrub mp4 fix 2013-12-22 12:49:06 -08:00
Adrian Sampson
8a105b0cb9 Merged in yevgenybezman/beets/scrub-add-mp4 (BB pull request 1)
scrub: Added MP4 support to scrub plugin
2013-12-22 12:47:34 -08:00
Yevgeny Bezman
7310f0a371 scrub: Added MP4 support to scrub plugin
--HG--
branch : scrub-add-mp4
2013-12-22 22:04:47 +02:00
Adrian Sampson
3e1be1346a deprecate old echonest_tempo plugin 2013-12-18 16:26:29 -08:00
Adrian Sampson
a9b4169ee2 zero out month & day when missing from match 2013-12-18 16:20:40 -08:00
Adrian Sampson
938563e287 echonest: get audio_summary in search (fix #481) 2013-12-18 12:35:31 -08:00
Adrian Sampson
5e405f6b84 Merge pull request #480 from fortes/patch-1
Don't try to parse None as HTML when fetching lyrics
2013-12-18 12:04:45 -08:00
Adrian Sampson
5fb7c424ad use canonical parent, not base tag (#478) 2013-12-18 12:01:55 -08:00
Filipe Fortes
0824ccb85f Don't try to parse None as HTML when fetching lyrics
Fixes #479
2013-12-18 07:37:01 -08:00
Adrian Sampson
3338ef2ff2 lastgenre: multiple + canonical genres (fix #478) 2013-12-17 17:29:37 -08:00
Adrian Sampson
6ab0abfa90 detect missing echonest fingerprints (fix #477) 2013-12-17 17:18:16 -08:00
Adrian Sampson
16a6138f33 Merge branch 'master' of github.com:sampsyo/beets 2013-12-17 17:13:21 -08:00
Adrian Sampson
e830ea355a Merge pull request #474 from kljohann/mpdstats_typo
mpdstats: fix typo/bug
2013-12-14 09:02:01 -08:00
Johann Klähn
0bb395fa8c mpdstats: fix typo/bug 2013-12-14 12:11:18 +01:00
Adrian Sampson
d0e53d48b3 echonest: tiny py26 fix 2013-12-12 15:50:08 -08:00
Adrian Sampson
19868946d5 mpdstats refactor: comments/credit 2013-12-12 15:47:26 -08:00
Adrian Sampson
5b59330179 Merge pull request #472 from kljohann/mpdstats_refactor
Refactor mpdstats plugin
2013-12-12 15:43:14 -08:00
Johann Klähn
159a67e30f mpdstats: reload item before calculations
As mpdstats is a long running process the value of one of the attributes
may have changed since the song started to play (f.ex. through a manual
update using `modify`).
2013-12-12 08:29:01 +01:00
Johann Klähn
df274e2b15 mpdstats: refactor plugin 2013-12-12 08:29:01 +01:00
Johann Klähn
ad2028ddf7 mpdstats: do not call item.write
The attributes used by this plugin are not 'writable'[^1] anyway so this
leads to needless file access. Also we do not need to check for
`item._lib` as this will always be populated by the call to
`lib.items(...)`.

[^1]: As per `ITEM_KEYS_WRITABLE` in `beets/library.py`
2013-12-12 08:23:33 +01:00
Adrian Sampson
1066c79b56 simplify path type coercion in MatchQuery (#470) 2013-12-11 16:03:29 -08:00
Adrian Sampson
69e6ef7633 Merge pull request #471 from kljohann/matchquery_path
fix MatchQuery('path', ...) for unicode value
2013-12-11 15:59:45 -08:00
Adrian Sampson
c6c3f7ea0b Merge pull request #470 from kljohann/mpdstats_expand
expand '~' in host in mpdstats
2013-12-11 15:57:41 -08:00
Johann Klähn
c539c36886 fix MatchQuery('path', ...) for unicode value 2013-12-11 12:18:13 +01:00
Johann Klähn
97e4ccbbd9 expand '~' in host in mpdstats 2013-12-11 12:04:39 +01:00
Adrian Sampson
15b6433db0 echonest: docs pass 2013-11-29 19:21:59 -08:00
Adrian Sampson
4ea5ed9eed echonest: always flatten results to dict
This avoids the need for two cases (song object or dict) in parts of the code.
2013-11-29 12:58:46 -08:00
Adrian Sampson
5e08c178e6 echonest: fix codegen/identify
I broke two things:
- forgot to return the fingerprint! oops
- need to handle raw Exception raised by pyechonest
2013-11-29 10:09:09 -08:00
Adrian Sampson
9bcd7aecae echonest: clean up FFmpeg-based audio conversion
subprocess.check_call helps a lot here.

--HG--
extra : amend_source : 009a79de8f97407fc60b62aa6b7bd23856286082
2013-11-27 19:09:54 -08:00
Adrian Sampson
a0056afeaf echonest: clean up analyze workflow
- handle the right exceptions
- add duration to from_track dict
2013-11-27 18:57:29 -08:00
Adrian Sampson
6b54514c65 echonest: simplify fingerprinting strategy
mostly expunging exception-based control flow
2013-11-27 18:35:21 -08:00