Introduction

M4 is short for Mnu4, and is the Windows/OpenGL follow-up to Mnu3, the famous VJ mixer program for the Commodore Amiga. M4 can display Texts, Fonts, Images and Movies, and allows realtime manipulation of the screen contents. It provides a solid and intuitive grip on motion graphics and has proven itself useful during many of our VJ sessions. The purpose and functionality of M4 has changed frequently, so the interface has it's quirks and the controls might be somewhat obscure. However, M4 has become a pretty stable and pleasant tool to work with, so it's available here for your download pleasure.

Features

M4 features include: - realtime mixing of Texts, Images and Movies in openGL 3D. - mouse and keyboard control to move, scale and rotate every item individually. - unlimited scrolling, anti aspect zooming, and feedback effects. - a screenshot option to save the display to a bmp file. - a save and load option to recall the current display State. - a gui for selecting and saving up to 10 items of each type (Text, Font, Image and Movie) and save these collections as M4 Set files. - usage of the FreeImage library by Floris van den Berg. - usage of the glGui library by Scott Franke (for openGL interface) - usage of the NeheGLII Basecode by Neon Helium. - compatibility with ASCII files, Truetype Fonts, Quicktime and AVI Moviefiles and all common Imageformats.

Quick Tour

When you start M4 the first time, it will load a default Set file with items included in the distribution package. It will continue to do so until you save your own set of files. M4 will always start with the last Set file that is saved. This means you can press 'Run' right away and see what M4 can do for you. M4 will start with all three types (Text, Image and Movie) enabled. On top of this you'll see a displaymenu. Most of the options described in this Quick Tour are available in this menu, but not all of them. You are encouraged to play with it later, press tab or the rightmouse button to discard it for now. M4 is now running. To see only the Image, press F1 to activate the Text and press spacebar to discard the Text from the screen. Press F4 to activate the Movie and hit spacebar to discard it as well. Another tap on the spacebar will bring up the Movie again, because no other item has been activated. Hit the spacebar again. Now only the Image is visible, press F3 to activate it. Since the default Control is set to Move (F8), you can move your mouse now and the Image will scroll over the screen. Try pressing F6 and F7 to Rotate and Scale the Image. Pressing r will reset the active Control and shift r will reset all three Controls (Rotate, Scale and Move). Press F8 to Move the Image again, and press c. Now the Image will keep moving continuously. To select a second Image, press 2. Since every loaded item has its own motion settings you can apply a new motion to the second Image (with c) and toggle between 1 and 2 to create superhyper visuals. Press x to regain direct Control over the selected Image again. When you are satisfied with the motion of the Images you can save the settings. Press tab or the rightmouse button and click the back button in the displaymenu. Press save state in the loadmenu. Please note that the State is linked to the Set file. I.O.W. when you want to save another State with the same set of ingredients, you will have to save the current Set first under a new name. Now, the next time you start up M4, you can press load state after a Set is loaded and the items will show up like they were when the State was saved. Basically this is it. M4 has other features but they don't fit in this Quick Tour chapter. So you are invited to read the Key Reference and play around with the onscreen menu's. A final remark; by default M4 will key the Movie over the Image. So the transparency of the Movie is turned on. Pressing j will switch transparencies to key the Image over the Movie. It might happen that only one of the two items is visible while its tranparency is still on. In this case the item will appear darker because it is keying over the background color (which happens to be black). Press j to get the item in full color again. (OR... press d to get some feedback !)

Full Key Reference

Item Keys
F1 Activate Text.
Select a Text with number keys 1 to 0.
F2 Activate Text.
Select a Font with number keys 1 to 0.
F3 Activate Image.
F4 Activate Movie.
1, 2, 3, etc. Select which item (of 10) of the active type above should be displayed.
Control Keys
F6 Set Rotate as the current Control.
F7 Set Scale as the current Control.
F8 Set Move as the current Control.
z Lock the current Control for the selected item.
(set Move, Scale or Rotate to static)
x Set the current Control to direct.
c Repeat the last Control action continuously.
[ Lock the horizontal mouse/arrowkey input for the selected item.
] Lock the vertical mouse/arrowkey input for the selected item.
+ Scale up the selected item.
The current control will be set to Scale.
- Scale down the selected item.
The current control will be set to Scale.
General Keys
spacebar Toggles the selected item on or off.
Note: switching an item off does not deactivate it !
tab or
rightmouse
Toggles onscreen displaymenu.
arrow keys,
pageup/down,
mouse
Control the selected item.
Press shift or control to increase/decrease the effect.
shift escape Quits the program.
F12 Make a screenshot. The screenshots will be stored in the snap directory.
Reset Keys
r Resets the current Control (Move, Scale or Rotate) of the selected item.
shift r Reset all Controls of the selected item.
control r Reset all Controls of all items.
Color Keys
shift k Pops up a color requester for the selected item. If the Text is displayed in outline mode, you can set the outine color.
control k Pops up a color requester to set the background color.
f Fade the selected item out.
g Fade the selected item in.
h Hold the current fade value.
Text Keys
v Display the Text per character
b Display the Text per word.
n Display the Text per centered line.
m Display the Text as a rolling line.
alt v Display the Text flat.
alt b Display the Text as an outline.
alt n Display the Text in three dimensions.
alt m Display the Text outlined.
l Toggle textwidth limit. Only applicable when the Text is displayed as word or centered line.
` or ~ Toggle Text between original, upper and lower case.
Note: The scrolling line will stutter when Text is not displayed in original case. (bug)
k Toggle Text between normal and ComingAtYa mode.
Movie Keys
a Toggle Movie direction, forward or backward.
s Autoscratch Movie playback.
Miscellaneous Keys
p Pause current item. (Text or Movie)
backspace Rewind current item. (Text or Movie)
, or < Increase the tempo of the selected item. (only valid for Texts and Movies)
. or > Decrease the tempo of the selected item. (only valid for Texts and Movies)
alt , or < Decrease the outline width.
alt . or > Increase the outline width.
j Toggles between Image and Movie transparency.
Note: If only one of these items is visible and it is set to transparent, it will appear darker.
d Disable erasing of the backbuffer. Gives feedback effects with transparent items.
w Warp Images or Movies onto a sphere.
Cycle through sphere, fisheye, tunnel and no warp mode.
Note: The tunnel warp is a rotated sphere warp.
q Cycles through 12 different OpenGL blending modes.
Some modes will make the Text invisible.
shift q Cycles in reverse through the 12 different OpenGL blending modes.
alt +
alt -
Modifies the perspective angle.
Recently Added Keys
u Reverts alpha blending on Movies and Live capture.
i Displays current time and (estimated) frames per second
in the lower left corner of the screen.
(Only works if a Text and Font are loaded.)
/ Toggles mouse input lock.
You no longer have to turn over your mouse if you are
working in a shakey club
\ Toggles mipmap filtering of the active (textured) item.

Tweaks

Since M4 is developed on a laptop with limited openGL support, a few tweaks are added to gain maximum display performance. You can activate the tweaks at the startup window. - Limit Image/Movie Texture Size In general M4 will fit your graphic material to the max in openGL Texture memory. This can cause a drastic slowdown when you use high resolution materials. To speed up M4 you can limit the usage of Texture memory by clicking the Limit Images to 512x512 and Limit Movies to 256x256. M4 will reduce the resolution of the texture memory of Images to 512x512 and Movies to 256x256 pixels. - Vertical Sync (DEPRICATED) M4 supports lowlevel display syncing to reduce tearing artifacts on the screen. Most openGL display cards will provide this option, but if it's not available in your setup, you can download the nescessary drivers here. (Note: they are not required to run M4.) This zipfile contains two drivers, vretrace.vxd (for windows 98) and vretrace.sys (for NT derivatives). Copy the correct driver to the system directory and activate the Load Vsync option at the startupwindow. M4 will now load the driver at startup and a vsync button will become available in the displaymenu. It is succesfully tested on windows 98, NT and 2000 users can go here for more info.

Download

Click here to download M4 version 8.80b. (zipfile, 694 Kb) Previous versions can be replaced. See here what's new. Please note: Live video capture will only work if DirectX 9(b/c) is installed on your computer. And if M4 complains about missing DLL files, you need to copy the files from this archive to M4's directory. Click here for additional vertical sync drivers. (Optional, see Tweaks)

Developer Links

The DSVideoLib by Thomas Pintaric The FreeImage library by Floris van den Berg. The glGui library by Scott Franke. The NeheGL website, excellent start for openGL developers.

Disclaimer

M4 is provided as is, and no guarantee WHATSOEVER is made that it won't harm your precious system. By downloading M4 you are bound to the terms that 1 ) You will not redistribute this software through any medium without a written permission signed by the author, and 2 ) You will never hold the author or Captain Video responsible for any damage that might happen, period. Network features and gamepad control have been disabled in this public release because these settings are not accessable through the user interface. There are no plans for major updates at the moment because this probably requires a massive redesign of the sourcecode. It is unsure if I will start such a task and continue development of M4. Maybe I just go and build myself a robot. Anyway, comments or any other feedback is very welcome.

Rob Haarsma rob@captainvideo.nl