A newer version of Max is available. Click here to access the latest version of this document.

imovie

Play a QuickTime movie in a patcher window

Description

Note: The imovie object requires that QuickTime be installed on your system. If you are using Max on Windows, we recommend that you install QuickTime and choose a complete install of all optional components.

Arguments

None.

Messages

bang Same as resume.
int time-location [int]
Sets the current time location of the movie. If the movie is playing, it will play from the newly set location. 0 is always the beginning. The end time varies from one movie to another. (The length message reports the end time location out the left outlet.)
(drag) When a QuickTIme movie file is dragged from the Max 5 File Browser to a imovie object, the file will be loaded.
active flag (0 or non-zero) [int]
The word active, followed by a non-zero number, makes the movie active (the default). Followed by a 0, active makes the movie inactive. An inactive movie will not play or change location.
dispose filename [symbol]
Removes all movies from the imovie object's memory. If the word dispose is followed by the name of a loaded movie, only the named movie will be removed.
clear Has the same effect as dispose with no arguments.
duration Reports the duration of the movie (in milliseconds) from the left outlet.
getduration Reports the end time position of the movie (in QuickTime Time Units) from the left outlet.
getrate Reports the current rate multiplied by 65536 out the right outlet. Thus, normal speed is reported as 65536, half speed is reported as 32768, double speed backward is reported as -131072, etc. If the movie is not playing, the rate is reported as 0, and if no movie has yet been loaded nothing is sent out.
gettime Reports the current time location of the movie.
length The length message's functionality is equivalent to the getduration message.
loadintoram flag (0 or non-zero) [int]
The word loadintoram, followed by a non-zero number, attempts to load the entire movie into memory, if possible. The default is 0.
next time-units [int]
The word next, followed by a number, moves the time location ahead by that amount. If no number is supplied, next moves the time ahead by 5. (The actual time meaning of these units varies from movie to movie.)
nextmovie Stops the movie if it is playing, and switches to the movie that was loaded just prior to the current movie. (The movies are stored in reverse order from the order in which they were loaded.) If there is no prior movie, nextmovie wraps around back to the most recently loaded movie. Note that the title of the movie window is not automatically changed, even though the "current movie" has been changed by nextmovie.
matrix transformation-matrix (9 floats) [list]
The word matrix, followed by nine floating point numbers, reloads the current movie into RAM after performing a transformation matrix operation on the image. This transformation is the same one used for the mapping in QuickTime of points from one coordinate space (i.e, the original image) into another coordinate space (a scaled, rotated, or translated version of the original image).

The transform matrix operation consists of nine matrix elements
mute flag (0 or non-zero) [int]
The word mute, followed by a non-zero number, turns off the movie's sound (if it has any). Followed by a 0, mute turns on the movie's sound (the default).
loop flag (0 or non-zero) [int]
The word loop, followed by a number in the range 0-2, controls looping for the current film on. The options are:
0: looping off (default) 1: looping on 2: palindrome mode (forward and then backward)
loopend end-point [int]
The word loopend, followed by a number, sets the end point of a loop. The default value is corresponds to the end of the film.
looppoints beginning-point [int]
end-point [int]
The word looppoints, followed by two numbers, sets the beginning and end points of a loop. the default values are 0 (i.e., the start of the film) for the start point and the end of the film for the endpoint.
loopset beginning-point [int]
end-point [int]
The loopset message's functionality is equivalent to the looppoints message.
loopstart beginning-point [int]
The word loopstart, followed by a number, sets the beginning point of a loop. The default value is 0 (i.e., the start of the film).
(mouse) Double-clicking on the imovie object will make the movie window active.
palindrome flag (0 or non-zero) [int]
The word palindrome, followed by a non-zero number, sets the movie to play in palindrome mode (forward and then backward). Looping must be turned on. palindrome 0 (the default) disables palindrome mode.
pause Stops the movie.
prev time-units [int]
The word prev, followed by a number, moves the time location backward by that amount. If no number is supplied, prev moves the time backward by 5.
rate playback-speed [list]
The word rate, followed by one or more integers or floats, sets the playing speed of the movie. If rate is followed by one integer, that number is taken to be a whole number playing speed. If rate is followed by two numbers, the first number is taken to be the numerator and the second the denominator of a fractional speed. 1 is the normal playing speed, 0 means the movie is stopped, and a negative rate plays backwards. rate 1 2 would play the movie at half speed. Immediately after you send a non-zero rate message, the movie will begin playing, so you may wish to precede any rate messages with an integer to locate to the desired starting position.
read filename [symbol]
The word read, followed by a symbol, looks for a QuickTime movie file with that name in Max's file search path, and opens it if it exists, displaying the movie's first frame in a movie window. If the filename contains any spaces or special characters, the name should be enclosed in double quotes or each special character should be preceded by a backslash (\). The word read by itself puts up a standard Open Document dialog box and reads in any movie file you select. The read message will open at least 26 different types of files that can be opened by QuickTime, these include movie files such as MPEG, audio files including AIFF and MP3, and graphics files including GIF and JPEG.
readany filename [symbol]
The readany message opens any type of file, using QuickTime routines to try to interpret it as a movie or other supported media file.
quality minimum-redraw-interval (milliseconds) [int]
The word quality, followed by a number, sets the minimum interval, in milliseconds, between movie redraws. The default is 0 (i.e., no minimum).
passive mode-flag (0 or non-zero) [int]
The word passive, followed by a non-zero number, sets the passive mode. In passive mode, starting a movie will not cause the frame to change unless a bang message is received. passive0 (the default) sets the movie object to respond to normal start messages.
start filename [symbol]
Sets the movie's rate to 1 and begins playing from the beginning. If the word start is followed by the name of a specific loaded movie, that movie becomes the current movie before starting.
startat time-location [list]
The word startat, followed by a number, set the current time location of the movie and begins playing from that point.
stop Stops the movie.
rd filename [symbol]
Same as read.
rect x-position-coordinate [int]
y-position-coordinate [int]
width (pixels) [int]
height (pixels) [int]
The word rect, followed by four numbers, specifies the size of the rectangle in which the movie is displayed within the movie window. The first two numbers specify the position of the rectangle within the movie window, in relative coordinates, and the second two numbers specify the width and height, in pixels, of the rectangle.
resume Begins playing the movie from its current location, at the most recently specified rate.
switch filename [symbol]
The word switch, followed by a symbol, makes the named movie the active one without changing the transport state (See the start message).
reload The word reload will reload the current movie into memory (can be used to refresh; for example, if a movie is playing and the stop message is sent followed by reload, the movie will reload into memory and be set to play from the beginning as a newly loaded movie).
time frame-number [list]
The word time, followed by a number that specifies a QuickTime frame number, goes to the time location specified by the number. When no argument is present, the time message's functionality is equivalent to the gettime message.
timescale Reports the timescale of the movie (the number of QuickTime Time Units per second) from the left outlet.
vol volume-setting (0 through 255) [int]
The word vol, followed by a number in the range 1-255, sets the movie's sound volume. Optionally, the volume can be set by using the word vol, followed by a floating-point value in the range 0. - 1.0.

Attributes

Name Type g/s Description
autofit int
def.:0
Sets the movie to fit automatically within the size of the imovie window.
border int
def.:1
Toggles the drawing of border around the jsui object. The default is 1 (draw border).
moviedim int (get) Displays the original dimensions of the movie in pixels.
name symbol Specifies the name of the file that the imovie object will display. The symbol used as a filename must either be the name of a file in Max's current search path, or an absolute pathname for the file (e.g. "MyDisk:/Documents/movies/krakatoa.mov"). The file name can be specified using the object's Inspector. The word name by itself puts up a standard Open Document dialog box.

Information for box attributes common to all objects

Output

int: Out left outlet: The end time of the movie is sent out in response to the length message; the current time in the movie is sent out in response to the time message; 0 is sent out in response to the start message.

Out middle outlet: The horizontal position of the mouse, relative to the left edge of the movie, is sent out when the mouse is clicked or dragged inside the movie.

Out right outlet: The vertical position of the mouse, relative to the top edge of the movie, is sent out when the mouse is clicked or dragged inside the movie.

Examples

A movie can be displayed within a patch and mouse motion can be detected within it

See Also

Name Description
lcd Draw graphics in a patcher window
movie Play a QuickTime movie in a window
playbar QuickTime movie play controller
Max Basic Tutorial 12: Movie Playback Max Basic Tutorial 12: Movie Playback