vcs

This is the tasklist for Video Contact Sheet *NIX

Although I use it mainly as a TO-DO list, feel free to fill any bug-reports or feature requests you might have.

Homepage: https://p.outlyer.net/vcs/
Documentation: https://p.outlyer.net/vcs/docs

ID  asc Task Type Severity Summary Status Progress Due In Version
164Bug ReportVery LowImplement instrumentationAssigned
0%
? Task Description

No need for description

 165 TO-DOLow Release 1.12.2 Closed
100%
Meta: Release Cycle Task Description

This is a meta-item depending on bugs/features required to complete before releasing vcs 1.12.2.

1.12.2 might be skipped and its items pushed back to 1.13.

 166 TO-DOVery Low Support WebM Closed
100%
1.12.2 Task Description

WebM: http://www.webmproject.org/

Uses VP8 video and Vorbis audio.

Current Status:


Identification

MPlayer: Video detected as VP80
FFmpeg:
* 0.5.1+svn20100311: Not supported (fails in the safe-length-detection stage)
* 0.6~svn20100603: Video detected as libvpx


Capture

Both appear to work fine.

 167 Submitted PatchMedium Improper cleanup of tempdir Closed
100%
1.12.2 Task Description

Originally submitted by Jason Tackaberry

VCS’ temporary dir (and its contents) is not removed on cleanup. Space in /dev/shm is wasted as a result.

Patch attached.

 168 TO-DOLow Create basic manpage Closed
100%
1.12.2 Task Description

No need for description

 169 Bug ReportLow --ffmpeg and --mplayer documented but ignored Closed
100%
1.12.3 Task Description

No need for description

 170 TO-DOVery Low Release 1.12.3 Closed
100%
Meta: Release Cycle Task Description

Bugfixes from the 1.13 branch should be backported to 1.12, since 1.13 will need a lot of testing.

Previous:  FS#165 
Next:  FS#152 

 171 TO-DOVery Low Deprecate './vcs.conf' in favour of profiles Closed
100%
1.13 Task Description

The function that vcs.conf in current dir accomplished is covered by profiles. If wanted it can still be manually loaded with -C :pwd or -C vcs.conf

172TO-DOVery LowDon't autoload './vcs.conf'Assigned
0%
1.14 Task Description

See  FS#171 

 173 TO-DOLow Switch to Bash 3 Closed
100%
1.12.3 Task Description

Bash 2 syntax has been the norm for most versions (although broken in some).

So far none of the major distributions is using bash 2, bash 4 is already gold but not widely-used enough.

Only a few special purpose/minimal distros like DSL retain bash 2.05b, but vcs requires recent versions of ImageMagick, Mplayer and FFmpeg anyway. I can’t see a reason to retain such backwards compatibility.

 174 Bug ReportMedium Video length is checked against mplayer's identificatio ...Closed
100%
1.12.3 Task Description

Internal: Stale code from prior versions, numsecs inside process() uses mplayer’s value instead of the best value to determine video length (and keep or discard timestamps).

As a side-effect, newer code being more strict about array vs string handling can fail easily.

 175 Bug ReportMedium Failure after a certain number of uses Closed
100%
Task Description

Originally reported by Robert Speicher.

Works for awhile, then starts failing until reboot. Happens with 1.12.1, but continued to fail after upgrade to 1.12.2.

Log:

