mirror of
https://github.com/python/cpython.git
synced 2025-07-24 03:35:53 +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 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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue