Subversion Repositories pub

Compare Revisions

No changes between revisions

Ignore whitespace Rev 485 → Rev 486

/video-contact-sheet/branches/1.13/dist/vcs.man.xml
File deleted
Property changes:
Deleted: svn:keywords
-Rev Id Date
\ No newline at end of property
/video-contact-sheet/branches/1.13/dist/vcs.conf.man.xml
File deleted
/video-contact-sheet/branches/1.13/dist/GNUmakefile
3,10 → 3,10
# Makefile for GNU-make
#
 
VERSION:=$(shell head -50 vcs | grep 'declare -r VERSION=' | sed -e 's/.*"\(.*\)".*/\1/')
VERSION:=$(shell sed -n '/VERSION=/s/.*"\([^"]*\)".*/\1/p' vcs)
PACKAGER:=$(shell finger -lp `echo $USER` 2>/dev/null | head -n1 | cut -d: -f3)
ifeq ($(PACKAGER),)
PACKAGER:=$(shell grep ^`id -un` /etc/passwd | cut -d: -f5 | cut -d, -f1)
PACKAGER:=$(shell getent passwd "`id -un`" | cut -d: -f5 | cut -d, -f1)
endif
 
include common.mk
/video-contact-sheet/branches/1.13/dist/docs/src/vcs.man.xml
0,0 → 1,838
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!--
$Id$
 
Useful Docbook References:
- Creating DocBook Documents - List of elements
<http://www.docbook.org/tdg5/en/html/ch02.html>
- Writing with DocBook elements - Useful commands (elements)
<http://www.ibiblio.org/godoy/sgml/docbook/howto/writing-docbook.html#WRITING-DOCBOOK-COMMANDS>
- DocBook Guide for Authors of Geant4 User Manuals - Tag Mapping Table - (X)HTML vs. DocBook
<http://geant4.web.cern.ch/geant4/workAreaUserDocKA/AuthorsInstruction/IntroDocBook.html#TagMap>
- DocBook 5: The Definitive Guide (includes list of elements)
<http://docbook.org/tdg51/en/html/docbook.html>
 
Generation of man page:
 
$ xmlto man manpage.xml
OR
$ xsltproc -''-nonet \
-''-param man.charmap.use.subset "0" \
-''-param make.year.ranges "1" \
-''-param make.single.year.ranges "1" \
/usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl \
manpage.xml
 
Will generate vcs.1.
 
View with:
 
$ nroff -man vcs.1 | less
or
$ man vcs.1
 
Validation: xmllint -''-noout -''-valid manpage.xml
 