Video Contact Sheet *NIX v1.12.1, (c) 2007-2010 Toni Corvera
Timestamps disabled.
Shadows disabled.
Padding disabled.
Processing Video.avi...
Capturing in range [01:12.50-19:30.00]. Total length: 20:26.02
Generating capture #1/16 (01:22.50)...
Generating capture #2/16 (02:35.00)...
Generating capture #3/16 (03:47.50)...
Generating capture #4/16 (05:00.00)...
Generating capture #5/16 (06:12.50)...
Generating capture #6/16 (07:25.00)...
Generating capture #7/16 (08:37.50)...
Generating capture #8/16 (09:50.00)...
Generating capture #9/16 (11:02.50)...
Generating capture #10/16 (12:15.00)...
Generating capture #11/16 (13:27.50)...
Generating capture #12/16 (14:40.00)...
Generating capture #13/16 (15:52.50)...
Generating capture #14/16 (17:05.00)...
Generating capture #15/16 (18:17.50)...
Generating capture #16/16 (19:30.00)...
Composing standard contact sheet...
Adding header and footer...
Done. Output wrote to Video.avi.jpg
Cleaning up...
Video Contact Sheet *NIX v1.12.1, (c) 2007-2010 Toni Corvera
Timestamps disabled.
Shadows disabled.
Padding disabled.
Processing Video.avi...
Capturing in range [02:16.25-36:30.00]. Total length: 37:15.80
Generating capture #1/16 (02:26.25)...
Generating capture #2/16 (04:42.50)...
Generating capture #3/16 (06:58.75)...
Generating capture #4/16 (09:15.00)...
Generating capture #5/16 (11:31.25)...
Generating capture #6/16 (13:47.50)...
Generating capture #7/16 (16:03.75)...
Generating capture #8/16 (18:20.00)...
Generating capture #9/16 (20:36.25)...
Generating capture #10/16 (22:52.50)...
Generating capture #11/16 (25:08.75)...
Generating capture #12/16 (27:25.00)...
Generating capture #13/16 (29:41.25)...
Generating capture #14/16 (31:57.50)...
Generating capture #15/16 (34:13.75)...
Generating capture #16/16 (36:30.00)...
Composing standard contact sheet...
Adding header and footer...
Done. Output wrote to Video.avi.jpg
Cleaning up...
Video Contact Sheet *NIX v1.12.1, (c) 2007-2010 Toni Corvera
Timestamps disabled.
Shadows disabled.
Padding disabled.
Processing Video.avi...
Capturing in range [00:50.00-13:30.00]. Total length: 14:02.64
Generating capture #1/16 (01:00.00)...
Generating capture #2/16 (01:50.00)...
Generating capture #3/16 (02:40.00)...
Generating capture #4/16 (03:30.00)...
Generating capture #5/16 (04:20.00)...
Generating capture #6/16 (05:10.00)...
Generating capture #7/16 (06:00.00)...
Generating capture #8/16 (06:50.00)...
Generating capture #9/16 (07:40.00)...
Generating capture #10/16 (08:30.00)...
Generating capture #11/16 (09:20.00)...
Generating capture #12/16 (10:10.00)...
Generating capture #13/16 (11:00.00)...
Generating capture #14/16 (11:50.00)...
Generating capture #15/16 (12:40.00)...
Generating capture #16/16 (13:30.00)...
Composing standard contact sheet...
montage: WriteBlob Failed `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/PNGErrorHandler/1391.
convert: Expected 8192 bytes; found 7332 bytes `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/PNGWarningHandler/1408.
convert: Read Exception `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/PNGErrorHandler/1391.
convert: Corrupt image `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/ReadPNGImage/2877.
convert: missing an image filename `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ wand/convert.c/ConvertImageCommand/2710.
identify: Expected 8192 bytes; found 7332 bytes `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/PNGWarningHandler/1408.
identify: Read Exception `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/PNGErrorHandler/1391.
identify: Corrupt image `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/ReadPNGImage/2877.
identify: Expected 8192 bytes; found 7332 bytes `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/PNGWarningHandler/1408.
identify: Read Exception `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/PNGErrorHandler/1391.
identify: Corrupt image `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/ReadPNGImage/2877.
/usr/bin/vcs: line 3320: ( - ) / 2 : syntax error: operand expected (error token is ") / 2 ")
Cleaning up...
Video Contact Sheet *NIX v1.12.1, (c) 2007-2010 Toni Corvera
Timestamps disabled.
Shadows disabled.
Padding disabled.
Processing Video.avi...
Capturing in range [00:53.75-14:30.00]. Total length: 15:46.15
Generating capture #1/16 (01:03.75)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-rUCuNH.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #2/16 (01:57.50)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-zZbLrH.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #3/16 (02:51.25)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-jtjSCK.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #4/16 (03:45.00)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-OPrsFE.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #5/16 (04:38.75)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-yTKhKY.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #6/16 (05:32.50)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-qNZBGT.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #7/16 (06:26.25)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-BMvDIJ.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #8/16 (07:20.00)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-LIiceG.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #9/16 (08:13.75)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-Mirxow.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #10/16 (09:07.50)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-MTumnX.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #11/16 (10:01.25)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-Fmbspn.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #12/16 (10:55.00)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-EpyojU.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #13/16 (11:48.75)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-xaWRsM.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #14/16 (12:42.50)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-SWjaOd.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #15/16 (13:36.25)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-RPgswJ.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #16/16 (14:30.00)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-UcJOwe.png' @ coders/png.c/PNGErrorHandler/1391.
Composing standard contact sheet...
montage: Expected 8192 bytes; found 4013 bytes `/dev/shm/vcs.EgedHO/vcs-vUkjQs-cap-000001.png' @ coders/png.c/PNGWarningHandler/1408.
montage: Read Exception `/dev/shm/vcs.EgedHO/vcs-vUkjQs-cap-000001.png' @ coders/png.c/PNGErrorHandler/1391.
montage: Corrupt image `/dev/shm/vcs.EgedHO/vcs-vUkjQs-cap-000001.png' @ coders/png.c/ReadPNGImage/2877.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-fyBsXW-cap-000002.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-KaORtG-cap-000003.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-XpQLft-cap-000004.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-JJOrHH-cap-000005.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-njxEmD-cap-000006.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-spNKJs-cap-000007.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-ShRSMS-cap-000008.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-dVzzbj-cap-000009.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-tDyUTy-cap-000010.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-ZhPdxF-cap-000011.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-KNPGcw-cap-000012.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-fpoOpZ-cap-000013.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-xQKSPT-cap-000014.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-jiQomq-cap-000015.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-gwGaCZ-cap-000016.png' @ coders/png.c/ReadPNGImage/2839.
montage: missing an image filename `/dev/shm/vcs.EgedHO/vcs-pIBUGe.png' @ wand/montage.c/MontageImageCommand/1596.
convert: missing an image filename `/dev/shm/vcs.EgedHO/vcs-pIBUGe.png' @ wand/convert.c/ConvertImageCommand/2710.
/usr/bin/vcs: line 3320: ( - ) / 2 : syntax error: operand expected (error token is ") / 2 ")
Cleaning up...
Video Contact Sheet *NIX v1.12.1, (c) 2007-2010 Toni Corvera
Timestamps disabled.
Shadows disabled.
Padding disabled.
Processing Video.avi...
Detected video length can't be reached. Safe measuring enabled.
Starting safe length measuring (this might take a while)...
   ... trying 1724.759
   ... trying 1724.259
   ... trying 1723.759
   ... trying 1723.259
   ... trying 1722.759
   ... trying 1722.259
   ... trying 1721.759
   ... trying 1721.259
   ... trying 1720.759
   ... trying 1720.259
   ... trying 1719.759
   ... trying 1719.259
   ... trying 1718.759
   ... trying 1718.259
   ... trying 1717.759
   ... trying 1717.259
   ... trying 1716.759
   ... trying 1716.259
   ... trying 1715.759
   ... trying 1715.259
   ... trying 1714.759
   ... trying 1714.259
   ... trying 1713.759
   ... trying 1713.259
   ... trying 1712.759
   ... trying 1712.259
   ... trying 1711.759
   ... trying 1711.259
   ... trying 1710.759
   ... trying 1710.259
   ... trying 1709.759
   ... trying 1709.259
   ... trying 1708.759
   ... trying 1708.259
   ... trying 1707.759
   ... trying 1707.259
   ... trying 1706.759
   ... trying 1706.259
   ... trying 1705.759
   ... trying 1705.259
