Commit graph

1690 commits

Author SHA1 Message Date
steini
fbd85ef6ba Started hacking CollectionQuery to search flexible attribute fields. 2013-03-05 05:20:03 +00:00
steini
f5d658c58f An attempt at flexible attributes with plugin namespaces.
Mostly untested.
2013-03-04 05:55:43 +00:00
Adrian Sampson
0d762cd269 first half-attempt at a flexible attribute schema
This uses two tables, item_attributes and album_attributes, as key/value
tables for the respective entities. Plugins register fields, at which point
they are magically materialized as properties on Items (Albums are not done).
This currently supports adding and modifying these fields but not retrieving
them (which will need some sort of join).
2013-02-26 13:35:26 -08:00
Adrian Sampson
4a35be5724 fix crash when RG fields set to null
In general, we convert None values to type-based nulls in packed fields just
as we do for normal fields.
2013-02-24 16:10:18 -08:00
Adrian Sampson
fa9d326d39 ignore "System Volume Information" directory
This is a control directory on Windows whose permissions are always set very
restrictively:
http://blogs.msdn.com/b/oldnewthing/archive/2003/11/20/55764.aspx
2013-02-24 15:53:47 -08:00
Adrian Sampson
c19fd0e0e6 proceed past os.listdir errors in sorted_walk 2013-02-24 15:47:09 -08:00
Adrian Sampson
d3a00ec443 don't crash when config file is empty 2013-02-21 11:03:22 -08:00
Adrian Sampson
6c1b49aadb use gst-python from stock Homebrew 2013-02-21 11:03:08 -08:00
Adrian Sampson
d50fc378bb Sound Check parsing: fix odd-length strings 2013-02-20 22:56:12 -08:00
Adrian Sampson
c2a746562a fix Sound Check decode (GC-521)
Fixes the case when the gain number is negative.
2013-02-20 22:54:57 -08:00
Adrian Sampson
4f2bc970ea docs: link to FreeBSD port 2013-02-19 10:18:03 -08:00
Adrian Sampson
a1e89b879d echonest_tempo: warn on API error 2013-02-18 18:40:59 -08:00
Adrian Sampson
63564d84e7 echonest_tempo: sanitize newlines from input
The Echo Nest API confusingly says that the input is missing if it contains a
newline.
2013-02-18 18:34:31 -08:00
Adrian Sampson
a7f0ad70ae test: move DummyIO initialization to harness
This makes it much harder to accidentally leave this I/O isolator installed.
2013-02-18 18:29:10 -08:00
Adrian Sampson
6c931faf1a tests: remove ad-hoc temporary directories
Now that we have a temporary directory in the shared harness, we can dispense
with the error-prone process of creating them for each test.
2013-02-18 18:23:32 -08:00
Adrian Sampson
8b4dca99e3 towards filesystem sandboxing of tests
The generic test harness now uses a temporary directory for beets' various
files as well as $HOME. As one packager pointed out, there were various test
failures when $HOME did not exist. This is no longer the case.
2013-02-18 17:52:37 -08:00
Adrian Sampson
bb0c4f445b require mutagen >= 1.20
This release fixes several bugs, one of which influences the test cases of
beets (in particular, the MusePack bitrate calculation).
2013-02-18 17:36:10 -08:00
Adrian Sampson
eb32fa4c0e docs: may need to create directories 2013-02-17 15:08:53 -08:00
Adrian Sampson
bbeb04c34f mention GStreamer plugins in BPD docs 2013-02-17 15:04:19 -08:00
Adrian Sampson
6f2ec68ca8 version bump: 1.1b3 2013-02-17 15:02:32 -08:00
Adrian Sampson
872c601419 Added tag v1.1.0-beta.2 for changeset f28ea9e2ef8d 2013-02-16 16:40:42 -08:00
Adrian Sampson
0c487f479a remove AutotagError dead code
Another silly mistake identified by the RIT testing team.
2013-02-16 16:39:21 -08:00
Adrian Sampson
fc109e3a3d fix a couple of typos found by RIT students 2013-02-16 16:36:35 -08:00
Adrian Sampson
7a0bfff00a summary paragraph for 1.1b2 2013-02-16 16:34:13 -08:00
Adrian Sampson
e780ff27c2 update plugin API docs for 1.1 2013-02-16 15:04:07 -08:00
Adrian Sampson
0366dc8184 fix "import -l logpath" CLI option (GC-518) 2013-02-16 14:58:53 -08:00
Dave Hayes
7a1a7d035f Fixes suffix removal for fields that use them 2013-02-13 10:07:09 -06:00
Dang Mai
3be24110d7 Sanitize template evaluation for smartplaylist 2013-02-11 21:37:14 -05:00
Adrian Sampson
d1e50da71f fetchart: remote_priority config option 2013-02-10 21:40:55 -08:00
Adrian Sampson
7529fe1f78 require python-musicbrainz-ngs 0.2 or newer
This came up because version 0.1 (which is available in some Debian repos)
apparently lack `set_hostname`.
2013-02-09 21:04:18 -08:00
Adrian Sampson
3e624ea884 original_date config option (GC-441) 2013-02-08 13:45:31 -08:00
Adrian Sampson
e0bb3b5cd0 original_{year,month,day,date} fields (GC-441) 2013-02-08 13:28:51 -08:00
Adrian Sampson
15a652ab73 docs/changelog: filename length detection (GC-461) 2013-02-08 12:57:31 -08:00
Adrian Sampson
d4ddfd1091 look up max filename length automatically 2013-02-08 11:02:29 -08:00
Adrian Sampson
f652662d5b configurable max filename length 2013-02-08 10:54:19 -08:00
Adrian Sampson
b9cb3980c2 path_sep_replace config option
I also took this opportunity to move and rename util.santize_for_path to
library.format_for_path, which was long overdue.
2013-02-08 10:51:33 -08:00
Adrian Sampson
09d6eedd6a max_rec (#98): fix bug w/ multiple track triggers
If both "tracklength" and "tracknumber" triggers occur for a certain album,
then the *lowest* recommendation max should be used. (With the `break`s in
there, it would just be the first trigger found.)
2013-02-07 23:41:34 -08:00
Adrian Sampson
fa4d8d96e7 max_rec (#98): more lenient defaults
These defaults more closely reflect the current behavior of beets, which I
think is desirable.
2013-02-07 23:39:13 -08:00
Adrian Sampson
7a4c228c79 style tweaks & doc expansion (#98) 2013-02-07 23:35:27 -08:00
Adrian Sampson
136f9a1aec Merge pull request #98 from mrmachine/low-rec-triggers
Add `low_rec_triggers` setting.
2013-02-07 23:22:43 -08:00
Tai Lee
baa5bc5a01 Add max_rec configuration options.
Allow users to apply a maximum recommendation to partial albums and albums
with differing track lengths/numbers.
2013-02-08 17:42:00 +11:00
Adrian Sampson
151177ab95 recommendation is now a "real" enumeration 2013-02-07 17:26:58 -08:00
Adrian Sampson
ebcd944bd5 rename Sound Check conversion functions
Now that the Sound Check functions are freed from having to deal with string
encoding (and now exclusively accept/return floats for use by the rest of
beets), I'm renaming them to reflect this.
2013-02-07 16:17:08 -08:00
Adrian Sampson
ba83db506d mediafile: get rid of FloatValueField
At the risk of increasing line noise, I've replaced the specialized
FloatValueField (for ReplayGain tag encoding) with two more generalized options
on StorageStyle (float_places and suffix). This allows us to avoid an
unnecessary encode/decode round-trip when encoding for Sound Check.
2013-02-07 16:14:40 -08:00
Adrian Sampson
55770ae212 changelog & style tweaks for Sound Check (#97) 2013-02-07 15:12:10 -08:00
Adrian Sampson
91759d0226 Merge pull request #97 from daveisadork/soundcheck
Adds support for SoundCheck
2013-02-07 14:56:57 -08:00
Dave Hayes
93d1b646f4 Deal with unexpected or missing SoundCheck values
* Deals with gain values of 0 in SoundCheck files by interpreting them
  as 0.0dB rather than causing an exception
* Return default values if SoundCheck tag is malformed in some way
* Other misc changes for compactness
2013-02-07 08:46:27 -06:00
Dave Hayes
8a3221abd2 Adds support for SoundCheck
* Adds 2 functions to convert between SoundCheck and ReplayGain
 * Adds relevant StorageStyle to rg_track_* for SoundCheck
 * Adds a new packing type for SoundCheck
 * Modifies StorageStyle to accept a lang argument
 * Modifies StorageStyle to allow specifying Packed out_type
 * Modifies MediaField to write COMM frames with a lang attribute
2013-02-06 13:57:20 -06:00
Adrian Sampson
f7f2454134 docs & style for #92
We already have a nice plurality() function in beets.util to calculate the most
popular value of something, so I reused that.
2013-02-06 10:55:48 -08:00
Adrian Sampson
19cdd4e907 Merge pull request #96 from pscn/master
Addition to pull request #92 (lastgenre) regarding track level genres and Various Artists compilations
2013-02-06 10:45:46 -08:00