Commit graph

165 commits

Author SHA1 Message Date
Adrian Sampson
a9eb249a15 version bump: 1.0b15 2012-05-13 20:04:14 -07:00
Fabrice Laporte
16d9b53168 Update docs/reference/cli.rst: add -f option to beet list command 2012-05-13 23:52:27 +03:00
Adrian Sampson
a406ae1c52 date for b14 release 2012-05-12 22:35:55 -07:00
Adrian Sampson
849d50beb9 changelog note about lastgenre fallback_str (GC-358) 2012-05-09 09:40:18 -07:00
Fabrice Laporte
031ae68006 Merge pull request #36 from KraYmer/master
Issue 358:Options for when lastgenre fails to find a tag
2012-05-09 00:11:32 -07:00
kraymer
f93dd6999b correct typo 2012-05-09 09:08:55 +02:00
Adrian Sampson
9dc0ac6ded changelog summary paragraph 2012-05-08 19:07:35 -07:00
Adrian Sampson
da2364a747 changelog note for unicode rewrite fix 2012-05-08 16:19:37 -07:00
kraymer
c4783e25f8 'Issue 358:Options for when lastgenre fails to find a tag'. Added 'fallback_str' plugin parameter to specify a fallback string when no genre found. Declare the parameter without specifying a value (= empty string) to blank the genre field when no genre found. 2012-05-08 23:41:07 +02:00
Adrian Sampson
2fb3ec47c9 changelog note about BPD random/repeat 2012-05-08 14:15:23 -07:00
Adrian Sampson
6ce08c4ce6 merge 2012-05-08 11:59:41 -07:00
Adrian Sampson
8b25a86ee3 use 2.6-compatible format strings 2012-05-08 11:46:08 -07:00
Adrian Sampson
a28f930c52 transaction objects to control DB access
In an attempt to finally address the longstanding SQLite locking issues, I'm
introducing a way to explicitly, lexically scope transactions. The Transaction
class is a context manager that always fully fetches after SELECTs and
automatically commits on exit. No direct access to the library is allowed, so
all changes will eventually be committed and all queries will be completed. This
will also provide a debugging mechanism to show where concurrent transactions
are beginning and ending.

To support composition (transaction reentrancy), an internal, per-Library stack
of transactions is maintained. Commits only happen when the outermost
transaction exits. This means that, while it's possible to introduce atomicity
bugs by invoking Library methods outside of a transaction, you can conveniently
call them *without* a currently-active transaction to get a single atomic
action.

Note that this "transaction stack" concepts assumes a single Library object per
thread. Because we need to duplicate Library objects for concurrent access due
to sqlite3 limitation already, this is fine for now. Later, the interface should
provide one transaction stack per thread for shared Library objects.
2012-05-06 23:24:05 -07:00
Adrian Sampson
1baf49b333 fix still more documentation typos 2012-05-03 17:43:58 -07:00
Adrian Sampson
76af1924ea fix ReST markup error in changelog 2012-05-03 17:24:33 -07:00
Adrian Sampson
a2c12dc78f -c CLI option overrides import_move config option 2012-05-03 17:19:28 -07:00
Adrian Sampson
104aec3c2f cleanup and docs for regular expression queries 2012-05-01 20:03:01 -07:00
Adrian Sampson
792c5b5e5d cleanup and docs for -f option flexibility 2012-04-30 21:26:49 -07:00
Adrian Sampson
fa3e41c86a BPD: print messages reflecting tree (re)build 2012-04-30 12:02:00 -07:00
Adrian Sampson
c4f9b452da docs for %aunique (#190) 2012-04-29 14:52:03 -07:00
Adrian Sampson
2087ff6e41 add items to DB before moving/copying (#190)
Previously, all files would be moved/copied/deleted before the corresponding
Items and Albums were added to the database. Now, the in-place items are added
to the database; the files are moved; and then the new paths are saved to the
DB. The apply_choices coroutine now executes two database transactions per task.
This has a couple of benefits:
- %aunique{} requires album structures to be in place before the destination()
  call, so this now works as expected.
- As an added bonus, the "in_album" parameter to move() and destination() --
  along with its associated ugly hacks -- is no longer required.
2012-04-29 14:14:11 -07:00
Adrian Sampson
ca5af1d62b add featInTitle to "other plugins" list 2012-04-28 21:05:41 -07:00
Adrian Sampson
2a38fcce6a typo in inline plugin docs 2012-04-20 09:58:02 -07:00
Adrian Sampson
e017a95154 docs: clarify single-quote comment is for Unix 2012-04-19 10:24:30 -07:00
Adrian Sampson
9c10d8163b back out readline addition (#376) 2012-04-19 10:21:39 -07:00
Adrian Sampson
7736e279fe typo in changelog for --noincremental 2012-04-15 21:44:36 -07:00
Adrian Sampson
a64dea25b2 docs for @djrtl's changes (#30) 2012-04-15 14:24:52 -07:00
Adrian Sampson
ccaf0031cd changelog: wiki link and readline 2012-04-10 14:14:47 -07:00
Adrian Sampson
7b7658fc43 doc clarification: effect of moving 2012-04-10 13:52:32 -07:00
Adrian Sampson
6b696c842f cleanup and docs for import_move (GH-26, GC-266)
- Copying and moving are mutually exclusive. Moving overrides copying so the
  user only has to add one line ("import_move: true") to disable copying and
  enable moving in its place.
- Deleting is only possible when copying.
- Deprecating the "delete" option (moving is almost always better).
- Removed command-line switch for moving. It's somewhat "unsafe", so this
  removes some potential for accidental irreversible changes.
- Changelog & thanks.
- Update docs to refer to import_move instead of import_delete as the
  correct solution for ending up with only one copy of the file.
2012-04-10 13:41:24 -07:00
Adrian Sampson
d256aeb436 Merge pull request #26 from iElectric/master
import_move: move files (instead of copying & deleting)
2012-04-10 13:02:30 -07:00
Adrian Sampson
d8776b3ed2 doc fixes
(I obviously don't know how to use git-cherry-pick.)
2012-04-10 12:11:23 -07:00
kraymer
78fbe6d836 rename 'm3uupdate' plugin to 'importfeeds'. Handles two more output formats: multi m3u files (one per item imported) and symlinks. Update plugin docs.
Conflicts:

	docs/plugins/index.rst
2012-04-10 12:06:38 -07:00
Domen Kožar
1af4f86c17 support move action when importing 2012-04-05 01:14:17 +02:00
Adrian Sampson
251026b759 add a new batch of metadata fields
The new fields are:
ALBUM: mb_releasegroupid asin catalognum script language country albumstatus
media albumdisambig
TRACK: disctitle encoder
These are not yet parsed from MusicBrainz responses (just added to MediaFile
and the database).
2012-04-04 00:52:57 -07:00
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
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
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
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
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