Couldn't measure length in a reasonable amount of tries.
  Capturing won't work, video is at least 00:20.00 shorter than reported.
   Does ffmpeg support XVID?.
   Try re-running with -Ws -WP.
Failure while analysing file "Video.avi". Can't continue.
Cleaning up...
Video Contact Sheet *NIX v1.12.1, (c) 2007-2010 Toni Corvera
Timestamps disabled.
Shadows disabled.
Padding disabled.
Processing Video.avi...
Detected video length can't be reached. Safe measuring enabled.
Starting safe length measuring (this might take a while)...
   ... trying 1614.210
   ... trying 1613.710
   ... trying 1613.210
   ... trying 1612.710
   ... trying 1612.210
   ... trying 1611.710
   ... trying 1611.210
   ... trying 1610.710
   ... trying 1610.210
   ... trying 1609.710
   ... trying 1609.210
   ... trying 1608.710
   ... trying 1608.210
   ... trying 1607.710
   ... trying 1607.210
   ... trying 1606.710
   ... trying 1606.210
   ... trying 1605.710
   ... trying 1605.210
   ... trying 1604.710
   ... trying 1604.210
   ... trying 1603.710
   ... trying 1603.210
   ... trying 1602.710
   ... trying 1602.210
   ... trying 1601.710
   ... trying 1601.210
   ... trying 1600.710
   ... trying 1600.210
   ... trying 1599.710
   ... trying 1599.210
   ... trying 1598.710
   ... trying 1598.210
   ... trying 1597.710
   ... trying 1597.210
   ... trying 1596.710
   ... trying 1596.210
   ... trying 1595.710
   ... trying 1595.210
   ... trying 1594.710
