Adrian Sampson
40b49ac786
some low-level tweaks to extensible queries ( #214 )
2013-03-13 21:59:03 -07:00
Philippe Mongeau
292092bef7
Merge #214 extend query syntax from plugins
...
Conflicts:
docs/changelog.rst
2013-03-13 18:32:27 -04:00
Philippe Mongeau
280b431173
changelog / doc for #214
2013-03-13 18:29:11 -04:00
Philippe Mongeau
a5367df66e
document how extend the query syntax in plugins using PluginQuery
...
update the fuzzy documentation
2013-03-13 01:04:23 -04:00
Lucas Duailibe
b9844ccf3a
importfeeds: absolute path option ( #180 )
2013-03-13 01:50:09 -03:00
Lucas Duailibe
76310b876b
collections broken link
...
Broken link. The current way to see the collections is:
```http://musicbrainz.org/user/YOUR_USER/collections ```
2013-03-12 10:34:51 -03:00
Adrian Sampson
aff3fb106d
chroma: fingerprint command's write from config
...
This turns on metadata-writing based on the import.write config option, so
those with this option turned off will be spared any surprises. (Affects #217
and #143.)
2013-03-11 19:19:48 -07:00
Lucas Duailibe
3390fd339a
store fingerprints with the "fingerprint" command
2013-03-11 18:31:53 -03:00
Lucas Duailibe
8a64686ff3
store fingerprints
2013-03-11 17:56:13 -03:00
Adrian Sampson
8736a0bb4c
convert auto: changelog and de-cloning ( #212 )
2013-03-10 13:12:56 -07:00
Lucas Duailibe
c2c96d522f
config name and docs update
2013-03-09 23:33:45 -03:00
Adrian Sampson
87d71abc28
changelog/cleanup/fixes for #209
...
The major functional change here is how files move around when in keep_new
mode. Now, files are first moved to the destination directory and then
copied/transcoded back into the library.
This avoids problems where naming conflicts could occur when transcoding from
MP3 to MP3 (and thus not changing the filename).
2013-03-06 18:21:42 -08:00
Adrian Sampson
5a94cfe5d6
Merge pull request #209 from duailibe/convert
...
Adding functionality to convert plugin: keep newly converted files
2013-03-06 17:33:25 -08:00
Lucas Duailibe
a338b95bb7
Changing behavior in "keep new files"
2013-03-06 22:04:05 -03:00
Lucas Duailibe
5a8880e86f
Correcting typo in writing.rst
...
Simple typo: "fishes" -> "finishes"
2013-03-06 19:59:08 -03:00
Adrian Sampson
5f68d03793
mbsync: don't write tags if import.write is off
...
This will avoid surprising users with import.write turned off.
2013-03-03 17:13:54 -08:00
Adrian Sampson
5f3ebde6bb
mbsync: docs/changelog
...
As discussed on #115 , this has the "reimport" docs refer to the mbsync plugin.
2013-03-03 16:41:48 -08:00
Jakob Schnitzer
d647ea0f0d
mbsync: a little refactoring
2013-03-03 23:39:14 +01:00
Jakob Schnitzer
49d3ca4f02
mbsync: update docs
2013-03-03 23:39:13 +01:00
Jakob Schnitzer
78a99c23fa
mbsync: documentation
2013-03-03 23:39:13 +01:00
Adrian Sampson
6c1b49aadb
use gst-python from stock Homebrew
2013-02-21 11:03:08 -08:00
Adrian Sampson
bbeb04c34f
mention GStreamer plugins in BPD docs
2013-02-17 15:04:19 -08:00
Adrian Sampson
e780ff27c2
update plugin API docs for 1.1
2013-02-16 15:04:07 -08:00
Adrian Sampson
d1e50da71f
fetchart: remote_priority config option
2013-02-10 21:40:55 -08: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
3860a5ac27
lastgenre: "auto" config option
2013-02-05 12:02:51 -08:00
Peter Schnebel
936fdc303d
Added track to source options in the docs.
2013-02-04 22:39:20 +01:00
Adrian Sampson
c706c1f15a
changelog entry / tiny doc tweaks for #90
2013-02-03 10:31:15 -08:00
Dang Mai
24bc084724
Add small docs for smartplaylist about chaining
2013-02-03 10:10:29 -05:00
Adrian Sampson
4f7e738f82
changelog and doc fixes for #88
2013-02-02 12:56:08 -08:00
Peter Fern
eb1fbbac24
Add documentation for lastgenre source
2013-02-02 14:40:32 +11:00
Dang Mai
7fe9e2ea18
Refer to the lib param in the documentation
2013-01-31 16:54:42 -05:00
Adrian Sampson
bba0051ee7
changelog & doc tweaks for smartplaylist ( #80 )
2013-01-31 10:07:18 -08:00
Dang Mai
89b19f3e67
Documentation about template in m3u names
2013-01-30 12:47:44 -05:00
Dang Mai
f4107703fb
Add documentation for plugin
2013-01-30 09:30:36 -05:00
Adrian Sampson
58dc7be0a7
docs for new plugin events ( #79 )
2013-01-29 20:59:02 -08:00
Adrian Sampson
0969749e5b
cleanup, docs, and changelog for relative_to ( #74 )
2013-01-22 21:02:41 -08:00
Philippe Mongeau
c01e06e0fe
importfeeds: document the relative_to configuration option
2013-01-22 22:54:29 -05:00
Adrian Sampson
899ac18f71
importfeeds migration: remove prefix (GC-503)
2013-01-22 11:55:58 -08:00
Adrian Sampson
f7bef39769
GH-72: use function bodies instead of special var
2013-01-05 17:48:00 -08:00
Adrian Sampson
51e9c519d4
plugin renames: fuzzy and random
...
Renamed fuzzy_search to fuzzy and rdm to random. These names should be easier
to remember since they are the same as the commands they provide.
--HG--
rename : beetsplug/fuzzy_search.py => beetsplug/fuzzy.py
rename : beetsplug/rdm.py => beetsplug/random.py
rename : docs/plugins/fuzzy_search.rst => docs/plugins/fuzzy.rst
rename : docs/plugins/rdm.rst => docs/plugins/random.rst
2012-12-23 14:46:20 -08:00
Adrian Sampson
11e1fd1bd8
document new Confit-based configuration
2012-12-20 21:56:47 -08:00
Adrian Sampson
c0461c8847
improve some short plugin descriptions
2012-12-17 17:29:24 -08:00
Adrian Sampson
4f5c5d4e4f
echonest_tempo: docs wording fix
2012-12-02 16:34:05 -08:00
Adrian Sampson
f5628e03f6
include official beets Echo Nest API key
2012-12-02 16:32:19 -08:00
Adrian Sampson
a8cf42d05b
echonest_tempo: changelog + doc fixes + print fix
2012-12-02 16:25:45 -08:00
David Brenner
0fe2331842
Create echonest_tempo plugin - use EchoNest API to get tempo (bpm).
...
A simple plugin that connects to the EchoNest API to retrieve
tempo (bpm) metadata for tracks. Functions similarly to the lyrics
plugin.
Requires the pyechonest library.
2012-12-02 18:27:20 -05:00
Wieland Hoffmann
335ce9c73c
Some grammar corrections for docs/.../ihate.rst
2012-12-01 10:53:35 +01:00
Adrian Sampson
becd4f957d
long-overdue docs for the "info" plugin
2012-11-27 19:44:46 -08:00
Adrian Sampson
90f7fabb9a
convert docs phrasing tweaks
...
@yagebu: I did a code review of the new version of convert using FFmpeg as a
backend. Everything looks perfect. These are just a few changes to the docs.
Thanks again!
2012-11-06 14:38:45 -08:00
Jakob Schnitzer
19acf0809f
convert: switch from flac and lame to ffmpeg
...
Instead of flac and lame the convert plugin now uses ffmpeg. This adds
support for more input formats and simplifies the code. ffmpeg also uses
the lame encoder internally and has equivalents of all the -V<num>
presets which should be sufficient.
2012-11-05 22:30:21 +01:00
Fabrice Laporte
dfddc3a899
Update docs/plugins/fetchart.rst
2012-11-01 23:58:49 +01:00
Adrian Sampson
338eb6388e
documentation for convert.exe problem ( #64 )
...
We currently just document the fact that convert.exe can interfere with finding
ImageMagick's convert binary. We can solve this with a config option easily once
confit is merged.
This also changes the line endings for fetchart.rst back to Unix.
2012-11-01 14:25:46 -07:00
Adrian Sampson
d9974081a7
add extension for proxied images
...
`urllib.urlretrieve` was using the correct extension in most cases -- I think
when the URL ended with .jpg -- but not in every case. This was leading to files
named just "cover" and not "cover.jpg" or something else sensible. In
particular, proxied URLs don't have .jpg extensions. This generates the filename
manually so the source image always has an extension.
2012-11-01 12:39:02 -07:00
Adrian Sampson
29c6f9c342
changelog and light style fixes for #64
2012-10-31 17:52:21 -07:00
Fabrice Laporte
7f2aa44ac6
Add 'maxwidth' option to embedart and fetchart plugins.
...
artresizer.py instances an ArtResizer object that uses internally the PIL; ImageMagick
or a web proxy service to perform the resizing operations.
Because embedart works on input images located on filesystem it requires PIL or ImageMagick, whereas
fetchart is able to do the job with the fallback webproxy resizer.
2012-10-28 15:36:42 +01:00
Adrian Sampson
9368075756
replaygain: reinstate albumgain config option
2012-10-20 16:49:52 -07:00
Adrian Sampson
0ab3426bd9
replaygain: add command
...
You can now disable automatic analysis and instead use a command to manually
analyze albums or tracks.
2012-10-17 22:12:38 -07:00
Adrian Sampson
83f3069d57
replaygain: remove albumgain setting
...
We now always calculate album gain when importing an album. This is "free" (no
performance cost) now and players are free to ignore the setting if they so
choose.
2012-10-17 20:11:20 -07:00
Adrian Sampson
6b7d9a6f40
merge pull request #56 (thread count detection)
2012-10-14 14:01:04 -07:00
Adrian Sampson
b9e2beddec
replaygain: changelog & doc enhancements for GH-55
2012-10-12 22:42:08 -07:00
Adrian Sampson
b6f34000f0
Merge pull request #55 from KraYmer/upstream
...
Adding threads to new ReplayGain backend based on command-line tool
2012-10-12 22:27:42 -07:00
Adrian Sampson
d8433f977c
convert: changelog thanks & doc enhancements
2012-10-12 22:11:07 -07:00
Andrew G. Dunn
780cbed809
Made a simple update to the documentation
2012-10-12 16:57:12 -04:00
kraymer
6208c453c6
add apply_gain option (was default)
2012-10-12 08:52:12 +02:00
kraymer
7265119aad
change replaygain plugin backend: it now invokes a command line tool (mp3gain or aacgain)
2012-10-12 08:51:36 +02:00
Jakob Schnitzer
f4d6826462
convert: Added note to docs that 'dest' is a required setting
2012-10-08 23:02:22 +02:00
Jakob Schnitzer
b05fc8ef4f
Merge branch 'convert'
2012-10-08 12:49:04 +02:00
Jakob Schnitzer
ec6bbf53d4
convert: Add docs
2012-10-08 12:34:35 +02:00
Blemjhoo Tezoulbr
3eb11355cf
ihate plugin: ver 1.0 - initial import
2012-10-05 02:37:21 +03:00
Blemjhoo Tezoulbr
c9fafb8379
plugin the: ver 1.1 - singleton mode, code cleanup
2012-10-05 02:04:51 +03:00
Adrian Sampson
56958d175b
docs + changelog for GH-50 (lastgenre command)
2012-10-04 09:47:59 -07:00
Adrian Sampson
4aac7f5324
zero: changelog note & doc improvements
2012-09-25 14:15:33 -07:00
Adrian Sampson
d09308eab2
Merge pull request #49 from tezoulbr/master
...
new plugin - zero
2012-09-25 14:04:19 -07:00
Philippe Mongeau
d6f2bf20f4
fuzzy_search: enable setting threshold value from the config file
2012-09-22 17:35:39 -04:00
Blemjhoo Tezoulbr
edcacde9ba
zero plugin ref included in plugins doc index
2012-09-22 19:06:38 +03:00
Blemjhoo Tezoulbr
aff36fa694
zero plugin, version 0.9
2012-09-22 15:50:33 +03:00
Adrian Sampson
e092af2b2f
changelog note: fuzzy_search plugin
2012-09-18 10:33:58 -07:00
Adrian Sampson
0d3064bae8
Merge pull request #48 from phmongeau/fuzzy
...
Fuzzy Search plugin
2012-09-18 10:26:16 -07:00
Philippe Mongeau
a49dcb81c6
add documentation for fuzzy_search
2012-09-17 22:41:02 -04:00
Blemjhoo Tezoulbr
16aa842ccf
plugin the: version 1.0
2012-09-16 04:42:39 +03:00
Adrian Sampson
6200f0a4c8
scrub: remove all types of tags
2012-08-24 15:39:13 -07:00
Adrian Sampson
0cab7bd8de
inline: fix example in docs (use albumartist)
...
Previously, the example used the track artist ($artist) for the initial
directory component.
2012-08-07 09:59:00 -07:00
Adrian Sampson
96de3ee400
add track mapping to album_distance plugin method
2012-08-03 18:12:58 -07:00
Adrian Sampson
c25fb4b544
link to OSSBuilds for Gstreamer on Windows
...
(Thanks to Darrin, who pointed this out via email!)
2012-08-03 09:38:56 -07:00
Wieland Hoffmann
70910f5ac1
Fix the reference to the ".beetsconfig" doc in plugins/web
2012-07-12 11:19:49 +02:00
Adrian Sampson
ba80e1578a
revise changelog/docs mention of cover art source
2012-07-09 14:16:40 -07:00
Adrian Sampson
6503e85a57
fetchart: autofetch option
...
This necessitated a slight refactoring in the plugin event handling mechanism.
Rather than loading all handlers up front and storing them in a module-scope
structure, we now scan for event handlers at every send(). This is probably
very slightly less efficient but allows for more flexible logic.
2012-06-24 19:01:19 -07:00
Adrian Sampson
fbb5823541
fetchart: command to manually download art
2012-06-24 18:27:00 -07:00
Adrian Sampson
77cbb19564
fetchart: get local art for as-is imports (GC-339)
2012-06-24 17:41:37 -07:00
Adrian Sampson
d807b3fbf1
Cover Art Archive support (GC-71)
2012-06-24 16:57:04 -07:00
Adrian Sampson
11d4fb1abb
move album art fetching to a plugin (fetchart)
2012-06-24 00:34:50 -07:00
Adrian Sampson
ad4b7f8ff5
new plugin event: import_task_files
2012-06-14 12:41:39 -07:00
Adrian Sampson
48ffa08928
plugin import stages
2012-06-08 14:49:04 -07:00
Adrian Sampson
6c220f284a
fix outdated BPD documentation
...
The update command is now supported.
2012-05-31 23:30:08 -07:00
Adrian Sampson
face0ba323
chroma submission: fix crash; better errors
2012-05-17 14:54:58 -07:00
Adrian Sampson
dfcd47942d
new plugin event: library_opened
2012-05-15 12:39:04 -07:00
Adrian Sampson
c9da7bf3f8
new plugin event: import_task_choice
2012-05-15 12:33:57 -07:00
kraymer
f93dd6999b
correct typo
2012-05-09 09:08:55 +02: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
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
fa3e41c86a
BPD: print messages reflecting tree (re)build
2012-04-30 12:02:00 -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
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
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
ef740740ce
link to Homebrew gst-python instructions
2012-03-31 14:06:25 -07:00
Adrian Sampson
2466305d7e
add MusicBrainz collection plugin by @jeffayle
2012-03-23 11:34:57 -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
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
dfc5ddb942
mention hangs in replaygain warning
2012-02-19 12:30:14 -08:00
Adrian Sampson
6fd8ae0e95
move plugin API docs to their own page
2012-02-09 14:43:59 -08:00
Adrian Sampson
08e93a5309
plugin API to extend MediaFile ( #324 )
2012-02-09 14:35:47 -08:00
Adrian Sampson
6817c70592
document fpcalc installation of Chromaprint
2012-01-27 12:41:07 -08:00
Adrian Sampson
a58253b79c
"lyrics -p" prints out lyrics
2012-01-19 12:43:29 -08:00
Adrian Sampson
01a54e2e0e
first stab at revamped lyrics plugin ( #137 )
2012-01-19 12:25:11 -08:00
Adrian Sampson
0275836293
warning about replaygain instability ( #289 )
2012-01-18 14:41:19 -08:00
Adrian Sampson
347a29b0f6
rewrite plugin
...
--HG--
rename : docs/plugins/inline.rst => docs/plugins/rewrite.rst
2012-01-16 20:48:23 -08:00
Adrian Sampson
9920cc482c
add "scrub" plugin ( #280 )
...
--HG--
rename : beetsplug/embedart.py => beetsplug/scrub.py
rename : docs/plugins/embedart.rst => docs/plugins/scrub.rst
2012-01-02 14:03:28 -08:00
Adrian Sampson
890021008a
inline plugin: define template fields in config ( #169 )
2011-12-27 14:43:58 -08:00
Adrian Sampson
93678307ef
lastgenre now writes tags to files ( #279 )
...
This was accomplished by adding a new "config" parameter to the *_imported
events so that the handlers can check whether writing is enabled.
2011-12-20 17:49:11 -08:00
Adrian Sampson
69c0e8d496
doc fixes for extensible template fields
2011-12-17 21:46:09 -08:00
Adrian Sampson
91901fc379
plugin-extensible path format fields ( #169 )
2011-12-17 21:29:15 -08:00
Adrian Sampson
621b3d4bb7
link to plugin template format docs
2011-12-16 12:18:44 -08:00
Adrian Sampson
f1ebc82a55
plugin hooks for template functions ( #231 )
2011-12-16 11:56:40 -08:00
Adrian Sampson
d1e43e9346
docs for partial album matches ( #260 )
2011-12-01 14:26:30 -08:00
Adrian Sampson
c03fb658c7
clean up genre canonicalization ( #264 )
...
- Canonicalization is disabled by default. (This prevents pyyaml from being a
dependency if you don't use canonicalization.)
- Config value to set the tree file.
- Python style.
- Added YAML file to MANIFEST.in.
- Documentation.
2011-12-01 12:14:11 -08:00
Adrian Sampson
d63924b142
docs for replaygain plugin ( #248 )
2011-11-13 15:51:11 -08:00
Adrian Sampson
f2bb220f5a
chroma plugin (for acoustid fingerprinting) ( #152 )
...
--HG--
rename : docs/plugins/lastid.rst => docs/plugins/chroma.rst
2011-11-12 15:33:00 -08:00
Adrian Sampson
b62b462b1e
file-based genre whitelist & cleanup
...
--HG--
rename : beetsplug/lastgenre.py => beetsplug/lastgenre/__init__.py
2011-10-07 12:51:38 -07:00
Adrian Sampson
d6431b992e
lastgenre plugin ( #139 )
2011-09-23 12:33:47 -07:00
Adrian Sampson
55c72f678e
document item_imported plugin event
2011-09-23 11:51:20 -07:00
Adrian Sampson
521131bc2b
screenshot image and syntax cleanup
2011-09-17 15:32:27 -07:00
Adrian Sampson
2073b2e5f4
web plugin page
2011-09-17 13:39:06 -07:00
Adrian Sampson
2f8370669e
translate plugin documentation
2011-09-17 11:04:51 -07:00