-->
<!ENTITY firstname "Toni">
<!ENTITY surname "Corvera">
<!-- fullname could also be set to "&firstname; &surname;". -->
<!ENTITY fullname "&firstname; &surname;">
<!ENTITY email "outlyer@gmail.com">
<!ENTITY section "1">
<!-- TITLE should be something like "User commands" or similar (see
http://www.tldp.org/HOWTO/Man-Page/q2.html). -->
<!ENTITY title "Video Contact Sheet *NIX User Manual">
<!ENTITY ucpackage "VCS">
<!ENTITY package "vcs">
<!ENTITY emdash "&#x2014;">
<!ENTITY xrefinterval 'See the accepted syntax at <xref linkend="interval_format" />.'>
]>
<refentry>
<refentryinfo>
<title>&title;</title>
<productname>&package;</productname>
<author>
<firstname>&firstname;</firstname>
<surname>&surname;</surname>
<contrib />
<!-- <contrib>VCS author.</contrib> -->
<address>
<email>&email;</email>
<otheraddr>
<ulink url="http://corvera.eu./" />
</otheraddr>
</address>
</author>
<copyright>
<year>2007-2011</year>
<holder>&fullname;</holder>
</copyright>
<legalnotice>
<para>Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Lesser General Public License,
Version 2 or (at your option) any later version published by
the Free Software Foundation.</para>
</legalnotice>
<releaseinfo>$Rev$</releaseinfo>
<!--<date>$Date$</date>-->
</refentryinfo>
<refmeta>
<refentrytitle>&ucpackage;</refentrytitle>
<manvolnum>&section;</manvolnum>
</refmeta>
<refnamediv>
<refname>&package;</refname>
<refpurpose>create contact sheets from videos</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>&package;</command>
<arg choice="opt" rep="repeat"><replaceable class="option">OPTION</replaceable></arg>
<arg choice="plain"><replaceable class="parameter">FILE</replaceable></arg>
<arg choice="opt" rep="repeat"><replaceable class="parameter">FILE</replaceable></arg>
</cmdsynopsis>
<cmdsynopsis>
<command>&package;</command>
<arg choice="opt"><option>--output=<replaceable>OUTPUT1</replaceable></option></arg>
<arg choice="opt"><option>--output=<replaceable>OUTPUT2</replaceable></option></arg>
<arg choice="opt"><option>...</option></arg>
<arg choice="plain"><replaceable>INPUT1</replaceable></arg>
<arg choice="opt" rep="repeat"><replaceable>INPUT2</replaceable></arg>
</cmdsynopsis>
<cmdsynopsis>
<command>&package;</command>
<group choice="opt">
<arg><option>-n <replaceable>20</replaceable></option></arg>
<arg><option>-i <replaceable>1m</replaceable></option></arg>
</group>
<arg><option>-c <replaceable>4</replaceable></option></arg>
<arg><option>-H <replaceable>120</replaceable></option></arg>
<arg rep="repeat"></arg>
<arg choice="plain" rep="repeat"><replaceable>FILE</replaceable></arg>
</cmdsynopsis>
<cmdsynopsis>
<command>&package;</command>
<!-- Help/test options.
They stop the program after outputting their related information. -->
<group choice="opt">
<arg choice="plain">
<group choice="req">
<arg choice="plain"><option>-h</option></arg>
<arg choice="plain"><option>--help</option></arg>
</group>
</arg>
<arg choice="plain">
<arg choice="plain"><option>--fullhelp</option></arg>
</arg>
<arg choice="plain">
<arg choice="plain"><option>-DD</option></arg>
</arg>
</group>
</cmdsynopsis>
<cmdsynopsis>
<command>&package;</command>
<arg choice="opt" rep="repeat"><replaceable class="option">OPTION</replaceable></arg>
<arg choice="plain"><option>--generate</option>
<group choice="req">
<arg choice="plain">config</arg>
<arg choice="plain">profile</arg>
</group>
</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id="description">
<title>DESCRIPTION</title>
<para><command>&package;</command> creates a preview
image from videos in a contact sheet-like format (i.e. captures from
different frames in the video are placed in a mosaic).</para>
<para>By default the output file will be named like the input file plus the
png extension. Example: &quot;<filename>file.avi</filename>&quot; will produce
a contact sheet in the file &quot;<filename>file.avi.png</filename>&quot;.</para>
<para>The default mode of operation is to obtain captures every five minutes in the
video, so the amount of captures will vary with each file. The command-line
argument <parameter>--numcaps</parameter> (<parameter>-n</parameter>) can be used
to change this behaviour or alternatively a configuration file might
be used to change the mode of operation (see <citerefentry>
<refentrytitle>vcs.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>).
</para>
<para>This manual page documents <command>&package;</command>,
further documentation can be found in the
<ulink url="http://p.outlyer.net/dox/vcs">online documentation</ulink> site.</para>
</refsect1><!--/DESCRIPTION-->
<refsect1 id="options">
<title>OPTIONS</title>
<para>The program follows the usual GNU command line syntax,
with long options starting with two dashes (`-'). A summary of
options is included below.</para>
<variablelist>
<varlistentry>
<term><option>-n <replaceable>number</replaceable></option></term>
<term><option>--numcaps=<replaceable>number</replaceable></option></term>
<listitem>
<para>Fixes the number of captures to obtain.</para>
<para>Sets the mode of operation to capture a fixed number of frames.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-i <replaceable>INTERVAL</replaceable></option></term>
<term><option>--interval=<replaceable>INTERVAL</replaceable></option></term>
<listitem>
<para>Sets the interval between captures.</para>
<para>Sets the mode of operation to capture at fixed intervals.</para>
<para>The number of captures will depend on the video length.</para>
<para>&xrefinterval;</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><option>-c <replaceable>NUMBER</replaceable></option></term>
<term><option>--columns=<replaceable>NUMBER</replaceable></option></term>
<listitem>
<para>Number of columns in the contact sheet.</para>
<para>The number of rows will depend on this value and the number of captures (there's no
way to set the number of rows).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-H <replaceable>HEIGHT</replaceable></option></term>
<term><option>--height=<replaceable>HEIGHT</replaceable></option></term>
<listitem>
<para>Height of captures.</para>
<para>Can be a number (of pixels) or a percentage (of the video height).</para>
<para>By default the same size as the video is used.</para>
<note>
<para>The width is derived from height and aspect ratio.</para>
</note>
<tip>
<para><replaceable>HEIGHT</replaceable> x <replaceable>WIDTH</replaceable>
can be manually forced by setting both <option>-H</option> and
<option>-a</option>, e.g. <replaceable>640x480</replaceable>:</para>
<para><literal>$ <command>vcs -a 640/480 -H 480 <replaceable><optional>...</optional></replaceable></command></literal></para>
</tip>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-o <replaceable>FILENAME</replaceable></option></term>
<term><option>--output=<replaceable>FILENAME</replaceable></option></term>
<listitem>
<para>Name of output file.</para>
<para>By default the video file name plus the output
format is used (e.g. &quot;<filename>video.avi.png</filename>&quot;
for &quot;<filename>video.avi</filename>&quot;).</para>
<para>If an extension is provided, it will define the output format, otherwise
PNG will be used. I.e. <filename>sheet.jpg</filename> will produce
a JPEG file while <filename>sheet</filename> or
<filename>sheet.png</filename> will produce a PNG file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-h</option></term>
<term><option>--help</option></term>
<listitem>
<para>Show summary of most common options.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--fullhelp</option></term>
<listitem>
<para>Show summary of all options.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><option>-a <replaceable>ASPECT</replaceable></option></term>
<term><option>--aspect <replaceable>ASPECT</replaceable></option></term>
<listitem>
<para>Aspect ratio.</para>
<para>Accepts a floating point number or a fraction.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><option>-f <replaceable>TIMESTAMP</replaceable></option></term>
<term><option>--from <replaceable>TIMESTAMP</replaceable></option></term>
<listitem>
<para>Set starting time. No captures will be made before this <replaceable>TIMESTAMP</replaceable>.</para>
<para>&xrefinterval;</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-t <replaceable>TIMESTAMP</replaceable></option></term>
<term><option>--to <replaceable>TIMESTAMP</replaceable></option></term>
<listitem>
<para>Set ending time. No captures will be made after this TIMESTAMP.</para>
<para>&xrefinterval;</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-T <replaceable>TITLE</replaceable></option></term>
<term><option>--title <replaceable>TITLE</replaceable></option></term>
<listitem>
<para>Add a title above the captures.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-j</option></term>
<term><option>--jpeg</option></term>
<listitem>
<para>Output file in JPEG format.</para>
<para>The default output format is PNG.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-j2</option></term>
<term><option>--jpeg2</option></term>
<term><option>--jpeg=2</option></term>
<listitem>
<para>Output file in JPEG 2000 format.</para>
<para>The default output format is PNG.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-V</option></term>
<term><option>--dvd</option></term>
<listitem>
<para>DVD mode.</para>
<para>In this mode the input files must be the DVD
device(s) or ISO(s).</para>
<para>When in DVD mode all input files must be DVDs.</para>
<note>
<para>Implies <option>-A</option> (auto aspect ratio).</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--dvd-title <replaceable>TITLENUM</replaceable></option></term>
<listitem>
<para>DVD title to use.</para>
<para>Using 0 (the default) will use the longest title.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-M</option></term>
<term><option>--mplayer</option></term>
<listitem>
<para>Use Mplayer to capture.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-F</option></term>
<term><option>--ffmpeg</option></term>
<listitem>
<para>Use FFmpeg to capture.</para>
<para>This is the default, except in DVD mode.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-E <replaceable>OFFSET</replaceable></option></term>
<term><option>--end-offset <replaceable>OFFSET</replaceable></option></term>
<listitem>
<para>This amount of time is ignored from the end of the video.</para>
<para>This value is not used when a explicit ending time is set (<option>--to</option>).</para>
<para>Accepted formats:</para>
<itemizedlist spacing="compact">
<listitem><para>Timestamp (&xrefinterval;)</para></listitem>
<listitem><para>Percentage of video length.</para></listitem>
</itemizedlist>
<para>The default is 5.5%.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-q</option></term>
<term><option>--quiet</option></term>
<listitem>
<para>Don't print progress messages just errors.</para>
<para>Repeat to mute completely, even on error.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-d <replaceable>FEATURE</replaceable></option></term>
<term><option>--disable <replaceable>FEATURE</replaceable></option></term>
<listitem>
<para>Disable some default functionality.</para>
<para>Features that can be disabled are:</para>
<itemizedlist spacing="compact">
<listitem>
<para><replaceable>timestamps</replaceable>: use <option>-d<replaceable>t</replaceable></option> or
<option>--disable <replaceable>timestamps</replaceable></option></para>
</listitem>
<listitem>
<para><replaceable>shadows</replaceable>: use <option>-d<replaceable>s</replaceable></option>
or <option>--disable <replaceable>shadows</replaceable></option></para>
</listitem>
<listitem>
<para><replaceable>padding</replaceable>: use <option>-d<replaceable>p</replaceable></option>
or <option>--disable <replaceable>padding</replaceable></option></para>
</listitem>
</itemizedlist>
<note>
<para>Shadows introduce some extra padding</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-A</option></term>
<term><option>--autoaspect</option></term>
<listitem>
<para>Try to guess aspect ratio from resolution.</para>
<para>A rude hardcoded method is used based only on known common dimensions.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-e</option></term>
<term><option>-e<optional><replaceable>FACTOR</replaceable></optional></option></term>
<term><option>--extended=<optional><replaceable>FACTOR</replaceable></optional></option></term>
<listitem>
<para>Enables extended mode and optionally sets the extended factor.</para>
<para>When <replaceable>FACTOR</replaceable> is omitted, 4 is used, i.e. <option>-e</option> is the same as <option>-e4</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-l <replaceable>TIMESTAMP</replaceable></option></term>
<term><option>--highlight <replaceable>TIMESTAMP</replaceable></option></term>
<listitem>
<para>Add the frame found at <replaceable>TIMESTAMP</replaceable> as a highlight.</para>
<para>&xrefinterval;</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-m</option></term>
<term><option>--manual</option></term>
<listitem>
<para>Manual mode.</para>
<para>In this mode only timestamps indicated by the user are used (use in
conjunction with <option>-S</option>).</para>
<para>When using this option, <option>-i</option> and <option>-n</option> are ignored.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-S <replaceable>TIMESTAMP</replaceable></option></term>
<term><option>--stamp <replaceable>TIMESTAMP</replaceable></option></term>
<listitem>
<para>Add the frame at <replaceable>TIMESTAMP</replaceable> to the set of captures.</para>
<para>&xrefinterval;</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-u <replaceable>NAME</replaceable></option></term>
<term><option>--user <replaceable>NAME</replaceable></option></term>
<listitem>
<para>Set the username (included by default in the contact sheet's footer)
to <replaceable>NAME</replaceable>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-U</option></term>
<term><option>--fullname</option></term>
<listitem>
<para>Use user's full/real name (e.g. John Smith) as set in the system's list of users
(i.e. in <filename>/etc/passwd</filename> or through <command>getent</command>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-p <replaceable>PROFILE</replaceable></option></term>
<term><option>--profile <replaceable>PROFILE</replaceable></option></term>
<listitem>
<para>Load profile named <replaceable>PROFILE</replaceable>.</para>
<para>Profile names starting with ':' are reserved and have special meanings, currently:</para>
<itemizedlist>
<listitem><para><replaceable>:list</replaceable> &emdash; Will list all profiles found in the
system</para></listitem>
</itemizedlist>
<para>If <replaceable>PROFILE</replaceable> doesn't exist, exit with error.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-C <replaceable>CONFIG</replaceable></option></term>
<term><option>--config <replaceable>CONFIG</replaceable></option></term>
<listitem>
<para>Load configuration file <filename><replaceable>CONFIG</replaceable></filename></para>
<para>Configuration <emphasis>file names</emphasis> starting with ':' are reserved
and have special meanings, currently:</para>
<itemizedlist>
<listitem><para><replaceable>:pwd</replaceable> &emdash; Will try to load
<filename>./vcs.conf</filename>.</para>
<para>This file has been loaded by default up to vcs v1.13</para></listitem>
</itemizedlist>
<para>If <filename><replaceable>CONFIG</replaceable></filename> doesn't exist, exit with error.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--generate <replaceable>config|profile</replaceable></option></term>
<listitem>
<para>Generate configuration or profile from the current settings and print it.</para>
<para>All settings changed from the default, by either configuration, profiles or command-line
options, will be included in the generated text.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-k <replaceable>MODE</replaceable></option></term>
<term><option>--funky <replaceable>MODE</replaceable></option></term>
<listitem>
<para>Funky modes</para>
<para>These are <emphasis>toy</emphasis> output modes in which the contact sheet
gets a more informal look.</para>
<warning>
<para>Order <emphasis role="strong">IS IMPORTANT</emphasis>. A bad order gets a bad result :P</para>
</warning>
<para>Many of these modes are random in nature so using the same mode twice
will usually lead to very different results.</para>
<para>Currently available <emphasis>funky modes</emphasis>:</para>
<variablelist id="funkymodes">
<varlistentry>
<term><replaceable>overlap</replaceable>:
Use <option>-k<replaceable>o</replaceable></option>
or <option>--funky <replaceable>overlap</replaceable></option></term>
<listitem><para>Randomly overlap captures.</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable>rotate</replaceable>:
Use <option>-k<replaceable>r</replaceable></option>
or <option>--funky <replaceable>rotate</replaceable></option></term>
<listitem><para>Randomly rotate each image.</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable>photoframe</replaceable>:
Use <option>-k<replaceable>f</replaceable></option>
or <option>--funky <replaceable>photoframe</replaceable></option></term>
<listitem><para>Adds a photo-like white frame to each image.</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable>polaroidframe</replaceable>:
Use <option>-k<replaceable>L</replaceable></option>
or <option>--funky <replaceable>polaroidframe</replaceable></option></term>
<listitem><para>Adds a polaroid picture-like white frame to each image.</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable>photos</replaceable>:
Use <option>-k<replaceable>c</replaceable></option>
or <option>--funky <replaceable>photos</replaceable></option></term>
<listitem><para>Combination of <replaceable>rotate</replaceable>,
<replaceable>photoframe</replaceable> and <replaceable>overlap</replaceable>.</para>
<para>Same as <option>-kp -kr -ko</option>.</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable>polaroid</replaceable>:
Use <option>-k<replaceable>p</replaceable></option>
or <option>--funky <replaceable>polaroid</replaceable></option></term>
<listitem><para>Combination of <replaceable>rotate</replaceable>,
<replaceable>polaroidframe</replaceable> and <replaceable>overlap</replaceable>.</para>
<para>Same as <option>-kL -kr -ko</option>.</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable>film</replaceable>:
Use <option>-k<replaceable>i</replaceable></option>
or <option>--funky <replaceable>film</replaceable></option></term>
<listitem><para>Imitates filmstrip look.</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable>random</replaceable>:
Use <option>-k<replaceable>x</replaceable></option>
or <option>--funky <replaceable>random</replaceable></option></term>
<listitem><para>Randomises colours and fonts.</para></listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--anonymous</option></term>
<listitem>
<para>Disable the «Preview created by <replaceable>USERNAME</replaceable>» line in the footer.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-Ij<optional>=<replaceable>FONTNAME</replaceable></optional></option></term>
<term><option>-Ik<optional>=<replaceable>FONTNAME</replaceable></optional></option></term>
<term><option>--nonlatin</option></term>
<listitem>
<para>Use an alternate font in the heading for the video file name.</para>
<para>Required to display correctly file names in some languages with non-latin
alphabets (Chinese, Japanese, Hangul, Cyrillic, ...).</para>
<para>When no font name is given, a reasonable choice will be made if possible.</para>
<para>When <replaceable>FONTNAME</replaceable> is given, it can be either
a font name:</para>
<para><literal>$ <command>vcs -Ij=Sazanami-Mincho-Regular <filename>file.avi</filename></command></literal></para>
<para>Or a font file name:</para>
<para><literal>$ <command>vcs -Ij=<filename>/usr/share/fonts/ttf/ttf-japanese-mincho.ttf</filename> <filename>file.avi</filename></command></literal></para>
<para>A list of available fonts and their names can be obtained with the command
<command>identify <option>-list font</option></command></para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-O <replaceable>SETTING=VALUE</replaceable></option></term>
<term><option>--override <replaceable>SETTING=VALUE</replaceable></option></term>
<listitem>
<para>Changes the value of SETTING to VALUE,
as if it was set from a configuration file.</para>
<para>Some settings can only be changed through configuration files or overrides, while
others have associated command-line options.</para>
<para><replaceable>VALUE</replaceable> can be quoted to include spaces:</para>
<para><literal>$ <command>vcs -O SOME_SETTING="my value" <replaceable>...</replaceable></command></literal></para>
<para><replaceable>VALUE</replaceable> can also refer to some other setting:</para>
<para><literal>$ <command>vcs -O SOME_SETTING='$SOME_OTHER_SETTING' <replaceable>...</replaceable></command></literal></para>
<para>See <citerefentry><refentrytitle>vcs.conf</refentrytitle> <manvolnum>5</manvolnum></citerefentry>
and the
<ulink url="http://p.outlyer.net/dox/vcs">online documentation</ulink> for
a list of possible <replaceable>SETTING</replaceable>s.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-W <replaceable>WORKAROUND</replaceable></option></term>
<listitem>
<para>Enables one of the known workarounds for problematic files, or some tweak:</para>
<variablelist id="workarounds">
<varlistentry>
<term><option>-W<replaceable>s</replaceable></option></term>
<listitem><para>Increase length of safe measuring (try harder).</para>
<para>Repeat to increase further.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-W<replaceable>S</replaceable></option></term>
<listitem><para>Scan all video, if required, to get a safe measuring.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-W<replaceable>p</replaceable></option></term>
<listitem><para>Increase safe measuring precission (i.e. halve the probe stepping).</para>
<para>Repeat to increase further.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-W<replaceable>P</replaceable></option></term>
<listitem><para>Inverse of <option>-Wp</option>.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-W<replaceable>o</replaceable></option></term>
<listitem><para>Change ffmpeg's arguments order, might work
with some files that fail otherwise.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-W<replaceable>c</replaceable></option></term>
<listitem><para>Disable colour in console messages.</para></listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="debug_options">
<title>DEBUGGING OPTIONS</title>
<variablelist>
<varlistentry>
<term><option>-R <replaceable>FILE</replaceable></option></term>
<term><option>--randomsource <replaceable>FILE</replaceable></option></term>
<listitem>
<para>Use FILE as a source for "random" values.</para>
<para>They won't be random anymore, so two runs with the same source and same
arguments will produce the same output in modes which use randomisation
(e.g. the modes triggered by <option>-k <replaceable>photos</replaceable></option>
and <option>-k <replaceable>polaroid</replaceable></option>).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-D</option></term>
<listitem>
<para>Debug mode.</para>
<para>Used to test features/integrity. It:</para>
<itemizedlist>
<listitem><para>Prints the input command line</para></listitem>
<listitem><para>Sets the title to reflect the command line</para></listitem>
<listitem><para>Does a basic test of consistency</para></listitem>
<listitem><para>Prints a trace of all internal functions as they are called</para></listitem>
</itemizedlist>
<para>Repeat to just test consistency and exit</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-Z <replaceable>FEATURE</replaceable></option></term>
<term><option>--undocumented <replaceable>FEATURE</replaceable></option></term>
<listitem>
<para>Testbed for experimental and debugging features. Some <replaceable>FEATURE</replaceable>s
might be <emphasis>promoted</emphasis> in the future to actual command-line
options.</para>
<para><replaceable>FEATURE</replaceable>s here are rough implementations
and have no error-handling.</para>
<para><replaceable>FEATURE</replaceable> names can be added or removed
in every version, silently, so don't rely on them.</para>
<para>Useful for end-users:</para>
<variablelist>
<varlistentry>
<term><replaceable>idonly</replaceable></term>
<listitem><para>Prints the file probing/identification information and exit.</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable>display</replaceable></term>
<listitem><para>Display the generated contact sheet.</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable>discard</replaceable></term>
<listitem><para>Remove the created file on exit.</para></listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
 
</variablelist>
</refsect1>
<refsect1 id="files">
<title>FILES</title>
<variablelist>
<varlistentry>
<term><filename>/etc/vcs.conf</filename></term>
<listitem>
<para>The system-wide configuration file to control the
behaviour of <application>&package;</application>. See
<citerefentry>
<refentrytitle>vcs.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry> for further details.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>${HOME}/.vcs.conf</filename></term>
<term><filename>${HOME}/.vcs/vcs.conf</filename></term>
<listitem>
<para>The per-user configuration file to control the
behaviour of <application>&package;</application>. See
<citerefentry>
<refentrytitle>vcs.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry> for further details.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="interval_format">
<title>INTERVALS</title>
<para>
Intervals and timestamps can be specified in seconds or in a human-readable format
that follows the syntax
<programlisting><replaceable>HOURS</replaceable>h<replaceable>MINUTES</replaceable>m<replaceable>SECONDS</replaceable>s.<replaceable>MILLISECONDS</replaceable></programlisting>
 
where each element is optional.</para>
<para>See <ulink url="http://p.outlyer.net/dox/vcs:time_syntax" /> for more details.</para>
 
<table>
<title>Interval syntax examples</title>
<tgroup cols="3">
<thead>
<row>
<entry>Example</entry>
<entry>Equivalence</entry>
<entry>Standard time format</entry>
</row>
</thead>
<tbody>
<row>
<entry>1h30m30</entry><entry>1h30m30s.00</entry><entry>1:30:30.00</entry>
</row>
<row>
<entry>30</entry><entry>0h0m30s.00</entry><entry>0:00:30.00</entry>
</row>
<row>
<entry>3600</entry><entry>1h0m0s.00</entry><entry>1:00:00.00</entry>
</row>
</tbody>
</tgroup>
</table>
</refsect1>
<refsect1 id="environment">
<title>ENVIRONMENT</title>
<variablelist>
<varlistentry>
<term><envar>TEMPDIR</envar></term>
<listitem>
<para>Fallback temporary directory when
<filename class="directory">/dev/shm</filename> is not available.
Due to the big size of temporary files, it is recommended to use
a temporary directory on a fast filesystem.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="diagnostics">
<title>DIAGNOSTICS</title>
<para>The default verbosity level will print <package>&package;</package>' progress
and any errors or warnings on <filename class="devicefile">stderr</filename>.</para>
<para><option>--quiet</option> can be used to reduce verbosity.</para>
<para>The verbosity level and where to direct <filename class="devicefile">stderr</filename>
can be controlled through configuration files, see <citerefentry>
<refentrytitle>vcs.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>.
</para>
<para><command>&package;</command> provides some return codes, they follow
the semi-standardised values defined in
<filename class="headerfile">sysexits.h</filename>:</para>
<segmentedlist>
<!-- Force table-style presentation instead of list with repeated
headings.
<http://www.docbook.org/tdg/en/html/segmentedlist.html>
-->
<?dbhtml list-presentation="table"?>
<?dbfo list-presentation="table"?>
<segtitle>Code</segtitle>
<segtitle>Diagnostic</segtitle>
<seglistitem>
<seg><errorcode>&nbsp;0</errorcode> (<errorcode>EX_OK</errorcode>)</seg>
<seg>Program exited successfully.</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>64</errorcode> (<errorcode>EX_USAGE</errorcode>)</seg>
<seg>Error in the arguments.</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>66</errorcode> (<errorcode>EX_NOINPUT</errorcode>)</seg>
<seg>Can't access some input file or it has an incorrect format.</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>69</errorcode> (<errorcode>EX_UNAVAILABLE</errorcode>)</seg>
<seg>Unsatisfied dependency.</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>70</errorcode> (<errorcode>EX_SOFTWARE</errorcode>)</seg>
<seg>Internal inconsistency (bug).</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>73</errorcode> (<errorcode>EX_CANTCREAT</errorcode>)</seg>
<seg>Error creating temporary or output files.</seg>
</seglistitem>
</segmentedlist>
</refsect1>
<refsect1 id="bugs">
<!-- Or use this section to tell about upstream BTS. -->
<title>BUGS</title>
<note>
<para>Recent versions of <application>ImageMagick</application>,
<application>mplayer</application> and
<application>ffmpeg</application> should be used
for maximum compatibility.</para>
</note>
<para>The upstream's <acronym>BTS</acronym> can be found
at <ulink url="http://b.outlyer.net"/>.</para>
</refsect1>
<refsect1 id="see_also">
<title>SEE ALSO</title>
<!-- In alpabetical order. -->
<para><citerefentry>
<refentrytitle>vcs.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>, <citerefentry>
<refentrytitle>convert</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>, <citerefentry>
<refentrytitle>ffmpeg</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>, <citerefentry>
<refentrytitle>mplayer</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry></para>
</refsect1>
</refentry>
<!-- vim:set ts=4 et: -->
Property changes:
Added: svn:keywords
+Rev Id Date
\ No newline at end of property
/video-contact-sheet/branches/1.13/dist/docs/src/vcs.conf.man.xml
0,0 → 1,192
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!--
$Id: vcs.conf.man.xml 2315 2011-08-28 02:54:41Z toni $
See vcs.man.xml for comments on docbook+man handling.
-->
<!ENTITY firstname "Toni">
<!ENTITY surname "Corvera">
<!ENTITY fullname "&firstname; &surname;">
<!ENTITY email "outlyer@gmail.com">
<!ENTITY title "vcs User Manual">
<!ENTITY package "vcs.conf">
<!ENTITY section "5">
<!ENTITY emdash "&#x2014;">
<!ENTITY equiv "&#8801;">
<!ENTITY rArr "&#8658;">
<!ENTITY vcsmanpage "<citerefentry><refentrytitle>vcs</refentrytitle><manvolnum>1</manvolnum></citerefentry>">
 
<!--
XInclude trickery
 
This voodoo is only required for the file to validate, it can be used
by e.g. xsltproc without all of this
 
Reference: http://www.sagehill.net/docbookxsl/ValidXinclude.html#XincludeDTD
-->
<!-- Define the xi:include and xi:fallback elements -->
<!ELEMENT xi:include (xi:fallback?) >
<!ATTLIST xi:include
xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude"
href CDATA #IMPLIED
parse (xml|text) "xml"
xpointer CDATA #IMPLIED
encoding CDATA #IMPLIED
accept CDATA #IMPLIED
accept-language CDATA #IMPLIED >
<!ELEMENT xi:fallback ANY>
<!ATTLIST xi:fallback
xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude" >
<!--
Add xi:include to the list of possible children of <refsect1>
See http://www.oasis-open.org/docbook/xml/4.5/dbhierx.mod for the DTD
module that defines which elements are allowed inside which.
Can't allow xi:include in arbitrary places inside <refentry>
-->
<!ENTITY % local.refcomponent.mix "| xi:include">
]><!--/!DOCTYPE-->
<refentry>
<refentryinfo>
<title>&title;</title>
<productname>&package;</productname>
<author>
<firstname>&firstname;</firstname>
<surname>&surname;</surname>
<contrib />
<address>
<email>&email;</email>
<otheraddr>
<ulink url="http://corvera.eu./" />
</otheraddr>
</address>
</author>
<copyright>
<year>2007-2011</year>
<holder>&fullname;</holder>
</copyright>
<legalnotice>
<para>Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Lesser General Public License,
Version 2 or (at your option) any later version published by
the Free Software Foundation.</para>
</legalnotice>
<releaseinfo>$Rev: 2315 $</releaseinfo>
<!--<date>$Date: 2011-08-28 04:54:41 +0200 (dg, 28 ago 2011) $</date>-->
</refentryinfo>
<refmeta>
<refentrytitle>&package;</refentrytitle>
<manvolnum>&section;</manvolnum>
</refmeta>
<refnamediv>
<refname>&package;</refname>
<refpurpose>vcs configuration file</refpurpose>
</refnamediv>
<refsect1 id="description">
<title>DESCRIPTION</title>
<para>This manual page describes the format and available settings
in configuration and profile files for
<citerefentry>
<refentrytitle>vcs</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
</para>
<para>There's two types of files that follow this syntax:
<link linkend="configfiles">configuration files</link>
(see <xref linkend="configfiles"/>)
and <link linkend="profiles">profiles</link>
(see <xref linkend="profiles"/>). They'll be called collectively
<emphasis>settings files</emphasis> in this manual page.</para>
<para>Configuration files are meant to be loaded by default, intended to
set user's preferred options, while
profiles are meant to be loaded on-demand, intended to allow
different parallel sets of settings.</para>
</refsect1><!--/DESCRIPTION-->
<refsect1 id="syntax">
<title>SYNTAX</title>
<para>Settings files contain a series of
<replaceable>SETTING</replaceable>=<replaceable>VALUE</replaceable>
assignments.
</para>
<para>Comments can be included by preceding `<literal>#</literal>' to them.</para>
<refsect2 id="metainfo">
<title>META-INFORMATION</title>
<para>Meta-information fields can be contained in comments.
They are written as '<literal>vcs:<replaceable>FIELDNAME</replaceable>:</literal>'.</para>
<para>Currently supported meta-information fields:</para>
<variablelist>
<varlistentry>
<term><literal>vcs:conf:</literal></term>
<listitem><para>Marks a file as following this format.</para>
<para>Files without this field will be rejected.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>vcs:desc:</literal> <replaceable>DESCRIPTION</replaceable></term>
<listitem><para>Describes this particular file's purporse,
it is shown e.g. when listing available profiles.
</para>
<para>It is currently ignored for configuration files.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2><!--/META-INFORMATION-->
<refsect2 id="syntax-example">
<title>SYNTAX EXAMPLE</title>
<programlisting># vcs:conf:
# vcs:desc: White-on-black
bg_all=black # Black background
fg_all=white # White foreground</programlisting>
</refsect2><!--/SYNTAX EXAMPLE-->
</refsect1><!--/SYNTAX-->
<refsect1 id="configfiles">
<title>CONFIGURATION FILES</title>
<para>There's three configuration files loaded by default if present, in order:</para>
<itemizedlist>
<listitem><para><filename>/etc/vcs.conf</filename></para></listitem>
<listitem><para><filename><envar>${HOME}</envar>/.vcs.conf</filename></para></listitem>
<listitem><para><filename><envar>${HOME}</envar>/vcs/vcs.conf</filename></para></listitem>
</itemizedlist>
<para>Every file in this list overrides the previous when it
re-defines a setting.</para>
<para>Configuration files can be loaded manually off of any path by using the
<option>--config <replaceable>FILENAME</replaceable></option> option.</para>
</refsect1><!--/CONFIGURATION FILES-->
<refsect1 id="profiles">
<title>PROFILE FILES</title>
<para>No profile is loaded by default.</para>
<para>Profiles are searched in three possible locations, in order:</para>
<itemizedlist id="profile-paths">
<listitem><para><filename class="directory"><envar>${HOME}</envar>/.vcs/profiles/</filename></para></listitem>
<listitem><para><filename class="directory">/usr/local/share/vcs/profiles/</filename></para></listitem>
<listitem><para><filename class="directory">/usr/share/vcs/profiles/</filename></para></listitem>
</itemizedlist>
<para>Only the first profile for each name will be considered.
Profiles with the same name will be hidden.</para>
<para><literal>$ <command>vcs --profile :list</command></literal></para>
<para>can be used to get a list of available profiles.</para>
<para>Profiles can only be loaded from the <link linkend="profile-paths">listed
paths</link>.</para>
</refsect1><!--/PROFILE FILES-->
<refsect1>
<title>SETTINGS</title>
<para>This list details the available settings. Settings are listed in
alphabetical order.</para>
<para>A list of available settings, grouped by categories, is also kept
online at <ulink url="http://p.outlyer.net/dox/vcs:conf_files" /></para>
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="./settings.man.inc.xml" />
</refsect1>
<refsect1 id="see_also">
<title>SEE ALSO</title>
<para>
<citerefentry>
<refentrytitle>vcs</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
</para>
</refsect1><!--/SEE ALSO-->
</refentry>
<!-- vim:set ts=4 et: -->
 
/video-contact-sheet/branches/1.13/dist/docs/src/flatten_settings_xml.bash
0,0 → 1,24
#!/bin/bash
 
SETTINGS_XML=vcs.conf.man.xml
 
IN=0
while read line ; do
if grep -q '<xi:include' <<<"$line" ; then
IN=1
elif [[ $IN -eq 1 ]]; then
if grep -q 'href=' <<<"$line" ; then
toinclude=$(sed -r 's/.*href="([^"]*)".*/\1/'<<<"$line")
docstart=$(egrep -n '^]>$' $toinclude | cut -d':' -f1)
let 'docstart++'
sed -n "$docstart,\$p" "$toinclude"
fi
fi
if [[ $IN -ne 1 ]]; then
echo "$line"
fi
if [[ $IN -eq 1 ]] && grep -q '/>' <<<"$line"; then
IN=0
fi
done < ${SETTINGS_XML}
 
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/video-contact-sheet/branches/1.13/dist/docs/src/settings.man.inc.xml
0,0 → 1,478
<!DOCTYPE variablelist PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY emdash "&#x2014;">
<!ENTITY equiv "&#8801;">
<!ENTITY rArr "&#8658;">
<!ENTITY vcsmanpage "<citerefentry><refentrytitle>vcs</refentrytitle><manvolnum>1</manvolnum></citerefentry>">
]>
<!-- $Date: 2011-08-28 04:54:41 +0200 (dg, 28 ago 2011) $ -->
<variablelist id="settings">
<varlistentry>
<term id="term-bg_all"><literal>bg_all</literal></term>
<listitem>
<para>Sets the value of all <literal>bg_</literal> variables at once
(<xref linkend="term-bg_contact" />,
<xref linkend="term-bg_heading" />,
<xref linkend="term-bg_sign" />,
<xref linkend="term-bg_tstamps" /> and
<xref linkend="term-bg_title" />).</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-bg_heading"><literal>bg_heading</literal></term>
<term id="term-bg_contact"><literal>bg_contact</literal></term>
<term id="term-bg_sign"><literal>bg_sign</literal></term>
<term id="term-bg_title"><literal>bg_title</literal></term>
<term id="term-bg_tstamps"><literal>bg_tstamps</literal></term>
<listitem>
<para>These variables control the background colours of each section in the contact sheet.</para>
<note>
<para>Valid colour values are those understood by <application>ImageMagick</application>,
e.g. <ulink url="http://www.imagemagick.org/script/color.php#color_names">color
names</ulink> or <acronym>HTML</acronym>/<acronym>CSS</acronym>-style color
specifications
(<replaceable class="parameter">#RRGGBB<optional>AA</optional></replaceable>,
<replaceable class="parameter">#RGB<optional>A</optional></replaceable>).</para>
<para>See <ulink url="http://www.imagemagick.org/script/color.php" />
for more details and additional formats.</para>
</note>
<tip>
<para>The command <literal>$ <userinput>convert -list color</userinput></literal>
prints a list of all known colour names.</para>
</tip>
<para><literal>bg_heading</literal> &emdash; File meta information (size, codec, etc.).
Default: <literal>#afcd7a</literal>
[&equiv; <literal>RGB(175,205,122)</literal>]</para>
<para><literal>bg_title</literal> &emdash; Title (with option <option>-T</option>).
Default: <constant>White</constant>
[&equiv; <literal>RGB(255,255,255)</literal>]</para>
<para><literal>bg_contact</literal> &emdash; Captures.
Default: <constant>White</constant>
[&equiv; <literal>RGB(255,255,255)</literal>]</para>
<para><literal>bg_tstamps</literal> &emdash; Timestamps boxes.
Default: <literal>#000000aa</literal>
[&equiv; <literal>RGBA(0,0,0,0.67)</literal>]</para>
<para><literal>bg_sign</literal> &emdash; Footer.
Default: <constant>SlateGray</constant>
[&equiv; <literal>RGB(112,128,144)</literal>]</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-columns"><literal>columns</literal></term>
<listitem>
<para>Number of columns</para>
<para>Default: <literal>2</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-debug"><literal>debug</literal></term>
<listitem>
<para>Enable or disable debug mode. Set to <userinput>1</userinput> to enable.</para>
<para>Default: <literal>0</literal> (disabled).</para>
<para>Equivalent command-line option: <option>-D</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-decoder"><literal>decoder</literal></term>
<listitem>
<para>Controls which capturer to use</para>
<para>Symbolic values: <literal><symbol>$DEC_FFMPEG</symbol></literal> &rArr; FFmpeg,
<literal><symbol>$DEC_MPLAYER</symbol></literal> &rArr; MPlayer</para>
<para>Default: <literal><symbol>$DEC_FFMPEG</symbol></literal> (FFmpeg) </para>
<para>Related command-line options:
<option>-F</option>, <option>--ffmpeg</option> and
<option>-M</option>, <option>--mplayer</option>
</para>
<warning>
<para>DVD mode sets the capturer to MPlayer disregarding the value of
this setting.</para>
</warning>
</listitem>
</varlistentry>
<!-- There is NO such setting, but padding=0 can be used instead
<varlistentry>
<term id="term-disable_shadows"><literal>disable_padding</literal></term>
<listitem>
<para>Disables padding when set to <literal>1</literal>.</para>
<para>Default: <literal>0</literal></para>
<para>Equivalent command-line option: <option>-dp</option>, <option>-disable padding</option>.</para>
</listitem>
</varlistentry>
-->
<varlistentry>
<term id="term-disable_shadows"><literal>disable_shadows</literal></term>
<listitem>
<para>Disables drop shadows when set to <literal>1</literal>.</para>
<para>Default: <literal>0</literal></para>
<para>Equivalent command-line option: <option>-ds</option>, <option>--disable shadows</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-disable_timestamps"><literal>disable_timestamps</literal></term>
<listitem>
<para>Disables timestamps on captures when set to <literal>1</literal>.</para>
<para>Default: <literal>0</literal></para>
<para>Equivalent command-line option: <option>-dt</option>, <option>--disable timestamps</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-end_offset"><literal>end_offset</literal></term>
<listitem>
<para>End offset value (amount of time ignored from the end of videos).</para>
<para>Can be a percentage (of the detected length of each video)
or an amount of time, specified in the time syntax specified in &vcsmanpage;.</para>
<para>Default: <literal>5%</literal></para>
<para>Equivalent command-line option: <option>-E</option>, <option>--end-offset</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-extended_factor"><literal>extended_factor</literal></term>
<listitem>
<para>Extended factor value.</para>
<para>When set to a value different than <literal>0</literal> enables extended mode.</para>
<para>Default: <literal>0</literal></para>
<para>See the <ulink url="http://p.outlyer.net/dox/vcs:extended_mode">extended mode</ulink>
documentation.</para>
<para>Equivalent command-line option: <option>-e</option>, <option>--extended</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-fg_all"><literal>fg_all</literal></term>
<listitem>
<para>Sets the value of all <literal>fg_</literal> variables at once
(<xref linkend="term-fg_heading" />,
<xref linkend="term-fg_sign" />,
<xref linkend="term-fg_title" /> and
<xref linkend="term-fg_tstamps" />).</para>
<para role="aside">Since version 1.12.2</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-fg_heading"><literal>fg_heading</literal></term>
<term id="term-fg_sign"><literal>fg_sign</literal></term>
<term id="term-fg_title"><literal>fg_title</literal></term>
<term id="term-fg_tstamps"><literal>fg_tstamps</literal></term>
<listitem>
<para>These variables control the font colours of each section in the contact sheet.</para>
<note>
<para>Valid colour values are those understood by <application>ImageMagick</application>,
e.g. <ulink url="http://www.imagemagick.org/script/color.php#color_names">color
names</ulink> or HTML/CSS-style color specifications
(<replaceable class="parameter">#RRGGBB<optional>AA</optional></replaceable>,
<replaceable class="parameter">#RGB<optional>A</optional></replaceable>).</para>
<para>See <ulink url="http://www.imagemagick.org/script/color.php" />
for more details and additional formats.</para>
</note>
<tip>
<para>The command <literal>$ <userinput>convert -list color</userinput></literal>
prints a list of all known colour names.</para>
</tip>
<para><literal>fg_heading</literal> &emdash; File meta information.
Default: <constant>Black</constant>
[&equiv; RGB(0,0,0)]</para>
<para><literal>fg_title</literal> &emdash; Title (with option <option>-T</option>).
Default: <constant>Black</constant>
[&equiv; RGB(0,0,0)]</para>
<para><literal>fg_tstamps</literal> &emdash; Timestamps.
Default: <constant>White</constant>
[&equiv; RGB(255,255,255)]</para>
<para><literal>fg_sign</literal> &emdash; Footer.
Default: <constant>Black</constant>
[&equiv; RGB(0,0,0)]</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-font_all"><literal>font_all</literal></term>
<listitem>
<para>Sets the value of all <literal>font_</literal> variables at once
(<xref linkend="term-font_heading" />,
<xref linkend="term-font_sign" />,
<xref linkend="term-font_title" /> and
<xref linkend="term-font_tstamps" />)</para>
<para>Additional details: Since 1.12.2</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-font_heading"><literal>font_heading</literal></term>
<term id="term-font_sign"><literal>font_sign</literal></term>
<term id="term-font_title"><literal>font_title</literal></term>
<term id="term-font_tstamps"><literal>font_tstamps</literal></term>
<listitem>
<para>These variables control the fonts used in each section of the contact sheet.</para>
<para><literal>font_heading</literal> &emdash; File meta information.
Default: <constant>DejaVu-Sans-Book</constant></para>
<para><literal>font_title</literal> &emdash; Title (with option <option>-T</option>).
Default: <constant>DejaVu-Sans-Book</constant></para>
<para><literal>font_tstamps</literal> &emdash; Used for timestamps over the thumbnails.
Default: <constant>DejaVu-Sans-Book</constant></para>
<para><literal>font_sign</literal> &emdash; Footer / signature.
Default: <constant>DejaVu-Sans-Book</constant></para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-format"><literal>format</literal></term>
<listitem>
<para>Output file format</para>
<para>Default: <literal>png</literal></para>
<note>
<para>Should match the extension of a format known by <application>ImageMagick</application>.</para>
</note>
<para>Related command-line options:
<option>-j</option>, <option>--jpeg</option> and
<option>--jpeg2</option>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-getopt"><literal>getopt</literal></term>
<listitem>
<para><acronym>GNU</acronym> <command>getopt</command> command</para>
<para>Default: <literal>getopt</literal></para>
<warning>
<para>The <command>getopt</command> command name must be set correctly or vcs won't work.</para>
<para>Must be a version compatible with <acronym>GNU</acronym> syntax.</para>
<para>Can only be set in configuration files (i.e. not from the command-line).</para>
</warning>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-height"><literal>height</literal></term>
<listitem>
<para>Height of individual captures.</para>
<para>Can be a fixed number of pixels or a percentage.</para>
<para>The default is the same as input i.e. <literal>100%</literal>.</para>
<para>Equivalent command-line option: <option>-H</option>, <option>--height</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-interval"><literal>interval</literal></term>
<listitem>
<para>Interval between captures, when the mode of operation is to capture
at fixed intervals.</para>
<para>Accepts the same format as any option accepting times, see &vcsmanpage; for details
on the acceptable syntax.</para>
<para>Default: <literal>300</literal> (&equiv; 5 minutes).</para>
<note>
<para>Unlike its command-line counterpart (<option>-i</option> or <option>--interval</option>),
changing the value of <symbol>interval</symbol> doesn't automatically
switch modes to capture at intervals.</para>
<para>The mode of operation is controlled by <xref linkend="term-timecode_from" />.</para>
</note>
<para>Equivalent command-line option: <option>-i</option>, <option>--interval</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-nonlatin_filenames"><literal>nonlatin_filenames</literal></term>
<listitem>
<para>Enables or disables the usage of an alternate font to print
filenames in the contact sheet meta-information section.</para>
<para>Set to <literal>1</literal> to use <xref linkend="term-nonlatin_font" /> to print filenames.</para>
<para>Default: <literal>0</literal>
&nbsp;&rArr;&nbsp; use the standard font, <xref linkend="term-font_heading"/>.</para>
<para role="aside">Since 1.12.2</para>
<para>Equivalent command-line option: <option>--nonlatin</option>, <option>-Ik</option>, <option>-Ij</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-nonlatin_font"><literal>nonlatin_font</literal></term>
<listitem>
<para>Font used for non-latin filenames when <xref linkend="term-nonlatin_filenames" />
is enabled.</para>
<para>Default: (picked automatically)</para>
<note>
<para>This font is, when possible, picked automatically.</para>
<para>Can be set manually with the <option>-Ik</option> or <option>-Ij</option> option.</para>
</note>
<para>Equivalent command-line option: <option>-Ik</option>, <option>-Ij</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-numcaps"><literal>numcaps</literal></term>
<listitem>
<para>Number of captures, when the mode of operation is to do a fixed
number of captures.</para>
<para>Default: <literal>16</literal>.</para>
<note>
<para>Unlike its command-line counterpart (<option>-n</option> or <option>--numcaps</option>),
changing the value of <symbol>numcaps</symbol> doesn't automatically
switch modes to do a fixed number of captures.</para>
<para>The mode of operation is controlled by <xref linkend="term-timecode_from" />.</para>
</note>
<para>Equivalent command-line option: <option>-n</option>, <option>--numcaps</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-padding"><literal>padding</literal></term>
<listitem>
<para>Number of pixels between captures when placed in the contact sheet.</para>
<para>Default: <literal>2</literal></para>
<para>Related command-line option: <option>-dp</option>, <option>--disable padding</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-plain_messages"><literal>plain_messages</literal></term>
<listitem>
<para>Allows disabling colourised feedback to the console.</para>
<para>Set to <literal>1</literal> to print plain, monochrome, feedback.</para>
<para>Default: <literal>0</literal> (&equiv; don't disable colours).</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-pts_meta"><literal>pts_meta</literal></term>
<term id="term-pts_sign"><literal>pts_sign</literal></term>
<term id="term-pts_title"><literal>pts_title</literal></term>
<term id="term-pts_tstamps"><literal>pts_tstamps</literal></term>
<listitem>
<para>These variables control font size of each section in the contact sheet.</para>
<para>These sizes are expressed in <emphasis>points</emphasis>.</para>
 
<para><literal>pts_meta</literal> &emdash; File meta-information.
Default: <literal>14</literal></para>
<para><literal>pts_title</literal> &emdash; Title (with option <option>-T</option>).
Default: <literal>33</literal>.</para>
<para><literal>pts_tstamps</literal> &emdash; Timestamps.
Default: <literal>14</literal>.
<note>
<para>The value of <symbol>pts_tstamps</symbol> is reduced for smaller captures.</para>
</note>
</para>
<para><literal>pts_sign</literal> &emdash; Footer/signature.
Default: <literal>10</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-quality"><literal>quality</literal></term>
<listitem>
<para>Image quality (level of compression) when outputting to lossy formats.</para>
<para><literal>0</literal> to <literal>100</literal>, with <literal>100</literal>
being the best quality (the least compression).</para>
<para>Default: <literal>92</literal>.</para>
<note>
<para>This value only affects the final image.</para>
</note>
</listitem>
</varlistentry>
<!-- GONE in 1.13
<varlistentry>
<term id="term-safe_rename_pattern"><literal>safe_rename_pattern</literal></term>
<listitem>
<para>Pattern used for output files to avoid overwriting existing files.</para>
<para>Default: <literal>%b-%N.%e</literal></para>
<para>%b: Basename</para>
<para>%N: Incremental number</para>
<para>%e: extension</para>
<warning>
<para>Scheduled for removal in 1.13</para>
</warning>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-shoehorned"><literal>shoehorned</literal></term>
<listitem>
<para>Inserts additional parameters into ffmpeg or mplayer capture commands</para>
<warning>
<para>Scheduled for removal in 1.13</para>
</warning>
</listitem>
</varlistentry>
-->
<varlistentry>
<term id="term-signature"><literal>signature</literal></term>
<listitem>
<para>Text before the user name in the footer.</para>
<para>Default: <literal>&quot;Preview created by&quot;</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-stderr"><literal>stderr</literal></term>
<listitem>
<para>Standard error of programs when probing and capturing is sent here.</para>
<para>Default: <filename class="devicefile">/dev/null</filename>.</para>
<note>
<para>Setting it to <filename class="devicefile">/dev/stderr</filename> to
will return capturer programs to their normal behaviour.</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-stdout"><literal>stdout</literal></term>
<listitem>
<para>Standard output of programs when probing and capturing is sent here.</para>
<para>Default: <filename class="devicefile">/dev/null</filename>.</para>
<note>
<para>Setting it to <filename class="devicefile">/dev/stdout</filename> to
will return capturer programs to their normal behaviour.</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-timecode_from"><literal>timecode_from</literal></term>
<listitem>
<para>Controls the main mode of operation: capture at intervals or capture
a fixed number of snapshots.</para>
<para>Possible values are <literal><symbol>$TC_INTERVAL</symbol></literal> to
capture at intervals (will use <xref linkend="term-interval" />),
and <literal><symbol>$TC_NUMCAPS</symbol></literal> to capture a fixed
number of images (will use <xref linkend="term-numcaps" />).</para>
<para>Default: <literal><symbol>$TC_INTERVAL</symbol></literal>.</para>
<note>
<para>This setting is affected by command-line options <option>-i</option>
and <option>-n</option>.</para>
</note>
<para>Related command-line options:
<option>-i</option>, <option>--interval</option> and
<option>-n</option>, <option>--numcaps</option>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-user"><literal>user</literal></term>
<listitem>
<para>User name for the footer's signature.</para>
<para>Default: <command>$(id -un)</command> (&equiv; system user name).</para>
<para>Related command-line options:
<option>-u</option>, <option>--user</option> and
<option>-U</option>, <option>--fullname</option>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term id="term-verbosity"><literal>verbosity</literal></term>
<listitem>
<para>Verbosity level.</para>
<para>Possible values:
<segmentedlist>
<?dbhtml list-presentation="table"?>
<?dbfo list-presentation="table"?>
<segtitle>Value</segtitle>
<segtitle>Meaning</segtitle>
<seglistitem>
<seg><literal><symbol>$V_ALL</symbol></literal></seg>
<seg>Print everything. Equivalent to <symbol>$V_NOTICE</symbol>.</seg>
</seglistitem>
<seglistitem>
<seg><literal><symbol>$V_NONE</symbol></literal></seg>
<seg>Print no feedback at all. Equivalent to command-line option <option>-qq</option>.</seg>
</seglistitem>
<seglistitem>
<seg><literal><symbol>$V_ERROR</symbol></literal></seg>
<seg>Print only errors.</seg>
</seglistitem>
<seglistitem>
<seg><literal><symbol>$V_WARN</symbol></literal></seg>
<seg>Print warnings and errors.</seg>
</seglistitem>
<seglistitem>
<seg><literal><symbol>$V_INFO</symbol></literal></seg>
<seg>Print informational messages, warnings and errors.
This encompasses all messages, so it is equivalent to <symbol>$V_ALL</symbol>.</seg>
</seglistitem>
</segmentedlist>
</para>
<para>Default: <literal><symbol>$V_ALL</symbol></literal>.</para>
<para>Related command-line option: <option>-q</option>, <option>--quiet</option>.</para>
</listitem>
</varlistentry>
</variablelist>
<!-- vim:set ts=4 et: -->
 
/video-contact-sheet/branches/1.13/dist/docs/Makefile
0,0 → 1,84
#
# $Id: Makefile 2315 2011-08-28 02:54:41Z toni $
#
 
distdir:=.
srcdir=src
 
ALL=$(addprefix $(distdir)/,vcs.1 vcs.conf.5 \
$(addprefix vcs.man,.html .xhtml .pdf) \
$(addprefix vcs.conf.man,.html .xhtml .pdf) \
)
INTERMEDIATE=$(addprefix $(srcdir)/, \
$(addsuffix .tex, vcs.man vcs.conf.man) \
)
 
DOCBOOK_XSL=/usr/share/xml/docbook/stylesheet/docbook-xsl
# Common part of command to convert docbook to man
DOCBOOK_TO_MAN=xsltproc -o $(distdir)/ -nonet \
--xinclude \
-param man.charmap.use.subset "0" \
-param make.year.ranges "1" \
-param make.single.year.ranges "1" \
$(DOCBOOK_XSL)/manpages/docbook.xsl
 
all: $(ALL)
 
clean:
$(RM) $(ALL) $(INTERMEDIATE)
 
# man2html produces output closer to man and better formatted but
# easily broken while xsltproc produces cleaner, more robust, and
# cross-referenced output
$(distdir)/vcs.%.xhtml: $(srcdir)/vcs.%.xml
xsltproc -nonet \
--xinclude \
-param man.charmap.use.subset "0" \
-param make.year.ranges "1" \
-param make.single.year.ranges "1" \
$(DOCBOOK_XSL)/xhtml/docbook.xsl \
"$<" > "$@" || ( $(RM) "$@" && false )
sed -i \
's!</head>!<link rel="stylesheet" type="text/css" href="man.css"/></head>!' \
"$@"
 
# The xml.dcl file MUST be included in this order, after options and before inputs
$(srcdir)/vcs.conf.man.tex: $(srcdir)/vcs.conf.man.xml
cd $(srcdir) && bash flatten_settings_xml.bash > temp.xml || ( rm temp.xml && false )
jade -E0 -t tex \
-d /usr/share/sgml/docbook/stylesheet/dsssl/modular/print/docbook.dsl \
-o "$@" \
/usr/share/sgml/declaration/xml.dcl \
$(srcdir)/temp.xml || ( rm $(srcdir)/temp.xml && false )
$(RM) $(srcdir)/temp.xml
 
$(srcdir)/vcs.man.tex: $(srcdir)/vcs.man.xml
jade -E0 -t tex \
-d /usr/share/sgml/docbook/stylesheet/dsssl/modular/print/docbook.dsl \
-o "$@" \
/usr/share/sgml/declaration/xml.dcl \
"$<" >/dev/null
 
$(distdir)/vcs.%.pdf: $(srcdir)/vcs.%.tex
pdfjadetex -output-directory $(distdir) $<
$(RM) $(addprefix $(distdir)/vcs.$(*), .log .aux .out)
 
# Check all XML files for validity
lint:
find . -type f -name '*.xml' -print0 | \
xargs -0 xmllint -nonet --xinclude -noout --valid
 
$(distdir)/vcs.man.html: $(distdir)/vcs.1
man2html -r "$<" > "$@"
 
$(distdir)/vcs.conf.man.html: $(distdir)/vcs.conf.5
man2html -r "$<" > "$@"
 
$(distdir)/vcs.1: $(srcdir)/vcs.man.xml
#xmlto -o `dirname $@`/ man $<
$(DOCBOOK_TO_MAN) "$<"
 
$(distdir)/vcs.conf.5: $(srcdir)/vcs.conf.man.xml
$(DOCBOOK_TO_MAN) "$<"
 
.PHONY: all clean lint
/video-contact-sheet/branches/1.13/dist/common.mk
15,10 → 15,14
DESTDIR:=/
TGZ=vcs-$(VERSION).tar.gz
 
MANDIR:=$(prefix)/share/man/man1/
MANDIR:=$(prefix)/share/man
 
all:
# Nothing to be done
# Automatically detected value:
# PACKAGER=$(PACKAGER)
# To set it manually add it to Make's command-line like:
# $$ $(MAKE) PACKAGER="This Is My Name"
 
dist: vcs.spec
 
30,25 → 34,26
install -m755 vcs $(DESTDIR)$(prefix)/bin/vcs
install -d $(DESTDIR)$(prefix)/share/vcs/profiles
install -m644 profiles/*.conf $(DESTDIR)$(prefix)/share/vcs/profiles/
install -d $(DESTDIR)$(MANDIR)
install -m644 vcs.1 $(DESTDIR)$(MANDIR)/
install -d $(DESTDIR)$(MANDIR)/man1/ $(DESTDIR)$(MANDIR)/man5/
install -m644 docs/vcs.1 $(DESTDIR)$(MANDIR)/man1/
install -m644 docs/vcs.conf.5 $(DESTDIR)$(MANDIR)/man5/
 
uninstall:
$(RM) $(DESTDIR)$(prefix)/bin/vcs
$(RM) $(DESTDIR)$(MANDIR)/vcs.1
$(RM) $(DESTDIR)$(MANDIR)/man1/vcs.1 $(DESTDIR)$(MANDIR)/man5/vcs.conf.5
for file in profiles/*.conf ; do \
$(RM) $(DESTDIR)$(prefix)/share/vcs/profiles/`basename $$file` ; \
done
-rmdir -p $(DESTDIR)$(prefix)/bin
-rmdir -p $(DESTDIR)$(prefix)/share/vcs/profiles
-rmdir -p $(DESTDIR)$(MANDIR)
-rmdir -p $(DESTDIR)$(MANDIR)/man1 $(DESTDIR)$(MANDIR)/man5
 
examples/vcs.conf.example: examples/vcs.conf
sed -e 's/^/#/;s/^#$$//;s/^##/#/' < $< > $@
 
vcs.spec: rpm/vcs.spec.in vcs
test "$(VERSION)" # Version (=$(VERSION)) must be detected
@echo "[vcs.spec]"
test "$(VERSION)" # Version (=$(VERSION)) must be defined
@echo "[creating vcs.spec]"
@cat $< | sed 's!@VERSION@!$(VERSION)!g' | \
sed 's!@PACKAGER@!$(PACKAGER)!g' > $@
 
/video-contact-sheet/branches/1.13/dist/rpm/vcs.spec.in
94,13 → 94,17
%{prefix}/share/vcs/profiles/black.conf
%{prefix}/share/vcs/profiles/mosaic.conf
%{prefix}/share/vcs/profiles/white.conf
# Manpage
# Manpages
%{_mandir}/man1/%{name}.1.gz
%{_mandir}/man5/%{name}.conf.5.gz
%doc CHANGELOG
# Config example
%doc examples/vcs.conf.example
 
%changelog
* Sun Aug 28 2011 - outlyer (at) gmail (dot) com
- Install additional manpage for configuration file
 
* Tue Aug 24 2010 - outlyer (at) gmail (dot) com
- Install manpage
 
/video-contact-sheet/branches/1.13/Makefile
1,62 → 1,38
#!/usr/bin/make -f
#
# $Id$
#
 
srcdir=dist
VER=$(shell grep VERSION $(srcdir)/vcs | head -n1 | sed 's/\#.*//' | sed -r 's/.*"(.*)".*/\1/g')
#VER=$(shell grep VERSION= $(srcdir)/vcs | sed 's/.*"\([^"]*\)".*/\1/')
VER=$(shell sed -n '/VERSION=/s/.*"\([^"]*\)".*/\1/p' $(srcdir)/vcs)
 
ALL=$(addprefix $(srcdir)/,vcs.1 vcs.conf.5 \
$(addprefix vcs.man,.html .xhtml) \
$(addprefix vcs.conf.man,.html .xhtml) \
)
# Common part of command to convert docbook to man
DOCBOOK_TO_MAN=xsltproc -o $(srcdir)/ -nonet \
--xinclude \
-param man.charmap.use.subset "0" \
-param make.year.ranges "1" \
-param make.single.year.ranges "1" \
/usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl
all:
@echo "-------------------------------------------------------------------------------"
@echo " Use: "
@echo " $$ $(MAKE) dist # to create the actual v$(VER) distribution files"
@echo " $$ $(MAKE) manpages # to create only the manpages (in $(srcdir)/docs)"
@echo " $$ $(MAKE) docs # to create all documentation formats (in $(srcdir)/docs)"
@echo
@echo " $$ $(MAKE) lint # to validate documentation sources"
@echo " $$ $(MAKE) clean # to clean generated files"
@echo " $$ $(MAKE) distclean # to clean generated and distribution files"
@echo " $$ $(MAKE) uploadclean # to clean non-distribution files"
@echo "------------------------------------------------------------------------------"
 
all: $(ALL)
@echo "Use $(MAKE) dist to create the actual distribution files"
docs: lint
$(MAKE) -C $(srcdir)/docs all
 
# man2html produces output closer to man and better formatted but
# easily broken while xsltproc produces cleaner, more robust, and
# cross-referenced output
$(srcdir)/vcs.%.xhtml: $(srcdir)/vcs.%.xml
xsltproc -nonet \
--xinclude \
-param man.charmap.use.subset "0" \
-param make.year.ranges "1" \
-param make.single.year.ranges "1" \
/usr/share/xml/docbook/stylesheet/docbook-xsl/xhtml/docbook.xsl \
"$<" > "$@"
sed -i \
's!</head>!<link rel="stylesheet" type="text/css" href="man.css"/></head>!' \
"$@"
manpages: lint
$(MAKE) -C $(srcdir)/docs vcs.1 vcs.conf.5
 
# Check all XML files for validity
xmllint:
find . -type f -name '*.xml' -print0 | xargs -0 xmllint --xinclude -noout --valid
lint:
$(MAKE) -C $(srcdir)/docs lint
 
$(srcdir)/vcs.man.html: $(srcdir)/vcs.1
man2html -r "$<" > "$@"
 
$(srcdir)/vcs.conf.man.html: $(srcdir)/vcs.conf.5
man2html -r "$<" > "$@"
 
$(srcdir)/vcs.1: $(srcdir)/vcs.man.xml
#xmlto -o `dirname $@`/ man $<
$(DOCBOOK_TO_MAN) "$<"
 
$(srcdir)/vcs.conf.5: $(srcdir)/vcs.conf.man.xml
$(DOCBOOK_TO_MAN) "$<"
 
 
tgz: vcs-$(VER).tar.gz
 
vcs-$(VER).tar.gz:
cp -rvpP pkg/ vcs-$(VER)
cd vcs-$(VER) && make dist
cp -rvpP $(srcdir)/ vcs-$(VER)
make -C vcs-$(VER) dist
tar zcvf vcs-$(VER).tar.gz --exclude '.svn' --exclude '*.swp' --exclude '*.swo' vcs-$(VER)
$(RM) -r vcs-$(VER)
 
67,30 → 43,35
echo "** Don't release from SVN working copy **" ; \
echo '*************************************************' ; \
echo '*************************************************' ; \
echo ; \
fi
 
check-rel:
@if head -n50 vcs | grep -q 'RELEASE=0' ; then \
echo 'RELEASE is set to 0!' ; false ; fi
echo '*************************************************' ; \
echo '*************************************************' ; \
echo '** RELEASE is set to 0! **' ; \
echo '*************************************************' ; \
echo '*************************************************' ; \
echo ; \
fi
 
dist: check-rel check-no-svn \
pkg/vcs.1 \
pkg/manpage.html \
vcs-$(VER).tar.gz \
PKGBUILD-$(VER) \
vcs-$(VER).gz vcs-$(VER).bz2 vcs-$(VER).bash \
$(addprefix vcs-$(VER), .gz .bz2 .bash) \
CHANGELOG.gz CHANGELOG \
rpm deb
 
# This shouldn't be re-built
dist/mansrc/settings.man.inc.xml:
cd dist/mansrc && $(MAKE)
devel_tools/mansrc/settings.man.inc.xml:
cd `dirname $@` && $(MAKE)
 
PKGBUILD-$(VER): vcs-$(VER).tar.gz
cd pkg && ln -s ../vcs-$(VER).tar.gz ./
cd pkg && make PKGBUILD
$(RM) pkg/vcs-$(VER).tar.gz
mv pkg/PKGBUILD $@
cd $(srcdir) && ln -s ../vcs-$(VER).tar.gz ./
make -C $(srcdir) PKGBUILD
$(RM) $(srcdir)/vcs-$(VER).tar.gz
mv $(srcdir)/PKGBUILD $@
 
vcs-$(VER).gz: $(srcdir)/vcs
gzip -c9 < vcs > $@
107,7 → 88,12
CHANGELOG: $(srcdir)/CHANGELOG
cp $< $@
 
distclean:
distclean: clean
$(RM) PKGBUILD-$(VER) vcs-$(VER).tar.gz $(addprefix vcs-$(VER), .gz .bz2 .bash) \
CHANGELOG.gz CHANGELOG *.deb *.rpm
 
# That's the old distclean
uploadclean:
$(RM) -ri vcs Makefile *.changes pkg
 
deb:
120,6 → 106,9
test -d ~/RPM/RPMS/noarch && ln -s ~/RPM/RPMS/noarch/vcs-$(VER)-*.rpm . || true
 
clean:
-$(RM) vcs[-_]$(VER)* CHANGELOG* $(ALL)
-$(RM) vcs[-_]$(VER)* CHANGELOG*
make -C $(srcdir)/docs clean
 
.PHONY: dist
.PHONY: all docs manpages lint clean dist distclean uploadclean \
check-no-svn check-rel \
deb rpm tgz