Movie Contact Sheet

Movie Contact Sheet
Movie Contact Sheet

Copyright© 2019, Jan-Erik Lärka

http://www.xn-lrka-loa.com/

License agreement

License agreement

Copyright© 2019, Jan-Erik Lärka

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of "Jan-Erik Lärka" nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

About

About

Movie Contact Sheet
Version 1.0 build 4

The main purpose (beside world dominance ;-) of the application is to
Thank you

Installation

Prerequisites

This application need applications and support libraries that provide various services involving window handling, image processing and movie clip conversion.

Convert Movie clips

Window handling

Image processing

Large file support ( optional )

Installation


Unpack the files to a destination folder and create a Program object on the desktop.
You may want to copy the libraries above to the same folder as this application.

User interface

Main window
Titlebar Titlebar and Toolbar
CS Information area Contact sheet
Settings for labels Settings for labels
Spacing Background and spacing
Frame style Style background frame
Preview frames Preview movie frames

Titlebar and Toolbar

Titlebar and Toolbar
Movie        Open movie clip ¹ (or folder with raster images ²) changes to animation as frames load Click animation to abort click button to cancel.
Image        Open folder with raster images ²
Save        Save movie contact sheet as raster image. See tooltip for output image size in pixels.
Smooth Apply softness to the image ³

the difference as frames load are mostly noticeable where the images has to be scaled a lot to fit the background
            Input frame image                Input frame image
while the difference on the output image is mostly noticeable on the text labels at the top
            Not softened    Softened image

Note!

More file extensions than those listed in the file dialog may be supported.
Refer to the documentation of your installed version of ffmpeg and GBM.
Run ffmpeg -format to list supported file formatsRead the documentation for GBM for supported file formatsCan be used both during load and save or independently.
It resize and maintain aspect ratio for each individual image frame during load.
The output Contact Sheet Image maintain the image size during save.

Contact sheet

Contact sheet
The viewport contain the components that build the output contact sheet image with adjustable

Viewport

1. Top left: Labels

2. Top right: Text

3. Bottom: Frames

Settings for labels

Settings for labels
The group area "Labels" control how the labels should appear on the contact sheet
Dropdown with options   The dropdown with letters correspond to the area with labels at the top of the contact sheet.
Fixed order of labels   The text and ordering is fixed and not adjustable.
Deselect lables   Deselect labels that shouldn't be visible.
Audio
No information by default

Width of labels    Width of the area that contain the group of labels selected
Height of labels    Height of the area that contain the group of labels selected
Font height    Font height for text on the contact sheet

Adjust color for labels    Color selection for the text in the contact sheet ¹

Font selection    Font style for the labels and text on the contact sheet ²
Switch between predefined text colors with the spinbutton or click the dropdown button to adjust the color furtherSome fonts seem not to play well, so be careful with what you select. Excessive use may affect the whole system.

Background and spacing

Background and spacing
Background color and spacing between frames on the contact sheet
Frames spacing Spacing between frames on the contact sheet ¹
Background color Background color of the contact sheet ²
Adjust how individual movie clip frames should appear in reference to the background frames Switch between the predefined background colors with the spinbutton or click the dropdown button to adjust the color further

Style frame background

Style frame background
Elapsed time    Time stamp on ( lower left corner ) each movie frame ( not available with raster images from folder ) ¹
Number of frames    Number of frames in horizontal and vertical direction ( up to maximum of 36 frames )
Framing style    Background frame in use and thus the size of the image to use

Note!

Create frames with larger time stamp
The location and color of the time stamp is fixed Time stamp

The font height of time stamp is automatically calculated from the size of the active background frame

Preview movie frames

Preview movie frames
Individual frames extracted from the movie clip appear at the bottom frame view.
The viewport with the contact sheet scroll the frame you click, into view.
Preview frames

Background frames

Background frames
This is some of the built-in background frames available with Movie Contact Sheet

Suggested values for horizontal and vertical spacing:

    a = 52         b = 10         c = 30 or 34         d = 40         e = 10
Built in background frames

Save image

Save image
Example of a Movie Contact Sheet saved as raster image
OS/2 Rings

Stitch images together

Stitch images together
The application has to perform more steps when the contact sheet exceed the size of the screen
It then move the window into view and grab each part before it stitch the parts together to create the finished image

Example of how the example image will be grabbed in pieces if the screen resolution is 640x480 pixels
Stitching the contact sheet

Output image size

Memory usage

Folder with images

Folder with images

Save contact sheet as image

Save contact sheet as image
Movie clips and images of higher resolutions ( for example 1280x720 ) in combination with many frames may not load.
The application detect when it's not possible to process one or more images due to memory constraints and ask how to resize images that doesn't load

Answer Yes to: Adapt width and height

Answer No to: Maintain aspect ratio

Answer Cancel to: Stop

Image manipulation is performed on the bmp image copies created in the images folder so that the original images stay intact.

Visual defects

Visual defects
Individual images/frames appear:


stretched/deformed as the background and movie clip/images doesn't have similar aspect ratios between width and height


black/colored areas as the frames/images that doesn't fit each background may otherwise appear cut off or contain black/colored areas

with artifacts as overlay of visual components from the desktop/application windows that get triggered to jump into view

SYS3175 in gbm.dll
Please do ensure you use the latest version of GBM (1.77 or newer) as it contain important updates for zlib and PNG support that otherwise may cause unexpected behaviour and/or that the application close unexpectedly