Couldn't measure length in a reasonable amount of tries.
  Capturing won't work, video is at least 00:20.00 shorter than reported.
   Does ffmpeg support XVID?.
   Try re-running with -Ws -WP.
Failure while analysing file "Video.avi". Can't continue.

Every capture from here on out will fail in a similar fashion until reboot.
 176 TO-DOVery Low Filmstrip not realistic Closed
100%
1.13 Task Description

The filmstrip mode has had a placeholder implementation since the start, it should look closer to an actual film strip.

E.g.: http://sites.google.com/site/elsamuko/gimp/sprocket

 177 TO-DOLow Safe length feedback should print nicer timestamps Closed
100%
1.13 Task Description

Safe length measuring, when probing the video length, prints only the number of seconds and milliseconds, it would be better to display a more readable format.

178Submitted PatchLowffmpeg + piped mplayer dump can be used to identifyRequires testing
0%
1.14 Task Description

Originally suggested by Dean: http://outlyer.net/2010-08-24:vcs-1_12-2-released/

” [...]

Second, my dvd-drive is useless atm, but i remember previously piping dvd-ouput from mplayer into ffmpeg via a fifo and finding the info generated to be much better than mplayer-alone – for one thing, it won’t ‘downmix’ 6-channel audio automatically. Don’t know if that would be useful to you. The syntax was something like:-

mkfifo piped.vob &&
mplayer dvd:// -dumpstream -dumpfile piped.vob & \
ffmpeg -i piped.vob

…See what you think…

 179 TO-DOVery Low Add codec identification for FRAPS captures Closed
100%
1.13 Task Description

mplayer: FPS1

i.e.:
ID_VIDEO_CODEC=fffraps
ID_VIDEO_FORMAT=FPS1

ffmpeg: fraps

i.e.:
Stream #0.0: Video: fraps, yuvj420p, 1680x1050, 30 fps, 30 tbr, 30 tbn, 30 tbc
 187 Bug ReportLow -U without argument fails Closed
100%
1.12.3 Task Description

Parsing of the “-U” option (optional argument) is incorrect, it always receives an argument (empty if none provided) which must be shifted manually. Currently it’s only shifted if provided explicitly.

–fullname” is not affected since it doesn’t take any arguments.

 188 TO-DOLow Blank frame evasion Closed
100%
1.13 Task Description

As found in mtn.

Try to avoid capturing mostly-blank frames.

 189 Bug ReportHigh VCS is broken on FreeBSD (and Mac OS X) since 1.12.3 Closed
100%
1.13 Task Description

Version 1.12.3 breaks on FreeBSD due to the usage of GNU-specific extensions of expr, sed and an incompatible Bash RE.

194Feature RequestMediumFiles incorrectly reporting "too short" length aren't d...Researching
0%
? Task Description

As reported by Dirk Reiners (paraphrased)

Files incorrectly reporting too short length (unlike too long), pass the safe_length_measure check ⇒ This prevents correcting length.

 195 Bug ReportHigh Too short files might lead to infinte loop Closed
100%
1.13 Task Description

As reported by Dirk Reiners (paraphrased)

When steps get too small they might round to 0 ⇒ infinite loop in compute_timecodes.

196TO-DOMediumffmpeg is deprecatedAssigned
0%
1.14 Task Description

See http://libav.org/, Jan 27 2012.
Also http://libav.org/index.html#fftools_rename for changes to the syntax.

Must change to avprobe/ffprobe and/or avconv.

197TO-DOHighMove away from /dev/shmAssigned
0%
1.14 Task Description

/dev/shm isn’t really intended as an alternate temporary location, and VCS’ temporary files can easily grow too large for it too.

As a possible alternative offer a first-run choice of temp-dir (maybe suggesting /dev/shm).

References:
http://wiki.debian.org/ReleaseGoals/RunDirectory#Why_put_.2BAC8-dev.2BAC8-shm_and_.2BAC8-tmp_under_.2BAC8-run.3F http://stackoverflow.com/questions/9745281/tmp-vs-dev-shm-for-temp-file-storage-on-linux

 198 Bug ReportLow Console isn't always correctly restored Closed
100%
1.13 Task Description

At least on some systems, the console/terminal needs a manual reset (or tset) to be usable after running vcs.

 199 Bug ReportLow Cached captures are filtered more than once Closed
100%
1.13 Task Description

When repeated captures are avoided, captures end up being filtered more than once

200TO-DOVery LowRelease 2.0Assigned
0%
Meta: Release Cycle
 217 Bug ReportMedium Unquoted grep pattern gives problems Closed
100%
1.13.1
 218 TO-DOLow Release 1.13.1 Closed
100%
Meta: Release Cycle
 219 Submitted PatchMedium Arch PKGBUILD outdated Closed
100%
1.13.1
 224 TO-DOLow Release 1.13.2 Closed
100%
Meta: Release Cycle
 225 Bug ReportMedium Number of captures exceeded by one with mplayer Closed
100%
1.13.2
 226 Bug ReportVery Low Pre-releases error on files with single quotes in their ...Closed
100%
1.13.2
227TO-DOLowFailed blank frame evasion should go back to original t...Assigned
0%
1.14
 247 TO-DOLow Add codec identification for H.265/HEVC Closed
100%
1.13.3
 248 Bug ReportHigh Unsupported format gives errors Closed
100%
1.13.3
249TO-DOLowAdd libav as possible capturerAssigned
0%
1.14
 250 TO-DOLow Release 1.13.3 Closed
100%
Meta: Release Cycle
 311 Bug ReportMedium Allow disabling coloured output altogether Closed
100%
1.13.3
 314 Submitted PatchMedium Patch for approximate size calculation Closed
100%
1.13.3
315Feature RequestLowRecurse directories, output to current dirAssigned
0%
?
 323 Bug ReportCritical Codec information is misaligned/cropped Closed
100%
1.13.3
363Bug ReportLowFile names with '#' lead to errors when creating versio...Assigned
0%
1.14
 364 Bug ReportLow Evasion offsets aren't walked over in array Closed
100%
1.13.4
 365 Bug ReportLow File sizes are rounded Closed
100%
1.13.4
 366 TO-DOLow Release 1.13.4 Closed
100%
Meta: Release Cycle
367Feature RequestLowAdd HDR supportAssigned
0%
1.14
 373 Bug ReportCritical Number of columns is ignored Closed
100%
375TO-DOVery LowAllow disabling blank frame evasionAssigned
0%
1.14
377Feature RequestLowAllow screenshotting half of the video (for side-by-sid...Assigned
0%
?
378Bug ReportMediumBlank frame evasion produces error on latest ImageMagic...Assigned
0%
1.14
Showing tasks 151 - 200 of 201 Page 4 of 5

Available keyboard shortcuts

Tasklist

Task Details

Task Editing