[Python-checkins] python/dist/src/Mac/Modules/qt _Qtmodule.c,1.10,1.11 qtsupport.py,1.20,1.21

jackjansen@users.sourceforge.net jackjansen@users.sourceforge.net
Tue, 03 Dec 2002 15:40:23 -0800


Update of /cvsroot/python/python/dist/src/Mac/Modules/qt
In directory sc8-pr-cvs1:/tmp/cvs-serv10318/qt

Modified Files:
	_Qtmodule.c qtsupport.py 
Log Message:
Added PEP253 support to most Carbon modules. This isn't complete yet:
some of the more compilcated cases (CF, Res) haven't been done yet. Also,
various types should inherit from each other (anything with an as_Resource
method should be a Resource subtype, the CF types should become one family).


Index: _Qtmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Modules/qt/_Qtmodule.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** _Qtmodule.c	29 Nov 2002 23:40:46 -0000	1.10
--- _Qtmodule.c	3 Dec 2002 23:40:21 -0000	1.11
***************
*** 1093,1096 ****
--- 1093,1097 ----
  #define MovieCtlObj_getsetlist NULL
  
+ 
  #define MovieCtlObj_compare NULL
  
***************
*** 1098,1101 ****
--- 1099,1120 ----
  
  #define MovieCtlObj_hash NULL
+ #define MovieCtlObj_tp_init 0
+ 
+ #define MovieCtlObj_tp_alloc PyType_GenericAlloc
+ 
+ static PyObject *MovieCtlObj_tp_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
+ {
+ 	PyObject *self;
+ 	MovieController itself;
+ 	char *kw[] = {"itself", 0};
+ 
+ 	if (!PyArg_ParseTupleAndKeywords(args, kwds, "O&", kw, MovieCtlObj_Convert, &itself)) return NULL;
+ 	if ((self = type->tp_alloc(type, 0)) == NULL) return NULL;
+ 	((MovieControllerObject *)self)->ob_itself = itself;
+ 	return self;
+ }
+ 
+ #define MovieCtlObj_tp_free PyObject_Del
+ 
  
  PyTypeObject MovieController_Type = {
***************
*** 1120,1136 ****
  	PyObject_GenericGetAttr, /*tp_getattro*/
  	PyObject_GenericSetAttr, /*tp_setattro */
! 	0, /*outputHook_tp_as_buffer*/
! 	0, /*outputHook_tp_flags*/
! 	0, /*outputHook_tp_doc*/
! 	0, /*outputHook_tp_traverse*/
! 	0, /*outputHook_tp_clear*/
! 	0, /*outputHook_tp_richcompare*/
! 	0, /*outputHook_tp_weaklistoffset*/
! 	0, /*outputHook_tp_iter*/
! 	0, /*outputHook_tp_iternext*/
  	MovieCtlObj_methods, /* tp_methods */
! 	0, /*outputHook_tp_members*/
  	MovieCtlObj_getsetlist, /*tp_getset*/
! 	0, /*outputHook_tp_base*/
  };
  
--- 1139,1163 ----
  	PyObject_GenericGetAttr, /*tp_getattro*/
  	PyObject_GenericSetAttr, /*tp_setattro */
! 	0, /*tp_as_buffer*/
! 	Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
! 	0, /*tp_doc*/
! 	0, /*tp_traverse*/
! 	0, /*tp_clear*/
! 	0, /*tp_richcompare*/
! 	0, /*tp_weaklistoffset*/
! 	0, /*tp_iter*/
! 	0, /*tp_iternext*/
  	MovieCtlObj_methods, /* tp_methods */
! 	0, /*tp_members*/
  	MovieCtlObj_getsetlist, /*tp_getset*/
! 	0, /*tp_base*/
! 	0, /*tp_dict*/
! 	0, /*tp_descr_get*/
! 	0, /*tp_descr_set*/
! 	0, /*tp_dictoffset*/
! 	MovieCtlObj_tp_init, /* tp_init */
! 	MovieCtlObj_tp_alloc, /* tp_alloc */
! 	MovieCtlObj_tp_new, /* tp_new */
! 	MovieCtlObj_tp_free, /* tp_free */
  };
  
***************
*** 1554,1557 ****
--- 1581,1585 ----
  #define TimeBaseObj_getsetlist NULL
  
+ 
  #define TimeBaseObj_compare NULL
  
***************
*** 1559,1562 ****
--- 1587,1608 ----
  
  #define TimeBaseObj_hash NULL
