Commit 581b8467 authored by Jack Jansen's avatar Jack Jansen

Added a method GetMediaNextInterestingTimeOnly, which is like...

Added a method GetMediaNextInterestingTimeOnly, which is like GetMediaNextInterestingTime without asking for the duration (which is, according to qt docs, expensive).
parent eb775996
......@@ -64,6 +64,9 @@ staticforward int MovieCtlObj_Convert(PyObject *, TimeBase *);
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 @@ static PyObject *MediaObj_GetMediaPlayHints(_self, _args)
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 @@ static PyMethodDef MediaObj_methods[] = {
"(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}
};
......
......@@ -46,6 +46,10 @@ staticforward int MovieCtlObj_Convert(PyObject *, TimeBase *);
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 @@ f = Function(void, 'MoviesTask',
)
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)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment