include "draw.m"; import Display, Image, Rect: Draw; include "mpeg.m"; mpeg:= load Mpeg Mpeg->PATH; Mpeg: module { PATH: con "/dis/lib/mpeg.dis"; play: fn(d: ref Display, w: ref Image, dopaint: int, r: Rect, file: string, notify: chan of string) : string; ctl: fn(msg: string) : int; keycolor: fn(d: ref Display) : ref Image; };
play: fn(d: ref Display, w: ref Image, dopaint: int, r: Rect, file: string, notify: chan of string): string;
## returns empty string or error message.The play function plays the specified MPEG file (file) in rectangle r within window w on display d. The dopaint flag specifies whether, before playing the movie, to paint the rectangle with the chroma key color of the device.
The notify argument is a channel upon which to receive errors and status. If notify is nil, play runs synchronously, returning the empty string (' ') when the movie completes or a description of any error. If notify is not nil, play spawns an asynchronous process to play the movie and returns the empty string immediately; the process returns the status on the notify channel when the movie completes.
ctl: fn(msg: string): int;
## returns length of msg written to mpegctl; -1 on error.The ctl function writes msg, the string given as an argument, to the MPEG control interface /dev/mpegctl.
keycolor: fn(d: ref Display): ref Image;This function uses the Display specified by d to create a single-pixel, replicated off screen Image of color Chroma (16r05).