+ #define TimeBaseObj_tp_init 0
+ 
+ #define TimeBaseObj_tp_alloc PyType_GenericAlloc
+ 
+ static PyObject *TimeBaseObj_tp_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
+ {
+ 	PyObject *self;
+ 	TimeBase itself;
+ 	char *kw[] = {"itself", 0};
+ 
+ 	if (!PyArg_ParseTupleAndKeywords(args, kwds, "O&", kw, TimeBaseObj_Convert, &itself)) return NULL;
+ 	if ((self = type->tp_alloc(type, 0)) == NULL) return NULL;
+ 	((TimeBaseObject *)self)->ob_itself = itself;
+ 	return self;
+ }
+ 
+ #define TimeBaseObj_tp_free PyObject_Del
+ 
  
  PyTypeObject TimeBase_Type = {
***************
*** 1581,1597 ****
  	PyObject_GenericGetAttr, /*tp_getattro*/
  	PyObject_GenericSetAttr, /*tp_setattro */
! 	0, /*outputHook_tp_as_buffer*/
! 	0, /*outputHook_tp_flags*/
! 	0, /*outputHook_tp_doc*/
! 	0, /*outputHook_tp_traverse*/
! 	0, /*outputHook_tp_clear*/
! 	0, /*outputHook_tp_richcompare*/
! 	0, /*outputHook_tp_weaklistoffset*/
! 	0, /*outputHook_tp_iter*/
! 	0, /*outputHook_tp_iternext*/
  	TimeBaseObj_methods, /* tp_methods */
! 	0, /*outputHook_tp_members*/
  	TimeBaseObj_getsetlist, /*tp_getset*/
! 	0, /*outputHook_tp_base*/
  };
  
--- 1627,1651 ----
  	PyObject_GenericGetAttr, /*tp_getattro*/
  	PyObject_GenericSetAttr, /*tp_setattro */
! 	0, /*tp_as_buffer*/
! 	Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
! 	0, /*tp_doc*/
! 	0, /*tp_traverse*/
! 	0, /*tp_clear*/
! 	0, /*tp_richcompare*/
! 	0, /*tp_weaklistoffset*/
! 	0, /*tp_iter*/
! 	0, /*tp_iternext*/
  	TimeBaseObj_methods, /* tp_methods */
! 	0, /*tp_members*/
  	TimeBaseObj_getsetlist, /*tp_getset*/
! 	0, /*tp_base*/
! 	0, /*tp_dict*/
! 	0, /*tp_descr_get*/
! 	0, /*tp_descr_set*/
! 	0, /*tp_dictoffset*/
! 	TimeBaseObj_tp_init, /* tp_init */
! 	TimeBaseObj_tp_alloc, /* tp_alloc */
! 	TimeBaseObj_tp_new, /* tp_new */
! 	TimeBaseObj_tp_free, /* tp_free */
  };
  
***************
*** 1868,1871 ****
--- 1922,1926 ----
  #define UserDataObj_getsetlist NULL
  
+ 
  #define UserDataObj_compare NULL
  
***************
*** 1873,1876 ****
--- 1928,1949 ----
  
  #define UserDataObj_hash NULL
+ #define UserDataObj_tp_init 0
+ 
+ #define UserDataObj_tp_alloc PyType_GenericAlloc
+ 
+ static PyObject *UserDataObj_tp_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
+ {
+ 	PyObject *self;
+ 	UserData itself;
+ 	char *kw[] = {"itself", 0};
+ 
+ 	if (!PyArg_ParseTupleAndKeywords(args, kwds, "O&", kw, UserDataObj_Convert, &itself)) return NULL;
+ 	if ((self = type->tp_alloc(type, 0)) == NULL) return NULL;
+ 	((UserDataObject *)self)->ob_itself = itself;
+ 	return self;
+ }
+ 
+ #define UserDataObj_tp_free PyObject_Del
+ 
  
  PyTypeObject UserData_Type = {
***************
*** 1895,1911 ****
  	PyObject_GenericGetAttr, /*tp_getattro*/
  	PyObject_GenericSetAttr, /*tp_setattro */
! 	0, /*outputHook_tp_as_buffer*/
! 	0, /*outputHook_tp_flags*/
! 	0, /*outputHook_tp_doc*/
! 	0, /*outputHook_tp_traverse*/
! 	0, /*outputHook_tp_clear*/
! 	0, /*outputHook_tp_richcompare*/
! 	0, /*outputHook_tp_weaklistoffset*/
! 	0, /*outputHook_tp_iter*/
! 	0, /*outputHook_tp_iternext*/
  	UserDataObj_methods, /* tp_methods */
! 	0, /*outputHook_tp_members*/
  	UserDataObj_getsetlist, /*tp_getset*/
! 	0, /*outputHook_tp_base*/
  };
  
