Commit graph

6487 commits

Author SHA1 Message Date
Adrian Sampson
ffa2402ff4 revamp default character substitutions
There's no longer a distinction between Unix and Windows substitutions. Enough
users reported problems with Windows-forbidden characters on Samba shares that
it seems appropriate to make all filenames Windows-safe, even on Unix. Users who
really want those additional characters (<>:"?*|\) can re-enable them via the
"replace" option. Nobody has complained about beets being *too* conservative.

This also adds sanitization of control characters, which is an all-around good
idea, and the substitution now runs in the Unicode (rather than byte) domain.
2012-04-03 14:22:38 -07:00
Adrian Sampson
2d20e3582b typo: >=, not > 2012-04-01 20:58:49 -07:00
Adrian Sampson
44bcc5b3bd chroma: "beet submit" command (#332) 2012-04-01 20:41:27 -07:00
Adrian Sampson
01dce53212 store Acoustid data in DB & file
This is accomplished via a new event, "import_task_apply", which is called
right after metadata is applied to newly-imported items.

This change makes chroma REQUIRE a new version (0.6) of pyacoustid. Users with
older versions installed will see complaints about a missing method
"fingerprint_file".
2012-04-01 19:38:46 -07:00
Adrian Sampson
82a4bafc3e chroma: fingerprint when task begins
The old "caching"-based approach to fingerprinting was kinda hacky to begin
with. Now, the chroma plugin has an explicit opportunity (in the form of a new
event) to perform its initial fingerprinting and lookup for all tracks. Then,
this information is used explicitly during the autotagging phase rather than
being used transparently through memoization of the lookup function.
2012-04-01 18:55:14 -07:00
Adrian Sampson
de6530f4a5 acoustid ID and fingerprint stored/tracked (#332) 2012-04-01 18:22:42 -07:00
Adrian Sampson
aeeb040fe4 chroma: more logging on match failure 2012-04-01 17:55:30 -07:00
Adrian Sampson
ef740740ce link to Homebrew gst-python instructions 2012-03-31 14:06:25 -07:00
Adrian Sampson
cbc889136e link to GitHub (not Google Code) for downloads 2012-03-27 11:14:10 -07:00
Adrian Sampson
781c26ffd0 normalize to NFC on non-Mac platforms (#367) 2012-03-27 10:44:11 -07:00
Adrian Sampson
037f751e23 display track count for failed album matches 2012-03-27 10:24:27 -07:00
Adrian Sampson
823e36ad01 normalize new filenames to with NFD 2012-03-26 12:14:30 -07:00
Adrian Sampson
3c4d8500e5 sort by sort names 2012-03-25 17:35:07 -07:00
Adrian Sampson
12998de8ee mark album artist sort as an album field 2012-03-25 17:13:12 -07:00
Adrian Sampson
2f1ac61d4f track and album artist sort names (GH-25, GC-77)
Previously, there was just an "artist sort name" field -- now there's a
corresponding sort name for both track artists and album artists. I also made
the names shorter (artist_sort and albumartist_sort).
2012-03-25 17:02:52 -07:00
Adrian Sampson
42f2b2b096 Merge pull request #25 from paulprovost/master
Artist sort name field
2012-03-25 13:39:17 -07:00
Paul Provost
06efe45612 Artist sort name always present 2012-03-24 19:56:21 -04:00
Paul Provost
1e4f2d555f Merge branch 'master' of https://github.com/sampsyo/beets 2012-03-24 17:25:26 -04:00
Adrian Sampson
2466305d7e add MusicBrainz collection plugin by @jeffayle 2012-03-23 11:34:57 -07:00
Adrian Sampson
ca29bd6dd1 credit for random plugin (#24) 2012-03-23 10:36:14 -07:00
Adrian Sampson
9befb94561 -n option for random command (#24) 2012-03-23 10:33:44 -07:00
Adrian Sampson
7e6cdd75d6 docs & changelog for rdm plugin 2012-03-23 10:26:50 -07:00
Adrian Sampson
fc45e5fb97 Merge pull request #24 from phmongeau/random_plugin
add random plugin
2012-03-23 10:15:56 -07:00
Adrian Sampson
06f137bff9 %unique path function
Generates disambiguating strings to distinguish albums from one another. To be
used as the basis for a simpler path field, $unique, as a default disambiguator.
2012-03-22 18:04:06 -07:00
Adrian Sampson
8fad15263b reorganize default template functions into class
Using a class wrapper allows additional context to be provided to the functions.
Namely, we can now provide the Item itself to the function, so %foo{} could
conceivably do something useful even without arguments. This will be used for
the upcoming %unique function.
2012-03-22 17:08:22 -07:00
Adrian Sampson
22e8695172 BPD: use playbin2 instead of playbin (#364) 2012-03-21 14:25:01 -07:00
Philippe Mongeau
bdef5ef152 add random plugin 2012-03-20 22:10:43 -04:00
Adrian Sampson
c7840bbbf0 docs/changelog for duplicate resolution (#164) 2012-03-20 14:36:11 -07:00
Adrian Sampson
24cdf2a72e duplicate trumping: remove items & delete files
Based on the "remove_duplicates" flag on ImportTask, the apply_choices coroutine
now looks for duplicates (using an extended version of the _duplicate_check
functions) and removes items from the library. It also *deletes* files
associated with those items when they are located inside the beets library
directory. Files outside of the directory are left on disk (but their DB entry
is still removed). This should "do the right thing" in most cases -- again, this
is something we can add a config option for if it comes up.
2012-03-20 14:23:44 -07:00
Adrian Sampson
34ec25e642 appropriate logging for duplicate resolution 2012-03-20 13:13:52 -07:00
Adrian Sampson
71762375c9 skip duplicate prompt in quiet mode
In quiet mode, duplicates are skipped. We can add a new config option if people
really want to customize this.
2012-03-20 13:02:02 -07:00
Adrian Sampson
ced4e1ace8 duplicate resolution prompt (#164)
"Skip" and "keep both" work already, but "remove old" does not. It sets a flag
on the import task object; this flag should then be read by the apply_choices
coroutine, where appropriate action should be taken as part of the same
transaction that adds stuff to the DB.

Unresolved questions:
- Should old files be deleted? (How is this decided? Based on config parameters,
  or with another prompt option?)
- Logging details.
- Folder naming. If I have two albums with the same name, I want them in
  different directories.
- Quiet mode. Currently, there are no checks -- the prompt should not be made in
  quiet mode. (In that case, what should it do?)
2012-03-19 15:46:05 -07:00
Adrian Sampson
19b08f8e99 duplicate resolution callback function (#164) 2012-03-19 15:32:53 -07:00
Adrian Sampson
6bfbb899bc docs: more readable list of included plugins 2012-03-18 16:58:02 -07:00
Adrian Sampson
af0da7d1b6 m3uupdate docs, changelog, and cleanup (#23) 2012-03-18 16:42:12 -07:00
Adrian Sampson
c989ddc731 Merge pull request #23 from KraYmer/master
m3uupdate plugin
2012-03-18 16:06:54 -07:00
Adrian Sampson
99e0edd3a1 Travis CI: only 2.7 until tests fixed; plugin deps 2012-03-18 15:13:08 -07:00
Adrian Sampson
fca346c5d7 add Travis CI configuration 2012-03-18 15:02:24 -07:00
Adrian Sampson
c0c80cd576 docs typo: missing $ in path formats 2012-03-17 12:28:27 -07:00
Adrian Sampson
aa36fa288c version bump: b14 2012-03-17 12:03:28 -07:00
kraymer
f670fc87ab add 'm3uupdate' plugin 2012-03-17 12:12:12 +01:00
Adrian Sampson
5ddb9ebc95 Added tag 1.0b13 for changeset b6c10981014a 2012-03-16 09:58:48 -07:00
Adrian Sampson
b49beac9bb add release date to changelog 2012-03-16 09:55:30 -07:00
Adrian Sampson
d461e7675e catch Mutagen exceptions when reading fields (#356) 2012-03-15 08:00:58 -07:00
Adrian Sampson
1b1b8c4ae3 cleanup/docs for list formatting (#203; #22 on GH) 2012-03-14 14:51:13 -07:00
Adrian Sampson
a96f2511da Merge pull request #22 from phmongeau/list_format
Custom formatting option for "list"
2012-03-14 14:27:54 -07:00
Adrian Sampson
194f224687 changelog about colorama (#21 on GitHub) 2012-03-14 14:23:31 -07:00
Karl Southern
e6999df2d9 Ammends beets to only import and requires colorama on win32
---
 beets/ui/__init__.py |    5 +++--
 setup.py             |    2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)
2012-03-14 14:17:41 -07:00
Karl Southern
e05bda87b4 Fixes up colours on Windows by using colorama. ANSICON, and other solutions are not reliable.
---
 beets/ui/__init__.py |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
2012-03-14 14:17:41 -07:00
Paul Provost
68952209d5 Added artist sort name
- MP3 tag saved
- Available template field as $artist_sort_name
2012-03-10 18:51:48 -05:00