X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=m4%2Fgengetopt%2Fafh.m4;h=9b8a650326069df5ad449d617f44449a0bf5156c;hp=1cb44931fb89a6a6ae5e0ed8f9ad5cc9b0e2eec6;hb=5e12f77a5b2a76c8a6f19a96958e0992962573db;hpb=dddf554290fd65bd55b2b4d2cd796147d6df4712 diff --git a/m4/gengetopt/afh.m4 b/m4/gengetopt/afh.m4 index 1cb44931..9b8a6503 100644 --- a/m4/gengetopt/afh.m4 +++ b/m4/gengetopt/afh.m4 @@ -1,138 +1,99 @@ -args "--unamed-opts=audio_file" +args "--unamed-opts=audio_file --no-handle-version --no-handle-help" -include(header.m4) - -text " -para_afh, the audio format handler tool, is a stand-alone program -contained in the paraslash package for analyzing and streaming audio -files. It can be used to - - - print tech info about the given audio file to stdout. - In particular, the 'chunk table' of the audio file, an array - of offsets within the audio file, may be printed. This table - can be used by other programs unaware of the particular audio - format to stream the audio file. - - - write selected parts of the given audio file in complete - chunks without decoding. Thus para_afh can be used to 'cut' - an audio file. - - - write selected parts of the given audio files 'just in time' - to stdout. This may be useful for third-party software that - is capable of reading from stdin. -" - +purpose "Print information about audio file(s)" +include(header.m4) include(loglevel.m4) -defgroup "mode" -#-------------- -groupdesc=" - There are two modes of operation: Info mode and stream mode, - one of which must be selected by the corresponding option. - See below. -" -required - -groupoption "info" i -#~~~~~~~~~~~~~~~~~~~ -"select info mode" -group="mode" -details=" - In this mode, the program prints technical information about - the given audio file to stdout. -" -groupoption "stream" s -#~~~~~~~~~~~~~~~~~~~~~ -"select stream mode" -group="mode" -details=" - If this mode is selected, the selected parts of the content - of the audio file are written to stdout. Only complete chunks - with respect of the underlying audio format are written. - For example, only complete frames in case of mp3 files. -" +################################### +section "printing meta information" +################################### -section "Options for info mode" -#============================== - -option "chunk_table" c +option "chunk-table" c #~~~~~~~~~~~~~~~~~~~~~ "print also the chunk table" flag off -dependon="info" +details = " + The 'chunk table' of an audio file is an array of offsets + within the audio file. Each offset corresponds to chunk + of encoded data. The exact meaning of 'chunk' depends on + the audio format. + + Programs which are unaware of the particular audio format can + read the chunk table to obtain the timing information needed + to stream the file. +" -option "human" u -#~~~~~~~~~~~~~~~ -"use human-readable output format" +option "parser-friendly" p +#~~~~~~~~~~~~~~~~~~~~~~~~~ +"do not use human-readable output format" flag off -dependon = "info" details = " Currently this option only affects the format of the chunk table, - so it has no effect if --chunk_table is not given. + so it has no effect if --chunk-table is not given. - The human-readable output consists of one output line per - chunk and the output contains also the chunk number, the - duration and the size of each chunk. + The human-readable output (the default) consists of one output + line per chunk and the output contains also the chunk number, + the duration and the size of each chunk. The parser-friendly + output prints only the offsets, in one line. " -section "Options for stream mode" -#================================ +############################# +section "modifying meta tags" +############################# +option "modify" m +#~~~~~~~~~~~~~~~~ +"modify (rather than print) tags" +flag off +details = " + When this option is given, para_afh creates the result file + as a temporary copy of the given file(s), but with meta + tags changed according to the options below. On errors, + the temporary file is removed, leaving the original file + unchanged. On success, if --backup is given, the original + file is moved away. Finally the temporary file is renamed to + the name of the original file. +" -option "begin_chunk" b -#~~~~~~~~~~~~~~~~~~~~~ -"skip a number of chunks" -int typestr="chunk_num" -default="0" -dependon="stream" -optional -details=" - The chunk_num argument must be between -num_chunks and - num_chunks - 1 inclusively where num_chunks is the total number - of chunks which is printed when using the --info option. If - chunk_num is negative, the given number of chunks are counted - backwards from the end of the file. For example --begin_chunk - -100 instructs para_afh to start output at chunk num_chunks - - 100. This is mainly useful for cutting off the end of an - audio file. +option "backup" b +"create backup of the original file" +flag off +details = " + The backup suffix is '~', i.e. a single tilde character is appended + to the given file name. " -option "end_chunk" e -#~~~~~~~~~~~~~~~~~~~ -"only write up to chunk chunk_num" -int typestr="chunk_num" -dependon="stream" +option "year" y +#~~~~~~~~~~~~~~ +"set the year tag" +string typestr="year" optional -details=" - For the chunk_num argument the same rules as for --begin_chunk - apply. The default is to write up to the last chunk. -" -option "just_in_time" j -#~~~~~~~~~~~~~~~~~~~~~~ -"use timed writes" -flag off -dependon="stream" -details=" - Write the specified chunks of data 'just in time', i.e. the - write of each chunk is delayed until the time it is needed - by the decoder/player in order to guarantee an uninterrupted - audio stream. -" +option "title" t +#~~~~~~~~~~~~~~~ +"set the title tag" +string typestr="title" +optional + +option "artist" a +#~~~~~~~~~~~~~~~~ +"set the artist/author tag" +string typestr="artist" +optional + +option "album" A +#~~~~~~~~~~~~~~~ +"set the album tag" +string typestr="album" +optional + +option "comment" C +#~~~~~~~~~~~~~~~~~ +"set the comment tag" +string typestr="comment" +optional -option "no_header" H -#~~~~~~~~~~~~~~~~~~~ -"do not write an audio file header" -flag off -dependon="stream" -details=" - If an audio format needs information about the audio file - in a format-specific header in order to be understood by - the decoding software, a suitable header is automatically - send. This option changes the default behaviour, i.e. no - header is written. -"