--- 1968,1992 ----
  	PyObject_GenericGetAttr, /*tp_getattro*/
  	PyObject_GenericSetAttr, /*tp_setattro */
! 	0, /*tp_as_buffer*/
! 	Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
! 	0, /*tp_doc*/
! 	0, /*tp_traverse*/
! 	0, /*tp_clear*/
! 	0, /*tp_richcompare*/
! 	0, /*tp_weaklistoffset*/
! 	0, /*tp_iter*/
! 	0, /*tp_iternext*/
  	UserDataObj_methods, /* tp_methods */
! 	0, /*tp_members*/
  	UserDataObj_getsetlist, /*tp_getset*/
! 	0, /*tp_base*/
! 	0, /*tp_dict*/
! 	0, /*tp_descr_get*/
! 	0, /*tp_descr_set*/
! 	0, /*tp_dictoffset*/
! 	UserDataObj_tp_init, /* tp_init */
! 	UserDataObj_tp_alloc, /* tp_alloc */
! 	UserDataObj_tp_new, /* tp_new */
! 	UserDataObj_tp_free, /* tp_free */
  };
  
***************
*** 3053,3056 ****
--- 3134,3138 ----
  #define MediaObj_getsetlist NULL
  
+ 
  #define MediaObj_compare NULL
  
***************
*** 3058,3061 ****
--- 3140,3161 ----
  
  #define MediaObj_hash NULL
+ #define MediaObj_tp_init 0
+ 
+ #define MediaObj_tp_alloc PyType_GenericAlloc
+ 
+ static PyObject *MediaObj_tp_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
+ {
+ 	PyObject *self;
+ 	Media itself;
+ 	char *kw[] = {"itself", 0};
+ 
+ 	if (!PyArg_ParseTupleAndKeywords(args, kwds, "O&", kw, MediaObj_Convert, &itself)) return NULL;
+ 	if ((self = type->tp_alloc(type, 0)) == NULL) return NULL;
+ 	((MediaObject *)self)->ob_itself = itself;
+ 	return self;
+ }
+ 
+ #define MediaObj_tp_free PyObject_Del
+ 
  
  PyTypeObject Media_Type = {
***************
*** 3080,3096 ****
  	PyObject_GenericGetAttr, /*tp_getattro*/
  	PyObject_GenericSetAttr, /*tp_setattro */
! 	0, /*outputHook_tp_as_buffer*/
! 	0, /*outputHook_tp_flags*/
! 	0, /*outputHook_tp_doc*/
! 	0, /*outputHook_tp_traverse*/
! 	0, /*outputHook_tp_clear*/
! 	0, /*outputHook_tp_richcompare*/
! 	0, /*outputHook_tp_weaklistoffset*/
! 	0, /*outputHook_tp_iter*/
! 	0, /*outputHook_tp_iternext*/
  	MediaObj_methods, /* tp_methods */
! 	0, /*outputHook_tp_members*/
  	MediaObj_getsetlist, /*tp_getset*/
! 	0, /*outputHook_tp_base*/
  };
  
--- 3180,3204 ----
  	PyObject_GenericGetAttr, /*tp_getattro*/
  	PyObject_GenericSetAttr, /*tp_setattro */
! 	0, /*tp_as_buffer*/
! 	Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
! 	0, /*tp_doc*/
! 	0, /*tp_traverse*/
! 	0, /*tp_clear*/
! 	0, /*tp_richcompare*/
! 	0, /*tp_weaklistoffset*/
! 	0, /*tp_iter*/
! 	0, /*tp_iternext*/
  	MediaObj_methods, /* tp_methods */
! 	0, /*tp_members*/
  	MediaObj_getsetlist, /*tp_getset*/
! 	0, /*tp_base*/
! 	0, /*tp_dict*/
! 	0, /*tp_descr_get*/
! 	0, /*tp_descr_set*/
! 	0, /*tp_dictoffset*/
! 	MediaObj_tp_init, /* tp_init */
! 	MediaObj_tp_alloc, /* tp_alloc */
! 	MediaObj_tp_new, /* tp_new */
! 	MediaObj_tp_free, /* tp_free */
  };
  
***************
*** 4344,4347 ****
--- 4452,4456 ----
  #define TrackObj_getsetlist NULL
  
