mirror of
https://github.com/beetbox/beets.git
synced 2025-12-30 12:32:33 +01:00
Merge branch 'editor' of https://github.com/jmwatte/beets into editor
This commit is contained in:
commit
00b21dfa51
3 changed files with 58 additions and 49 deletions
|
|
@ -1,5 +1,5 @@
|
|||
# This file is part of beets.
|
||||
# Copyright 2015
|
||||
# Copyright 2015, Jean-Marie Winters
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining
|
||||
# a copy of this software and associated documentation files (the
|
||||
|
|
|
|||
|
|
@ -3,6 +3,10 @@ Changelog
|
|||
|
||||
1.3.16 (in development)
|
||||
-----------------------
|
||||
* A new plugin yamleditor helps you manually edit fields from items.
|
||||
You search for items in the normal beets way.Then yamleditor opens a texteditor
|
||||
with the items and the fields of the items you want to edit. Afterwards you can
|
||||
review your changes save them back into the items.
|
||||
|
||||
Fixes:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,79 +1,84 @@
|
|||
Yamleditor Plugin
|
||||
================
|
||||
The ``yamleditor`` plugin lets you open the tags, fields from a group of items
|
||||
, edit them in a text-editor and save them back.
|
||||
=================
|
||||
The ``yamleditor`` plugin lets you open the tags, fields from a group of items, edit them in a text-editor and save them back.
|
||||
|
||||
You simply put in a query like you normally do in beets.
|
||||
|
||||
beet yamleditor beatles
|
||||
beet yamleditor beatles -a
|
||||
beet yamleditor beatles -f'$title-$lyrics'
|
||||
`beet yamleditor beatles`
|
||||
|
||||
`beet yamleditor beatles -a`
|
||||
|
||||
`beet yamleditor beatles -f'$title-$lyrics'`
|
||||
|
||||
|
||||
|
||||
You get a list of hits and then you can edit them.
|
||||
The ``yamleditor`` opens your standard text-editor with a list of your hits
|
||||
and for each hit a bunch of fields.
|
||||
You get a list of hits and then you can edit them. The ``yamleditor`` opens your standard text-editor with a list of your hits and for each hit a bunch of fields.
|
||||
|
||||
Without anything specified in your ``config.yaml`` for ``yamleditor:``
|
||||
you will get
|
||||
Without anything specified in your ``config.yaml`` for ``yamleditor:`` you will get
|
||||
|
||||
track-$title-$artist-$album for items
|
||||
and
|
||||
for items
|
||||
|
||||
$album-$albumartist for albums
|
||||
`track-$title-$artist-$album`
|
||||
|
||||
and for albums
|
||||
|
||||
you can get more fields from the cmdline by adding
|
||||
`$album-$albumartist`
|
||||
|
||||
-f '$genre $added'
|
||||
you can get fields from the cmdline by adding
|
||||
|
||||
`-f '$genre $added'`
|
||||
|
||||
or
|
||||
|
||||
-e '$year $comments'
|
||||
`-e '$year $comments'`
|
||||
|
||||
If you use ``-f '$field $field'`` you get *only* what you specified.
|
||||
If you use ``-f '$field ...'`` you get *only* what you specified.
|
||||
|
||||
If you use ``-e '$field $field'`` you get what you specified *extra*.
|
||||
If you use ``-e '$field ...'`` you get what you specified *extra*.
|
||||
|
||||
-f or -e '$_all' gets you all the fields
|
||||
If you use ``-f or -e '$_all'`` you get all the fields.
|
||||
|
||||
After you edit the values in your text-editor - *and you may only edit the values,
|
||||
no deleting fields or adding fields!* - you save the file, answer with y on ``Done`` and
|
||||
you get a summary of your changes.
|
||||
Check em, answer y or n and the changes are written to your library.
|
||||
After you edit the values in your text-editor - *and you may only edit the values, no deleting fields or adding fields!* - you save the file, answer with y on ``Done`` and you get a summary of your changes. Check em, answer y or n and the changes are written to your library.
|
||||
|
||||
Configuration
|
||||
------------
|
||||
-------------
|
||||
|
||||
Make a ``yamleditor:`` section in your config.yaml ``(beet config -e)``
|
||||
|
||||
yamleditor:
|
||||
editor: # specify the editor you like
|
||||
editor_args: # additional arguments for editor
|
||||
diff_method: ndiff # 4 different ways to view your changes
|
||||
diff_method: unified # Pick one. See ex https://pymotw.com/2/difflib/
|
||||
diff_method: html # for details or just try it :)
|
||||
diff_method: vimdiff # this opens up vim diff
|
||||
html_viewer: # viewer to see the diff_method html
|
||||
html_args : # additional arguments for the viewer
|
||||
albumfields: genre album # a list of albumfields to edit
|
||||
itemfields: track artist # a list of itemfields to edit
|
||||
not_fields: id path # list of not-wanted fields
|
||||
separator: "|>" # something that separates printed fields
|
||||
|
||||
* You can pick 1 of the diff-methods (or none and you get the beet way).
|
||||
If you pick ``html`` you can specify a viewer for it. If not the systems-default
|
||||
will be picked.
|
||||
|
||||
* editor: nano
|
||||
* editor_args:
|
||||
* diff_method: ndiff
|
||||
* html_viewer:firefox
|
||||
* html_args :
|
||||
* albumfields: genre album
|
||||
* itemfields: track artist
|
||||
* not_fields: id path
|
||||
* separator: "<>"
|
||||
|
||||
* editor: you can pick your own texteditor. Defaults to systems default.
|
||||
* editor_args: in case you need extra arguments for your text-editor.
|
||||
* diff_method: 4 choices with no diff_method you get the beets way of showing differences.
|
||||
* ndiff: you see original and the changed yaml files with the changes
|
||||
* unified: you see the changes with a bit of context. Simple and compact.
|
||||
* html: a html file that you can open in a browser. Looks nice.
|
||||
* vimdiff: gives you VIM with the diffs
|
||||
|
||||
* html_viewer:
|
||||
If you pick ``html`` you can specify a viewer for it. If not the systems-default
|
||||
will be picked.
|
||||
* html_args: in case your html_viewer needs arguments
|
||||
* The ``albumfields`` and ``itemfields`` let you put in a list of fields you want to change.
|
||||
``albumfields`` gets picked if you put -a in your search query else ``itemfields``. For a list of fields
|
||||
do the ``beet fields``.
|
||||
``albumfields`` gets picked if you put -a in your search query else ``itemfields``. For a list of fields
|
||||
do the ``beet fields``.
|
||||
|
||||
* The ``not_fields`` always contain ``id`` and standard also the ``path``.
|
||||
Don't want to mess with them.
|
||||
Don't want to mess with them.
|
||||
|
||||
* The default ``separator`` prints like:
|
||||
|
||||
-02-The Night Before-The Beatles-Help!
|
||||
``-02-The Night Before-The Beatles-Help!``
|
||||
|
||||
but with ex "|>" it will look like:
|
||||
but with ex "<>" it will look like:
|
||||
|
||||
|>02|>The Night Before|>The Beatles|>Help!
|
||||
``<>02<>The Night Before<>The Beatles<>Help!``
|
||||
|
|
|
|||
Loading…
Reference in a new issue