1.13.4 (2019-11-26): * BUGFIX: Actually use all alternative evasion offsets (Bugfix by Davide Cavestro) [#364] * BUGFIX: Display file sizes correctly when using mawk [#365] * BUGFIX: Number of columns ignored on Bash 5.0 [#373] 1.13.3 (2017-05-26): * Added codec IDs for h.265 and VP9 * BUGFIX: Fix handling of failed captures * BUGFIX: Fix handling of failed identification * BUGFIX: Cleaned output for identification of unsupported file types * BUGFIX: Codec information was getting cropped with current versions of ImageMagick. Gravity appears to be interpreted in a different way now. (Bugfix by Markus) [#323] * BUGFIX: Fix incorrect calculation of file size in header. (Based on an anonymous patch) [#314] * OTHER: Print warning about possible lack of support if no frame could be captured * OTHER: Don't trust MPlayer's detection of raw video, use FFmpeg's detection in such case * OTHER: Fix incorrect rendering of Note #1 in vcs.conf's manpage * OTHER: Clean up generation and conversion of manpages * OTHER: Added versions of MPlayer, FFMpeg, ImageMagick and LSB to debug output * OTHER: Allow disabling coloured output altogether. [#311] This is implemented by honouring $TERM, e.g. "TERM=vt100 vcs ..." 1.13.2 (2014-05-18): * BUGFIX: Fixed number of captures exceeded by one with mplayer [#225] Reported by Miya * OTHER: (BUGFIX in prereleases) Fixed error when processing files with quotes in the file name [#226] 1.13.1 (2014-02-26): * BUGFIX: Fixed uncommon bug with unwrapped grep string [#217] Submitted by Eris Belew * OTHER: Adapt PKGBUILD to new guidelines [#219] Submitted by Eris Belew 1.13 (2013-03-08): * Complete manual pages * Added 'anonymous' to the list of settings * Remove meaningless decimals when generating config files * New setting: 'profiles', allows loading profiles automatically and also loading profiles from other profiles * Change also title colours in 'black' and 'white' profiles * Codec identification for Fraps captures [#179] * New setting 'capturer' deprecates 'decoder'. Uses actual names (ffmpeg and mplayer) instead of variables ($DEC_FFMPEG and $DEC_MPLAYER) * Changed default verbosity level to INFO (same output as before) * BUGFIXES: - Make "dynamic" settings case-insensitive, i.e. bg_heading=$bg_contact can also be written bg_heading=$BG_CONTACT - Correct extended-set resizing - Constraint checking of settings failed silently for alias-only names - Code typo: Produced error message when extended mode was narrower than contact sheet - Only warned about command-line GETOPT override when using uppercase setting name - Fixes for FreeBSD compatibility (regressions introduced in 1.12.3, [#189]): > Wrong parsing of floats and positions/percentages on FreeBSD's bash 4.0.10 (FreeBSD only) > Unsupported 'expr match' replaced by awk - Fix error when avoiding repeated captures - Don't filter cached captures more than once [#199] - Skip files where interval gets rounded to zero [#195] * Scheduled code cleanup: - Removal of deprecated configuration options: DEFAULT_END_OFFSET, shoehorned and safe_rename_pattern - Removal of deprecated option '--undocumented shoehorn' - Deprecation of '--end_offset' ('--end-offset' should be used instead) * COSMETIC: - Add '(h.264)' to ffmpeg video codec id when appropriate - Correct "Capturing in range..." message - Refer to configuration variables as "settings" - Print informational messages for each funky mode - Pretty-print timestamps when doing safe-length measuring [#177] - Colourised tracing * OTHER: - Help rewordings and clarification - Help fixes: - Old DVD mode description was still displayed - Incorrectly had `--jpeg 2' instead of `--jpeg2' or `--jpeg=2' - Added new distribution profile: compact - Added new example profiles (black-mosaic and black-compact-chain), the latter demonstrating how a profile can load other profiles - List also builtin profiles with --profile :list - Each profile can no longer be loaded more than once - Restore terminal through stty [#198] * UNDOCUMENTED/DEBUG: - Undocumented options: - Don't fail on unknown sub-options - New sub-options: trace, display and discard - Debugging facility: --undocumented trace=funcname - Display $POSIXLY_CORRECT and sed's path in 'vcs -DD' output - Display awk and sed versions, if possible, in 'vcs -DD' output * INTERNAL: - Check ImageMagick through convert instead of identify - Don't run filters in subshells - Fix some typos - Bugfix: Actually use passed timestamp in filt_apply_timestamp() - Bugfix: Don't accept --shoehorn (was deprecated and unhandled) - Set LANG to C - Added simeq() and '~' fptest operator - New (4th iteration) interval parsing code, single sed command, more strict checking of PRE 1.12.3 (2011-07-17): * BUGFIX: Actually handle --ffmpeg and --mplayer [#169] * BUGFIX: Correct parsing of -U [#187] * OTHER: - Fix printing of remaining options on command-line error - Switch to a minimum of bash 3.1 [#173] - Avoid re-capturing the same frame twice [#122] - Use getent instead of /etc/passwd when available * INTERNAL: - Use of Bash's 'caller' in 'assert' and 'trace' - 'assert' prints a call trace on error - 'assert_if' - Don't use mplayer's length as a ceil for timecode removal [#174] 1.12.2 (2010-08-24): * BUGFIX: Fix cleanup of temporary files (regression since 1.11.2). [#167] Submitted by Jason Tackaberry. * FEATURES: - Added 'fg_all', 'bg_all' and 'font_all' config variables. [#156] - Added 'nonlatin_filenames' config variable. [#159] - Added identification for VP8 (WebM). [#166] * OTHER: - Print variable names in lowercase when using --generate. 1.12.1 (2010-04-23): * BUGFIXES: - Workaround for cases in which GAWK uses comma as decimal separator. Any OS with GAWK 3.1.3 to 3.1.5 was affected (where the environment language uses commas, e.g. Debian Lenny with many European languages) - Don't try to go on in DVD mode with unreadable ISOs 1.12: (2010-04-10) * New features/tweaks: - Loading of random configuration files (--config / -C) - Profiles: Similar to above but simpler syntax (--profile / -p) - Config/Profile generation from command-line (--generate) - Adapt heading, title and footer height to font size (fonts that used to get cropped should now be fine) * DVD mode cleanup: - Command-line switched to match "normal" files: Before: $ vcs --dvd /dev/dvd 0 or $ vcs --dvd /dev/dvd 1 Equivalents now: $ vcs --dvd /dev/dvd or $ vcs --dvd --dvd-title 1 /dev/dvd * New end-offset behaviour: - A 5.5% end offset is applied by default - Can be disabled with -E0 or end_offset=0 - MIN_LENGTH_FOR_END_OFFSET is no longer used * Configuration files cleanup: - Simplified or more meaningful names where appropriate (the older names will continue to work for a while, and users will be warned) "vcs --generate" with no other arguments can be used to translate them - Validation of configuration options. Incorrect values will be discarded and an error shown; processing will continue. - Configuration searched in ~/.vcs/vcs.conf too - Syntax enhancements: > Comments can now be included in-line > Putting '#' in a value now requires using the "escaped form" '$#' > Semicolons (;) also serve to start comments: When one is found the rest of the line is ignored, they continue to be disallowed in values i.e. 'tl;dr' will be parsed as 'tl' * Other: - Accept timecodes and percentages in end_offset, both from the command-line and in configuration files - Print the start and end timestamps in effect before capturing - No longer accept interval zero (used to be re-set to default) - Tighter printing of overrides and no longer printed as warning - Strickter handing of wrong options - Fall back to Helvetica also when no fonts dir is located. Look in /usr/local too. - --end-offset added as an alias to --end_offset - Starting with 1.12 a tarball + makefile is also provided * BUGFIXES: - Avoid possible (unlikely) usage of scientific notation in internal calculations - Distinguish between default end offset and user's end offset with the same value - Handle --nonlatin correctly - DVD Mode + FFmpeg identification: Check VOB #0 instead of #1 - Don't print escape codes to stdout when testing colour printing * Options removed: --shoehorn, temporary replacement: --undocumented shoehorn. Will be gone in 1.13 --mincho, replaced by --nonlatin since 1.11 MIN_LENGTH_FOR_END_OFFSET, as explained above, no longer needed * INTERNAL: - $CFGFILE replaced by ~/.vcs.conf - Use -p for profiles instead of -P (used, undocumented, in 1.11) 1.11.2: (2010-03-19) * Added Cook and Sipro (RealAudio 4, 5 & 6) codecs * BUGFIXES: - Remove extra, empty, temporary dir - Use standard awk syntax for exponentiation (pyth_th) - Workaround for systems that don't register fonts with ImageMagick * DEBUG: Print to stderr when probbing with mplayer too 1.11.1: (2010-03-11) * Added FLV1 codec * BUGFIXES: - Deprecate DEFAULT_INTERVAL, DEFAULT_NUMCAPS and DEFAULT_COLS as overrides, warn about their new names (interval, numcaps and cols) - Fix ImageMagick version detection 1.11: (2010-03-07) * FEATURES - Allow setting output filename. With extension will set output format, without will inherit it. - Allow percentages in height. - Require mplayer OR ffmpeg instead of both. Having both is still recommended for better results. - Safe mode, for files whose length doesn't get reported correctly. Completely automated. Number of tries can be increased with -Ws. Repeat to increase further. Use -WS to do try as many times as possible. Accuracy (stepping) can be increased with -Wp. Repeat to increase accuracy. Decrease with -WP. Can be deliberately disabled with -Wb to force processing of broken files. *VCS WITH -Wb WILL FAIL ON BROKEN FILES* - Added -dp (--disable padding) equivalent to overriding HPAD to 0 * BUGFIXES: - Don't pass ms to mplayer. It ignores them anyway and in some rare cases breaks the last capture (possibly due to the 5-frames hack) - Honor detected aspect ratio if found - Try to detect files that might fail on the last capture and trigger safe mode - Timestamps font was being ignored. As a side effect this produced italiced timestamps in some systems - Fixed obscure bug with safe_rename_pattern overrides * COMPAT: Support for bash 2.05b. This will (probably) be the last version capable of running under bash 2. * DVD mode revamp - Print title file size instead of disc size when possible - Aspect ratio detection, if available - Use of FFmpeg if available to get better information - Mostly x-platform, only ISOs identification is a bit better in Linux * Added FourCCs: 3IV1, 3IV2 (3ivx); s263 (H.263); mp4v, MP4V, H264 (MPEG-4 and AVC in mov/mp4), VP6F (VP6 Flash Version), AMR Video codec renamings: - TechSmith codec name shortened to TechSmith SCC - Raw RGB renamed to Raw video * Help cleanup. The default help output is much shorter, the full text can be displayed with --fullhelp. Also print the decoder choice near the appropriate option (-M/-F) * Added --anonymous to help (never was in it) * Drop requirement on seq/jot and bc, replaced by inline awk ... New requirement: Perl (only for DVDs). * Adopt new/fixed numbering scheme * Check ImageMagick version (must decide which is the real minimum required) * Non-latin fonts revamp: - -I no longer works alone (use -Ij or -Ik instead) - -Ik, -Ij and --nonlatin try to pick an appropriate font automatically - -I accepts a font name or font filename like -Ij=Kochi-Mincho-Regular or -Ij=/usr/share/fonts/truetype/kochi/kochi-mincho.ttf * Deprecated options: --shoehorn: Will be removed unless someone really needs it. --mincho: Replaced by --nonlatin * COSMETIC: - Default font switched to DejaVu Sans. Font sizes reduced to accomodate the new default. Should fall back to a sane default if it's not available - Much tighter padding - Smaller timestamps font by default - Print friendlier timestamp when a capture fails - Print program signature to console without colour - Use main font by default in timestamps - Heading background colour toned down - Added colourised output when tput is not capable (i.e. FreeBSD) - Added prefixes when colour is not available for console output - Don't print lsdvd error channel is DVD mode - Suppress mv errors (e.g. over VFS being unable to preserve) * Minimum ImageMagick version set to 6.3.5-7 * Better detection of requirements (e.g. disallow decoders without png support) * Allow overriding height, number of captures, interval, columns, and padding * UNDOCUMENTED/DEBUG: - Allow stopping the main loop before cleaning up (--undocumented hang) - Identification-only mode. Might be promoted to an actual feature (--undocumented idonly) - Allow setting ffmpeg and mplayer path (--undocumented set_ffmpeg and set_mplayer) - Allow disabling either mplayer of ffmpeg (as if they weren't installed (--undocumented disable_ffmpeg and disable_mplayer) - Added -Wc to disable console colour, repeat to disable prefixes * INTERNAL: - assert() - Cleanup: correctness checks converted to asserts, removal of old dead code - Typos 1.0.100a: (2009-04-10) (1.10) * FEATURE: FreeBSD (7.1-RELEASE) support * COMPATIBILITY: - Call bash through env - Ensure we're using the correct getopt version - Try to use POSIX sed options when appropriate - Replaced incompatible sed constructs - Use mktemp's common GNU/BSD(/POSIX?) syntax - Use jot instead of seq if required and available * BUGFIX: Don't fail if tput is unable to change colours * BUGFIX: Check for requirements before anything else * INTERNAL: Cache tput output * FEATURE: Added -R / --randomsource. Mainly useful for debugging, also to repeat a set of results and compare outputs on different systems * Corrected info message in photos mode 1.0.99: (2009-03-11) (1.9) * FEATURE: Experimental support for DVDs (-V) * FEATURE: Added JPEG 2000 output format (-j2) * FEATURE/COSMETIC: Polaroid mode now produces a polaroid-like frame, the older version is now renamed as simply 'photos' New "funky" modes: newer polaroid, photos (older polaroid), polaroidframe * Overrideable variables: DISABLE_SHADOWS and DISABLE_TIMESTAMPS (set to 1 to disable) * BUGFIX/COSMETIC: Re-added the missed space before filename * BUGFIX/COSMETIC: Reworked alignment and padding * Timestamps size is adjusted with smaller captures * BUGFIX: Fixed polaroid/rotate bug where all images overlapped on the same position (reported by Aleksandar Urošević, formerly unreproducible) * Better detection of video/audio features by falling back to ffmpeg when appropriate 1.0.12: (2008-04-16) (1.8) * BUGFIX/COSMETIC: Corrected 0ms timestamps * COSMETIC: Re-added the (disabled for long) black border after highlights * BUGFIX/COSMETIC: Corrected the count of captures in manual-only mode (-m) * FEATURE: Added a minimun length to use the end offset * BUGFIX: Fixed the regression on highlights from the last version (extra padding was being added by IM automatically) * INTERNAL: Simplified use of IM's identify * BUGFIX: Fixed parsing of manual timestamps including milliseconds (when seconds didn't include the s character they were accidentally multiplied by 10!) 1.0.11: (2008-04-08) (1.7) * BUGFIX: (brown bag bug) Corrected typo in variable name that made vcs fail when setting the default timecode derivation to number of captures instead of interval (i.e. when including timecode_from=8 in the config file) (thanks to Chris Hills for the bug report) * WORKAROUND: Fix for all-equal captures (seems to be a known problem with mplayer [M1]) (contributed by Phil Grundig) * RETROCOMPATIBILITY: Older bash syntax for appending and initialising arrays (contributed by Phil Grundig) * COMPATIBILITY: Support alternative du syntax for compatibility with busybox (based on Phil Grundig's contribution) * COSMETIC: Don't print milliseconds when using mplayer as capturer (they're not really meaningful then) (suggested by Phil Grundig) * COSMETIC: Align the extended set captures (-e) and the standard set (bug pointed by Chris Hills). Seems to fail at some (smaller?) sizes. "Funky" modes aren't correctly aligned yet. * DEBUGGING: Added optional function call trace (by setting variable DEBUG to 1) * Added FOURCC for VC-1 * COSMETIC: Fixed captures recount with multiple files (prompted by a bugreport from Dougn Redhammer) 1.0.10: (2007-11-08) (1.6) * BUGFIX: Corrected aspect guessing bug: would fail if width was standard but height not * FEATURE: Allow explicitly disabling timestamps (-dt or --disable timestamps) * FEATURE: Allow explicitly disabling shadows (-ds or --disable shadows) * Added HD resolution guessed aspect ratio (defaults to 16/9) * OTHER: Changed e-mail address in the comments to gmail's, would probably get a quicker response. 1.0.9a: (2007-06-10) (1.5.2, -Brown bag- Bugfix release) * BUGFIX: Fixed regression introduced in 1.0.8a: unsetting numcols broke extended mode captures (Thanks to 'Aleksandar Urošević'). * BUGFIX: Use the computed number of columns for extended mode (instead of the global one) 1.0.8a: (2007-06-02) (1.5.1, Bugfix release) * BUGFIX: User set number of columns wasn't being used if -n wasn't used (Thanks to 'Homer S'). * BUGFIX: Right side of heading wasn't using the user's font colour (Thanks to 'Dougn Redhammer'). 1.0.7a: (2007-05-12) (1.5) * Print title *before* the highlights. * Added the forgotten -O and -c to the help text (oops!) * Experimental: Allow using non-latin alphabets by switching font. See -I. It only affects the filename! Also allow overriding the font to be used to print the filename ($font_filename). Right now only using a Mincho font, it can be overriding by overriding $FONT_MINCHO. * Make title font size independent of the timestamps size. And allow overriding the title font ($font_title), font size ($pts_title) and colours ($fg_title and $bg_title). * Allow overriding the previews' background ($bg_contact) * Added getopt, identify, sed, grep and egrep to the checked programs * BUGFIX: Corrected test of accepted characters for intervals * INTERNAL: New parsing code * FEATURE: Replaced hard by soft shadows * BUGFIX: Corrected console colour usage: Print the colours to the correct channel * Made tput (coloured console output) optional (AFAIK should be present in any sane system though). * FEATURE: Funky modes (more to come...): Polaroid, Film (rough, initial, version), Photoframe and Random colours/fonts. (see --help) * INTERNAL: Use /dev/shm as base tempdir if possible * BUGFIX: Fixed safe_rename(): Don't assume current dir, added '--' to mv * Added workaround for ffmpeg arguments order * Allow getting the output of ffmpeg/mplayer (with $stdout and $stderr) * INTERNAL: Renamed info() to inf() to eliminate ambiguities * INTERNAL: guess_aspect() doesn't operate globally * Reorganized help by alphabetical/rarity order * FEATURE: Full milliseconds support (actually, full decimal point seconds), timecode format extended to support e.g. 3m.24 (which means 00:03:00.240) * BUGFIX/FEATURE: The number of extended captures is rounded to match the standard columns (extended width matches standard) * Made FOURCCs list case sensitive (the list has grown enough that I no longer see a benefit in being ambigous) * Added codec ids for On2's VP3, VP4, VP5 and VP6, TechSmith Screen Capture Codec (Camtasia's) and Theora, expanded list of FOURCCs of Indeo's codecs. * Added -E / --end_offset / $DEFAULT_END_OFFSET, used to eliminate some seconds from the end 1.0.6b: (2007-04-21) (1.4.1, Bugfix release) * BUGFIX: Use mktemp instead of tempfile (Thanks to 'o kapi') * Make sure mktemp is installed, just in case ;) 1.0.5b: (2007-04-20) (1.4) * INTERNAL: Split functionality in more separate pieces (functions) * BUGFIX: Corrected --aspect declaration * CLEANUP: Put all temporary files in the same temporary directory * FEATURE: Highlight support * FEATURE: Extended mode (-e) * FEATURE: Added -U (--fullname) * Requirements detection now prints all failed requirements * BUGFIX: (Regression introduced in 1.0.4b) Fail if interval is longer than video * Don't print the success line unless it was really successful * Allow quiet operation (-q and -qq), and different verbosity levels (only through config overrides) * Print vcs' identification on operation * FEATURE: Auto aspect ratio (-A, --autoaspect) * INTERNAL: Added better documentation of functions * Print coloured messages if possible (can be disabled by overriding $plain_messages) * FEATURE: Command line overrides (-O, --override) * BUGFIX: Don't allow setting -n0 * Renamed codec ids of WMA2 (to WMA8) and WMA3 (to WMA9) * Changed audio codec ids from MPEG-1 to MPEG, as there's no difference, from mplayer's identification at least, between MPEG-1 and MPEG-2 * Audio identified as MP2 can also actually be MP1, added it to the codec id * Added codec ids for: Vorbis, WMA7/WMA1, WMV1/WMV7, PCM, DivX ;), OpenDivX, LAVC MPEG-4, MSMPEG-4 family, M-JPEG, RealVideo family, I420, Sorenson 1 & 3, QDM2, and some legacy codecs (Indeo 3.2, Indeo 5.0, MS Video 1 and MS RLE) * Print the number of channels if != 2 1.0.4b: (2007-04-17) (1.3) * Added error checks for failures to create vidcap or to process it convert * BUGFIX: Corrected error check on tempdir creation * BUGFIX: Use temporary locations for temporary files (thanks to Alon Levy). * Aspect ratio support (might be buggy). Requires bc. * Added $safe_rename_pattern to allow overriding the default alternate naming when the output file exists * Moved previous previous versions' changes to a separate file. * Support for per-dir and system-wide configuration files. Precedence in ascending order: /etc/vcs.conf ~/.vcs.conf ./vcs.conf * Added default_options (broken, currently ignored) * BUGFIX: (Apparently) Corrected the one-vidcap-less/more bug * Added codec ids of WMV9 and WMA3 1.0.3b: (2007-04-14) (1.2.1, Brown bag hotfix) * BUGFIX: Don't put the full video path in the heading 1.0.2b: (2007-04-14) (1.2) * Licensed under LGPL (was unlicensed before) * Renamed variables and constants to me more congruent * Added DEFAULT_COLS * BUGFIX: Fixed program signature (broken in 1.0.1a) * Streamlined error codes * Added cleanup on failure and on delayed cleanup on success * Changed default signature background to SlateGray (blue-ish gray) 1.0.1a: (2007-04-13) (1.1) * Print output filename * Added manual mode (all timestamps provided by user) * More flexible timestamp format (now e.g. 1h5 is allowed (means 1h 5secs) * BUGFIX: Discard repeated timestamps * Added "set -e". TODO: Add more verbose error messages when called programs fail. * Added basic support for a user configuration file. 1.0a: (2007-04-10) (1.0) * First release keeping track of history * Put vcs' url in the signature * Use system username in signature * Added --shoehorn (you get the idea, right?) to feed extra commands to the cappers. Lowelevel and not intended to be used anyway :P * When just a vidcap is requested, take it from the middle of the video * Added -H|--height * Added codec ids of WMV8 and WMA2 0.99.1a: Interim version, renamed to 1.0a 0.99a: * Added shadows * More colourful headers * Easier change of colours/fonts 0.5a: * First usable version 0.1: * First proof of concept # vim:set ts=3 sw=3 et textwidth=80: #