+ 
  #define TrackObj_compare NULL
  
***************
*** 4349,4352 ****
--- 4458,4479 ----
  
  #define TrackObj_hash NULL
+ #define TrackObj_tp_init 0
+ 
+ #define TrackObj_tp_alloc PyType_GenericAlloc
+ 
+ static PyObject *TrackObj_tp_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
+ {
+ 	PyObject *self;
+ 	Track itself;
+ 	char *kw[] = {"itself", 0};
+ 
+ 	if (!PyArg_ParseTupleAndKeywords(args, kwds, "O&", kw, TrackObj_Convert, &itself)) return NULL;
+ 	if ((self = type->tp_alloc(type, 0)) == NULL) return NULL;
+ 	((TrackObject *)self)->ob_itself = itself;
+ 	return self;
+ }
+ 
+ #define TrackObj_tp_free PyObject_Del
+ 
  
  PyTypeObject Track_Type = {
***************
*** 4371,4387 ****
  	PyObject_GenericGetAttr, /*tp_getattro*/
  	PyObject_GenericSetAttr, /*tp_setattro */
! 	0, /*outputHook_tp_as_buffer*/
! 	0, /*outputHook_tp_flags*/
! 	0, /*outputHook_tp_doc*/
! 	0, /*outputHook_tp_traverse*/
! 	0, /*outputHook_tp_clear*/
! 	0, /*outputHook_tp_richcompare*/
! 	0, /*outputHook_tp_weaklistoffset*/
! 	0, /*outputHook_tp_iter*/
! 	0, /*outputHook_tp_iternext*/
  	TrackObj_methods, /* tp_methods */
! 	0, /*outputHook_tp_members*/
  	TrackObj_getsetlist, /*tp_getset*/
! 	0, /*outputHook_tp_base*/
  };
  
--- 4498,4522 ----
  	PyObject_GenericGetAttr, /*tp_getattro*/
  	PyObject_GenericSetAttr, /*tp_setattro */
! 	0, /*tp_as_buffer*/
! 	Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
! 	0, /*tp_doc*/
! 	0, /*tp_traverse*/
! 	0, /*tp_clear*/
! 	0, /*tp_richcompare*/
! 	0, /*tp_weaklistoffset*/
! 	0, /*tp_iter*/
! 	0, /*tp_iternext*/
  	TrackObj_methods, /* tp_methods */
! 	0, /*tp_members*/
  	TrackObj_getsetlist, /*tp_getset*/
! 	0, /*tp_base*/
! 	0, /*tp_dict*/
! 	0, /*tp_descr_get*/
! 	0, /*tp_descr_set*/
! 	0, /*tp_dictoffset*/
! 	TrackObj_tp_init, /* tp_init */
! 	TrackObj_tp_alloc, /* tp_alloc */
! 	TrackObj_tp_new, /* tp_new */
! 	TrackObj_tp_free, /* tp_free */
  };
  
***************
*** 6775,6778 ****
--- 6910,6914 ----
  #define MovieObj_getsetlist NULL
  
+ 
  #define MovieObj_compare NULL
  
***************
*** 6780,6783 ****
--- 6916,6937 ----
  
  #define MovieObj_hash NULL
+ #define MovieObj_tp_init 0
+ 
+ #define MovieObj_tp_alloc PyType_GenericAlloc
+ 
+ static PyObject *MovieObj_tp_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
+ {
+ 	PyObject *self;
+ 	Movie itself;
+ 	char *kw[] = {"itself", 0};
+ 
+ 	if (!PyArg_ParseTupleAndKeywords(args, kwds, "O&", kw, MovieObj_Convert, &itself)) return NULL;
+ 	if ((self = type->tp_alloc(type, 0)) == NULL) return NULL;
+ 	((MovieObject *)self)->ob_itself = itself;
+ 	return self;
+ }
+ 
+ #define MovieObj_tp_free PyObject_Del
+ 
  
  PyTypeObject Movie_Type = {
***************
*** 6802,6818 ****
  	PyObject_GenericGetAttr, /*tp_getattro*/
  	PyObject_GenericSetAttr, /*tp_setattro */
! 	0, /*outputHook_tp_as_buffer*/
! 	0, /*outputHook_tp_flags*/
! 	0, /*outputHook_tp_doc*/
! 	0, /*outputHook_tp_traverse*/
! 	0, /*outputHook_tp_clear*/
! 	0, /*outputHook_tp_richcompare*/
! 	0, /*outputHook_tp_weaklistoffset*/
! 	0, /*outputHook_tp_iter*/
! 	0, /*outputHook_tp_iternext*/
  	MovieObj_methods, /* tp_methods */
! 	0, /*outputHook_tp_members*/
  	MovieObj_getsetlist, /*tp_getset*/
! 	0, /*outputHook_tp_base*/
  };
  
