Commit graph

3221 commits

Author SHA1 Message Date
geigerzaehler
694150410b Merge pull request #652 from geigerzaehler/item-write
Add path argument to item.write()
2014-04-04 19:30:44 +02:00
Yevgeny Bezman
cf49d88156 replaygain: clarified the need to strange thread initialization| 2014-04-04 20:20:14 +03:00
Yevgeny Bezman
d8c37d6ca3 replaygain: Added a FatalReplayGainError class to signal the plugin that the backend failed completely 2014-04-04 19:17:41 +02:00
Thomas Scholtes
a5bdbdcf7f Move available backends to class level
See also https://github.com/sampsyo/beets/issues/650
2014-04-04 19:17:41 +02:00
Thomas Scholtes
439fc1938f Remove debug print statements 2014-04-04 19:17:41 +02:00
Thomas Scholtes
89680d835a Refine docstrings and fix style issues (flake8) 2014-04-04 19:17:41 +02:00
Yevgeny Bezman
6aa1cc95cb replaygain: Improved error handling 2014-04-04 19:17:41 +02:00
Yevgeny Bezman
2d9f40d62d replaygain: fixed small errors introduced by previous refactor. Commented the code in key parts. 2014-04-04 19:17:41 +02:00
Yevgeny Bezman
71a447fac1 replaygain: Update documentation to include some info regarding the GStreamer backend 2014-04-04 19:17:41 +02:00
Adrian Sampson
08b2bff28d eliminate GStreamer globals and initialize_config 2014-04-04 19:17:41 +02:00
Adrian Sampson
2369122075 minor Python style; move namedtuples to module 2014-04-04 19:17:41 +02:00
Yevgeny Bezman
d2c6d00b7b replaygain: Added some informative prints, removed hardcoded debug print 2014-04-04 19:17:40 +02:00
Yevgeny Bezman
9581b91e10 replaygain: Added gstreamer support, fixed some small bugs 2014-04-04 19:17:40 +02:00
Yevgeny Bezman
86ee30df0d replaygain: modified current implementation to fit a backend framework in anticipation of other implementations 2014-04-04 19:17:40 +02:00
Thomas Scholtes
4970c1de5a Add tests for item.write() custom path 2014-04-04 15:19:32 +02:00
Thomas Scholtes
766c8b190b Add path argument to item.write()
Symmetrical to item.read(), this allows us to update the tags of files that are
not in the library. The motivation was this issue [1].

The commit also includes a nasty hack in the plugin code that prevents breaking
other plugins.

[1]: https://github.com/geigerzaehler/beets-check/issues/1
2014-04-04 14:56:10 +02:00
Thomas Scholtes
ee2cf0df8e Plugins can't extend MediaFile anymore
Backported from #607.
See https://github.com/sampsyo/beets/pull/607#issuecomment-38387100

This will be return in #644.
2014-04-04 14:28:47 +02:00
Thomas Scholtes
e62d36aa69 Remove lazy update from MediaFile 2014-04-04 13:40:10 +02:00
geigerzaehler
1d815b3734 Merge pull request #651 from sahandKashani/patch-1
bash completion documentation fix for GNU Bash-4.2
2014-04-04 11:45:51 +02:00
sahandKashani
3d675b2339 bash completion documentation fix for GNU Bash-4.2
In GNU Bash-4.2, I have to put quotes around the eval statement for the shell to correctly interpret the output of the beet completion command.
2014-04-04 09:28:53 +02:00
Adrian Sampson
fba8949e2f tox: pass args through to nosetests
This way, you get parallel testing by passing --processes=N.

You can get even more parallelism using detox:

$ detox -- --processes=4
2014-04-03 20:25:04 -07:00
Adrian Sampson
b1ae7cb692 whitespace fixes in util 2014-04-03 19:56:59 -07:00
Adrian Sampson
4e2b35f372 avoid use of deprecated os.popen 2014-04-03 19:54:15 -07:00
Adrian Sampson
c5174b3881 use command_output utility in echonest
That's the last direct use of the subprocess calls.
2014-04-03 19:51:50 -07:00
Adrian Sampson
d407db725f convert: catch OSErrors and display error message
This also adds close_fds (only available on Unixes) to the common subprocess
invocation utility.
2014-04-03 19:47:21 -07:00
Thomas Scholtes
eb4c323bcb Plugins can now extend MediaField 2014-04-04 00:48:29 +02:00
Thomas Scholtes
4b1a1e3d65 Remove ITEM_KEYS_WRITABLE 2014-04-04 00:03:40 +02:00
Thomas Scholtes
3c7dd13b72 Add Item.media_fields
This new property controls which fields to read from a media file.
2014-04-03 23:35:33 +02:00
Adrian Sampson
ac99622ec7 Merge branch 'single-files'
Conflicts:
	docs/changelog.rst
2014-04-03 13:20:53 -07:00
Adrian Sampson
7f9e301428 fix tests for cached weights loading 2014-04-03 13:17:38 -07:00
Thomas Scholtes
2011156f8b Add test case for single file import 2014-04-03 22:13:31 +02:00
Adrian Sampson
b814168fb6 Merge branch 'master' of github.com:sampsyo/beets 2014-04-03 13:01:05 -07:00
Adrian Sampson
729e001432 benchmark: customizable album ID 2014-04-03 13:00:20 -07:00
Thomas Scholtes
eaab0bcc6e Enable coverage with tox -e py27 2014-04-03 21:46:54 +02:00
Adrian Sampson
3372fd3066 avoid unnecessarily reloading weights (#609)
In my profiling runs, this was taking 80% of the matching time to recompute
exactly the same dict over and over. Worth optimizing.

`beet bench_match` went from 80 seconds to 17 seconds on my machine with this
change.
2014-04-03 12:13:29 -07:00
Kyle Konrad
7f3092ce5a four space indentation and assertGreater for __gt__ coverage 2014-04-03 12:04:51 -07:00
Adrian Sampson
9285f669e9 style fixes in match.py 2014-04-03 11:58:00 -07:00
Adrian Sampson
cd57c8da7f benchmarking for slow matches
Investigating #609. The culprit seems to be repeated reading of the config's
weight settings.
2014-04-03 11:56:26 -07:00
Thomas Scholtes
c4f0928bf5 Read custom fields into database 2014-04-03 14:01:56 +02:00
Thomas Scholtes
b262edd972 Migrate ITEM_KEYS_META 2014-04-03 14:01:56 +02:00
Thomas Scholtes
43ae730a6a Use readable_fields() to replace ITEM_KEYS_META 2014-04-03 14:01:56 +02:00
Thomas Scholtes
9474686d68 Use indexed format with python26 2014-04-03 14:01:56 +02:00
Thomas Scholtes
863b9fb4af MediaFile can be extended with custom fields 2014-04-03 14:01:55 +02:00
Thomas Scholtes
a2a8b244d7 Add LazySave tests for MediaFile 2014-04-03 14:01:55 +02:00
Thomas Scholtes
5b6305b610 Compute ITEM_KEYS_WRITABLE
See 65d64a7d50612df4ee6127ff05e591ae6fcceac0 why this is possible.
2014-04-03 14:01:55 +02:00
Thomas Scholtes
bedad53c27 Test that we can migrate ITEM_KEYS_WRITABLE
The test show that we can replace the hard-coded `ITEM_KEYS_WRITABLE` constant
with the computed value derived from `MediaField.fields()` and ITEM_KEYS. This
will be done in the next commit.
2014-04-03 14:01:55 +02:00
Thomas Scholtes
bcb72becf8 Add MediaFile.update() method to supersede save() 2014-04-03 14:01:55 +02:00
Thomas Scholtes
b026d60c31 Add MediaFile.fields() method 2014-04-03 14:01:55 +02:00
Adrian Sampson
d116e03bed ensure lists of paths are passed to ImportTask
Also change the variable name from `path` to `paths` to reflect this.
2014-04-02 21:57:30 -07:00
Adrian Sampson
c6abfa57c7 docs: link to beets-check plugin 2014-04-02 21:20:03 -07:00