SCMovieView a wrapper for a Cocoa Quicktime view

Inherits from: Object : SCView

SCMovieView can play movies such as .mov and mpg,

and image files like jpg, png, tiff and others.

See also: SCImage

Creation / Class Methods

*new (parent, bounds)

parent - The parent view.

bounds - An instance of Rect, or a Point indicating width@height.

Accessing Instance and Class Variables

path

path_ (moviePath)

moviePath - The path to the movie.

Movie Control

start

stop

stepForward

stepBack

gotoEnd

gotoBeginning

frame_ (frameIdx)

Go to frame.

frameIdx - An integer.

playSelectionOnly_ (bool)

bool - An instance of Boolean.

skipFrames (numFrames)

numFrames - An Integer.

muted

muted_ (bool)

bool - An instance of Boolean.

loopMode

loopMode_ (mode)

mode - An Integer . Loop modes:

0 Playback runs forward and backward between both endpoints.

1 Restarts playback at beginning when end is reached.

2 Playback stops when end is reached.

rate

rate_ (ratein)

ratein - An instance of Float. 1.0 is the normal rate.

Movie Editing

copy

clear

cut

paste

editable

editable_ (bool)

bool - An instance of Boolean.

currentTime

currentTime_ (time)

Get/set the current time.

time - Default value is nil. .

Adjusting Appearance

showControllerAndAdjustSize (show, adjust)

show - An instance of Boolean. Default is true.

adjust - An instance of Boolean. Default is true.

resizeWithMagnification (size)

Resizes the whole view, adjusts its contents.

size - An instance of Float.

fixedAspectRatio_ (bool)

bool - An instance of Boolean.

Examples

(

w = Window("mov").front;

b = Button(w, Rect(0, 0, 150, 20))

.states_([["pick a file"]])

.action_({ File.openDialog("", { |path| m.path_(path) }) });

m = MovieView(w, Rect(0,20,360, 260));

)

// random-pick a tiff from the Help folder

m.path_("Help/*/*/*.tiff".pathMatch.choose);

// or point it to a movie (you may have that one too):

m.path_("/Library/Application\ Support/iDVD/Tutorial/Movies/Our\ First\ Snowman.mov");

m.start; // playback

m.muted_(false); // thank god

m.stop;

//rate

m.rate_(1);

// backwards

m.gotoEnd.rate_(-1).start;

// select a range on the controller and play it

m.rate_(1).playSelectionOnly_(true).start;

// loopModes:

m.loopMode_(1); // only one direction

m.loopMode_(0).start; // back and forth

m.stop;

m.gotoBeginning;

// single steps

m.stepForward;

10.do { m.stepForward; };

m.stepBack;

// select with shift-drag, copy paste between movieviews or quicktime player

m.editable_(true);

m.showControllerAndAdjustSize(true, true);

// resize compared to image size:

m.resizeWithMagnification(0.25);

//goto time (in seconds)

m.currentTime_(1);

// not there yet, but would be nice to have:

// startFrame, length

m.setSelection_(20, 15);

m.frame_(frame); // jump to frame

m.frame.postln; // poll current frame pos