--- 6956,6980 ----
  	PyObject_GenericGetAttr, /*tp_getattro*/
  	PyObject_GenericSetAttr, /*tp_setattro */
! 	0, /*tp_as_buffer*/
! 	Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
! 	0, /*tp_doc*/
! 	0, /*tp_traverse*/
! 	0, /*tp_clear*/
! 	0, /*tp_richcompare*/
! 	0, /*tp_weaklistoffset*/
! 	0, /*tp_iter*/
! 	0, /*tp_iternext*/
  	MovieObj_methods, /* tp_methods */
! 	0, /*tp_members*/
  	MovieObj_getsetlist, /*tp_getset*/
! 	0, /*tp_base*/
! 	0, /*tp_dict*/
! 	0, /*tp_descr_get*/
! 	0, /*tp_descr_set*/
! 	0, /*tp_dictoffset*/
! 	MovieObj_tp_init, /* tp_init */
! 	MovieObj_tp_alloc, /* tp_alloc */
! 	MovieObj_tp_new, /* tp_new */
! 	MovieObj_tp_free, /* tp_free */
  };
  
***************
*** 9967,9992 ****
  	MovieController_Type.ob_type = &PyType_Type;
  	Py_INCREF(&MovieController_Type);
! 	if (PyDict_SetItemString(d, "MovieControllerType", (PyObject *)&MovieController_Type) != 0)
! 		Py_FatalError("can't initialize MovieControllerType");
  	TimeBase_Type.ob_type = &PyType_Type;
  	Py_INCREF(&TimeBase_Type);
! 	if (PyDict_SetItemString(d, "TimeBaseType", (PyObject *)&TimeBase_Type) != 0)
! 		Py_FatalError("can't initialize TimeBaseType");
  	UserData_Type.ob_type = &PyType_Type;
  	Py_INCREF(&UserData_Type);
! 	if (PyDict_SetItemString(d, "UserDataType", (PyObject *)&UserData_Type) != 0)
! 		Py_FatalError("can't initialize UserDataType");
  	Media_Type.ob_type = &PyType_Type;
  	Py_INCREF(&Media_Type);
! 	if (PyDict_SetItemString(d, "MediaType", (PyObject *)&Media_Type) != 0)
! 		Py_FatalError("can't initialize MediaType");
  	Track_Type.ob_type = &PyType_Type;
  	Py_INCREF(&Track_Type);
! 	if (PyDict_SetItemString(d, "TrackType", (PyObject *)&Track_Type) != 0)
! 		Py_FatalError("can't initialize TrackType");
  	Movie_Type.ob_type = &PyType_Type;
  	Py_INCREF(&Movie_Type);
! 	if (PyDict_SetItemString(d, "MovieType", (PyObject *)&Movie_Type) != 0)
! 		Py_FatalError("can't initialize MovieType");
  }
  
--- 10129,10166 ----
  	MovieController_Type.ob_type = &PyType_Type;
  	Py_INCREF(&MovieController_Type);
! 	PyModule_AddObject(m, "MovieController", (PyObject *)&MovieController_Type);
! 	/* Backward-compatible name */
! 	Py_INCREF(&MovieController_Type);
! 	PyModule_AddObject(m, "MovieControllerType", (PyObject *)&MovieController_Type);
  	TimeBase_Type.ob_type = &PyType_Type;
  	Py_INCREF(&TimeBase_Type);
! 	PyModule_AddObject(m, "TimeBase", (PyObject *)&TimeBase_Type);
! 	/* Backward-compatible name */
! 	Py_INCREF(&TimeBase_Type);
! 	PyModule_AddObject(m, "TimeBaseType", (PyObject *)&TimeBase_Type);
  	UserData_Type.ob_type = &PyType_Type;
  	Py_INCREF(&UserData_Type);
! 	PyModule_AddObject(m, "UserData", (PyObject *)&UserData_Type);
! 	/* Backward-compatible name */
! 	Py_INCREF(&UserData_Type);
! 	PyModule_AddObject(m, "UserDataType", (PyObject *)&UserData_Type);
  	Media_Type.ob_type = &PyType_Type;
  	Py_INCREF(&Media_Type);
! 	PyModule_AddObject(m, "Media", (PyObject *)&Media_Type);
! 	/* Backward-compatible name */
! 	Py_INCREF(&Media_Type);
! 	PyModule_AddObject(m, "MediaType", (PyObject *)&Media_Type);
  	Track_Type.ob_type = &PyType_Type;
  	Py_INCREF(&Track_Type);
! 	PyModule_AddObject(m, "Track", (PyObject *)&Track_Type);
! 	/* Backward-compatible name */
! 	Py_INCREF(&Track_Type);
! 	PyModule_AddObject(m, "TrackType", (PyObject *)&Track_Type);
  	Movie_Type.ob_type = &PyType_Type;
  	Py_INCREF(&Movie_Type);
! 	PyModule_AddObject(m, "Movie", (PyObject *)&Movie_Type);
! 	/* Backward-compatible name */
! 	Py_INCREF(&Movie_Type);
! 	PyModule_AddObject(m, "MovieType", (PyObject *)&Movie_Type);
  }
  

Index: qtsupport.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Modules/qt/qtsupport.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** qtsupport.py	29 Nov 2002 23:40:47 -0000	1.20
--- qtsupport.py	3 Dec 2002 23:40:21 -0000	1.21
***************
*** 182,186 ****
  dummyStringPtr = FakeType('(StringPtr)0')
  
! class MovieObjectDefinition(PEP252Mixin, GlobalObjectDefinition):
  	def outputCheckNewArg(self):
  		Output("""if (itself == NULL) {
--- 182,186 ----
  dummyStringPtr = FakeType('(StringPtr)0')
  
! class MovieObjectDefinition(PEP253Mixin, GlobalObjectDefinition):
  	def outputCheckNewArg(self):
  		Output("""if (itself == NULL) {
***************
*** 191,195 ****
  		Output("DisposeMovie(%s);", itselfname)
  
! class TrackObjectDefinition(PEP252Mixin, GlobalObjectDefinition):
  	def outputCheckNewArg(self):
  		Output("""if (itself == NULL) {
--- 191,195 ----
  		Output("DisposeMovie(%s);", itselfname)
  
! class TrackObjectDefinition(PEP253Mixin, GlobalObjectDefinition):
  	def outputCheckNewArg(self):
  		Output("""if (itself == NULL) {
***************
*** 200,204 ****
  		Output("DisposeMovieTrack(%s);", itselfname)
  
! class MediaObjectDefinition(PEP252Mixin, GlobalObjectDefinition):
  	def outputCheckNewArg(self):
  		Output("""if (itself == NULL) {
--- 200,204 ----
  		Output("DisposeMovieTrack(%s);", itselfname)
  
! class MediaObjectDefinition(PEP253Mixin, GlobalObjectDefinition):
  	def outputCheckNewArg(self):
  		Output("""if (itself == NULL) {
***************
*** 209,213 ****
  		Output("DisposeTrackMedia(%s);", itselfname)
  
! class UserDataObjectDefinition(PEP252Mixin, GlobalObjectDefinition):
  	def outputCheckNewArg(self):
  		Output("""if (itself == NULL) {
--- 209,213 ----
  		Output("DisposeTrackMedia(%s);", itselfname)
  
! class UserDataObjectDefinition(PEP253Mixin, GlobalObjectDefinition):
  	def outputCheckNewArg(self):
  		Output("""if (itself == NULL) {
***************
*** 218,222 ****
  		Output("DisposeUserData(%s);", itselfname)
  
! class TimeBaseObjectDefinition(PEP252Mixin, GlobalObjectDefinition):
  	def outputCheckNewArg(self):
  		Output("""if (itself == NULL) {
--- 218,222 ----
  		Output("DisposeUserData(%s);", itselfname)
  
! class TimeBaseObjectDefinition(PEP253Mixin, GlobalObjectDefinition):
  	def outputCheckNewArg(self):
  		Output("""if (itself == NULL) {
***************
*** 227,231 ****
  ##		Output("DisposeTimeBase(%s);", itselfname)
  
! class MovieCtlObjectDefinition(PEP252Mixin, GlobalObjectDefinition):
  	def outputCheckNewArg(self):
  		Output("""if (itself == NULL) {
--- 227,231 ----
  ##		Output("DisposeTimeBase(%s);", itselfname)
  
! class MovieCtlObjectDefinition(PEP253Mixin, GlobalObjectDefinition):
  	def outputCheckNewArg(self):
  		Output("""if (itself == NULL) {