aboutsummaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2011-07-25 16:21:55 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2011-07-25 16:21:55 +0300
commit39e1ad85f7fb63156621112a28a876265d9fa1f0 (patch)
tree3607cb92f570680bb6c2016018e373834edd8b3d /NEWS
parentc6230a46e93e9fb1525d5a036074aa7b5ff8a76e (diff)
downloadidest-39e1ad85f7fb63156621112a28a876265d9fa1f0.tar.gz
idest-39e1ad85f7fb63156621112a28a876265d9fa1f0.tar.bz2
Implement --batch option (a generalization of --format).
* NEWS: Update * doc/idest.texi: Update. * scheme/Makefile.am (EXTRA_DIST,site_DATA): Add batch.scm (dist-hook): Exclude backup files. * scheme/batch.scm: New file. * scheme/idest/batch/help.scm: New file. * scheme/idest/format/help.scm: Use list-modules. * scheme/idest/format/shortlist.scm: Fix typo. * scheme/idest/list-modules.scm: New file (from scheme/idest/format/help.scm). * src/cmdline.opt: Remove the --function option. New option --batch. * src/guile.c (guile_function,guile_script): Remove. (load_closure): Remove struct. (load_handler,load_handler_path): data points to char **. (guile_load): Change signature: filename is superfluous, use argv[0] instead. All callers updated. * src/idest.h (ed_list,guile_script,guile_function): Remove. * src/main.c (dry_run_option,batch_name): New variables. (set_guile_argv): New function. (main): Handle batch_name and dry_run_option.
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS74
1 files changed, 58 insertions, 16 deletions
diff --git a/NEWS b/NEWS
index d0c9552..a5b4d89 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-IdEst -- history of user-visible changes. 2011-07-17
+IdEst -- history of user-visible changes. 2011-07-25
Copyright (C) 2009-2011 Sergey Poznyakoff
See the end of file for copying conditions.
@@ -64,6 +64,51 @@ only if the input file originally had no ID3 tags.
Prints verbose frame descriptions instead of their short names.
+* The `--script' option.
+
+The `--script' (`-S') option stops further argument processing and
+passes the rest of command line as argument to the script. The script
+can modify the arguments (e.g. by removing its command-line options).
+The modified arguments are then returned to idest and processed as
+a list of input file names.
+
+* Argument to the --script option is searched in the %load-path.
+
+This feature is disabled if the argument contains directory separators
+(/).
+
+* New option --dry-run
+
+The `--dry-run' (`-n') option can be used together with `--script'
+or `--batch' options. It instructs idest to print all the
+modifications the script produced without actually applying them
+to the file(s). Use it to check whether your scripts work in
+the expected way and correctly modify the frames. For example,
+to test the script `modify.scm' run
+
+ idest --dry-run --script modify.scm *.mp3
+
+* New option --format
+
+The `--format=NAME' (`-H NAME') option instructs idest to run a
+user-defined format NAME. This option stops further argument
+processing and passes the rest of command line as argument to
+the format script. To obtain a list of available formats along
+with short descriptions of them, run `idest --format=help'.
+
+See also `User-defined formats and batch scripts', below.
+
+* New option --batch
+
+The `--batch=NAME' (`-B NAME') option instructs idest to run a
+user-defined batch modification module NAME. This option stops
+further argument processing and passes the rest of command line as
+argument to the batch script. To obtain a list of available batch
+scripts along with short descriptions of them, run
+`idest --batch=help'.
+
+See also `User-defined formats and batch scripts', below.
+
* The --delete option takes optional argument
The argument, if supplied, is a comma-separated list of the
@@ -108,7 +153,7 @@ The full syntax is:
(See above for a description of the optional QUAL part). For example:
- idest --query Title%TIT2,Artist%TPE1,Author%TOLY,Composer%TCOM *.mp3
+ idest --query=Title%TIT2,Artist%TPE1,Author%TOLY,Composer%TCOM *.mp3
* Changes in Scheme representation of frame lists.
@@ -146,25 +191,22 @@ $HOME/.idest.scm and $GUILE_SITE/idest/idest.scm (where HOME is the
user home directory and GUILE_SITE is Guile site-wide directory).
The first of them which is found is loaded as a Scheme source file.
-* Argument to the --script option is searched in the %load-path.
-
-This feature is disabled if the argument contains directory separators
-(/).
-
* Guile scripts can access and modify command line arguments.
-* Test script `dry-run.scm'
-
-The test script `dry-run.scm' is installed in the program script
-directory. It allows you to check whether your scripts work in
-the expected way and correctly modify the frames. For example,
-to test the script `modify.scm' run
+See "The `--script' option" above.
- idest --script dry-run modify.scm *.mp3
+* User-defined formats and batch scripts.
-The program will print input file names and frames produced by
-`modify.scm' without actually touching your data.
+User-defined formats provide a convenient way to extend `idest'
+functionality. A format is a Guile script. It differs from the
+usual scripts in that it is written as a module and stored in
+directory "idest/format", somewhere in the %load-path. Formats are
+invoked using the `--format' (`-H') option (see above). Several
+formats are shipped with the idest.
+Batch scripts are similar to formats, except that they provide a way
+to modify tags. Batch scripts are stored in "idest/format" directory
+and are called via the `--batch' (`-B') option (see above).
Version 1.2, 2011-04-10

Return to:

Send suggestions and report system problems to the System administrator.