summaryrefslogtreecommitdiffabout
AgeCommit message (Collapse)AuthorFiles
2017-03-11Version 2.1HEADmasterSergey Poznyakoff79
2017-01-30Apply --broken-8bit-charset only to frames in 8-bit encoding.Sergey Poznyakoff3
* src/frametab.gperf (decode_qv): Passe frame as the 2nd argument to field_to_string. (text_decode): Likewise. * src/idest.h (idest_ucs4_cvt): Remove. (field_to_string): Change the type of the 2nd argument. * src/idop.c (frame_encoding_is_8bit) (frame_is_genre): New auxiliary functions. (idest_ucs4_cvt): Take frame as the 2nd argument. Do recoding only if the frame's encoding in 8-bit. (add_stringlist): Take frame instead of the isgenre boolean; pass it to idest_ucs4_cvt. All uses changed. (field_to_string): Take frame as the 2nd argument. All uses changed. (fixup_charset): Merge with collect_text_frames.
2017-01-30BugfixSergey Poznyakoff2
* libid3tag/tag.c (v1_render): Fix coredump on NULL TRCK value.
2017-01-30Minor scheme fixes.Sergey Poznyakoff4
* scheme/dry-run.scm: Mention a bug in Guile 2.0.9 that causes %load-hook to be called twice. * scheme/idest/list-modules.scm: Improve error handling. * tests/script05.at: Remove the "loading" diagnostics from the output. * tests/script08.at: Likewise.
2016-11-17Keep textual data in UTF-8 internally; provide new options for recodingSergey Poznyakoff19
* libid3tag/tag.c (id3_tag_new): Use conservative default options. * configure.ac: Check for iconv * src/utf8conv.c: New file. * src/Makefile.am (idest_SOURCES): Add new source file. (LDADD): Link with iconv libraries. * src/backup.c (copy_file): Initialize fsize properly. * src/cmdline.opt: New options: --fixup, --broken-8bit-charset, --encoding * src/guile.c: Remove unused functions. * src/frametab.gperf: Use textual_frame_encoding. * src/idest.h: Include locale.h (latin1_option): Remove. (charset,broken_8bit_charset) (textual_frame_encoding,fixup_option): New globals. (idest_conv_mode): New enum (utf8_convert): New proto. * src/idop.c (idest_ucs4_cvt): Hanlde broken_8bit_charset option. (set_tags): Fix-up frames if so requested. * src/main.c (latin1_option): Remove. (textual_frame_encoding,fixup_option): New globals (main): Set locale. * bootstrap: Update. * gnulib: Update. * gnulib.modules: Add localcharset * doc/html.init: Minor change. * doc/idest.texi: Update docs.
2015-11-17bootstrap: remove the schizophrenic use of --no-recursive.Sergey Poznyakoff1
Don't know what it served for. Gnulib stuff is sometimes extremely ... ehm ... idiosyncratic.
2015-11-07Include gnulib as a submodule. Fix testsuite.Sergey Poznyakoff31
Guile 2.x outputs spurious diagnostics to stderr when compiling input files. The only way to disable it is to disable compilation by setting environment variable GUILE_AUTO_COMPILE to 0. However, even if compilation is disabled, Guile still checks whether the compiled file exists and complains on stderr if it is older than the input file. This diagnostics begins with ;;;. Delete this using sed prior to comparing stderr with the expected text. * .gitmodules: Add gnulib * gnulib: New module. * bootstrap: Update from gnulib * gint: Upgrade. * scheme/idest/batch/setlyrics.scm: Fix typo. * src/Makefile.am: Use AM_CPPFLAGS instead of obsolete includes. * tests/atlocal.in: Set GUILE_AUTO_COMPILE=0 * tests/testsuite.at (WITH_GUILE): New macro. * tests/delcomm.at: Use WITH_GUILE. * tests/fmt-shortlist.at: Likewise. * tests/framelist00.at: Likewise. * tests/framelist01.at: Likewise. * tests/framelist02.at: Likewise. * tests/list1.at: Likewise. * tests/list2.at: Likewise. * tests/lyrics00.at: Likewise. * tests/pic00.at: Likewise. * tests/pic01.at: Likewise. * tests/script00.at: Likewise. * tests/script01.at: Likewise. * tests/script02.at: Likewise. * tests/script03.at: Likewise. * tests/script04.at: Likewise. * tests/script05.at: Likewise. * tests/script06.at: Likewise. * tests/script07.at: Likewise. * tests/script08.at: Likewise. * tests/setlyrics.at: Likewise. * tests/setpic.at: Likewise. * tests/settitle.at: Likewise. * tests/shortlist.at: Likewise.
2015-11-06Minor changesSergey Poznyakoff5
* configure.ac: Version 2.0.90 * NEWS: Update. * doc/idest.texi: Update. * examples/settitle.scm: Remove directory components from the name. * scheme/dry-run.scm: Improve help output.
2015-11-05Minor fixSergey Poznyakoff1
* scheme/idest/format/pic.scm: Remove unneeded function.
2015-11-05Bugfixes.Sergey Poznyakoff8
1. Fix --convert option so it can be used to remove unnecessary ID3 formats (e.g. --convert=2). 2. Fix processing of unknown frames in Guile code. 3. Fix setpic and pic modules. * scheme/idest/batch/setpic.scm (read-picture): Use binary i/o. * scheme/idest/format/pic.scm (save-picture): Likewise. * scheme/idest/list-modules.scm: Minor changes. * src/frametab.gperf (frame_field_from_rawdata): New function. * src/getopt.m4: Update copyright years. * src/guile.c (set_frame_from_rawdata): Use frame_field_from_rawdata. * src/idest.h (frame_field_from_rawdata): New proto. * src/idop.c (set_tag_options): Always call id3_tag_options.
2015-04-23Fix doc generation.Sergey Poznyakoff2
Default Config file applied to all output formats, which is wrong. Use a dedicated configuration file for html output formats, and defaults for the rest. * doc/Makefile.am (GENDOCS): Add html-specific configuration file. * doc/Config: Rename to doc/html.init.
2015-03-01Switch to Texinfo 5.0Sergey Poznyakoff4
* doc/Config: Rewrite. * doc/Makefile.am: Use Makeinfo 5 instead of texi2htm * doc/gendocs_template: Ps is not built * imprimatur: Upgrade.
2011-08-01Version 2.0release-2.0Sergey Poznyakoff1
2011-08-01Final cleanup. Version 2.0.Sergey Poznyakoff7
2011-07-31Finish the docs.Sergey Poznyakoff8
* doc/.gitignore: Update. * doc/idest.texi: Document all new features. * scheme/idest/batch/setlyrics.scm: Update --help output. * scheme/idest/batch/setpic.scm: Likewise. * scheme/idest/format/lyrics.scm: Likewise. * scheme/idest/format/pic.scm: Likewise. * scheme/idest/list-modules.scm: Implement the --which option. * src/guile.c (%idest-package-site-dir) (%idest-version-site-dir) (%idest-guile-site-dir): New functions.
2011-07-31Minor changesSergey Poznyakoff2
* src/editem.c (ed_item_qv_cmp): Use the least of the two qc values for comparison.
2011-07-30Finish the testsuite.Sergey Poznyakoff30
* scheme/Makefile.am: Rewrite. * src/frametab.gperf (frametab_enumerate): Minor fix. * tests/Makefile.am (TESTSUITE_AT): Add new testcases. (EXTRA_DIST): Add idest-32.png and idest-68.png. * tests/testsuite.at: Add new testcases. * tests/atlocal.in (GUILE_VERSION,INSTALL_PROG): New variables. * tests/id3v2: Remove trailing whitespace from USLT. * tests/delcomm.at: New file. * tests/fmt-shortlist.at: New file. * tests/framelist00.at: New file. * tests/framelist01.at: New file. * tests/framelist02.at: New file. * tests/list1.at: New file. * tests/list2.at: New file. * tests/lyrics00.at: New file. * tests/pic00.at: New file. * tests/pic01.at: New file. * tests/script00.at: New file. * tests/script01.at: New file. * tests/script02.at: New file. * tests/script03.at: New file. * tests/script04.at: New file. * tests/script05.at: New file. * tests/script06.at: New file. * tests/script07.at: New file. * tests/script08.at: New file. * tests/setlyrics.at: New file. * tests/setpic.at: New file. * tests/settitle.at: New file. * tests/shortlist.at: New file. * tests/version.at: Remove useless prereq.
2011-07-29Add more tests.Sergey Poznyakoff15
* src/idest.h (source_vopt): New extern. (guess_file_tag_options): New proto. * src/idop.c (parse_ed_items): Use only commas as separators. (set_tag_options,guess_file_tag_options): New function. (find_matching_frame): Use the above functions. (del_tags): make sure tag version remains unchanged, unless requested so on the command line. * src/main.c (source_vopt): New variable. (main): Set source_vopt. * tests/Makefile.am: Add new testcases. * tests/testsuite.at: Add new testcases. * tests/copy-v1-00.at: New testcase. * tests/copy-v12-00.at: New testcase. * tests/copy-v2-00.at: New testcase. * tests/del-all-v1.at: New testcase. * tests/del-all-v12.at: New testcase. * tests/del-all-v2.at: New testcase. * tests/del-frame-v1.at: New testcase. * tests/del-frame-v2.at: New testcase. * tests/set-v1-01.at: New testcase. * tests/set-v2-01.at: New testcase.
2011-07-28Add testsuiteSergey Poznyakoff31
* Makefile.am (SUBDIRS): Add tests * configure.ac: Initialize testsuite. * src/cmdline.opt (get_options): Bugfix. * src/frametab.gperf: Use condesc instead of descr, which is reserved. * src/getopt.m4: Fix version output. * src/guile.c: Bugfixes. * src/main.c (guile_argv): Declare here, instead of in guile.c. * tests/Makefile.am: New file. * tests/testsuite.at: New file. * tests/.gitignore: New file. * tests/Makefile.am: New file. * tests/atlocal.in: New file. * tests/genfile.c: New file. * tests/id3v1: New file. * tests/id3v1-2: New file. * tests/id3v2: New file. * tests/idest-32.png: New file. * tests/idest-68.png: New file. * tests/info-v1-00.at: New file. * tests/info-v12-00.at: New file. * tests/info-v2-00.at: New file. * tests/query-v1-00.at: New file. * tests/query-v1-01.at: New file. * tests/query-v2-00.at: New file. * tests/query-v2-01.at: New file. * tests/query-v2-02.at: New file. * tests/query-v2-03.at: New file. * tests/query-v2-04.at: New file. * tests/set-v1-00.at: New file. * tests/set-v2-00.at: New file. * tests/version.at: New file.
2011-07-27Add full support for APIC frames.Sergey Poznyakoff4
* src/frametab.gperf: Support APIC. * src/idop.c (field_binary_from_string): Accept lowercase hex digits. * scheme/idest/batch/setpic.scm: New batch. * scheme/idest/format/pic.scm: Use named elements.
2011-07-27New format `pic': displays attached picture.Sergey Poznyakoff2
* scheme/idest/format/pic.scm: New format.
2011-07-26Various improvements.Sergey Poznyakoff5
* src/Makefile.am: Initialize MAINTAINERCLEANFILES. * src/cmdline.opt: New options: --prepend-load-path and --no-init-files. * src/guile.c (no_init_files_option): New variable. (guile_load): Bail out on error. (load_path_prepend): Rewrite. (load_path_append): New function. (user_load_path_list): Replace with user_path_list (array). (guile_add_load_path): Second arg indicates which list to modify. (flush_user_load_path): Argument indicates which list to flush. (load_startup_file): Don't touch load path. It is done elsewhere. (guile_init): Set up load path. Call load_startup_file unless no_init_files_option is set. * src/idest.h (no_init_files_option): New extern. (guile_add_load_path): Change signature. * src/main.c (main): Fix coredump.
2011-07-26Upgrade gintSergey Poznyakoff1
2011-07-26Improve batch/format interface.Sergey Poznyakoff8
* scheme/batch.scm: Rewrite using idest-load-module * scheme/format.scm: Likewise. * scheme/idest/batch/setlyrics.scm: New file. * scheme/idest/format/framelist.scm: Define idest-init * scheme/idest/format/help.scm: Likewise. * scheme/idest/format/lyrics.scm: Likewise. * scheme/idest/load-module.scm: New file.
2011-07-25Implement --batch option (a generalization of --format).Sergey Poznyakoff12
* 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.
2011-07-25Implement `--format help', which shows a list of existing formats.Sergey Poznyakoff5
* scheme/idest/format/help.scm: New module. * scheme/idest/format/framelist.scm: Define description for use by --format help * scheme/idest/format/lyrics.scm: Likewise. * scheme/idest/format/shortlist.scm: Likewise. * src/guile.c: Change priority of directory in load path: VERSION_SITE is placed before PKG_SITE, but after user-defined directories.
2011-07-24Minor change.Sergey Poznyakoff1
* scheme/format.scm: Don't declare it as a module.
2011-07-24Convert v2.2 PIC to v2.4 APICSergey Poznyakoff1
* libid3tag/compat.gperf (translate_APIC): New function. Use it to translate PIC to APIC.
2011-07-24Minor changeSergey Poznyakoff1
* libid3tag/compat.gperf: Reformat
2011-07-24Minor change.Sergey Poznyakoff1
* scheme/format.scm: Improve error reporting.
2011-07-24Minor fix.Sergey Poznyakoff1
* scheme/Makefile.am (install-data-local): Create destdir if it does not exist already.
2011-07-23Implement new formats: framelist & lyrics.Sergey Poznyakoff7
* scheme/format.scm: Set actual format script name as argv[0] * src/cmdline.opt <format>: Use `stop' to stop argument processing. * src/getopt.m4 (GETOPT): New local variable `stop'. * scheme/idest/format/framelist.scm: New file. * scheme/idest/format/lyrics.scm: New file.
2011-07-22BugfixesSergey Poznyakoff2
* src/cmdline.opt (get_options): Prevent coredump on argc==optind. * src/guile.c (flush_user_load_path): Prevent coredump on user_load_path_list == NULL.
2011-07-20Implement --format option.Sergey Poznyakoff13
* Makefile.am (SUBDIRS): Add scheme (conditionally). * configure.ac (IDEST_COND_GUILE): New condition. * examples/dry-run.scm: Move to scheme. * examples/Makefile.am: Update. * src/Makefile.am (AM_CPPFLAGS): Add VERSION_SITE. * src/cmdline.opt: New options --format and --load-path. * src/editem.c (str_split_col): Remove static qualifier. * src/guile.c (guile_add_load_path): New function. (load_startup_file): Flush user additions to the load path. Add VERSION_SITE at the beginning. * src/idest.h (list_supported_frames) (str_split_col,guile_add_load_path): New protos. * src/main.c (format_name): New global. (main): Handle --format option. * scheme/dry-run.scm: New file (from examples) * scheme/format.scm: New file. * scheme/idest/format/shortlist.scm: New file.
2011-07-19Makefile.am: Add TAGSSergey Poznyakoff1
2011-07-18Minor fixSergey Poznyakoff1
2011-07-18UpdateSergey Poznyakoff5
2011-07-18Finish the docs + minor cleanup.Sergey Poznyakoff2
* doc/idest.texi: Document all changes. * examples/echo.scm: Rename to dry-run.scm * examples/title.scm: Rename to settitle.scm * examples/Makefile.am: Update * src/cmdline.opt: Update
2011-07-17Update docs. Accept --filter option with --list-frames.Sergey Poznyakoff5
2011-07-17Minor changes.Sergey Poznyakoff3
2011-07-17Bugfix.Sergey Poznyakoff1
* src/guile.c: Exit with code 1 if the file fails to load.
2011-07-17New installable script echo.scmSergey Poznyakoff4
* NEWS: Update. * examples/Makefile.am: Install echo.scm to the sitedir * examples/delcomm.scm: New file. * examples/echo.scm: New file.
2011-07-17New option: --list-framesSergey Poznyakoff5
* NEWS: Update. * src/cmdline.opt: New option --list-frames (-L) * src/frametab.gperf: Use %global-table option. (frametab_enumerate): New function. * src/idest.h (frametab_enumerate): New proto. * src/main.c: Implement --list-frames.
2011-07-17Support for URL frames.Sergey Poznyakoff1
* src/frametab.gperf: Add URL frames. Return meaningful error codes.
2011-07-17Change version number to 1.99.90. Next stable will be 2.0.Sergey Poznyakoff2
2011-07-17Fix some warnings.Sergey Poznyakoff5
2011-07-17New feature: copy tags between files.Sergey Poznyakoff6
* NEWS: Update. * src/cmdline.opt: New option --copy. Call parse_filter_items instead of parse_ed_items. * src/editem.c (ed_list_locate): New function. * src/idest.h (source_file, source_tag): New externs. (input_list_locate,parse_ed_items): Remove. (parse_filter_items): New proto. (ed_list_locate): New proto. * src/idop.c (filter_list): New list. (input_list_locate): Remove. Use ed_list_locate with a proper first argument. All uses updated. (parse_ed_items): Take 2 args. (parse_filter_items): New function. (input_list_init): Rename to filter_list_init. Operate on filter list. (output_list_print): Operate on filter_list. (copy_source_tags): New static function. (set_tags): Call copy_source_tags. (del_tags): Operate on filter_list. * src/main.c (source_file,source_tag): New variables. (main): Read source tags if --copy is requested.
2011-07-17Improve error reporting in Guile.Sergey Poznyakoff1
2011-07-17Handle unsupported frames in Scheme code graciously.Sergey Poznyakoff4
* src/frametab.gperf (encode_field): Rename to frame_field_from_string. Handle ID3_FIELD_TYPE_INT32PLUS and ID3_FIELD_TYPE_BINARYDATA. * src/guile.c (idest_rawdata): New global symbol. (frame_to_scm): Handle frames for which no frametab is defined. (scm_to_tag): Handle frames in raw format. * src/idest.h (field_binary_from_string) (field_binary_to_string) (frame_field_from_string): New protos. * src/idop.c (field_binary_to_string): New function. (field_binary_from_string): New function. (field_to_string): Handle ID3_FIELD_TYPE_INT32PLUS and ID3_FIELD_TYPE_BINARYDATA.
2011-07-17BugfixSergey Poznyakoff1
* src/idop.c (output_list_print): Fix coredump on empty output list.

Return to:

Send suggestions and report system problems to the System administrator.