diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-09-05 13:14:37 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-09-05 13:14:37 +0000 |
commit | fd3b2704efc2b206784615c1a23eb25501842259 (patch) | |
tree | 61ba3a8af2a0ae2ac9ec362bbf18b038f5dc0448 /man | |
parent | Initial commit. (diff) | |
download | flac-fd3b2704efc2b206784615c1a23eb25501842259.tar.xz flac-fd3b2704efc2b206784615c1a23eb25501842259.zip |
Adding upstream version 1.4.3+ds.upstream/1.4.3+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man')
-rw-r--r-- | man/Makefile.am | 34 | ||||
-rw-r--r-- | man/Makefile.in | 586 | ||||
-rw-r--r-- | man/flac.md | 760 | ||||
-rw-r--r-- | man/metaflac.md | 299 |
4 files changed, 1679 insertions, 0 deletions
diff --git a/man/Makefile.am b/man/Makefile.am new file mode 100644 index 0000000..50bacae --- /dev/null +++ b/man/Makefile.am @@ -0,0 +1,34 @@ +# flac - Command-line FLAC encoder/decoder +# Copyright (C) 2000-2009 Josh Coalson +# Copyright (C) 2011-2023 Xiph.Org Foundation +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +if FLaC__HAS_PANDOC +flac.1: flac.md + pandoc --standalone --to man $? > $@ + +metaflac.1: metaflac.md + pandoc --standalone --to man $? > $@ + +man_MANS = flac.1 metaflac.1 + +else +if FLaC__HAS_PREBUILT_MANPAGES +man_MANS = flac.1 metaflac.1 +endif +endif + +EXTRA_DIST = flac.1 metaflac.1 flac.md metaflac.md diff --git a/man/Makefile.in b/man/Makefile.in new file mode 100644 index 0000000..484e0f3 --- /dev/null +++ b/man/Makefile.in @@ -0,0 +1,586 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# flac - Command-line FLAC encoder/decoder +# Copyright (C) 2000-2009 Josh Coalson +# Copyright (C) 2011-2023 Xiph.Org Foundation +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = man +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \ + $(top_srcdir)/m4/add_cxxflags.m4 \ + $(top_srcdir)/m4/ax_add_fortify_source.m4 \ + $(top_srcdir)/m4/ax_check_compile_flag.m4 \ + $(top_srcdir)/m4/ax_check_enable_debug.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +man1dir = $(mandir)/man1 +am__installdirs = "$(DESTDIR)$(man1dir)" +NROFF = nroff +MANS = $(man_MANS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DOXYGEN = @DOXYGEN@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FLAC__HAS_OGG = @FLAC__HAS_OGG@ +FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@ +FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@ +GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@ +GCC_MINOR_VERSION = @GCC_MINOR_VERSION@ +GCC_VERSION = @GCC_VERSION@ +GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@ +GIT_FOUND = @GIT_FOUND@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OBJ_FORMAT = @OBJ_FORMAT@ +OGG_CFLAGS = @OGG_CFLAGS@ +OGG_LIBS = @OGG_LIBS@ +OGG_PACKAGE = @OGG_PACKAGE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANDOC = @PANDOC@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +RC = @RC@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@FLaC__HAS_PANDOC_FALSE@@FLaC__HAS_PREBUILT_MANPAGES_TRUE@man_MANS = flac.1 metaflac.1 +@FLaC__HAS_PANDOC_TRUE@man_MANS = flac.1 metaflac.1 +EXTRA_DIST = flac.1 metaflac.1 flac.md metaflac.md +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign man/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-man1: $(man_MANS) + @$(NORMAL_INSTALL) + @list1=''; \ + list2='$(man_MANS)'; \ + test -n "$(man1dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.1[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(MANS) +installdirs: + for dir in "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-man + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: install-man1 + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-man + +uninstall-man: uninstall-man1 + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-man1 install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags-am uninstall uninstall-am uninstall-man \ + uninstall-man1 + +.PRECIOUS: Makefile + + +@FLaC__HAS_PANDOC_TRUE@flac.1: flac.md +@FLaC__HAS_PANDOC_TRUE@ pandoc --standalone --to man $? > $@ + +@FLaC__HAS_PANDOC_TRUE@metaflac.1: metaflac.md +@FLaC__HAS_PANDOC_TRUE@ pandoc --standalone --to man $? > $@ + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/man/flac.md b/man/flac.md new file mode 100644 index 0000000..b51ac69 --- /dev/null +++ b/man/flac.md @@ -0,0 +1,760 @@ +% flac(1) Version 1.4.3 | Free Lossless Audio Codec conversion tool + +# NAME + +flac - Free Lossless Audio Codec + +# SYNOPSIS + +**flac** \[ *OPTIONS* \] \[ *infile.wav* \| *infile.rf64* \| +*infile.aiff* \| *infile.raw* \| *infile.flac* \| *infile.oga* \| +*infile.ogg* \| **-** *...* \] + +**flac** \[ **-d** \| **\--decode** \| **-t** \| **\--test** \| **-a** \| +**\--analyze** \] \[ *OPTIONS* \] \[ *infile.flac* \| *infile.oga* \| +*infile.ogg* \| **-** *...* \] + +# DESCRIPTION + +**flac** is a command-line tool for encoding, decoding, testing and +analyzing FLAC streams. + +# GENERAL USAGE + +**flac** supports as input RIFF WAVE, Wave64, RF64, AIFF, FLAC or Ogg +FLAC format, or raw interleaved samples. The decoder currently can output +to RIFF WAVE, Wave64, RF64, or AIFF format, or raw interleaved samples. +flac only supports linear PCM samples (in other words, no A-LAW, uLAW, +etc.), and the input must be between 4 and 32 bits per sample. + +flac assumes that files ending in ".wav" or that have the RIFF WAVE +header present are WAVE files, files ending in ".w64" or have the Wave64 +header present are Wave64 files, files ending in ".rf64" or have the +RF64 header present are RF64 files, files ending in ".aif" or ".aiff" or +have the AIFF header present are AIFF files, files ending in ".flac" +or have the FLAC header present are FLAC files and files ending in ".oga" +or ".ogg" or have the Ogg FLAC header present are Ogg FLAC files. + +Other than this, flac makes no assumptions about file extensions, though +the convention is that FLAC files have the extension ".flac" +(or ".fla" on ancient "8.3" file systems like FAT-16). + +Before going into the full command-line description, a few other things +help to sort it out: +1. flac encodes by default, so you must use -d to decode +2. the options -0 .. -8 (or --fast and --best) that control the + compression level actually are just synonyms for different groups of + specific encoding options (described later) and you can get the same + effect by using the same options. When specific options are specified + they take priority over the compression level no matter the order +3. flac behaves similarly to gzip in the way it handles input and output + files +4. the order in which options are specified is generally not important + +Skip to the examples below for examples of some common tasks. + +flac will be invoked one of four ways, depending on whether you are +encoding, decoding, testing, or analyzing. Encoding is the default +invocation, but can be switch to decoding with **-d**, analysis with +**-a** or testing with **-t**. Depending on which way is chosen, +encoding, decoding, analysis or testing options can be used, see section +OPTIONS for details. General options can be used for all. + +If only one inputfile is specified, it may be "-" for stdin. When stdin +is used as input, flac will write to stdout. Otherwise flac will perform +the desired operation on each input file to similarly named output files +(meaning for encoding, the extension will be replaced with ".flac", or +appended with ".flac" if the input file has no extension, and for +decoding, the extension will be ".wav" for WAVE output and ".raw" for raw +output). The original file is not deleted unless --delete-input-file is +specified. + +If you are encoding/decoding from stdin to a file, you should use the -o +option like so: + + flac [options] -o outputfile + flac -d [options] -o outputfile + +which are better than: + + flac [options] > outputfile + flac -d [options] > outputfile + +since the former allows flac to seek backwards to write the STREAMINFO or +RIFF WAVE header contents when necessary. + +Also, you can force output data to go to stdout using -c. + +To encode or decode files that start with a dash, use -- to signal the +end of options, to keep the filenames themselves from being treated as +options: + + flac -V -- -01-filename.wav + +The encoding options affect the compression ratio and encoding speed. The +format options are used to tell flac the arrangement of samples if the +input file (or output file when decoding) is a raw file. If it is a RIFF +WAVE, Wave64, RF64, or AIFF file the format options are not needed since +they are read from the file's header. + +In test mode, flac acts just like in decode mode, except no output file +is written. Both decode and test modes detect errors in the stream, but +they also detect when the MD5 signature of the decoded audio does not +match the stored MD5 signature, even when the bitstream is valid. + +flac can also re-encode FLAC files. In other words, you can specify a +FLAC or Ogg FLAC file as an input to the encoder and it will decoder it +and re-encode it according to the options you specify. It will also +preserve all the metadata unless you override it with other options (e.g. +specifying new tags, seekpoints, cuesheet, padding, etc.). + +flac has been tuned so that the default settings yield a good speed vs. +compression tradeoff for many kinds of input. However, if you are looking +to maximize the compression rate or speed, or want to use the full power +of FLAC's metadata system, see the page titled 'About the FLAC Format' on +the FLAC website. + +# EXAMPLES + +Some common **encoding** tasks using flac: + +`flac abc.wav` +: Encode abc.wav to abc.flac using the default compression setting. abc.wav is not deleted. + +`flac --delete-input-file abc.wav` +: Like above, except abc.wav is deleted if there were no errors. + +`flac --delete-input-file -w abc.wav` +: Like above, except abc.wav is deleted if there were no errors or warnings. + +`flac --best abc.wav` +: Encode abc.wav to abc.flac using the highest compression setting. + +`flac --verify abc.wav` +: Encode abc.wav to abc.flac and internally decode abc.flac to make sure it matches abc.wav. + +`flac -o my.flac abc.wav` +: Encode abc.wav to my.flac. + +`flac -T "TITLE=Bohemian Rhapsody" -T "ARTIST=Queen" abc.wav` +: Encode abc.wav and add some tags at the same time to abc.flac. + +`flac *.wav` +: Encode all .wav files in the current directory. + +`flac abc.aiff` +: Encode abc.aiff to abc.flac. + +`flac abc.rf64` +: Encode abc.rf64 to abc.flac. + +`flac abc.w64` +: Encode abc.w64 to abc.flac. + +`flac abc.flac --force` +: This one's a little tricky: notice that flac is in encode mode by + default (you have to specify -d to decode) so this command actually + recompresses abc.flac back to abc.flac. --force is needed to make + sure you really want to overwrite abc.flac with a new version. Why + would you want to do this? It allows you to recompress an existing + FLAC file with (usually) higher compression options or a newer + version of FLAC and preserve all the metadata like tags too. + +Some common **decoding** tasks using flac: + +`flac -d abc.flac` +: Decode abc.flac to abc.wav. abc.flac is not deleted. NOTE: Without + -d it means re-encode abc.flac to abc.flac (see above). + +`flac -d --force-aiff-format abc.flac` +`flac -d -o abc.aiff abc.flac` +: Two different ways of decoding abc.flac to abc.aiff (AIFF format). + abc.flac is not deleted. + +`flac -d --force-rf64-format abc.flac` +`flac -d -o abc.rf64 abc.flac` +: Two different ways of decoding abc.flac to abc.rf64 (RF64 format). + abc.flac is not deleted. + +`flac -d --force-wave64-format abc.flac` +`flac -d -o abc.w64 abc.flac` +: Two different ways of decoding abc.flac to abc.w64 (Wave64 format). + abc.flac is not deleted. + +`flac -d -F abc.flac` +: Decode abc.flac to abc.wav and don't abort if errors are found + (useful for recovering as much as possible from corrupted files). + + +# OPTIONS + +A summary of options is included below. For a complete description, see +the HTML documentation. + +## GENERAL OPTIONS + +**-v, \--version** +: Show the flac version number + +**-h, \--help** +: Show basic usage and a list of all options + +**-H, \--explain** +: Show detailed explanation of usage and all options + +**-d, \--decode** +: Decode (the default behavior is to encode) + +**-t, \--test** +: Test a flac encoded file (same as -d except no decoded file is written) + +**-a, \--analyze** +: Analyze a FLAC encoded file (same as -d except an analysis file is + written) + +**-c, \--stdout** +: Write output to stdout + +**-s, \--silent** +: Silent mode (do not write runtime encode/decode statistics to stderr) + +**\--totally-silent** +: Do not print anything of any kind, including warnings or errors. The + exit code will be the only way to determine successful completion. + +**\--no-utf8-convert** +: Do not convert tags from local charset to UTF-8. This is useful for + scripts, and setting tags in situations where the locale is wrong. + This option must appear before any tag options! + +**-w, \--warnings-as-errors** +: Treat all warnings as errors (which cause flac to terminate with a + non-zero exit code). + +**-f, \--force** +: Force overwriting of output files. By default, flac warns that the + output file already exists and continues to the next file. + +**-o** *filename***, \--output-name=***filename* +: Force the output file name (usually flac just changes the extension). + May only be used when encoding a single file. May not be used in + conjunction with \--output-prefix. + +**\--output-prefix=***string* +: Prefix each output file name with the given string. This can be + useful for encoding or decoding files to a different directory. Make + sure if your string is a path name that it ends with a trailing \`/' + (slash). + +**\--delete-input-file** +: Automatically delete the input file after a successful encode or + decode. If there was an error (including a verify error) the input + file is left intact. + +**\--preserve-modtime** +: Output files have their timestamps/permissions set to match those of + their inputs (this is default). Use \--no-preserve-modtime to make + output files have the current time and default permissions. + +**\--keep-foreign-metadata** +: If encoding, save WAVE, RF64, or AIFF non-audio chunks in FLAC + metadata. If decoding, restore any saved non-audio chunks from FLAC + metadata when writing the decoded file. Foreign metadata cannot be + transcoded, e.g. WAVE chunks saved in a FLAC file cannot be restored + when decoding to AIFF. Input and output must be regular files (not + stdin or stdout). With this option, FLAC will pick the right output + format on decoding. + +**\--keep-foreign-metadata-if-present** +: Like \--keep-foreign-metadata, but without throwing an error if + foreign metadata cannot be found or restored, instead printing a + warning. + +**\--skip={***\#***\|***mm:ss.ss***}** +: Skip over the first number of samples of the input. This works for + both encoding and decoding, but not testing. The alternative form + mm:ss.ss can be used to specify minutes, seconds, and fractions of a + second. + +**\--until={***\#***\|\[***+***\|***-***\]***mm:ss.ss***}** +: Stop at the given sample number for each input file. This works for + both encoding and decoding, but not testing. The given sample number + is not included in the decoded output. The alternative form mm:ss.ss + can be used to specify minutes, seconds, and fractions of a second. + If a \`+' (plus) sign is at the beginning, the \--until point is + relative to the \--skip point. If a \`-' (minus) sign is at the + beginning, the \--until point is relative to end of the audio. + +**\--ogg** +: When encoding, generate Ogg FLAC output instead of native FLAC. Ogg + FLAC streams are FLAC streams wrapped in an Ogg transport layer. The + resulting file should have an '.oga' extension and will still be + decodable by flac. When decoding, force the input to be treated as + Ogg FLAC. This is useful when piping input from stdin or when the + filename does not end in '.oga' or '.ogg'. + +**\--serial-number=***\#* +: When used with \--ogg, specifies the serial number to use for the + first Ogg FLAC stream, which is then incremented for each additional + stream. When encoding and no serial number is given, flac uses a + random number for the first stream, then increments it for each + additional stream. When decoding and no number is given, flac uses + the serial number of the first page. + +## ANALYSIS OPTIONS + +**\--residual-text** +: Includes the residual signal in the analysis file. This will make the + file very big, much larger than even the decoded file. + +**\--residual-gnuplot** +: Generates a gnuplot file for every subframe; each file will contain + the residual distribution of the subframe. This will create a lot of + files. + +## DECODING OPTIONS + +**\--cue=\[***\#.#***\]\[-\[***\#.#***\]\]** +: Set the beginning and ending cuepoints to decode. The optional first + \#.# is the track and index point at which decoding will start; the + default is the beginning of the stream. The optional second \#.# is + the track and index point at which decoding will end; the default is + the end of the stream. If the cuepoint does not exist, the closest + one before it (for the start point) or after it (for the end point) + will be used. If those don't exist, the start of the stream (for the + start point) or end of the stream (for the end point) will be used. + The cuepoints are merely translated into sample numbers then used as + \--skip and \--until. A CD track can always be cued by, for example, + \--cue=9.1-10.1 for track 9, even if the CD has no 10th track. + +**-F, \--decode-through-errors** +: By default flac stops decoding with an error and removes the + partially decoded file if it encounters a bitstream error. With -F, + errors are still printed but flac will continue decoding to + completion. Note that errors may cause the decoded audio to be + missing some samples or have silent sections. + +**\--apply-replaygain-which-is-not-lossless\[=\<specification\>\]** +: Applies ReplayGain values while decoding. **WARNING: THIS IS NOT + LOSSLESS. DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH + THIS OPTION.** This option is useful for example in transcoding + media servers, where the client does not support ReplayGain. For + details on the use of this option, see the section **ReplayGain + application specification**. + +## ENCODING OPTIONS + +**-V, \--verify** +: Verify a correct encoding by decoding the output in parallel and + comparing to the original + +**\--lax** +: Allow encoder to generate non-Subset files. The resulting FLAC file + may not be streamable or might have trouble being played in all + players (especially hardware devices), so you should only use this + option in combination with custom encoding options meant for + archival. + +**\--replay-gain** +: Calculate ReplayGain values and store them as FLAC tags, similar to + vorbisgain. Title gains/peaks will be computed for each input file, + and an album gain/peak will be computed for all files. All input + files must have the same resolution, sample rate, and number of + channels. Only mono and stereo files are allowed, and the sample + rate must be 8, 11.025, 12, 16, 18.9, 22.05, 24, 28, 32, 36, 37.8, + 44.1, 48, 56, 64, 72, 75.6, 88.2, 96, 112, 128, 144, 151.2, 176.4, + 192, 224, 256, 288, 302.4, 352.8, 384, 448, 512, 576, or 604.8 kHz. + Also note that this option may leave a few extra bytes in a PADDING + block as the exact size of the tags is not known until all files + are processed. Note that this option cannot be used when encoding + to standard output (stdout). + +**\--cuesheet=***filename* +: Import the given cuesheet file and store it in a CUESHEET metadata + block. This option may only be used when encoding a single file. A + seekpoint will be added for each index point in the cuesheet to the + SEEKTABLE unless \--no-cued-seekpoints is specified. + +**\--picture={***FILENAME***\|***SPECIFICATION***}** +: Import a picture and store it in a PICTURE metadata block. More than + one \--picture option can be specified. Either a filename for the + picture file or a more complete specification form can be used. The + SPECIFICATION is a string whose parts are separated by \| (pipe) + characters. Some parts may be left empty to invoke default values. + FILENAME is just shorthand for "\|\|\|\|FILENAME". For the format of + SPECIFICATION, see the section **picture specification**. + +**\--ignore-chunk-sizes** +: When encoding to flac, ignore the file size headers in WAV and AIFF + files to attempt to work around problems with over-sized or malformed + files. WAV and AIFF files both have an unsigned 32 bit numbers in + the file header which specifes the length of audio data. Since this + number is unsigned 32 bits, that limits the size of a valid file to + being just over 4 Gigabytes. Files larger than this are mal-formed, + but should be read correctly using this option. + +**-S {***\#***\|***X***\|***\#x***\|***\#s***}, \--seekpoint={***\#***\|***X***\|***\#x***\|***\#s***}** +: Include a point or points in a SEEKTABLE. Using \#, a seek point at + that sample number is added. Using X, a placeholder point is added at + the end of a the table. Using \#x, \# evenly spaced seek points will + be added, the first being at sample 0. Using \#s, a seekpoint will be + added every \# seconds (# does not have to be a whole number; it can + be, for example, 9.5, meaning a seekpoint every 9.5 seconds). You may + use many -S options; the resulting SEEKTABLE will be the unique-ified + union of all such values. With no -S options, flac defaults to + '-S 10s'. Use \--no-seektable for no SEEKTABLE. Note: '-S \#x' and + '-S \#s' will not work if the encoder can't determine the input size + before starting. Note: if you use '-S \#' and \# is \>= samples in + the input, there will be either no seek point entered (if the input + size is determinable before encoding starts) or a placeholder point + (if input size is not determinable). + +**-P** *\#***, \--padding=***\#* +: Tell the encoder to write a PADDING metadata block of the given + length (in bytes) after the STREAMINFO block. This is useful if you + plan to tag the file later with an APPLICATION block; instead of + having to rewrite the entire file later just to insert your block, + you can write directly over the PADDING block. Note that the total + length of the PADDING block will be 4 bytes longer than the length + given because of the 4 metadata block header bytes. You can force no + PADDING block at all to be written with \--no-padding. The encoder + writes a PADDING block of 8192 bytes by default (or 65536 bytes if + the input audio stream is more that 20 minutes long). + +**-T** *FIELD=VALUE***, \--tag=***FIELD=VALUE* +: Add a FLAC tag. The comment must adhere to the Vorbis comment spec; + i.e. the FIELD must contain only legal characters, terminated by an + 'equals' sign. Make sure to quote the comment if necessary. This + option may appear more than once to add several comments. NOTE: all + tags will be added to all encoded files. + +**\--tag-from-file=***FIELD=FILENAME* +: Like \--tag, except FILENAME is a file whose contents will be read + verbatim to set the tag value. The contents will be converted to + UTF-8 from the local charset. This can be used to store a cuesheet + in a tag (e.g. \--tag-from-file="CUESHEET=image.cue"). Do not try to + store binary data in tag fields! Use APPLICATION blocks for that. + +**-b** *\#***, \--blocksize=***\#* +: Specify the blocksize in samples. The default is 1152 for -l 0, + else 4096. For subset streams this must be \<= 4608 if the samplerate + \<= 48kHz, for subset streams with higher samplerates it must be \<= + 16384. + +**-m, \--mid-side** +: Try mid-side coding for each frame (stereo input only) + +**-M, \--adaptive-mid-side** +: Adaptive mid-side coding for all frames (stereo input only) + +**-0..-8, \--compression-level-0..\--compression-level-8** +: Fastest compression..highest compression (default is -5). These are + synonyms for other options: + +**-0, \--compression-level-0** +: Synonymous with -l 0 -b 1152 -r 3 \--no-mid-side + +**-1, \--compression-level-1** +: Synonymous with -l 0 -b 1152 -M -r 3 + +**-2, \--compression-level-2** +: Synonymous with -l 0 -b 1152 -m -r 3 + +**-3, \--compression-level-3** +: Synonymous with -l 6 -b 4096 -r 4 \--no-mid-side + +**-4, \--compression-level-4** +: Synonymous with -l 8 -b 4096 -M -r 4 + +**-5, \--compression-level-5** +: Synonymous with -l 8 -b 4096 -m -r 5 + +**-6, \--compression-level-6** +: Synonymous with -l 8 -b 4096 -m -r 6 -A subdivide_tukey(2) + +**-7, \--compression-level-7** +: Synonymous with -l 12 -b 4096 -m -r 6 -A subdivide_tukey(2) + +**-8, \--compression-level-8** +: Synonymous with -l 12 -b 4096 -m -r 6 -A subdivide_tukey(3) + +**\--fast** +: Fastest compression. Currently synonymous with -0. + +**\--best** +: Highest compression. Currently synonymous with -8. + +**-e, \--exhaustive-model-search** +: Do exhaustive model search (expensive!) + +**-A** *function***, \--apodization=***function* +: Window audio data with given the apodization function. See section + **Apodization functions** for details. + +**-l** *\#***, \--max-lpc-order=***\#* +: Specifies the maximum LPC order. This number must be \<= 32. For + subset streams, it must be \<=12 if the sample rate is \<=48kHz. If + 0, the encoder will not attempt generic linear prediction, and use + only fixed predictors. Using fixed predictors is faster but usually + results in files being 5-10% larger. + +**-p, \--qlp-coeff-precision-search** +: Do exhaustive search of LP coefficient quantization (expensive!). + Overrides -q; does nothing if using -l 0 + +**-q** *\#***, \--qlp-coeff-precision=***\#* +: Precision of the quantized linear-predictor coefficients, 0 =\> let + encoder decide (min is 5, default is 0) + +**-r \[***\#***,\]***\#***, \--rice-partition-order=\[***\#***,\]***\#* +: Set the \[min,\]max residual partition order (0..15). min defaults to + 0 if unspecified. Default is -r 5. + +## FORMAT OPTIONS + +**\--endian={***big***\|***little***}** +: Set the byte order for samples + +**\--channels=***\#* +: Set number of channels. + +**\--bps=***\#* +: Set bits per sample. + +**\--sample-rate=***\#* +: Set sample rate (in Hz). + +**\--sign={***signed***\|***unsigned***}** +: Set the sign of samples. + +**\--input-size=***\#* +: Specify the size of the raw input in bytes. If you are encoding raw + samples from stdin, you must set this option in order to be able to + use \--skip, \--until, \--cuesheet, or other options that need to + know the size of the input beforehand. If the size given is greater + than what is found in the input stream, the encoder will complain + about an unexpected end-of-file. If the size given is less, samples + will be truncated. + +**\--force-raw-format** +: Force input (when encoding) or output (when decoding) to be treated + as raw samples (even if filename ends in *.wav*). + +**\--force-aiff-format** +**\--force-rf64-format** +**\--force-wave64-format** +: Force the decoder to output AIFF/RF64/WAVE64 format respectively. + This option is not needed if the output filename (as set by -o) + ends with *.aif* or *.aiff*, *.rf64* and *.w64* respectively. Also, + this option has no effect when encoding since input is + auto-detected. When none of these options nor + --keep-foreign-metadata are given and no output filename is set, + the output format is WAV by default. + +**\--force-legacy-wave-format** +**\--force-extensible-wave-format** +: Instruct the decoder to output a WAVE file with WAVE_FORMAT_PCM and + WAVE_FORMAT_EXTENSIBLE respectively. If none of these options nor + --keep-foreign-metadata are given, FLAC outputs WAVE_FORMAT_PCM + for mono or stereo with a bit depth of 8 or 16 bits, and + WAVE_FORMAT_EXTENSIBLE for all other audio formats. + +**\--force-aiff-c-none-format** +**\--force-aiff-c-sowt-format** +: Instruct the decoder to output an AIFF-C file with format NONE and + sowt respectively. + +## NEGATIVE OPTIONS + +**\--no-adaptive-mid-side** +**\--no-cued-seekpoints** +**\--no-decode-through-errors** +**\--no-delete-input-file** +**\--no-preserve-modtime** +**\--no-keep-foreign-metadata** +**\--no-exhaustive-model-search** +**\--no-force** +**\--no-lax** +**\--no-mid-side** +**\--no-ogg** +**\--no-padding** +**\--no-qlp-coeff-prec-search** +**\--no-replay-gain** +**\--no-residual-gnuplot** +**\--no-residual-text** +**\--no-seektable** +**\--no-silent** +**\--no-verify** +**\--no-warnings-as-errors** + +These flags can be used to invert the sense of the corresponding normal +option. + +## ReplayGain application specification +The option \--apply-replaygain-which-is-not-lossless\[=\<specification\>\]** +applies ReplayGain values while decoding. **WARNING: THIS IS NOT +LOSSLESS. DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH THIS +OPTION.** This option is useful for example in transcoding media servers, +where the client does not support ReplayGain. + +The equals sign and \<specification\> is optional. If omitted, the +default specification is 0aLn1. + +The \<specification\> is a shorthand notation for describing how to apply +ReplayGain. All components are optional but order is important. '\[\]' +means 'optional'. '\|' means 'or'. '{}' means required. The format is: + +\[\<preamp\>\]\[a\|t\]\[l\|L\]\[n{0\|1\|2\|3}\] + +In which the following parameters are used: + +- **preamp**: A floating point number in dB. This is added to the + existing gain value. + +- **a\|t**: Specify 'a' to use the album gain, or 't' to use the track + gain. If tags for the preferred kind (album/track) do not exist but + tags for the other (track/album) do, those will be used instead. + +- **l\|L**: Specify 'l' to peak-limit the output, so that the + ReplayGain peak value is full-scale. Specify 'L' to use a 6dB hard + limiter that kicks in when the signal approaches full-scale. + +- **n{0\|1\|2\|3}**: Specify the amount of noise shaping. ReplayGain + synthesis happens in floating point; the result is dithered before + converting back to integer. This quantization adds noise. Noise + shaping tries to move the noise where you won't hear it as much. + 0 means no noise shaping, 1 means 'low', 2 means 'medium', 3 means + 'high'. + +For example, the default of 0aLn1 means 0dB preamp, use album gain, 6dB +hard limit, low noise shaping. \--apply-replaygain-which-is-not-lossless=3 +means 3dB preamp, use album gain, no limiting, no noise shaping. + +flac uses the ReplayGain tags for the calculation. If a stream does +not have the required tags or they can't be parsed, decoding will +continue with a warning, and no ReplayGain is applied to that stream. + +## Picture specification +This described the specification used for the **\--picture** option. +\[TYPE\]\|\[MIME-TYPE\]\|\[DESCRIPTION\]\|\[WIDTHxHEIGHTxDEPTH\[/COLORS\]\]\|FILE + +TYPE is optional; it is a number from one of: + +0. Other +1. 32x32 pixels 'file icon' (PNG only) +2. Other file icon +3. Cover (front) +4. Cover (back) +5. Leaflet page +6. Media (e.g. label side of CD) +7. Lead artist/lead performer/soloist +8. Artist/performer +9. Conductor +10. Band/Orchestra +11. Composer +12. Lyricist/text writer +13. Recording Location +14. During recording +15. During performance +16. Movie/video screen capture +17. A bright coloured fish +18. Illustration +19. Band/artist logotype +20. Publisher/Studio logotype + +The default is 3 (front cover). There may only be one picture each of +type 1 and 2 in a file. + +MIME-TYPE is optional; if left blank, it will be detected from the file. +For best compatibility with players, use pictures with MIME type +image/jpeg or image/png. The MIME type can also be \--\> to mean that +FILE is actually a URL to an image, though this use is discouraged. + +DESCRIPTION is optional; the default is an empty string. + +The next part specifies the resolution and color information. If the +MIME-TYPE is image/jpeg, image/png, or image/gif, you can usually leave +this empty and they can be detected from the file. Otherwise, you must +specify the width in pixels, height in pixels, and color depth in +bits-per-pixel. If the image has indexed colors you should also specify +the number of colors used. When manually specified, it is not checked +against the file for accuracy. + +FILE is the path to the picture file to be imported, or the URL if MIME +type is \--\> + +For example, "\|image/jpeg\|\|\|../cover.jpg" will embed the JPEG file +at ../cover.jpg, defaulting to type 3 (front cover) and an empty +description. The resolution and color info will be retrieved from the +file itself. + +The specification +"4\|\--\>\|CD\|320x300x24/173\|http://blah.blah/backcover.tiff" will +embed the given URL, with type 4 (back cover), description "CD", and a +manually specified resolution of 320x300, 24 bits-per-pixel, and 173 +colors. The file at the URL will not be fetched; the URL itself is +stored in the PICTURE metadata block. + +## Apodization functions +To improve LPC analysis, audio data is windowed . The window can be +selected with one or more **-A** options. Possible functions are: +bartlett, bartlett_hann, blackman, blackman_harris_4term_92db, +connes, flattop, gauss(STDDEV), hamming, hann, kaiser_bessel, nuttall, +rectangle, triangle, tukey(P), partial_tukey(n\[/ov\[/P\]\]), +punchout_tukey(n\[/ov\[/P\]\]), subdivide_tukey(n\[/P\]) welch. + +- For gauss(STDDEV), STDDEV is the standard deviation (0\<STDDEV\<=0.5). + +- For tukey(P), P specifies the fraction of the window that is tapered +(0\<=P\<=1; P=0 corresponds to "rectangle" and P=1 corresponds to +"hann"). + +- For partial_tukey(n) and punchout_tukey(n), n apodization functions are +added that span different parts of each block. Values of 2 to 6 seem to +yield sane results. If necessary, an overlap can be specified, as can be +the taper parameter, for example partial_tukey(2/0.2) or +partial_tukey(2/0.2/0.5). ov should be smaller than 1 and can be +negative. The use of this is that different parts of a block are ignored +as the might contain transients which are hard to predict anyway. The +encoder will try each different added apodization (each covering a +different part of the block) to see which resulting predictor results in +the smallest representation. + +- subdivide_tukey(n) is a more efficient reimplementation of partial_tukey +and punchout_tukey taken together, recycling as much data as possible. It +combines all possible non-redundant partial_tukey(n) and punchout_tukey(n) +up to the n specified. Specifying subdivide_tukey(3) is equivalent to +specifying tukey, partial_tukey(2), partial_tukey(3) and punchout_tukey(3), +specifying subdivide_tukey(5) equivalently adds partial_tukey(4), +punchout_tukey(4), partial_tukey(5) and punchout_tukey(5). To be able to +reuse data as much as possible, the tukey taper is taken equal for all +windows, and the P specified is applied for the smallest used window. +In other words, subdivide_tukey(2/0.5) results in a taper equal to that +of tukey(0.25) and subdivide_tukey(5) in a taper equal to that of +tukey(0.1). The default P for subdivide_tukey when none is specified is +0.5. + +Note that P, STDDEV and ov are locale specific, so a comma as +decimal separator might be required instead of a dot. Use scientific +notation for a locale-independent specification, for example +tukey(5e-1) instead of tukey(0.5) or tukey(0,5). + +More than one -A option (up to 32) may be used. Any function that is +specified erroneously is silently dropped. The encoder chooses suitable +defaults in the absence of any -A options; any -A option specified +replaces the default(s). + +When more than one function is specified, then for every subframe the +encoder will try each of them separately and choose the window that +results in the smallest compressed subframe. Multiple functions can +greatly increase the encoding time. + +# SEE ALSO + +**metaflac(1)** + +# AUTHOR + +This manual page was initially written by Matt Zimmerman +\<mdz@debian.org\> for the Debian GNU/Linux system (but may be used by +others). It has been kept up-to-date by the Xiph.org Foundation. diff --git a/man/metaflac.md b/man/metaflac.md new file mode 100644 index 0000000..8c049d7 --- /dev/null +++ b/man/metaflac.md @@ -0,0 +1,299 @@ +% metaflac(1) Version 1.4.3 | Free Lossless Audio Codec metadata tool + +# NAME + +metaflac - program to list, add, remove, or edit metadata in one or more +FLAC files. + +# SYNOPSIS + +**metaflac** \[ *options* \] \[ *operations* \] *FLACfile ...* + +# DESCRIPTION + +Use **metaflac** to list, add, remove, or edit metadata in one or more +FLAC files. You may perform one major operation, or many shorthand +operations at a time. + +# GENERAL USAGE + +metaflac is the command-line .flac file metadata editor. You can use it +to list the contents of metadata blocks, edit, delete or insert blocks, +and manage padding. + +metaflac takes a set of "options" (though some are not optional) and a +set of FLAC files to operate on. There are three kinds of "options": + +- Major operations, which specify a mode of operation like listing + blocks, removing blocks, etc. These will have sub-operations describing + exactly what is to be done. + +- Shorthand operations, which are convenient synonyms for major + operations. For example, there is a shorthand operation + --show-sample-rate that shows just the sample rate field from the + STREAMINFO metadata block. + +- Global options, which affect all the operations. + +All of these are described in the tables below. At least one shorthand +or major operation must be supplied. You can use multiple shorthand +operations to do more than one thing to a file or set of files. Most of +the common things to do to metadata have shorthand operations. As an +example, here is how to show the MD5 signatures for a set of three FLAC +files: + +`metaflac --show-md5sum file1.flac file2.flac file3.flac` + +Another example; this removes all DESCRIPTION and COMMENT tags in a set +of FLAC files, and uses the --preserve-modtime global option to keep the +FLAC file modification times the same (usually when files are edited the +modification time is set to the current time): + +`metaflac --preserve-modtime --remove-tag=DESCRIPTION --remove-tag=COMMENT file1.flac file2.flac file3.flac` + +# OPTIONS + +**\--preserve-modtime** +: Preserve the original modification time in spite of edits. + +**\--with-filename** +: Prefix each output line with the FLAC file name (the default if more + than one FLAC file is specified). This option has no effect for + options exporting to a file, like --export-tags-to. + +**\--no-filename** +: Do not prefix each output line with the FLAC file name (the default + if only one FLAC file is specified). + +**\--no-utf8-convert** +: Do not convert tags from UTF-8 to local charset, or vice versa. This + is useful for scripts, and setting tags in situations where the + locale is wrong. + +**\--dont-use-padding** +: By default metaflac tries to use padding where possible to avoid + rewriting the entire file if the metadata size changes. Use this + option to tell metaflac to not take advantage of padding this way. + +# SHORTHAND OPERATIONS + +**\--show-md5sum** +: Show the MD5 signature from the STREAMINFO block. + +**\--show-min-blocksize** +: Show the minimum block size from the STREAMINFO block. + +**\--show-max-blocksize** +: Show the maximum block size from the STREAMINFO block. + +**\--show-min-framesize** +: Show the minimum frame size from the STREAMINFO block. + +**\--show-max-framesize** +: Show the maximum frame size from the STREAMINFO block. + +**\--show-sample-rate** +: Show the sample rate from the STREAMINFO block. + +**\--show-channels** +: Show the number of channels from the STREAMINFO block. + +**\--show-bps** +: Show the \# of bits per sample from the STREAMINFO block. + +**\--show-total-samples** +: Show the total \# of samples from the STREAMINFO block. + +**\--show-vendor-tag** +: Show the vendor string from the VORBIS_COMMENT block. + +**\--show-tag=name** +: Show all tags where the field name matches 'name'. + +**\--show-all-tags** +: Show all tags. This is an alias for --export-tags-to=-. + +**\--remove-tag=name** +: Remove all tags whose field name is 'name'. + +**\--remove-first-tag=name** +: Remove first tag whose field name is 'name'. + +**\--remove-all-tags** +: Remove all tags, leaving only the vendor string. + +**\--remove-all-tags-except=NAME1\[=NAME2\[=...\]\]** +: Remove all tags, except the vendor string and the tag names + specified. Tag names must be separated by an = character. + +**\--set-tag=field** +: Add a tag. The field must comply with the Vorbis comment spec, of the + form "NAME=VALUE". If there is currently no tag block, one will be + created. + +**\--set-tag-from-file=field** +: Like \--set-tag, except the VALUE is a filename whose contents will + be read verbatim to set the tag value. Unless \--no-utf8-convert is + specified, the contents will be converted to UTF-8 from the local + charset. This can be used to store a cuesheet in a tag (e.g. + \--set-tag-from-file="CUESHEET=image.cue"). Do not try to store + binary data in tag fields! Use APPLICATION blocks for that. + +**\--import-tags-from=file** +: Import tags from a file. Use '-' for stdin. Each line should be of + the form NAME=VALUE. Multi-line comments are currently not supported. + Specify \--remove-all-tags and/or \--no-utf8-convert before + \--import-tags-from if necessary. If FILE is '-' (stdin), only one + FLAC file may be specified. + +**\--export-tags-to=file** +: Export tags to a file. Use '-' for stdout. Each line will be of the + form NAME=VALUE. Specify \--no-utf8-convert if necessary. + +**\--import-cuesheet-from=file** +: Import a cuesheet from a file. Use '-' for stdin. Only one FLAC file + may be specified. A seekpoint will be added for each index point in + the cuesheet to the SEEKTABLE unless \--no-cued-seekpoints is + specified. + +**\--export-cuesheet-to=file** +: Export CUESHEET block to a cuesheet file, suitable for use by CD + authoring software. Use '-' for stdout. Only one FLAC file may be + specified on the command line. + +**\--import-picture-from={***FILENAME***\|***SPECIFICATION***}** +: Import a picture and store it in a PICTURE metadata block. More than + one \--import-picture-from command can be specified. Either a filename + for the picture file or a more complete specification form can be + used. The SPECIFICATION is a string whose parts are separated by \| + (pipe) characters. Some parts may be left empty to invoke default + values. FILENAME is just shorthand for "\|\|\|\|FILENAME". For + details on the specification, see the section **Picture + specification** in the **flac(1)** man page. + +**\--export-picture-to=file** +: Export PICTURE block to a file. Use '-' for stdout. Only one FLAC + file may be specified on the command line. The first PICTURE block + will be exported unless \--export-picture-to is preceded by a + \--block-number=# option to specify the exact metadata block to + extract. Note that the block number is the one shown by \--list. + +**\--add-replay-gain** +: Calculates the title and album gains/peaks of the given FLAC files as + if all the files were part of one album, then stores them as FLAC + tags. The tags are the same as those used by vorbisgain. Existing + ReplayGain tags will be replaced. If only one FLAC file is given, + the album and title gains will be the same. Since this operation + requires two passes, it is always executed last, after all other + operations have been completed and written to disk. All FLAC files + specified must have the same resolution, sample rate, and number of + channels. Only mono and stereo files are allowed, and the sample + rate must be 8, 11.025, 12, 16, 18.9, 22.05, 24, 28, 32, 36, 37.8, + 44.1, 48, 56, 64, 72, 75.6, 88.2, 96, 112, 128, 144, 151.2, 176.4, + 192, 224, 256, 288, 302.4, 352.8, 384, 448, 512, 576, or 604.8 kHz. + +**\--scan-replay-gain** +: Like \--add-replay-gain, but only analyzes the files rather than + writing them to the tags. + +**\--remove-replay-gain** +: Removes the ReplayGain tags. + +**\--add-seekpoint={***\#***\|***X***\|***\#x***\|***\#s***}** +: Add seek points to a SEEKTABLE block. Using \#, a seek point at that + sample number is added. Using X, a placeholder point is added at the + end of a the table. Using \#x, \# evenly spaced seek points will be + added, the first being at sample 0. Using \#s, a seekpoint will be + added every \# seconds (# does not have to be a whole number; it can + be, for example, 9.5, meaning a seekpoint every 9.5 seconds). If no + SEEKTABLE block exists, one will be created. If one already exists, + points will be added to the existing table, and any duplicates will + be turned into placeholder points. You may use many \--add-seekpoint + options; the resulting SEEKTABLE will be the unique-ified union of + all such values. Example: \--add-seekpoint=100x \--add-seekpoint=3.5s + will add 100 evenly spaced seekpoints and a seekpoint every 3.5 + seconds. + +**\--add-padding=length** +: Add a padding block of the given length (in bytes). The overall + length of the new block will be 4 + length; the extra 4 bytes is for + the metadata block header. + +# MAJOR OPERATIONS + +**\--list** +: List the contents of one or more metadata blocks to stdout. By + default, all metadata blocks are listed in text format. Use the + options **\--block-number**, **\--block-type** or + **\--except-block-type** to change this behavior. + +**\--remove** +: Remove one or more metadata blocks from the metadata. Use the options + **\--block-number**, **\--block-type** or **\--except-block-type** + to specify which blocks should be removed. Note that if both + \--block-number and \--[except-]block-type are specified, the result + is the logical AND of both arguments. Unless \--dont-use-padding + is specified, the blocks will be replaced with padding. You may not + remove the STREAMINFO block. + +**\--block-number=#\[,#\[...\]\]** +: An optional comma-separated list of block numbers to display. The + first block, the STREAMINFO block, is block 0. + +**\--block-type=type\[,type\[...\]\]** + +**\--except-block-type=type\[,type\[...\]\]** +: An optional comma-separated list of block types to be included or + ignored with this option. Use only one of \--block-type or + \--except-block-type. The valid block types are: STREAMINFO, PADDING, + APPLICATION, SEEKTABLE, VORBIS_COMMENT, PICTURE. You may narrow down + the types of APPLICATION blocks selected by appending APPLICATION + with a colon and the ID of the APPLICATION block in either ASCII + or hexadecimal representation. E.g. APPLICATION:abcd for the + APPLICATION block(s) whose textual representation of the 4-byte ID + is "abcd" or APPLICATION:0xXXXXXXXX for the APPLICATION block(s) + whose hexadecimal big- endian representation of the 4-byte ID + is "0xXXXXXXXX". For the example "abcd" above the hexadecimal + equivalalent is 0x61626364 + +**\--application-data-format=hexdump\|text** +: If the application block you are displaying contains binary data but + your \--data-format=text, you can display a hex dump of the + application data contents instead using + \--application-data-format=hexdump. + +**\--data-format=binary\|binary-headerless\|text** +: For use with --list. By default a human-readable text + representation of the data is isplayed. You may specify + --data-format=binary to dump the raw binary form of each metadata + block. Specify --data-format=binary-headerless to omit output of + metadata block headers, including the id of APPLICATION metadata + blocks. + +**\--append** +: Insert a metadata block from a file. This must be a binary block as + exported with --list --data-format=binary. The insertion point is + defined with --block-number=#. The new block will be added after the + given block number. This prevents the illegal insertion of a block + before the first STREAMINFO block. You may not --append another + STREAMINFO block. It is possible to copy a metadata block from one + file to another with this option. For example use + `metaflac --list --data-format=binary --block-number=6 file.flac > block` + to export the block, and then import it with + `metaflac --append anotherfile.flac < block` + +**\--remove-all** +: Remove all metadata blocks (except the STREAMINFO block) from the + metadata. Unless \--dont-use-padding is specified, the blocks will be + replaced with padding. + +**\--merge-padding** +: Merge adjacent PADDING blocks into single blocks. + +**\--sort-padding** +: Move all PADDING blocks to the end of the metadata and merge them + into a single block. + +# SEE ALSO + +**flac(1)** |