mirror of
https://github.com/python/cpython.git
synced 2025-12-23 09:19:18 +00:00
Added support for the horribly complex TimeRecord, so we can position
movies, etc. TimeBase objects have also been slightly modified for this (for instance: the DisposeTimeBase call shouldn't be done in the __del__ routine, the timebase might belong to someone else).
This commit is contained in:
parent
7f725e4061
commit
b2006395b7
3 changed files with 431 additions and 9 deletions
|
|
@ -60,7 +60,34 @@ staticforward int TrackObj_Convert(PyObject *, Track *);
|
|||
staticforward PyObject *MovieObj_New(Movie);
|
||||
staticforward int MovieObj_Convert(PyObject *, Movie *);
|
||||
staticforward PyObject *MovieCtlObj_New(MovieController);
|
||||
staticforward int MovieCtlObj_Convert(PyObject *, MovieController *);
|
||||
staticforward int MovieCtlObj_Convert(PyObject *, TimeBase *);
|
||||
staticforward PyObject *TimeBaseObj_New(TimeBase);
|
||||
staticforward int TimeBaseObj_Convert(PyObject *, TimeBase *);
|
||||
|
||||
/*
|
||||
** Parse/generate time records
|
||||
*/
|
||||
static PyObject *
|
||||
QtTimeRecord_New(itself)
|
||||
TimeRecord *itself;
|
||||
{
|
||||
|
||||
return Py_BuildValue("O&lO&", PyMac_Buildwide, &itself->value, itself->scale,
|
||||
TimeBaseObj_New, itself->base);
|
||||
}
|
||||
|
||||
static int
|
||||
QtTimeRecord_Convert(v, p_itself)
|
||||
PyObject *v;
|
||||
TimeRecord *p_itself;
|
||||
{
|
||||
|
||||
if( !PyArg_ParseTuple(v, "O&lO&", PyMac_Getwide, &p_itself->value, &p_itself->scale,
|
||||
TimeBaseObj_Convert, &p_itself->base) )
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1050,10 +1077,59 @@ TimeBaseObj_Convert(v, p_itself)
|
|||
static void TimeBaseObj_dealloc(self)
|
||||
TimeBaseObject *self;
|
||||
{
|
||||
DisposeTimeBase(self->ob_itself);
|
||||
/* Cleanup of self->ob_itself goes here */
|
||||
PyMem_DEL(self);
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_DisposeTimeBase(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
if (!PyArg_ParseTuple(_args, ""))
|
||||
return NULL;
|
||||
DisposeTimeBase(_self->ob_itself);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_GetTimeBaseTime(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeValue _rv;
|
||||
TimeScale s;
|
||||
TimeRecord tr;
|
||||
if (!PyArg_ParseTuple(_args, "l",
|
||||
&s))
|
||||
return NULL;
|
||||
_rv = GetTimeBaseTime(_self->ob_itself,
|
||||
s,
|
||||
&tr);
|
||||
_res = Py_BuildValue("lO&",
|
||||
_rv,
|
||||
QtTimeRecord_New, &tr);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_SetTimeBaseTime(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeRecord tr;
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
QtTimeRecord_Convert, &tr))
|
||||
return NULL;
|
||||
SetTimeBaseTime(_self->ob_itself,
|
||||
&tr);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_SetTimeBaseValue(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
|
|
@ -1103,6 +1179,78 @@ static PyObject *TimeBaseObj_SetTimeBaseRate(_self, _args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_GetTimeBaseStartTime(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeValue _rv;
|
||||
TimeScale s;
|
||||
TimeRecord tr;
|
||||
if (!PyArg_ParseTuple(_args, "l",
|
||||
&s))
|
||||
return NULL;
|
||||
_rv = GetTimeBaseStartTime(_self->ob_itself,
|
||||
s,
|
||||
&tr);
|
||||
_res = Py_BuildValue("lO&",
|
||||
_rv,
|
||||
QtTimeRecord_New, &tr);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_SetTimeBaseStartTime(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeRecord tr;
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
QtTimeRecord_Convert, &tr))
|
||||
return NULL;
|
||||
SetTimeBaseStartTime(_self->ob_itself,
|
||||
&tr);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_GetTimeBaseStopTime(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeValue _rv;
|
||||
TimeScale s;
|
||||
TimeRecord tr;
|
||||
if (!PyArg_ParseTuple(_args, "l",
|
||||
&s))
|
||||
return NULL;
|
||||
_rv = GetTimeBaseStopTime(_self->ob_itself,
|
||||
s,
|
||||
&tr);
|
||||
_res = Py_BuildValue("lO&",
|
||||
_rv,
|
||||
QtTimeRecord_New, &tr);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_SetTimeBaseStopTime(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeRecord tr;
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
QtTimeRecord_Convert, &tr))
|
||||
return NULL;
|
||||
SetTimeBaseStopTime(_self->ob_itself,
|
||||
&tr);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_GetTimeBaseFlags(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
|
|
@ -1133,6 +1281,25 @@ static PyObject *TimeBaseObj_SetTimeBaseFlags(_self, _args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_SetTimeBaseMasterTimeBase(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeBase master;
|
||||
TimeRecord slaveZero;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&",
|
||||
TimeBaseObj_Convert, &master,
|
||||
QtTimeRecord_Convert, &slaveZero))
|
||||
return NULL;
|
||||
SetTimeBaseMasterTimeBase(_self->ob_itself,
|
||||
master,
|
||||
&slaveZero);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_GetTimeBaseMasterTimeBase(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
|
|
@ -1147,6 +1314,25 @@ static PyObject *TimeBaseObj_GetTimeBaseMasterTimeBase(_self, _args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_SetTimeBaseMasterClock(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
Component clockMeister;
|
||||
TimeRecord slaveZero;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&",
|
||||
CmpObj_Convert, &clockMeister,
|
||||
QtTimeRecord_Convert, &slaveZero))
|
||||
return NULL;
|
||||
SetTimeBaseMasterClock(_self->ob_itself,
|
||||
clockMeister,
|
||||
&slaveZero);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_GetTimeBaseMasterClock(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
|
|
@ -1161,6 +1347,38 @@ static PyObject *TimeBaseObj_GetTimeBaseMasterClock(_self, _args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_GetTimeBaseStatus(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
long _rv;
|
||||
TimeRecord unpinnedTime;
|
||||
if (!PyArg_ParseTuple(_args, ""))
|
||||
return NULL;
|
||||
_rv = GetTimeBaseStatus(_self->ob_itself,
|
||||
&unpinnedTime);
|
||||
_res = Py_BuildValue("lO&",
|
||||
_rv,
|
||||
QtTimeRecord_New, &unpinnedTime);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_SetTimeBaseZero(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeRecord zero;
|
||||
if (!PyArg_ParseTuple(_args, ""))
|
||||
return NULL;
|
||||
SetTimeBaseZero(_self->ob_itself,
|
||||
&zero);
|
||||
_res = Py_BuildValue("O&",
|
||||
QtTimeRecord_New, &zero);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *TimeBaseObj_GetTimeBaseEffectiveRate(_self, _args)
|
||||
TimeBaseObject *_self;
|
||||
PyObject *_args;
|
||||
|
|
@ -1176,20 +1394,42 @@ static PyObject *TimeBaseObj_GetTimeBaseEffectiveRate(_self, _args)
|
|||
}
|
||||
|
||||
static PyMethodDef TimeBaseObj_methods[] = {
|
||||
{"DisposeTimeBase", (PyCFunction)TimeBaseObj_DisposeTimeBase, 1,
|
||||
"() -> None"},
|
||||
{"GetTimeBaseTime", (PyCFunction)TimeBaseObj_GetTimeBaseTime, 1,
|
||||
"(TimeScale s) -> (TimeValue _rv, TimeRecord tr)"},
|
||||
{"SetTimeBaseTime", (PyCFunction)TimeBaseObj_SetTimeBaseTime, 1,
|
||||
"(TimeRecord tr) -> None"},
|
||||
{"SetTimeBaseValue", (PyCFunction)TimeBaseObj_SetTimeBaseValue, 1,
|
||||
"(TimeValue t, TimeScale s) -> None"},
|
||||
{"GetTimeBaseRate", (PyCFunction)TimeBaseObj_GetTimeBaseRate, 1,
|
||||
"() -> (Fixed _rv)"},
|
||||
{"SetTimeBaseRate", (PyCFunction)TimeBaseObj_SetTimeBaseRate, 1,
|
||||
"(Fixed r) -> None"},
|
||||
{"GetTimeBaseStartTime", (PyCFunction)TimeBaseObj_GetTimeBaseStartTime, 1,
|
||||
"(TimeScale s) -> (TimeValue _rv, TimeRecord tr)"},
|
||||
{"SetTimeBaseStartTime", (PyCFunction)TimeBaseObj_SetTimeBaseStartTime, 1,
|
||||
"(TimeRecord tr) -> None"},
|
||||
{"GetTimeBaseStopTime", (PyCFunction)TimeBaseObj_GetTimeBaseStopTime, 1,
|
||||
"(TimeScale s) -> (TimeValue _rv, TimeRecord tr)"},
|
||||
{"SetTimeBaseStopTime", (PyCFunction)TimeBaseObj_SetTimeBaseStopTime, 1,
|
||||
"(TimeRecord tr) -> None"},
|
||||
{"GetTimeBaseFlags", (PyCFunction)TimeBaseObj_GetTimeBaseFlags, 1,
|
||||
"() -> (long _rv)"},
|
||||
{"SetTimeBaseFlags", (PyCFunction)TimeBaseObj_SetTimeBaseFlags, 1,
|
||||
"(long timeBaseFlags) -> None"},
|
||||
{"SetTimeBaseMasterTimeBase", (PyCFunction)TimeBaseObj_SetTimeBaseMasterTimeBase, 1,
|
||||
"(TimeBase master, TimeRecord slaveZero) -> None"},
|
||||
{"GetTimeBaseMasterTimeBase", (PyCFunction)TimeBaseObj_GetTimeBaseMasterTimeBase, 1,
|
||||
"() -> (TimeBase _rv)"},
|
||||
{"SetTimeBaseMasterClock", (PyCFunction)TimeBaseObj_SetTimeBaseMasterClock, 1,
|
||||
"(Component clockMeister, TimeRecord slaveZero) -> None"},
|
||||
{"GetTimeBaseMasterClock", (PyCFunction)TimeBaseObj_GetTimeBaseMasterClock, 1,
|
||||
"() -> (ComponentInstance _rv)"},
|
||||
{"GetTimeBaseStatus", (PyCFunction)TimeBaseObj_GetTimeBaseStatus, 1,
|
||||
"() -> (long _rv, TimeRecord unpinnedTime)"},
|
||||
{"SetTimeBaseZero", (PyCFunction)TimeBaseObj_SetTimeBaseZero, 1,
|
||||
"() -> (TimeRecord zero)"},
|
||||
{"GetTimeBaseEffectiveRate", (PyCFunction)TimeBaseObj_GetTimeBaseEffectiveRate, 1,
|
||||
"() -> (Fixed _rv)"},
|
||||
{NULL, NULL, 0}
|
||||
|
|
@ -4008,6 +4248,44 @@ static PyObject *MovieObj_GetMovieTimeBase(_self, _args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *MovieObj_SetMovieMasterTimeBase(_self, _args)
|
||||
MovieObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeBase tb;
|
||||
TimeRecord slaveZero;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&",
|
||||
TimeBaseObj_Convert, &tb,
|
||||
QtTimeRecord_Convert, &slaveZero))
|
||||
return NULL;
|
||||
SetMovieMasterTimeBase(_self->ob_itself,
|
||||
tb,
|
||||
&slaveZero);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *MovieObj_SetMovieMasterClock(_self, _args)
|
||||
MovieObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
Component clockMeister;
|
||||
TimeRecord slaveZero;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&",
|
||||
CmpObj_Convert, &clockMeister,
|
||||
QtTimeRecord_Convert, &slaveZero))
|
||||
return NULL;
|
||||
SetMovieMasterClock(_self->ob_itself,
|
||||
clockMeister,
|
||||
&slaveZero);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *MovieObj_GetMovieGWorld(_self, _args)
|
||||
MovieObject *_self;
|
||||
PyObject *_args;
|
||||
|
|
@ -4652,6 +4930,39 @@ static PyObject *MovieObj_GetMovieActiveSegment(_self, _args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *MovieObj_GetMovieTime(_self, _args)
|
||||
MovieObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeValue _rv;
|
||||
TimeRecord currentTime;
|
||||
if (!PyArg_ParseTuple(_args, ""))
|
||||
return NULL;
|
||||
_rv = GetMovieTime(_self->ob_itself,
|
||||
¤tTime);
|
||||
_res = Py_BuildValue("lO&",
|
||||
_rv,
|
||||
QtTimeRecord_New, ¤tTime);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *MovieObj_SetMovieTime(_self, _args)
|
||||
MovieObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeRecord newtime;
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
QtTimeRecord_Convert, &newtime))
|
||||
return NULL;
|
||||
SetMovieTime(_self->ob_itself,
|
||||
&newtime);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *MovieObj_SetMovieTimeValue(_self, _args)
|
||||
MovieObject *_self;
|
||||
PyObject *_args;
|
||||
|
|
@ -5604,6 +5915,10 @@ static PyMethodDef MovieObj_methods[] = {
|
|||
"() -> None"},
|
||||
{"GetMovieTimeBase", (PyCFunction)MovieObj_GetMovieTimeBase, 1,
|
||||
"() -> (TimeBase _rv)"},
|
||||
{"SetMovieMasterTimeBase", (PyCFunction)MovieObj_SetMovieMasterTimeBase, 1,
|
||||
"(TimeBase tb, TimeRecord slaveZero) -> None"},
|
||||
{"SetMovieMasterClock", (PyCFunction)MovieObj_SetMovieMasterClock, 1,
|
||||
"(Component clockMeister, TimeRecord slaveZero) -> None"},
|
||||
{"GetMovieGWorld", (PyCFunction)MovieObj_GetMovieGWorld, 1,
|
||||
"() -> (CGrafPtr port, GDHandle gdh)"},
|
||||
{"SetMovieGWorld", (PyCFunction)MovieObj_SetMovieGWorld, 1,
|
||||
|
|
@ -5684,6 +5999,10 @@ static PyMethodDef MovieObj_methods[] = {
|
|||
"(TimeValue startTime, TimeValue duration) -> None"},
|
||||
{"GetMovieActiveSegment", (PyCFunction)MovieObj_GetMovieActiveSegment, 1,
|
||||
"() -> (TimeValue startTime, TimeValue duration)"},
|
||||
{"GetMovieTime", (PyCFunction)MovieObj_GetMovieTime, 1,
|
||||
"() -> (TimeValue _rv, TimeRecord currentTime)"},
|
||||
{"SetMovieTime", (PyCFunction)MovieObj_SetMovieTime, 1,
|
||||
"(TimeRecord newtime) -> None"},
|
||||
{"SetMovieTimeValue", (PyCFunction)MovieObj_SetMovieTimeValue, 1,
|
||||
"(TimeValue newtime) -> None"},
|
||||
{"GetMovieUserData", (PyCFunction)MovieObj_GetMovieUserData, 1,
|
||||
|
|
@ -7198,6 +7517,74 @@ static PyObject *Qt_NewTimeBase(_self, _args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *Qt_ConvertTime(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeRecord inout;
|
||||
TimeBase newBase;
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
TimeBaseObj_Convert, &newBase))
|
||||
return NULL;
|
||||
ConvertTime(&inout,
|
||||
newBase);
|
||||
_res = Py_BuildValue("O&",
|
||||
QtTimeRecord_New, &inout);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *Qt_ConvertTimeScale(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeRecord inout;
|
||||
TimeScale newScale;
|
||||
if (!PyArg_ParseTuple(_args, "l",
|
||||
&newScale))
|
||||
return NULL;
|
||||
ConvertTimeScale(&inout,
|
||||
newScale);
|
||||
_res = Py_BuildValue("O&",
|
||||
QtTimeRecord_New, &inout);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *Qt_AddTime(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeRecord dst;
|
||||
TimeRecord src;
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
QtTimeRecord_Convert, &src))
|
||||
return NULL;
|
||||
AddTime(&dst,
|
||||
&src);
|
||||
_res = Py_BuildValue("O&",
|
||||
QtTimeRecord_New, &dst);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *Qt_SubtractTime(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
TimeRecord dst;
|
||||
TimeRecord src;
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
QtTimeRecord_Convert, &src))
|
||||
return NULL;
|
||||
SubtractTime(&dst,
|
||||
&src);
|
||||
_res = Py_BuildValue("O&",
|
||||
QtTimeRecord_New, &dst);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *Qt_MusicMediaGetIndexedTunePlayer(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
|
|
@ -7386,6 +7773,14 @@ static PyMethodDef Qt_methods[] = {
|
|||
"(MediaHandler mh, short imageIndex, long imagePropertyType, void * imagePropertyValue) -> (ComponentResult _rv)"},
|
||||
{"NewTimeBase", (PyCFunction)Qt_NewTimeBase, 1,
|
||||
"() -> (TimeBase _rv)"},
|
||||
{"ConvertTime", (PyCFunction)Qt_ConvertTime, 1,
|
||||
"(TimeBase newBase) -> (TimeRecord inout)"},
|
||||
{"ConvertTimeScale", (PyCFunction)Qt_ConvertTimeScale, 1,
|
||||
"(TimeScale newScale) -> (TimeRecord inout)"},
|
||||
{"AddTime", (PyCFunction)Qt_AddTime, 1,
|
||||
"(TimeRecord src) -> (TimeRecord dst)"},
|
||||
{"SubtractTime", (PyCFunction)Qt_SubtractTime, 1,
|
||||
"(TimeRecord src) -> (TimeRecord dst)"},
|
||||
{"MusicMediaGetIndexedTunePlayer", (PyCFunction)Qt_MusicMediaGetIndexedTunePlayer, 1,
|
||||
"(ComponentInstance ti, long sampleDescIndex) -> (ComponentResult _rv, ComponentInstance tp)"},
|
||||
{"AlignWindow", (PyCFunction)Qt_AlignWindow, 1,
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ class MyScanner(Scanner):
|
|||
"DisposeMovieTrack", # ditto
|
||||
"DisposeTrackMedia", # ditto
|
||||
"DisposeUserData", # ditto
|
||||
"DisposeTimeBase", # ditto
|
||||
# "DisposeTimeBase", # ditto
|
||||
"DisposeMovieController", # ditto
|
||||
|
||||
# The following 4 use 'void *' in an uncontrolled way
|
||||
|
|
@ -98,8 +98,6 @@ class MyScanner(Scanner):
|
|||
# We dont do callbacks yet, so no need for these
|
||||
"QTCallBack",
|
||||
# Skipped for now, due to laziness
|
||||
"TimeRecord",
|
||||
"TimeRecord_ptr",
|
||||
"TrackEditState",
|
||||
"MovieEditState",
|
||||
"MatrixRecord",
|
||||
|
|
|
|||
|
|
@ -42,7 +42,34 @@ staticforward int TrackObj_Convert(PyObject *, Track *);
|
|||
staticforward PyObject *MovieObj_New(Movie);
|
||||
staticforward int MovieObj_Convert(PyObject *, Movie *);
|
||||
staticforward PyObject *MovieCtlObj_New(MovieController);
|
||||
staticforward int MovieCtlObj_Convert(PyObject *, MovieController *);
|
||||
staticforward int MovieCtlObj_Convert(PyObject *, TimeBase *);
|
||||
staticforward PyObject *TimeBaseObj_New(TimeBase);
|
||||
staticforward int TimeBaseObj_Convert(PyObject *, TimeBase *);
|
||||
|
||||
/*
|
||||
** Parse/generate time records
|
||||
*/
|
||||
static PyObject *
|
||||
QtTimeRecord_New(itself)
|
||||
TimeRecord *itself;
|
||||
{
|
||||
|
||||
return Py_BuildValue("O&lO&", PyMac_Buildwide, &itself->value, itself->scale,
|
||||
TimeBaseObj_New, itself->base);
|
||||
}
|
||||
|
||||
static int
|
||||
QtTimeRecord_Convert(v, p_itself)
|
||||
PyObject *v;
|
||||
TimeRecord *p_itself;
|
||||
{
|
||||
|
||||
if( !PyArg_ParseTuple(v, "O&lO&", PyMac_Getwide, &p_itself->value, &p_itself->scale,
|
||||
TimeBaseObj_Convert, &p_itself->base) )
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
"""
|
||||
|
|
@ -81,7 +108,9 @@ OSType_ptr = OpaqueType("OSType", "PyMac_BuildOSType", "PyMac_GetOSType")
|
|||
float_ptr = ByAddressType("float", "f")
|
||||
|
||||
RGBColor = OpaqueType("RGBColor", "QdRGB")
|
||||
RGBColor_ptr = OpaqueType("RGBColor", "QdRGB")
|
||||
RGBColor_ptr = RGBColor
|
||||
TimeRecord = OpaqueType("TimeRecord", "QtTimeRecord")
|
||||
TimeRecord_ptr = TimeRecord
|
||||
|
||||
# Non-opaque types, mostly integer-ish
|
||||
TimeValue = Type("TimeValue", "l")
|
||||
|
|
@ -150,8 +179,8 @@ class TimeBaseObjectDefinition(GlobalObjectDefinition):
|
|||
PyErr_SetString(Qt_Error,"Cannot create null TimeBase");
|
||||
return NULL;
|
||||
}""")
|
||||
def outputFreeIt(self, itselfname):
|
||||
Output("DisposeTimeBase(%s);", itselfname)
|
||||
## def outputFreeIt(self, itselfname):
|
||||
## Output("DisposeTimeBase(%s);", itselfname)
|
||||
|
||||
class MovieCtlObjectDefinition(GlobalObjectDefinition):
|
||||
def outputCheckNewArg(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue