Movie Masher modules include effects, transitions, titling and themes - most everything you'll find in a mash aside from raw media assets. All modules are implemented in Adobe Flash™ and follow the com.moviemasher.interfaces.IModule programming interface. The distribution includes many standard modules, but custom ones can be created as well.
Of all the module types, themes are probably the easiest to conceptualize. From the user's perspective, there's little difference between using a theme and video clips since both appear in the main visual track along with images and transitions. But themes generate frames programmatically, based on current position and perhaps user input. For instance the
Clouds theme generates an animation based on a user-definable speed property. Themes are often used as input for other modules.
Transition modules are a bit more complex in that frames from adjacent clips are available to them for manipulation. Typically the clips are merged together using alpha transparency, animated masking or some other mechanism. For instance, the
Matte module can be combined with the
Shapes theme to create many transitions like swipe, iris, barn door, and more.
Effects modules are yet more complicated because they can potentially affect a large number of clips, depending on how they are being applied. When effect clip appear directly in the timeline, they are positioned in additional tracks directly above the main visual track. Effect tracks are applied from the bottom up, with each successive track affecting the ones below it. Effect clips within the timeline always have positive track values, starting at one.
Effect clips can also be applied to any clip or to the entire mash itself by binding an instance of the Browser control to the 'effects' property. These clips always have negative track values starting at negative one, and tags that are literally nested within whatever they're being applied to. The length of these clips is automatically adjusted to match their parent, so the effect is essentially embedded or attached. Effect clips can be applied to other effect clips to create compound effects as well.
Each module has properties that can either be
made editable for advanced effects, or predefined to generate a wide variety
of simpler, non-editable effects. It's also possible to limit the range of possible values for
each editable property, keeping users from applying effects too strongly.
The core effects modules currently include a multi-purpose
Adjust module which can be used to color balance
the underlying clips in a variety of ways, and a flexible
Convolution module which applies any matrix-based
filter like sharpen, blur, emboss or
There are also several text related effects including
Ticker, all of which overlay colored text on to
underlying clips, displayed in a custom font.
Some modules are able to merge video tracks together.
The simplest is Picturebox, which allows the merged video to resized, positioned
and cropped. Composite goes a step further by enabling it to be rotated and
sheared. And finally, the Displace module uses the merged video as a 'bump map',
enabling effects like wave, ripple and glass.
All effect modules have a
Transitions offer a means to segue between two other visual clips. In the timeline they
reside in the main visual track between video and images, so they can have
applied to them as well.
Dragging and pasting transition clips is slightly limited in that the system won't
allow two transition clips to be placed adjacent to each other.
length property which determines the amount of time they are
applied. Many effects also have an
fade property, which allows their intensity to be
increased and decreased arbitrarily over time.
Like other modules, transition modules are used to
generate the actual transition
mediaitems that users drag from the
Browser into the
Each property can either be made editable or predefined, allowing many transition
media items to be generated from a single transition module.
Core transition modules include
Crossfade, which simply fades the next clip into
the previous one, and
Cube, which scales both clips over time in one of
the four directions to mimic a rotating cube.
All transition modules have a
length property which determines the amount of time
they are in effect. If this becomes longer than half the length of the previous clip its
last frame is repeated to fill any gap, causing the video to appear to freeze
at some point during the transition. This is also true of the next clip, which will repeat its
first frame to fill a gap.
Transition modules also all have a
freezestart property that, when set to true,
will cause the transition to wait until the last frame of the previous clip before starting. This
frame is then used throughout the transition, making the video appear to freeze. The
freezeend property works the same way with the next clip.
Core theme modules include
Title, which displays colored
text in a custom typeface, and
Gradientmap which generates textured backgrounds
(well suited for bump mapping with the
Displace effect module).