mirror of
https://github.com/python/cpython.git
synced 2025-11-03 03:22:27 +00:00
Added a method GetMediaNextInterestingTimeOnly, which is like GetMediaNextInterestingTime without asking for the duration (which is, according to qt docs, expensive).
This commit is contained in:
parent
1966004986
commit
c59996e6b1
2 changed files with 42 additions and 0 deletions
|
|
@ -64,6 +64,9 @@ staticforward int MovieCtlObj_Convert(PyObject *, TimeBase *);
|
||||||
staticforward PyObject *TimeBaseObj_New(TimeBase);
|
staticforward PyObject *TimeBaseObj_New(TimeBase);
|
||||||
staticforward int TimeBaseObj_Convert(PyObject *, 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
|
** Parse/generate time records
|
||||||
*/
|
*/
|
||||||
|
|
@ -2746,6 +2749,30 @@ static PyObject *MediaObj_GetMediaPlayHints(_self, _args)
|
||||||
return _res;
|
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[] = {
|
static PyMethodDef MediaObj_methods[] = {
|
||||||
{"LoadMediaIntoRam", (PyCFunction)MediaObj_LoadMediaIntoRam, 1,
|
{"LoadMediaIntoRam", (PyCFunction)MediaObj_LoadMediaIntoRam, 1,
|
||||||
"(TimeValue time, TimeValue duration, long flags) -> None"},
|
"(TimeValue time, TimeValue duration, long flags) -> None"},
|
||||||
|
|
@ -2837,6 +2864,8 @@ static PyMethodDef MediaObj_methods[] = {
|
||||||
"(long flags, long flagsMask) -> None"},
|
"(long flags, long flagsMask) -> None"},
|
||||||
{"GetMediaPlayHints", (PyCFunction)MediaObj_GetMediaPlayHints, 1,
|
{"GetMediaPlayHints", (PyCFunction)MediaObj_GetMediaPlayHints, 1,
|
||||||
"() -> (long flags)"},
|
"() -> (long flags)"},
|
||||||
|
{"GetMediaNextInterestingTimeOnly", (PyCFunction)MediaObj_GetMediaNextInterestingTimeOnly, 1,
|
||||||
|
"(short interestingTimeFlags, TimeValue time, Fixed rate) -> (TimeValue interestingTime)"},
|
||||||
{NULL, NULL, 0}
|
{NULL, NULL, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,10 @@ staticforward int MovieCtlObj_Convert(PyObject *, TimeBase *);
|
||||||
staticforward PyObject *TimeBaseObj_New(TimeBase);
|
staticforward PyObject *TimeBaseObj_New(TimeBase);
|
||||||
staticforward int TimeBaseObj_Convert(PyObject *, 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
|
** Parse/generate time records
|
||||||
*/
|
*/
|
||||||
|
|
@ -261,6 +265,15 @@ f = Function(void, 'MoviesTask',
|
||||||
)
|
)
|
||||||
functions.append(f)
|
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
|
# add the populated lists to the generator groups
|
||||||
# (in a different wordl the scan program would generate this)
|
# (in a different wordl the scan program would generate this)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue