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
- Allow you to create Contact Sheets of movie clips and images
Thank you
- Heiko
Nitzsche for Generalized
Bitmap Module (GBM)
- Chris
Wohlgemuth for DrCtrl
for DrDialog
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 and Toolbar
Contact sheet
Settings for labels
Background and spacing
Style background frame
Preview movie frames
Titlebar and Toolbar
Titlebar
and Toolbar
Open movie clip ¹
(or folder
with raster images ²) changes to animation as
frames load
click button to cancel.
Open folder with
raster
images ²
Save movie
contact sheet as raster image. See tooltip for output image size in
pixels.
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

while the difference on the output image is mostly noticeable on the
text
labels at the top

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

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
The
dropdown with letters correspond to the
area with labels at the top of the contact sheet.
The text and
ordering is fixed and not adjustable.
Deselect
labels that shouldn't be visible.


Width of the area that contain the group of labels selected
Height of the area that contain the group of labels selected
Font height for text on the contact sheet
Color selection for the text in the contact sheet ¹
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
Spacing between frames on the contact
sheet ¹
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
Time stamp on ( lower left corner ) each movie frame ( not available
with raster images from folder ) ¹
Number of frames in horizontal and vertical direction ( up to maximum
of 36 frames )
Background frame in use and thus the size of the image to use
- Browse
computer for a custom background image
- Preview selected background
and use spinbutton to switch between built-in backgrounds
Note!
- Movie Contact Sheet convert the selected background image to bmp
- Background image frame(s) doesn't support transparency
- A converted image may not appear as desired ( for example, when
converted from gif or png with alpha transparency )
- Instead use/select original as bmp for best quality ( may need to
convert the image to bmp first )
Create frames with larger time stamp
- Start with a small frame, then select the movie clip to generate
the images
- Switch to a larger background frame to show as larger elapsed
time label
- Try different combinations of frame styles and width×height to
get the size you prefer
The location and color of the time stamp is fixed 
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.

Background frames
Background
frames
This is some of the built-in background frames available with Movie
Contact Sheet
- Adjust the spacing to different values to make the overlay images
to fit nicely within the designated areas
- The spacing is the same both horizontally and vertically, use the
background offset to create various visual effects
- See the "small drop shadow" below and the "movie player" etc. for
inspiration
- Most of the built-in background frames come in two sizes that may
require different spacing to look good
- Choose other values to hopefully get various nice side effects
Suggested values for horizontal and vertical spacing:
a = 52
b = 10
c = 30 or 34
d = 40
e = 10

Save image
Save image
Example of a Movie Contact Sheet saved as raster image

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

Output image size
Memory usage
- The image size of the saved contact sheet depend on the number of
background frames selected and their size ( width×height ).
- Large background frames in
combination
with many background frames may be resource intensive and require a lot
of free memory to process
- Output images with a larger size ( width×height ) than the screen
resolution cause it to generate images that it later stitch together
- The stitch images use the
bmp file format and it process them to generate the final image file
- It's not uncommon that each of the generated bmp files to stitch together each reach and
exceed 20
MB
- Movie Contact Sheet still write the final image file in the
selected output format
Folder with images
Folder
with images
- Huge individual images may not load in their original resolution.
The application resize such images automatically to fit the selected
background
- Apperance of individual images is dependant on how image and
background size resemble each other or not
- Images with landscape orientation may not work well with a
background with portrait orientation and vice versa
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
- Resizes each individual image and adapt the width and height to
the size of the background image selected
- May deform images as the aspect ratio is not maintained during
resize
- Resized to width minus spacing and height minus spacing
Answer No to: Maintain aspect ratio
- Resizes each individual image and maintain the aspect ratio
- Size is determined by the smallest size (width or height) that
fit within the background image minus the spacing
- Still visually stretched/deformed but here by the image component
of the contact sheet to fit each background frame
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
- Select background and movie clip/images with similar
aspect ratios between width and height for best output
black/colored areas as the frames/images that doesn't fit each
background may otherwise appear cut off or contain black/colored areas
- Select background and movie clip/images with similar
aspect ratios between width and height for best output
with artifacts as overlay of visual components from the
desktop/application windows that get triggered to jump into view
- Ensure that you turn off applications, tools,
enhancers etc. that float on top during image creation
- Let the mouse cursor stay away from the sides of the
screen during capture so that xCenter, Launch Pad etc. doesn't move in
front of the contact sheet.
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