diff --git a/Mac/Modules/qt/Qtmodule.c b/Mac/Modules/qt/Qtmodule.c
index d374b45..a03286e 100644
--- a/Mac/Modules/qt/Qtmodule.c
+++ b/Mac/Modules/qt/Qtmodule.c
@@ -64,6 +64,9 @@
 staticforward PyObject *TimeBaseObj_New(TimeBase);
 staticforward int TimeBaseObj_Convert(PyObject *, TimeBase *);
 
+/* Macro to allow us to GetNextInterestingTime without duration */
+#define GetMediaNextInterestingTimeOnly(media, flags, time, rate, rv) 			GetMediaNextInterestingTime(media, flags, time, rate, rv, NULL)
+			
 /*
 ** Parse/generate time records
 */
@@ -2746,6 +2749,30 @@
 	return _res;
 }
 
+static PyObject *MediaObj_GetMediaNextInterestingTimeOnly(_self, _args)
+	MediaObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	short interestingTimeFlags;
+	TimeValue time;
+	Fixed rate;
+	TimeValue interestingTime;
+	if (!PyArg_ParseTuple(_args, "hlO&",
+	                      &interestingTimeFlags,
+	                      &time,
+	                      PyMac_GetFixed, &rate))
+		return NULL;
+	GetMediaNextInterestingTimeOnly(_self->ob_itself,
+	                                interestingTimeFlags,
+	                                time,
+	                                rate,
+	                                &interestingTime);
+	_res = Py_BuildValue("l",
+	                     interestingTime);
+	return _res;
+}
+
 static PyMethodDef MediaObj_methods[] = {
 	{"LoadMediaIntoRam", (PyCFunction)MediaObj_LoadMediaIntoRam, 1,
 	 "(TimeValue time, TimeValue duration, long flags) -> None"},
@@ -2837,6 +2864,8 @@
 	 "(long flags, long flagsMask) -> None"},
 	{"GetMediaPlayHints", (PyCFunction)MediaObj_GetMediaPlayHints, 1,
 	 "() -> (long flags)"},
+	{"GetMediaNextInterestingTimeOnly", (PyCFunction)MediaObj_GetMediaNextInterestingTimeOnly, 1,
+	 "(short interestingTimeFlags, TimeValue time, Fixed rate) -> (TimeValue interestingTime)"},
 	{NULL, NULL, 0}
 };
 
diff --git a/Mac/Modules/qt/qtsupport.py b/Mac/Modules/qt/qtsupport.py
index f4186f7..9bf3ec7 100644
--- a/Mac/Modules/qt/qtsupport.py
+++ b/Mac/Modules/qt/qtsupport.py
@@ -46,6 +46,10 @@
 staticforward PyObject *TimeBaseObj_New(TimeBase);
 staticforward int TimeBaseObj_Convert(PyObject *, TimeBase *);
 
+/* Macro to allow us to GetNextInterestingTime without duration */
+#define GetMediaNextInterestingTimeOnly(media, flags, time, rate, rv) \
+			GetMediaNextInterestingTime(media, flags, time, rate, rv, NULL)
+			
 /*
 ** Parse/generate time records
 */
@@ -261,6 +265,15 @@
 )
 functions.append(f)
 
+# And we want a GetMediaNextInterestingTime without duration
+f = Method(void, 'GetMediaNextInterestingTimeOnly',
+    (Media, 'theMedia', InMode),
+    (short, 'interestingTimeFlags', InMode),
+    (TimeValue, 'time', InMode),
+    (Fixed, 'rate', InMode),
+    (TimeValue, 'interestingTime', OutMode),
+)
+Media_methods.append(f)
 
 # add the populated lists to the generator groups
 # (in a different wordl the scan program would generate this)
