aboutsummaryrefslogtreecommitdiff
path: root/src/cmdline.opt
AgeCommit message (Collapse)AuthorFiles
2017-03-11Version 2.1Sergey Poznyakoff1
2016-11-17Keep textual data in UTF-8 internally; provide new options for recodingSergey Poznyakoff1
* 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.
2011-07-29Add testsuiteSergey Poznyakoff1
* 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-26Various improvements.Sergey Poznyakoff1
* 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-25Implement --batch option (a generalization of --format).Sergey Poznyakoff1
* 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-23Implement new formats: framelist & lyrics.Sergey Poznyakoff1
* 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-23BugfixesSergey Poznyakoff1
* 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 Poznyakoff1
* 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-19UpdateSergey Poznyakoff1
2011-07-17New option: --list-framesSergey Poznyakoff1
* 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-17New feature: copy tags between files.Sergey Poznyakoff1
* 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-17Implement a shortcut for --set mode.Sergey Poznyakoff1
* src/cmdline.opt: If MODE_MOD is set, accept assignments before file list. * NEWS: Update.
2011-07-16Major rewrite.Sergey Poznyakoff1
* src/idest.h (ed_item): Remove union, leave only value instead. <ref>: New member. (describe_option,verbose_option,all_frames): New externs. (set_frame_value): Return int. (IDEST_OK,IDEST_ERR_*): New constants. (_idest_errstr, _idest_nerrs): New externs. (idest_frame_cmp_t,idest_frame_encoder_t) (idest_frame_decoder_t): New typedefs. (idest_frametab): New struct. (idest_frame_lookup) (find_matching_frame): New protos. (ed_list_add_item) (ed_list_print,ed_list_add_assignment) (ed_list_clear,ed_item_matches_frame) (ed_item_set_comment_fields): Remove. (qv_free,input_list_locate) (parse_ed_items): New protos. * src/idop.c: Rewrite. * src/.gitignore: Add src/frametab.c * src/Makefile.am (idest_SOURCES): Add editem.c and frametab.c (BUILT_SOURCES): Add frametab.c (.gperf.c): New rule (GPERF_FLAGS): New variable. * src/editem.c: New source. * src/frametab.gperf: New source. * src/cmdline.opt: Use input_list_add_assignment in --set handler. * src/guile.c (frame_to_scm,scm_to_tag): Rewrite using the new logic.
2011-07-12Change ID3 version handling.Sergey Poznyakoff1
* src/cmdline.opt: New option --default-id-version. The --convert and --id-version take version list as their argument. * src/idest.h (IDEST_ID3V_1) (IDEST_ID3V_2): New constants. (default_version_option): New extern. * src/idop.c (set_tags): Don't alter version_option. Unless none of version_option, default_version_option or convert_version is set, preserve existing file structure. Create new tags according to the settings of default_version_option. * src/main.c (main): Set default value for default_version_option. * NEWS: Document changes. * doc/idest.texi: Update.
2011-07-12New option --describe. Accept content descriptors in -q args.Sergey Poznyakoff1
* src/cmdline.opt: New option --describe * src/main.c (describe_option): New variable. (str_split_col): New function, (ed_list_new_item): Rewrite. (ed_item_matches_frame): New function, (ed_list_add_item): Honor describe_option. (ed_list_add_assignment): Use ed_list_new_item. (ed_list_print): Minor change. * NEWS: Updated * doc/idest.texi: Updated.
2011-07-10Guile scripts can access and modify command line arguments.Sergey Poznyakoff1
* NEWS: Update. * src/cmdline.opt (--script): Stop argument processing. * src/guile.c (guile_argv): New variable. (guile_load): Take command line arguments as the 3rd argument. All uses updated. (guile_init): Allow the script to alter command line arguments. * src/idest.h (guile_argv): New proto. (guile_init): Change signature. * src/main.c (main): Call guile_init before checking argc.
2011-07-08Add a possibility to delete a subset of ID3 frames.Sergey Poznyakoff1
* NEWS: Document changes to --delete. * doc/idest.texi: Likewise. * src/cmdline.opt: --delete takes optional argument. -d is a shorthand for it. * src/idop.c (del_tags): Delete only certain frames, if a frame list is given.
2011-07-08Implement the --info option.Sergey Poznyakoff1
* NEWS: Update. * configure.ac: Version 1.2.90 * doc/idest.texi: Document the --info option. * libid3tag/file.c (id3_file_struct_ntags) (id3_file_struct_iterate): New functions. * libid3tag/file.h (id3_file_struct_ntags) (id3_file_struct_iterate): New protos. (id3_file_struct_iterator_t): New data type. * src/cmdline.opt: New option --info. * src/idest.h (info_id3): New proto. (del_id3v2): Remove. * src/idop.c (info_id3): New function. * src/main.c (id3_mode): Add info_id3.
2011-03-20Improve signal handling; new option --verboseSergey Poznyakoff1
* NEWS: Update. * src/cmdline.opt: New option --version * src/idop.c (safe_id3_file_update_and_close): New function. (set_tags, del_tags): Use safe_id3_file_update_and_close. * src/main.c (verbose_option): New variable. (main): Print name of the file being processed, if verbose_option is set.
2011-03-19Update copyright years.Sergey Poznyakoff1
2010-01-02Update copyright years.Sergey Poznyakoff1
Happy GNU Year!
2009-03-17Improve and document backup handling.Sergey Poznyakoff1
* doc/idest.texi: Document backup methods. * src/cmdline.opt: Fix handling of the --backup option.
2009-03-17Add documentation (incomplete)Sergey Poznyakoff1
2009-03-17Improve scripting, implement v1->v2 conversion, implement --delete command.Sergey Poznyakoff1
* libid3tag/file.c (v2_write): Change for make it possible to convert v1 to v2. * src/.gitignore: Add guile.x. * src/Makefile.am (idest_SOURCES): Add guile.x (BUILT_SOURCES): Add guile.x (SUFFIXES): Add .x (.c.x): New rule * src/cmdline.opt: New option: --trace. * src/guile.c: Rewrite. * src/idest.h (MODE_QUERY, MODE_MOD, MODE_DELETE): New defines (from main.c). (guile_transform, guile_list): New protos. (guile_apply): Remove. * src/idop.c (set_tags): Handle convert_version == 2. (del_tags): New function. * src/main.c (del_id3): Call del_tags
2009-03-16Add framework for Guile scripting.Sergey Poznyakoff1
* am/guile.m4: New file. * Makefile.am (ACLOCAL_AMFLAGS): Add -I am * configure.ac: Check for Guile. * src/Makefile.am (idest_SOURCES): guile.c (INCLUDES,LDADD): Add guile variables. * src/cmdline.opt: New options: --script and --function. * src/getopt.m4: Support conditional compilation. * src/idest.h (guile_debug, guile_script, guile_function): New externs. * src/guile.c: New file.
2009-03-15Remove old v1 code. Add an option for converting tags to v1.Sergey Poznyakoff1
* libid3tag/file.c (SIZE_T_MAX): Rename to MALLOC_MAX. Use (size_t_max-1), due to a bug in glibc's malloc. (make_temp_file): Fix size calculation (memory overrun). (v2_write): data and/or length can be 0. (id3_file_update): Drop v2 header, if ID3_TAG_OPTION_NO_ID3V2 is set. * libid3tag/id3tag.h (ID3_TAG_OPTION_NO_ID3V2): New constant. * src/id3v1.c, src/id3v1.h: Remove. * src/id3v2.c: Rename to... * src/idop.c: ... this. (set_tags): Handle convert_version and version_option. * src/Makefile.am: Reflect the above. * src/cmdline.opt (--convert, -C): New option. * src/idest.h: Kick off id3v1.h. (convert_version, version_option): new externs. (set_id3v1, query_id3v1, del_id3v1) (set_id3v2, query_id3v2, del_id3v2): Remove. (set_tags, query_tags, del_tags): New prototypes. * src/main.c (convert_version): New variable. (query_id3): use all_frames to determine ed_list. (set_id3): Remove old v1 code. (main): Remove old v1 code.
2009-02-09Initial implementation of --set.Sergey Poznyakoff1
* src/cmdline.opt: New option --delete. * src/id3v1.c (del_id3v1): Initial implementation. * src/id3v2.c: Implement setting basic fields. * src/idest.h (latin1_output): Rename to latin1_option. (enum item_ids): New enum (from main.c) (struct ed_item): New data type (from main.c) (ed_list): New global. * src/main.c (latin1_output): Rename to latin1_option. (backup_type): Default to numbered_existing_backups.
2009-02-08Preparation for implementing set/delete operations.Sergey Poznyakoff1
* src/backup.c: New file. * gnulib.modules: Request backupfile, dirname and save-cwd. * src/Makefile.am (idest_SOURCES): Add backup.c * src/cmdline.opt: New options --backup and --backup-directory. * src/id3v2.c: Minor change. * src/idest.h: Include backupfile.h (backup_type, backup_dir): New externs. * src/main.c: Minor change.
2009-02-07Assume `idest' as the official project nameSergey Poznyakoff1
2009-02-07Implement ID3v2 read-only access.Sergey Poznyakoff1
* .gitignore: Add core. * gnulib.modules: Add argmatch and linked-list. * src/.gitignore: Add .gdbinit * src/slist.c: New file * src/Makefile.am (id3ed_SOURCES): Add new files. * src/cmdline.opt: Remove all options, except -q and --latin1. Add new options: --all and --set. * src/getopt.m4 (BEGIN): Fix handling of optional arguments. * src/id3ed.h: Include xalloc.h, gl_linked_list.h and argmatch.h (v1_block,title,artist,album,year,comment,track,genre): Remove. (DEFAULT_ED_LIST): New define. (set_id3v1): Takes 2 arguments. (string_list_action_fn): new data type. (new_string_list,do_string_list,concat_string_list) (print_string_list): New prototypes. (ed_list_add_item,ed_list_print,ed_list_add_assignment): New prototypes. * src/id3v1.c (id3v1_read,id3v1_write): Bugfixes. (set_id3v1): Take a pointer to id3v1_block as 2nd argument. * src/id3v2.c: Implement show_tags. * src/main.c: Rewrite.
2009-02-05Switch to using libid3tagSergey Poznyakoff1
2009-02-04Add gnulib frameworkSergey Poznyakoff1

Return to:

Send suggestions and report system problems to the System administrator.