diff options
-rw-r--r-- | Mac/Demo/quicktime/MovieInWindow.py | 71 | ||||
-rw-r--r-- | Mac/Demo/quicktime/VerySimplePlayer.py | 97 | ||||
-rw-r--r-- | Mac/Modules/qt/Qtmodule.c | 1601 | ||||
-rw-r--r-- | Mac/Modules/qt/qtgen.py | 158 | ||||
-rw-r--r-- | Mac/Modules/qt/qtscan.py | 15 | ||||
-rw-r--r-- | Mac/Modules/qt/qtsupport.py | 51 |
6 files changed, 1135 insertions, 858 deletions
diff --git a/Mac/Demo/quicktime/MovieInWindow.py b/Mac/Demo/quicktime/MovieInWindow.py new file mode 100644 index 0000000..8ff3b42 --- /dev/null +++ b/Mac/Demo/quicktime/MovieInWindow.py @@ -0,0 +1,71 @@ +"""MovieInWindow converted to python + +Jack Jansen, CWI, December 1995 +""" + +import addpack +addpack.addpack(':Tools:bgen:qt') +addpack.addpack(':Tools:bgen:qd') +addpack.addpack(':Tools:bgen:evt') +addpack.addpack(':Tools:bgen:win') +import Qt +import QuickTime +import Qd +import QuickDraw +import Evt +import Events +import Win +import Windows +import macfs +import sys + + +def main(): + # skip the toolbox initializations, already done + # XXXX Should use gestalt here to check for quicktime version + Qt.EnterMovies() + + # Get the movie file + fss, ok = macfs.StandardGetFile(QuickTime.MovieFileType) + if not ok: + sys.exit(0) + + # Open the window + bounds = (175, 75, 175+160, 75+120) + theWindow = Win.NewCWindow(bounds, fss.as_tuple()[2], 1, 0, -1, 0, 0) + Qd.SetPort(theWindow) + # XXXX Needed? SetGWorld((CGrafPtr)theWindow, nil) + + playMovieInWindow(theWindow, fss, theWindow.GetWindowPort().portRect) + +def playMovieInWindow(theWindow, theFile, movieBox): + """Play a movie in a window""" + # XXXX Needed? SetGWorld((CGrafPtr)theWindow, nil); + + # Get the movie + theMovie = loadMovie(theFile) + + # Set where we want it + theMovie.SetMovieBox(movieBox) + + # Start at the beginning + theMovie.GoToBeginningOfMovie() + + # Give a little time to preroll + theMovie.MoviesTask(0) + + # Start playing + theMovie.StartMovie() + + while not theMovie.IsMovieDone() and not Evt.Button(): + theMovie.MoviesTask(0) + +def loadMovie(theFile): + """Load a movie given an fsspec. Return the movie object""" + movieResRef = Qt.OpenMovieFile(theFile, 1) + movie, dummy = Qt.NewMovieFromFile(movieResRef, QuickTime.newMovieActive) + return movie + +if __name__ == '__main__': + main() + diff --git a/Mac/Demo/quicktime/VerySimplePlayer.py b/Mac/Demo/quicktime/VerySimplePlayer.py new file mode 100644 index 0000000..24c97fb --- /dev/null +++ b/Mac/Demo/quicktime/VerySimplePlayer.py @@ -0,0 +1,97 @@ +"""VerySimplePlayer converted to python + +Jack Jansen, CWI, December 1995 +""" + +import addpack +addpack.addpack(':Tools:bgen:qt') +addpack.addpack(':Tools:bgen:qd') +addpack.addpack(':Tools:bgen:evt') +addpack.addpack(':Tools:bgen:win') +import Qt +import QuickTime +import Qd +import QuickDraw +import Evt +import Events +import Win +import Windows +import macfs +import sys + +# XXXX maxbounds = (40, 40, 1000, 1000) + +def main(): + print 'hello world' # XXXX + # skip the toolbox initializations, already done + # XXXX Should use gestalt here to check for quicktime version + Qt.EnterMovies() + + # Get the movie file + fss, ok = macfs.StandardGetFile(QuickTime.MovieFileType) + if not ok: + sys.exit(0) + + # Open the window + bounds = (175, 75, 175+160, 75+120) + theWindow = Win.NewCWindow(bounds, fss.as_tuple()[2], 0, 0, -1, 1, 0) + # XXXX Needed? SetGWorld((CGrafPtr)theWindow, nil) + Qd.SetPort(theWindow) + + # Get the movie + theMovie = loadMovie(fss) + + # Relocate to (0, 0) + bounds = theMovie.GetMovieBox() + bounds = 0, 0, bounds[2]-bounds[0], bounds[3]-bounds[1] + theMovie.SetMovieBox(bounds) + + # Create a controller + theController = theMovie.NewMovieController(bounds, QuickTime.mcTopLeftMovie) + + # Get movie size and update window parameters + rv, bounds = theController.MCGetControllerBoundsRect() + theWindow.SizeWindow(bounds[2], bounds[3], 0) # XXXX or [3] [2]? + Qt.AlignWindow(theWindow, 0) + theWindow.ShowWindow() + + # XXXX MCDoAction(theController, mcActionSetGrowBoxBounds, &maxBounds) + theController.MCDoAction(QuickTime.mcActionSetKeysEnabled, '1') + + # XXXX MCSetActionFilterWithRefCon(theController, movieControllerEventFilter, (long)theWindow) + + done = 0 + while not done: + gotone, evt = Evt.WaitNextEvent(-1, 0) + (what, message, when, where, modifiers) = evt +## print what, message, when, where, modifiers # XXXX + + if theController.MCIsPlayerEvent(evt): + continue + + if what == Events.mouseDown: + part, whichWindow = Win.FindWindow(where) + if part == Windows.inGoAway: + done = whichWindow.TrackGoAway(where) + elif part == Windows.inDrag: + Qt.DragAlignedWindow(whichWindow, where, (0, 0, 4000, 4000)) + elif what == Events.updateEvt: + whichWindow = Win.WhichWindow(message) + if not whichWindow: + # Probably the console window. Print something, hope it helps. + print 'update' + else: + Qd.SetPort(whichWindow) + whichWindow.BeginUpdate() + Qd.EraseRect(whichWindow.GetWindowPort().portRect) + whichWindow.EndUpdate() + +def loadMovie(theFile): + """Load a movie given an fsspec. Return the movie object""" + movieResRef = Qt.OpenMovieFile(theFile, 1) + movie, dummy = Qt.NewMovieFromFile(movieResRef, QuickTime.newMovieActive) + return movie + +if __name__ == '__main__': + main() + diff --git a/Mac/Modules/qt/Qtmodule.c b/Mac/Modules/qt/Qtmodule.c index c601292..6a6533b 100644 --- a/Mac/Modules/qt/Qtmodule.c +++ b/Mac/Modules/qt/Qtmodule.c @@ -58,11 +58,796 @@ staticforward PyObject *TrackObj_New(Track); staticforward int TrackObj_Convert(PyObject *, Track *); staticforward PyObject *MovieObj_New(Movie); staticforward int MovieObj_Convert(PyObject *, Movie *); +staticforward PyObject *MovieCtlObj_New(MovieController); +staticforward int MovieCtlObj_Convert(PyObject *, MovieController *); static PyObject *Qt_Error; +/* ------------------ Object type MovieController ------------------- */ + +PyTypeObject MovieController_Type; + +#define MovieCtlObj_Check(x) ((x)->ob_type == &MovieController_Type) + +typedef struct MovieControllerObject { + PyObject_HEAD + MovieController ob_itself; +} MovieControllerObject; + +PyObject *MovieCtlObj_New(itself) + MovieController itself; +{ + MovieControllerObject *it; + if (itself == NULL) { + PyErr_SetString(Qt_Error,"Cannot create null MovieController"); + return NULL; + } + it = PyObject_NEW(MovieControllerObject, &MovieController_Type); + if (it == NULL) return NULL; + it->ob_itself = itself; + return (PyObject *)it; +} +MovieCtlObj_Convert(v, p_itself) + PyObject *v; + MovieController *p_itself; +{ + if (!MovieCtlObj_Check(v)) + { + PyErr_SetString(PyExc_TypeError, "MovieController required"); + return 0; + } + *p_itself = ((MovieControllerObject *)v)->ob_itself; + return 1; +} + +static void MovieCtlObj_dealloc(self) + MovieControllerObject *self; +{ + DisposeMovieController(self->ob_itself); + PyMem_DEL(self); +} + +static PyObject *MovieCtlObj_MCSetMovie(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + Movie theMovie; + WindowPtr movieWindow; + Point where; + if (!PyArg_ParseTuple(_args, "O&O&O&", + MovieObj_Convert, &theMovie, + WinObj_Convert, &movieWindow, + PyMac_GetPoint, &where)) + return NULL; + _rv = MCSetMovie(_self->ob_itself, + theMovie, + movieWindow, + where); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCGetIndMovie(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + Movie _rv; + short index; + if (!PyArg_ParseTuple(_args, "h", + &index)) + return NULL; + _rv = MCGetIndMovie(_self->ob_itself, + index); + _res = Py_BuildValue("O&", + MovieObj_New, _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCRemoveMovie(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = MCRemoveMovie(_self->ob_itself); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCIsPlayerEvent(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + EventRecord e; + if (!PyArg_ParseTuple(_args, "O&", + PyMac_GetEventRecord, &e)) + return NULL; + _rv = MCIsPlayerEvent(_self->ob_itself, + &e); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCDoAction(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + short action; + void * params; + if (!PyArg_ParseTuple(_args, "hs", + &action, + ¶ms)) + return NULL; + _rv = MCDoAction(_self->ob_itself, + action, + params); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCSetControllerAttached(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + Boolean attach; + if (!PyArg_ParseTuple(_args, "b", + &attach)) + return NULL; + _rv = MCSetControllerAttached(_self->ob_itself, + attach); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCIsControllerAttached(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = MCIsControllerAttached(_self->ob_itself); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCSetVisible(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + Boolean visible; + if (!PyArg_ParseTuple(_args, "b", + &visible)) + return NULL; + _rv = MCSetVisible(_self->ob_itself, + visible); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCGetVisible(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = MCGetVisible(_self->ob_itself); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCGetControllerBoundsRect(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + Rect bounds; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = MCGetControllerBoundsRect(_self->ob_itself, + &bounds); + _res = Py_BuildValue("lO&", + _rv, + PyMac_BuildRect, &bounds); + return _res; +} + +static PyObject *MovieCtlObj_MCSetControllerBoundsRect(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + Rect bounds; + if (!PyArg_ParseTuple(_args, "O&", + PyMac_GetRect, &bounds)) + return NULL; + _rv = MCSetControllerBoundsRect(_self->ob_itself, + &bounds); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCGetControllerBoundsRgn(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + RgnHandle _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = MCGetControllerBoundsRgn(_self->ob_itself); + _res = Py_BuildValue("O&", + ResObj_New, _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCGetWindowRgn(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + RgnHandle _rv; + WindowPtr w; + if (!PyArg_ParseTuple(_args, "O&", + WinObj_Convert, &w)) + return NULL; + _rv = MCGetWindowRgn(_self->ob_itself, + w); + _res = Py_BuildValue("O&", + ResObj_New, _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCMovieChanged(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + Movie m; + if (!PyArg_ParseTuple(_args, "O&", + MovieObj_Convert, &m)) + return NULL; + _rv = MCMovieChanged(_self->ob_itself, + m); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCSetDuration(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + TimeValue duration; + if (!PyArg_ParseTuple(_args, "l", + &duration)) + return NULL; + _rv = MCSetDuration(_self->ob_itself, + duration); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCGetCurrentTime(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + TimeValue _rv; + TimeScale scale; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = MCGetCurrentTime(_self->ob_itself, + &scale); + _res = Py_BuildValue("ll", + _rv, + scale); + return _res; +} + +static PyObject *MovieCtlObj_MCNewAttachedController(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + Movie theMovie; + WindowPtr w; + Point where; + if (!PyArg_ParseTuple(_args, "O&O&O&", + MovieObj_Convert, &theMovie, + WinObj_Convert, &w, + PyMac_GetPoint, &where)) + return NULL; + _rv = MCNewAttachedController(_self->ob_itself, + theMovie, + w, + where); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCDraw(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + WindowPtr w; + if (!PyArg_ParseTuple(_args, "O&", + WinObj_Convert, &w)) + return NULL; + _rv = MCDraw(_self->ob_itself, + w); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCActivate(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + WindowPtr w; + Boolean activate; + if (!PyArg_ParseTuple(_args, "O&b", + WinObj_Convert, &w, + &activate)) + return NULL; + _rv = MCActivate(_self->ob_itself, + w, + activate); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCIdle(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = MCIdle(_self->ob_itself); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCKey(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + SInt8 key; + long modifiers; + if (!PyArg_ParseTuple(_args, "bl", + &key, + &modifiers)) + return NULL; + _rv = MCKey(_self->ob_itself, + key, + modifiers); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCClick(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + WindowPtr w; + Point where; + long when; + long modifiers; + if (!PyArg_ParseTuple(_args, "O&O&ll", + WinObj_Convert, &w, + PyMac_GetPoint, &where, + &when, + &modifiers)) + return NULL; + _rv = MCClick(_self->ob_itself, + w, + where, + when, + modifiers); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCEnableEditing(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + Boolean enabled; + if (!PyArg_ParseTuple(_args, "b", + &enabled)) + return NULL; + _rv = MCEnableEditing(_self->ob_itself, + enabled); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCIsEditingEnabled(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + long _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = MCIsEditingEnabled(_self->ob_itself); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCCopy(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + Movie _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = MCCopy(_self->ob_itself); + _res = Py_BuildValue("O&", + MovieObj_New, _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCCut(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + Movie _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = MCCut(_self->ob_itself); + _res = Py_BuildValue("O&", + MovieObj_New, _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCPaste(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + Movie srcMovie; + if (!PyArg_ParseTuple(_args, "O&", + MovieObj_Convert, &srcMovie)) + return NULL; + _rv = MCPaste(_self->ob_itself, + srcMovie); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCClear(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = MCClear(_self->ob_itself); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCUndo(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = MCUndo(_self->ob_itself); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCPositionController(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + Rect movieRect; + Rect controllerRect; + long someFlags; + if (!PyArg_ParseTuple(_args, "O&O&l", + PyMac_GetRect, &movieRect, + PyMac_GetRect, &controllerRect, + &someFlags)) + return NULL; + _rv = MCPositionController(_self->ob_itself, + &movieRect, + &controllerRect, + someFlags); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCGetControllerInfo(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + long someFlags; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = MCGetControllerInfo(_self->ob_itself, + &someFlags); + _res = Py_BuildValue("ll", + _rv, + someFlags); + return _res; +} + +static PyObject *MovieCtlObj_MCSetClip(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + RgnHandle theClip; + RgnHandle movieClip; + if (!PyArg_ParseTuple(_args, "O&O&", + ResObj_Convert, &theClip, + ResObj_Convert, &movieClip)) + return NULL; + _rv = MCSetClip(_self->ob_itself, + theClip, + movieClip); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCGetClip(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + RgnHandle theClip; + RgnHandle movieClip; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = MCGetClip(_self->ob_itself, + &theClip, + &movieClip); + _res = Py_BuildValue("lO&O&", + _rv, + ResObj_New, theClip, + ResObj_New, movieClip); + return _res; +} + +static PyObject *MovieCtlObj_MCDrawBadge(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + RgnHandle movieRgn; + RgnHandle badgeRgn; + if (!PyArg_ParseTuple(_args, "O&", + ResObj_Convert, &movieRgn)) + return NULL; + _rv = MCDrawBadge(_self->ob_itself, + movieRgn, + &badgeRgn); + _res = Py_BuildValue("lO&", + _rv, + ResObj_New, badgeRgn); + return _res; +} + +static PyObject *MovieCtlObj_MCSetUpEditMenu(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + long modifiers; + MenuHandle mh; + if (!PyArg_ParseTuple(_args, "lO&", + &modifiers, + MenuObj_Convert, &mh)) + return NULL; + _rv = MCSetUpEditMenu(_self->ob_itself, + modifiers, + mh); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *MovieCtlObj_MCGetMenuString(_self, _args) + MovieControllerObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + ComponentResult _rv; + long modifiers; + short item; + Str255 aString; + if (!PyArg_ParseTuple(_args, "lhO&", + &modifiers, + &item, + PyMac_GetStr255, aString)) + return NULL; + _rv = MCGetMenuString(_self->ob_itself, + modifiers, + item, + aString); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyMethodDef MovieCtlObj_methods[] = { + {"MCSetMovie", (PyCFunction)MovieCtlObj_MCSetMovie, 1, + "(Movie theMovie, WindowPtr movieWindow, Point where) -> (ComponentResult _rv)"}, + {"MCGetIndMovie", (PyCFunction)MovieCtlObj_MCGetIndMovie, 1, + "(short index) -> (Movie _rv)"}, + {"MCRemoveMovie", (PyCFunction)MovieCtlObj_MCRemoveMovie, 1, + "() -> (ComponentResult _rv)"}, + {"MCIsPlayerEvent", (PyCFunction)MovieCtlObj_MCIsPlayerEvent, 1, + "(EventRecord e) -> (ComponentResult _rv)"}, + {"MCDoAction", (PyCFunction)MovieCtlObj_MCDoAction, 1, + "(short action, void * params) -> (ComponentResult _rv)"}, + {"MCSetControllerAttached", (PyCFunction)MovieCtlObj_MCSetControllerAttached, 1, + "(Boolean attach) -> (ComponentResult _rv)"}, + {"MCIsControllerAttached", (PyCFunction)MovieCtlObj_MCIsControllerAttached, 1, + "() -> (ComponentResult _rv)"}, + {"MCSetVisible", (PyCFunction)MovieCtlObj_MCSetVisible, 1, + "(Boolean visible) -> (ComponentResult _rv)"}, + {"MCGetVisible", (PyCFunction)MovieCtlObj_MCGetVisible, 1, + "() -> (ComponentResult _rv)"}, + {"MCGetControllerBoundsRect", (PyCFunction)MovieCtlObj_MCGetControllerBoundsRect, 1, + "() -> (ComponentResult _rv, Rect bounds)"}, + {"MCSetControllerBoundsRect", (PyCFunction)MovieCtlObj_MCSetControllerBoundsRect, 1, + "(Rect bounds) -> (ComponentResult _rv)"}, + {"MCGetControllerBoundsRgn", (PyCFunction)MovieCtlObj_MCGetControllerBoundsRgn, 1, + "() -> (RgnHandle _rv)"}, + {"MCGetWindowRgn", (PyCFunction)MovieCtlObj_MCGetWindowRgn, 1, + "(WindowPtr w) -> (RgnHandle _rv)"}, + {"MCMovieChanged", (PyCFunction)MovieCtlObj_MCMovieChanged, 1, + "(Movie m) -> (ComponentResult _rv)"}, + {"MCSetDuration", (PyCFunction)MovieCtlObj_MCSetDuration, 1, + "(TimeValue duration) -> (ComponentResult _rv)"}, + {"MCGetCurrentTime", (PyCFunction)MovieCtlObj_MCGetCurrentTime, 1, + "() -> (TimeValue _rv, TimeScale scale)"}, + {"MCNewAttachedController", (PyCFunction)MovieCtlObj_MCNewAttachedController, 1, + "(Movie theMovie, WindowPtr w, Point where) -> (ComponentResult _rv)"}, + {"MCDraw", (PyCFunction)MovieCtlObj_MCDraw, 1, + "(WindowPtr w) -> (ComponentResult _rv)"}, + {"MCActivate", (PyCFunction)MovieCtlObj_MCActivate, 1, + "(WindowPtr w, Boolean activate) -> (ComponentResult _rv)"}, + {"MCIdle", (PyCFunction)MovieCtlObj_MCIdle, 1, + "() -> (ComponentResult _rv)"}, + {"MCKey", (PyCFunction)MovieCtlObj_MCKey, 1, + "(SInt8 key, long modifiers) -> (ComponentResult _rv)"}, + {"MCClick", (PyCFunction)MovieCtlObj_MCClick, 1, + "(WindowPtr w, Point where, long when, long modifiers) -> (ComponentResult _rv)"}, + {"MCEnableEditing", (PyCFunction)MovieCtlObj_MCEnableEditing, 1, + "(Boolean enabled) -> (ComponentResult _rv)"}, + {"MCIsEditingEnabled", (PyCFunction)MovieCtlObj_MCIsEditingEnabled, 1, + "() -> (long _rv)"}, + {"MCCopy", (PyCFunction)MovieCtlObj_MCCopy, 1, + "() -> (Movie _rv)"}, + {"MCCut", (PyCFunction)MovieCtlObj_MCCut, 1, + "() -> (Movie _rv)"}, + {"MCPaste", (PyCFunction)MovieCtlObj_MCPaste, 1, + "(Movie srcMovie) -> (ComponentResult _rv)"}, + {"MCClear", (PyCFunction)MovieCtlObj_MCClear, 1, + "() -> (ComponentResult _rv)"}, + {"MCUndo", (PyCFunction)MovieCtlObj_MCUndo, 1, + "() -> (ComponentResult _rv)"}, + {"MCPositionController", (PyCFunction)MovieCtlObj_MCPositionController, 1, + "(Rect movieRect, Rect controllerRect, long someFlags) -> (ComponentResult _rv)"}, + {"MCGetControllerInfo", (PyCFunction)MovieCtlObj_MCGetControllerInfo, 1, + "() -> (ComponentResult _rv, long someFlags)"}, + {"MCSetClip", (PyCFunction)MovieCtlObj_MCSetClip, 1, + "(RgnHandle theClip, RgnHandle movieClip) -> (ComponentResult _rv)"}, + {"MCGetClip", (PyCFunction)MovieCtlObj_MCGetClip, 1, + "() -> (ComponentResult _rv, RgnHandle theClip, RgnHandle movieClip)"}, + {"MCDrawBadge", (PyCFunction)MovieCtlObj_MCDrawBadge, 1, + "(RgnHandle movieRgn) -> (ComponentResult _rv, RgnHandle badgeRgn)"}, + {"MCSetUpEditMenu", (PyCFunction)MovieCtlObj_MCSetUpEditMenu, 1, + "(long modifiers, MenuHandle mh) -> (ComponentResult _rv)"}, + {"MCGetMenuString", (PyCFunction)MovieCtlObj_MCGetMenuString, 1, + "(long modifiers, short item, Str255 aString) -> (ComponentResult _rv)"}, + {NULL, NULL, 0} +}; + +PyMethodChain MovieCtlObj_chain = { MovieCtlObj_methods, NULL }; + +static PyObject *MovieCtlObj_getattr(self, name) + MovieControllerObject *self; + char *name; +{ + return Py_FindMethodInChain(&MovieCtlObj_chain, (PyObject *)self, name); +} + +#define MovieCtlObj_setattr NULL + +PyTypeObject MovieController_Type = { + PyObject_HEAD_INIT(&PyType_Type) + 0, /*ob_size*/ + "MovieController", /*tp_name*/ + sizeof(MovieControllerObject), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + /* methods */ + (destructor) MovieCtlObj_dealloc, /*tp_dealloc*/ + 0, /*tp_print*/ + (getattrfunc) MovieCtlObj_getattr, /*tp_getattr*/ + (setattrfunc) MovieCtlObj_setattr, /*tp_setattr*/ +}; + +/* ---------------- End object type MovieController ----------------- */ + + /* ---------------------- Object type TimeBase ---------------------- */ PyTypeObject TimeBase_Type; @@ -4285,7 +5070,7 @@ static PyObject *MovieObj_NewMovieController(_self, _args) PyObject *_args; { PyObject *_res = NULL; - ComponentInstance _rv; + MovieController _rv; Rect movieRect; long someFlags; if (!PyArg_ParseTuple(_args, "O&l", @@ -4296,7 +5081,7 @@ static PyObject *MovieObj_NewMovieController(_self, _args) &movieRect, someFlags); _res = Py_BuildValue("O&", - CmpInstObj_New, _rv); + MovieCtlObj_New, _rv); return _res; } @@ -4515,7 +5300,7 @@ static PyMethodDef MovieObj_methods[] = { {"GetMovieStatus", (PyCFunction)MovieObj_GetMovieStatus, 1, "() -> (ComponentResult _rv, Track firstProblemTrack)"}, {"NewMovieController", (PyCFunction)MovieObj_NewMovieController, 1, - "(Rect movieRect, long someFlags) -> (ComponentInstance _rv)"}, + "(Rect movieRect, long someFlags) -> (MovieController _rv)"}, {"PutMovieOnScrap", (PyCFunction)MovieObj_PutMovieOnScrap, 1, "(long movieScrapFlags) -> None"}, {"SetMoviePlayHints", (PyCFunction)MovieObj_SetMoviePlayHints, 1, @@ -4852,25 +5637,21 @@ static PyObject *Qt_NewMovieFromFile(_self, _args) OSErr _err; Movie theMovie; short resRefNum; - short resId; - StringPtr resName; short newMovieFlags; Boolean dataRefWasChanged; - if (!PyArg_ParseTuple(_args, "hsh", + if (!PyArg_ParseTuple(_args, "hh", &resRefNum, - &resName, &newMovieFlags)) return NULL; _err = NewMovieFromFile(&theMovie, resRefNum, - &resId, - resName, + (short *)0, + (StringPtr)0, newMovieFlags, &dataRefWasChanged); if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&hb", + _res = Py_BuildValue("O&b", MovieObj_New, theMovie, - resId, dataRefWasChanged); return _res; } @@ -5067,21 +5848,6 @@ static PyObject *Qt_FindNextText(_self, _args) return _res; } -static PyObject *Qt_DisposeMovieController(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentInstance mc; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - DisposeMovieController(mc); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - static PyObject *Qt_NewMovieFromScrap(_self, _args) PyObject *_self; PyObject *_args; @@ -5098,703 +5864,60 @@ static PyObject *Qt_NewMovieFromScrap(_self, _args) return _res; } -static PyObject *Qt_MCSetMovie(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - Movie theMovie; - WindowPtr movieWindow; - Point where; - if (!PyArg_ParseTuple(_args, "O&O&O&O&", - CmpInstObj_Convert, &mc, - MovieObj_Convert, &theMovie, - WinObj_Convert, &movieWindow, - PyMac_GetPoint, &where)) - return NULL; - _rv = MCSetMovie(mc, - theMovie, - movieWindow, - where); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCGetIndMovie(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - Movie _rv; - MovieController mc; - short index; - if (!PyArg_ParseTuple(_args, "O&h", - CmpInstObj_Convert, &mc, - &index)) - return NULL; - _rv = MCGetIndMovie(mc, - index); - _res = Py_BuildValue("O&", - MovieObj_New, _rv); - return _res; -} - -static PyObject *Qt_MCRemoveMovie(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - _rv = MCRemoveMovie(mc); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCIsPlayerEvent(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - EventRecord e; - if (!PyArg_ParseTuple(_args, "O&O&", - CmpInstObj_Convert, &mc, - PyMac_GetEventRecord, &e)) - return NULL; - _rv = MCIsPlayerEvent(mc, - &e); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCSetControllerAttached(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - Boolean attach; - if (!PyArg_ParseTuple(_args, "O&b", - CmpInstObj_Convert, &mc, - &attach)) - return NULL; - _rv = MCSetControllerAttached(mc, - attach); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCIsControllerAttached(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - _rv = MCIsControllerAttached(mc); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCSetVisible(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - Boolean visible; - if (!PyArg_ParseTuple(_args, "O&b", - CmpInstObj_Convert, &mc, - &visible)) - return NULL; - _rv = MCSetVisible(mc, - visible); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCGetVisible(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - _rv = MCGetVisible(mc); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCGetControllerBoundsRect(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - Rect bounds; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - _rv = MCGetControllerBoundsRect(mc, - &bounds); - _res = Py_BuildValue("lO&", - _rv, - PyMac_BuildRect, &bounds); - return _res; -} - -static PyObject *Qt_MCSetControllerBoundsRect(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - Rect bounds; - if (!PyArg_ParseTuple(_args, "O&O&", - CmpInstObj_Convert, &mc, - PyMac_GetRect, &bounds)) - return NULL; - _rv = MCSetControllerBoundsRect(mc, - &bounds); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCGetControllerBoundsRgn(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - RgnHandle _rv; - MovieController mc; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - _rv = MCGetControllerBoundsRgn(mc); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qt_MCGetWindowRgn(_self, _args) +static PyObject *Qt_NewTimeBase(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; - RgnHandle _rv; - MovieController mc; - WindowPtr w; - if (!PyArg_ParseTuple(_args, "O&O&", - CmpInstObj_Convert, &mc, - WinObj_Convert, &w)) + TimeBase _rv; + if (!PyArg_ParseTuple(_args, "")) return NULL; - _rv = MCGetWindowRgn(mc, - w); + _rv = NewTimeBase(); _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qt_MCMovieChanged(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - Movie m; - if (!PyArg_ParseTuple(_args, "O&O&", - CmpInstObj_Convert, &mc, - MovieObj_Convert, &m)) - return NULL; - _rv = MCMovieChanged(mc, - m); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCSetDuration(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - TimeValue duration; - if (!PyArg_ParseTuple(_args, "O&l", - CmpInstObj_Convert, &mc, - &duration)) - return NULL; - _rv = MCSetDuration(mc, - duration); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCGetCurrentTime(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - TimeValue _rv; - MovieController mc; - TimeScale scale; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - _rv = MCGetCurrentTime(mc, - &scale); - _res = Py_BuildValue("ll", - _rv, - scale); - return _res; -} - -static PyObject *Qt_MCNewAttachedController(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - Movie theMovie; - WindowPtr w; - Point where; - if (!PyArg_ParseTuple(_args, "O&O&O&O&", - CmpInstObj_Convert, &mc, - MovieObj_Convert, &theMovie, - WinObj_Convert, &w, - PyMac_GetPoint, &where)) - return NULL; - _rv = MCNewAttachedController(mc, - theMovie, - w, - where); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCDraw(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - WindowPtr w; - if (!PyArg_ParseTuple(_args, "O&O&", - CmpInstObj_Convert, &mc, - WinObj_Convert, &w)) - return NULL; - _rv = MCDraw(mc, - w); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCActivate(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - WindowPtr w; - Boolean activate; - if (!PyArg_ParseTuple(_args, "O&O&b", - CmpInstObj_Convert, &mc, - WinObj_Convert, &w, - &activate)) - return NULL; - _rv = MCActivate(mc, - w, - activate); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCIdle(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - _rv = MCIdle(mc); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCKey(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - SInt8 key; - long modifiers; - if (!PyArg_ParseTuple(_args, "O&bl", - CmpInstObj_Convert, &mc, - &key, - &modifiers)) - return NULL; - _rv = MCKey(mc, - key, - modifiers); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCClick(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - WindowPtr w; - Point where; - long when; - long modifiers; - if (!PyArg_ParseTuple(_args, "O&O&O&ll", - CmpInstObj_Convert, &mc, - WinObj_Convert, &w, - PyMac_GetPoint, &where, - &when, - &modifiers)) - return NULL; - _rv = MCClick(mc, - w, - where, - when, - modifiers); - _res = Py_BuildValue("l", - _rv); + TimeBaseObj_New, _rv); return _res; } -static PyObject *Qt_MCEnableEditing(_self, _args) +static PyObject *Qt_AlignWindow(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - Boolean enabled; + WindowPtr wp; + Boolean front; if (!PyArg_ParseTuple(_args, "O&b", - CmpInstObj_Convert, &mc, - &enabled)) - return NULL; - _rv = MCEnableEditing(mc, - enabled); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCIsEditingEnabled(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - long _rv; - MovieController mc; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - _rv = MCIsEditingEnabled(mc); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCCopy(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - Movie _rv; - MovieController mc; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - _rv = MCCopy(mc); - _res = Py_BuildValue("O&", - MovieObj_New, _rv); - return _res; -} - -static PyObject *Qt_MCCut(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - Movie _rv; - MovieController mc; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - _rv = MCCut(mc); - _res = Py_BuildValue("O&", - MovieObj_New, _rv); - return _res; -} - -static PyObject *Qt_MCPaste(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - Movie srcMovie; - if (!PyArg_ParseTuple(_args, "O&O&", - CmpInstObj_Convert, &mc, - MovieObj_Convert, &srcMovie)) - return NULL; - _rv = MCPaste(mc, - srcMovie); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCClear(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - _rv = MCClear(mc); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCUndo(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - _rv = MCUndo(mc); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCPositionController(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - Rect movieRect; - Rect controllerRect; - long someFlags; - if (!PyArg_ParseTuple(_args, "O&O&O&l", - CmpInstObj_Convert, &mc, - PyMac_GetRect, &movieRect, - PyMac_GetRect, &controllerRect, - &someFlags)) + WinObj_Convert, &wp, + &front)) return NULL; - _rv = MCPositionController(mc, - &movieRect, - &controllerRect, - someFlags); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCGetControllerInfo(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - long someFlags; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - _rv = MCGetControllerInfo(mc, - &someFlags); - _res = Py_BuildValue("ll", - _rv, - someFlags); + AlignWindow(wp, + front, + (Rect *)0, + (ICMAlignmentProcRecordPtr)0); + Py_INCREF(Py_None); + _res = Py_None; return _res; } -static PyObject *Qt_MCSetClip(_self, _args) +static PyObject *Qt_DragAlignedWindow(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - RgnHandle theClip; - RgnHandle movieClip; + WindowPtr wp; + Point startPt; + Rect boundsRect; if (!PyArg_ParseTuple(_args, "O&O&O&", - CmpInstObj_Convert, &mc, - ResObj_Convert, &theClip, - ResObj_Convert, &movieClip)) - return NULL; - _rv = MCSetClip(mc, - theClip, - movieClip); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCGetClip(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - RgnHandle theClip; - RgnHandle movieClip; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mc)) - return NULL; - _rv = MCGetClip(mc, - &theClip, - &movieClip); - _res = Py_BuildValue("lO&O&", - _rv, - ResObj_New, theClip, - ResObj_New, movieClip); - return _res; -} - -static PyObject *Qt_MCDrawBadge(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - RgnHandle movieRgn; - RgnHandle badgeRgn; - if (!PyArg_ParseTuple(_args, "O&O&", - CmpInstObj_Convert, &mc, - ResObj_Convert, &movieRgn)) - return NULL; - _rv = MCDrawBadge(mc, - movieRgn, - &badgeRgn); - _res = Py_BuildValue("lO&", - _rv, - ResObj_New, badgeRgn); - return _res; -} - -static PyObject *Qt_MCSetUpEditMenu(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - long modifiers; - MenuHandle mh; - if (!PyArg_ParseTuple(_args, "O&lO&", - CmpInstObj_Convert, &mc, - &modifiers, - MenuObj_Convert, &mh)) - return NULL; - _rv = MCSetUpEditMenu(mc, - modifiers, - mh); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_MCGetMenuString(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MovieController mc; - long modifiers; - short item; - Str255 aString; - if (!PyArg_ParseTuple(_args, "O&lhO&", - CmpInstObj_Convert, &mc, - &modifiers, - &item, - PyMac_GetStr255, aString)) - return NULL; - _rv = MCGetMenuString(mc, - modifiers, - item, - aString); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_NewTimeBase(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - TimeBase _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = NewTimeBase(); - _res = Py_BuildValue("O&", - TimeBaseObj_New, _rv); + WinObj_Convert, &wp, + PyMac_GetPoint, &startPt, + PyMac_GetRect, &boundsRect)) + return NULL; + DragAlignedWindow(wp, + startPt, + &boundsRect, + (Rect *)0, + (ICMAlignmentProcRecordPtr)0); + Py_INCREF(Py_None); + _res = Py_None; return _res; } @@ -5832,7 +5955,7 @@ static PyMethodDef Qt_methods[] = { {"DeleteMovieFile", (PyCFunction)Qt_DeleteMovieFile, 1, "(FSSpec fileSpec) -> None"}, {"NewMovieFromFile", (PyCFunction)Qt_NewMovieFromFile, 1, - "(short resRefNum, StringPtr resName, short newMovieFlags) -> (Movie theMovie, short resId, Boolean dataRefWasChanged)"}, + "(short resRefNum, short newMovieFlags) -> (Movie theMovie, Boolean dataRefWasChanged)"}, {"NewMovieFromHandle", (PyCFunction)Qt_NewMovieFromHandle, 1, "(Handle h, short newMovieFlags) -> (Movie theMovie, Boolean dataRefWasChanged)"}, {"NewMovieFromDataFork", (PyCFunction)Qt_NewMovieFromDataFork, 1, @@ -5849,82 +5972,14 @@ static PyMethodDef Qt_methods[] = { "(MediaHandler mh, short balance) -> (HandlerError _rv)"}, {"FindNextText", (PyCFunction)Qt_FindNextText, 1, "(MediaHandler mh, Ptr text, long size, short findFlags, TimeValue startTime) -> (ComponentResult _rv, TimeValue foundTime, TimeValue foundDuration, long offset)"}, - {"DisposeMovieController", (PyCFunction)Qt_DisposeMovieController, 1, - "(ComponentInstance mc) -> None"}, {"NewMovieFromScrap", (PyCFunction)Qt_NewMovieFromScrap, 1, "(long newMovieFlags) -> (Movie _rv)"}, - {"MCSetMovie", (PyCFunction)Qt_MCSetMovie, 1, - "(MovieController mc, Movie theMovie, WindowPtr movieWindow, Point where) -> (ComponentResult _rv)"}, - {"MCGetIndMovie", (PyCFunction)Qt_MCGetIndMovie, 1, - "(MovieController mc, short index) -> (Movie _rv)"}, - {"MCRemoveMovie", (PyCFunction)Qt_MCRemoveMovie, 1, - "(MovieController mc) -> (ComponentResult _rv)"}, - {"MCIsPlayerEvent", (PyCFunction)Qt_MCIsPlayerEvent, 1, - "(MovieController mc, EventRecord e) -> (ComponentResult _rv)"}, - {"MCSetControllerAttached", (PyCFunction)Qt_MCSetControllerAttached, 1, - "(MovieController mc, Boolean attach) -> (ComponentResult _rv)"}, - {"MCIsControllerAttached", (PyCFunction)Qt_MCIsControllerAttached, 1, - "(MovieController mc) -> (ComponentResult _rv)"}, - {"MCSetVisible", (PyCFunction)Qt_MCSetVisible, 1, - "(MovieController mc, Boolean visible) -> (ComponentResult _rv)"}, - {"MCGetVisible", (PyCFunction)Qt_MCGetVisible, 1, - "(MovieController mc) -> (ComponentResult _rv)"}, - {"MCGetControllerBoundsRect", (PyCFunction)Qt_MCGetControllerBoundsRect, 1, - "(MovieController mc) -> (ComponentResult _rv, Rect bounds)"}, - {"MCSetControllerBoundsRect", (PyCFunction)Qt_MCSetControllerBoundsRect, 1, - "(MovieController mc, Rect bounds) -> (ComponentResult _rv)"}, - {"MCGetControllerBoundsRgn", (PyCFunction)Qt_MCGetControllerBoundsRgn, 1, - "(MovieController mc) -> (RgnHandle _rv)"}, - {"MCGetWindowRgn", (PyCFunction)Qt_MCGetWindowRgn, 1, - "(MovieController mc, WindowPtr w) -> (RgnHandle _rv)"}, - {"MCMovieChanged", (PyCFunction)Qt_MCMovieChanged, 1, - "(MovieController mc, Movie m) -> (ComponentResult _rv)"}, - {"MCSetDuration", (PyCFunction)Qt_MCSetDuration, 1, - "(MovieController mc, TimeValue duration) -> (ComponentResult _rv)"}, - {"MCGetCurrentTime", (PyCFunction)Qt_MCGetCurrentTime, 1, - "(MovieController mc) -> (TimeValue _rv, TimeScale scale)"}, - {"MCNewAttachedController", (PyCFunction)Qt_MCNewAttachedController, 1, - "(MovieController mc, Movie theMovie, WindowPtr w, Point where) -> (ComponentResult _rv)"}, - {"MCDraw", (PyCFunction)Qt_MCDraw, 1, - "(MovieController mc, WindowPtr w) -> (ComponentResult _rv)"}, - {"MCActivate", (PyCFunction)Qt_MCActivate, 1, - "(MovieController mc, WindowPtr w, Boolean activate) -> (ComponentResult _rv)"}, - {"MCIdle", (PyCFunction)Qt_MCIdle, 1, - "(MovieController mc) -> (ComponentResult _rv)"}, - {"MCKey", (PyCFunction)Qt_MCKey, 1, - "(MovieController mc, SInt8 key, long modifiers) -> (ComponentResult _rv)"}, - {"MCClick", (PyCFunction)Qt_MCClick, 1, - "(MovieController mc, WindowPtr w, Point where, long when, long modifiers) -> (ComponentResult _rv)"}, - {"MCEnableEditing", (PyCFunction)Qt_MCEnableEditing, 1, - "(MovieController mc, Boolean enabled) -> (ComponentResult _rv)"}, - {"MCIsEditingEnabled", (PyCFunction)Qt_MCIsEditingEnabled, 1, - "(MovieController mc) -> (long _rv)"}, - {"MCCopy", (PyCFunction)Qt_MCCopy, 1, - "(MovieController mc) -> (Movie _rv)"}, - {"MCCut", (PyCFunction)Qt_MCCut, 1, - "(MovieController mc) -> (Movie _rv)"}, - {"MCPaste", (PyCFunction)Qt_MCPaste, 1, - "(MovieController mc, Movie srcMovie) -> (ComponentResult _rv)"}, - {"MCClear", (PyCFunction)Qt_MCClear, 1, - "(MovieController mc) -> (ComponentResult _rv)"}, - {"MCUndo", (PyCFunction)Qt_MCUndo, 1, - "(MovieController mc) -> (ComponentResult _rv)"}, - {"MCPositionController", (PyCFunction)Qt_MCPositionController, 1, - "(MovieController mc, Rect movieRect, Rect controllerRect, long someFlags) -> (ComponentResult _rv)"}, - {"MCGetControllerInfo", (PyCFunction)Qt_MCGetControllerInfo, 1, - "(MovieController mc) -> (ComponentResult _rv, long someFlags)"}, - {"MCSetClip", (PyCFunction)Qt_MCSetClip, 1, - "(MovieController mc, RgnHandle theClip, RgnHandle movieClip) -> (ComponentResult _rv)"}, - {"MCGetClip", (PyCFunction)Qt_MCGetClip, 1, - "(MovieController mc) -> (ComponentResult _rv, RgnHandle theClip, RgnHandle movieClip)"}, - {"MCDrawBadge", (PyCFunction)Qt_MCDrawBadge, 1, - "(MovieController mc, RgnHandle movieRgn) -> (ComponentResult _rv, RgnHandle badgeRgn)"}, - {"MCSetUpEditMenu", (PyCFunction)Qt_MCSetUpEditMenu, 1, - "(MovieController mc, long modifiers, MenuHandle mh) -> (ComponentResult _rv)"}, - {"MCGetMenuString", (PyCFunction)Qt_MCGetMenuString, 1, - "(MovieController mc, long modifiers, short item, Str255 aString) -> (ComponentResult _rv)"}, {"NewTimeBase", (PyCFunction)Qt_NewTimeBase, 1, "() -> (TimeBase _rv)"}, + {"AlignWindow", (PyCFunction)Qt_AlignWindow, 1, + "(WindowPtr wp, Boolean front) -> None"}, + {"DragAlignedWindow", (PyCFunction)Qt_DragAlignedWindow, 1, + "(WindowPtr wp, Point startPt, Rect boundsRect) -> None"}, {NULL, NULL, 0} }; diff --git a/Mac/Modules/qt/qtgen.py b/Mac/Modules/qt/qtgen.py index 2fe1742..b10312e 100644 --- a/Mac/Modules/qt/qtgen.py +++ b/Mac/Modules/qt/qtgen.py @@ -1160,8 +1160,8 @@ functions.append(f) f = Function(OSErr, 'NewMovieFromFile', (Movie, 'theMovie', OutMode), (short, 'resRefNum', InMode), - (short, 'resId', OutMode), - (StringPtr, 'resName', InMode), + (dummyshortptr, 'resId', InMode), + (dummyStringPtr, 'resName', InMode), (short, 'newMovieFlags', InMode), (Boolean, 'dataRefWasChanged', OutMode), ) @@ -1350,18 +1350,13 @@ f = Method(ComponentResult, 'GetMovieStatus', ) Movie_methods.append(f) -f = Method(ComponentInstance, 'NewMovieController', +f = Method(MovieController, 'NewMovieController', (Movie, 'theMovie', InMode), (Rect_ptr, 'movieRect', InMode), (long, 'someFlags', InMode), ) Movie_methods.append(f) -f = Function(void, 'DisposeMovieController', - (ComponentInstance, 'mc', InMode), -) -functions.append(f) - f = Method(OSErr, 'PutMovieOnScrap', (Movie, 'theMovie', InMode), (long, 'movieScrapFlags', InMode), @@ -1443,222 +1438,229 @@ f = Method(void, 'GetTrackLoadSettings', ) Track_methods.append(f) -f = Function(ComponentResult, 'MCSetMovie', +f = Method(ComponentResult, 'MCSetMovie', (MovieController, 'mc', InMode), (Movie, 'theMovie', InMode), (WindowPtr, 'movieWindow', InMode), (Point, 'where', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(Movie, 'MCGetIndMovie', +f = Method(Movie, 'MCGetIndMovie', (MovieController, 'mc', InMode), (short, 'index', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCRemoveMovie', +f = Method(ComponentResult, 'MCRemoveMovie', (MovieController, 'mc', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCIsPlayerEvent', +f = Method(ComponentResult, 'MCIsPlayerEvent', (MovieController, 'mc', InMode), (EventRecord_ptr, 'e', InMode), ) -functions.append(f) +MovieController_methods.append(f) + +f = Method(ComponentResult, 'MCDoAction', + (MovieController, 'mc', InMode), + (short, 'action', InMode), + (mcactionparams, 'params', InMode), +) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCSetControllerAttached', +f = Method(ComponentResult, 'MCSetControllerAttached', (MovieController, 'mc', InMode), (Boolean, 'attach', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCIsControllerAttached', +f = Method(ComponentResult, 'MCIsControllerAttached', (MovieController, 'mc', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCSetVisible', +f = Method(ComponentResult, 'MCSetVisible', (MovieController, 'mc', InMode), (Boolean, 'visible', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCGetVisible', +f = Method(ComponentResult, 'MCGetVisible', (MovieController, 'mc', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCGetControllerBoundsRect', +f = Method(ComponentResult, 'MCGetControllerBoundsRect', (MovieController, 'mc', InMode), (Rect, 'bounds', OutMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCSetControllerBoundsRect', +f = Method(ComponentResult, 'MCSetControllerBoundsRect', (MovieController, 'mc', InMode), (Rect_ptr, 'bounds', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(RgnHandle, 'MCGetControllerBoundsRgn', +f = Method(RgnHandle, 'MCGetControllerBoundsRgn', (MovieController, 'mc', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(RgnHandle, 'MCGetWindowRgn', +f = Method(RgnHandle, 'MCGetWindowRgn', (MovieController, 'mc', InMode), (WindowPtr, 'w', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCMovieChanged', +f = Method(ComponentResult, 'MCMovieChanged', (MovieController, 'mc', InMode), (Movie, 'm', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCSetDuration', +f = Method(ComponentResult, 'MCSetDuration', (MovieController, 'mc', InMode), (TimeValue, 'duration', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(TimeValue, 'MCGetCurrentTime', +f = Method(TimeValue, 'MCGetCurrentTime', (MovieController, 'mc', InMode), (TimeScale, 'scale', OutMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCNewAttachedController', +f = Method(ComponentResult, 'MCNewAttachedController', (MovieController, 'mc', InMode), (Movie, 'theMovie', InMode), (WindowPtr, 'w', InMode), (Point, 'where', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCDraw', +f = Method(ComponentResult, 'MCDraw', (MovieController, 'mc', InMode), (WindowPtr, 'w', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCActivate', +f = Method(ComponentResult, 'MCActivate', (MovieController, 'mc', InMode), (WindowPtr, 'w', InMode), (Boolean, 'activate', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCIdle', +f = Method(ComponentResult, 'MCIdle', (MovieController, 'mc', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCKey', +f = Method(ComponentResult, 'MCKey', (MovieController, 'mc', InMode), (SInt8, 'key', InMode), (long, 'modifiers', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCClick', +f = Method(ComponentResult, 'MCClick', (MovieController, 'mc', InMode), (WindowPtr, 'w', InMode), (Point, 'where', InMode), (long, 'when', InMode), (long, 'modifiers', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCEnableEditing', +f = Method(ComponentResult, 'MCEnableEditing', (MovieController, 'mc', InMode), (Boolean, 'enabled', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(long, 'MCIsEditingEnabled', +f = Method(long, 'MCIsEditingEnabled', (MovieController, 'mc', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(Movie, 'MCCopy', +f = Method(Movie, 'MCCopy', (MovieController, 'mc', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(Movie, 'MCCut', +f = Method(Movie, 'MCCut', (MovieController, 'mc', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCPaste', +f = Method(ComponentResult, 'MCPaste', (MovieController, 'mc', InMode), (Movie, 'srcMovie', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCClear', +f = Method(ComponentResult, 'MCClear', (MovieController, 'mc', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCUndo', +f = Method(ComponentResult, 'MCUndo', (MovieController, 'mc', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCPositionController', +f = Method(ComponentResult, 'MCPositionController', (MovieController, 'mc', InMode), (Rect_ptr, 'movieRect', InMode), (Rect_ptr, 'controllerRect', InMode), (long, 'someFlags', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCGetControllerInfo', +f = Method(ComponentResult, 'MCGetControllerInfo', (MovieController, 'mc', InMode), (long, 'someFlags', OutMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCSetClip', +f = Method(ComponentResult, 'MCSetClip', (MovieController, 'mc', InMode), (RgnHandle, 'theClip', InMode), (RgnHandle, 'movieClip', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCGetClip', +f = Method(ComponentResult, 'MCGetClip', (MovieController, 'mc', InMode), (RgnHandle, 'theClip', OutMode), (RgnHandle, 'movieClip', OutMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCDrawBadge', +f = Method(ComponentResult, 'MCDrawBadge', (MovieController, 'mc', InMode), (RgnHandle, 'movieRgn', InMode), (RgnHandle, 'badgeRgn', OutMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCSetUpEditMenu', +f = Method(ComponentResult, 'MCSetUpEditMenu', (MovieController, 'mc', InMode), (long, 'modifiers', InMode), (MenuHandle, 'mh', InMode), ) -functions.append(f) +MovieController_methods.append(f) -f = Function(ComponentResult, 'MCGetMenuString', +f = Method(ComponentResult, 'MCGetMenuString', (MovieController, 'mc', InMode), (long, 'modifiers', InMode), (short, 'item', InMode), (Str255, 'aString', InMode), ) -functions.append(f) +MovieController_methods.append(f) f = Function(TimeBase, 'NewTimeBase', ) diff --git a/Mac/Modules/qt/qtscan.py b/Mac/Modules/qt/qtscan.py index 83683fe..020c487 100644 --- a/Mac/Modules/qt/qtscan.py +++ b/Mac/Modules/qt/qtscan.py @@ -6,7 +6,7 @@ from scantools import Scanner LONG = "QuickTime" SHORT = "qt" -OBJECTS = ("Movie", "Track", "Media", "UserData", "TimeBase") +OBJECTS = ("Movie", "Track", "Media", "UserData", "TimeBase", "MovieController") def main(): input = "Movies.h" @@ -38,6 +38,7 @@ class MyScanner(Scanner): "DisposeTrackMedia", # ditto "DisposeUserData", # ditto "DisposeTimeBase", # ditto + "DisposeMovieController", # ditto "GetMovieCreationTime", # type "unsigned long" in C, inparseable "GetMovieModificationTime", # Ditto "GetTrackCreationTime", # ditto @@ -49,7 +50,6 @@ class MyScanner(Scanner): "GetUserDataItem", "SetUserDataItem", "SetTextSampleData", - "MCDoAction", # bgen gets the argument in/out wrong.. "AddTextSample", "AddTESample", @@ -95,6 +95,17 @@ class MyScanner(Scanner): def makerepairinstructions(self): return [ ([('FSSpec', '*', 'OutMode')], [('FSSpec_ptr', '*', 'InMode')]), + + # Movie controller creation + ([('ComponentInstance', 'NewMovieController', 'ReturnMode')], + [('MovieController', '*', 'ReturnMode')]), + + # NewMovieFromFile + ([('short', 'resId', 'OutMode'), ('StringPtr', 'resName', 'InMode')], + [('dummyshortptr', 'resId', 'InMode'), ('dummyStringPtr', 'resName', 'InMode')]), + + # MCDoAction + ([('void', 'params', 'OutMode')], [('mcactionparams', 'params', 'InMode')]), ] if __name__ == "__main__": diff --git a/Mac/Modules/qt/qtsupport.py b/Mac/Modules/qt/qtsupport.py index ef5cac7..17ba808 100644 --- a/Mac/Modules/qt/qtsupport.py +++ b/Mac/Modules/qt/qtsupport.py @@ -3,6 +3,8 @@ # The function specifications are generated by scanning the mamager's header file, # using the "scantools" package (customized for this particular manager). +#error missing SetActionFilter + import string # Declarations that change for each manager @@ -39,6 +41,8 @@ staticforward PyObject *TrackObj_New(Track); staticforward int TrackObj_Convert(PyObject *, Track *); staticforward PyObject *MovieObj_New(Movie); staticforward int MovieObj_Convert(PyObject *, Movie *); +staticforward PyObject *MovieCtlObj_New(MovieController); +staticforward int MovieCtlObj_Convert(PyObject *, MovieController *); """ @@ -49,6 +53,7 @@ Track = OpaqueByValueType('Track', 'TrackObj') Media = OpaqueByValueType('Media', 'MediaObj') UserData = OpaqueByValueType('UserData', 'UserDataObj') TimeBase = OpaqueByValueType('TimeBase', 'TimeBaseObj') +MovieController = OpaqueByValueType('MovieController', 'MovieCtlObj') # Other opaque objects Component = OpaqueByValueType('Component', 'CmpObj') @@ -58,10 +63,6 @@ DataHandlerComponent = OpaqueByValueType('DataHandlerComponent', 'CmpObj') ComponentInstance = OpaqueByValueType('ComponentInstance', 'CmpInstObj') MediaHandler = OpaqueByValueType('MediaHandler', 'CmpInstObj') DataHandler = OpaqueByValueType('DataHandler', 'CmpInstObj') -# XXXX The next one should really be a full-fledged object here, but the -# type is sometimes specified as MovieController and some times as -# ComponentInstance. -MovieController = OpaqueByValueType('MovieController', 'CmpInstObj') RgnHandle = OpaqueByValueType("RgnHandle", "ResObj") PicHandle = OpaqueByValueType("PicHandle", "ResObj") @@ -91,8 +92,12 @@ mediaHandlerFlagsEnum = Type("mediaHandlerFlagsEnum", "l") ComponentResult = Type("ComponentResult", "l") HandlerError = Type("HandlerError", "l") Ptr = InputOnlyType("Ptr", "s") -StringPtr = InputOnlyType("StringPtr", "s") +StringPtr = Type("StringPtr", "s") +mcactionparams = InputOnlyType("void *", "s") +# Could-not-be-bothered-types (NewMovieFromFile) +dummyshortptr = FakeType('(short *)0') +dummyStringPtr = FakeType('(StringPtr)0') class MovieObjectDefinition(GlobalObjectDefinition): def outputCheckNewArg(self): @@ -139,6 +144,15 @@ class TimeBaseObjectDefinition(GlobalObjectDefinition): def outputFreeIt(self, itselfname): Output("DisposeTimeBase(%s);", itselfname) +class MovieCtlObjectDefinition(GlobalObjectDefinition): + def outputCheckNewArg(self): + Output("""if (itself == NULL) { + PyErr_SetString(Qt_Error,"Cannot create null MovieController"); + return NULL; + }""") + def outputFreeIt(self, itselfname): + Output("DisposeMovieController(%s);", itselfname) + # From here on it's basically all boiler plate... # Create the generator groups and link them @@ -148,7 +162,9 @@ Track_object = TrackObjectDefinition('Track', 'TrackObj', 'Track') Media_object = MediaObjectDefinition('Media', 'MediaObj', 'Media') UserData_object = UserDataObjectDefinition('UserData', 'UserDataObj', 'UserData') TimeBase_object = TimeBaseObjectDefinition('TimeBase', 'TimeBaseObj', 'TimeBase') +MovieController_object = MovieCtlObjectDefinition('MovieController', 'MovieCtlObj', 'MovieController') +module.addobject(MovieController_object) module.addobject(TimeBase_object) module.addobject(UserData_object) module.addobject(Media_object) @@ -161,6 +177,7 @@ Method = OSErrMethodGenerator # Create and populate the lists functions = [] +MovieController_methods = [] TimeBase_methods = [] UserData_methods = [] Media_methods = [] @@ -168,9 +185,33 @@ Track_methods = [] Movie_methods = [] execfile(INPUTFILE) +# +# Some functions from ImageCompression.h that we need: +ICMAlignmentProcRecordPtr = FakeType('(ICMAlignmentProcRecordPtr)0') +dummyRect = FakeType('(Rect *)0') + +f = Function(void, 'AlignWindow', + (WindowPtr, 'wp', InMode), + (Boolean, 'front', InMode), + (dummyRect, 'alignmentRect', InMode), + (ICMAlignmentProcRecordPtr, 'alignmentProc', InMode), +) +functions.append(f) + +f = Function(void, 'DragAlignedWindow', + (WindowPtr, 'wp', InMode), + (Point, 'startPt', InMode), + (Rect_ptr, 'boundsRect', InMode), + (dummyRect, 'alignmentRect', InMode), + (ICMAlignmentProcRecordPtr, 'alignmentProc', InMode), +) +functions.append(f) + + # add the populated lists to the generator groups # (in a different wordl the scan program would generate this) for f in functions: module.add(f) +for f in MovieController_methods: MovieController_object.add(f) for f in TimeBase_methods: TimeBase_object.add(f) for f in UserData_methods: UserData_object.add(f) for f in Media_methods: Media_object.add(f) |