[PATCH 1/2] include: Add AMTimeline class and its dependencies.

Andrew Eikum aeikum at codeweavers.com
Mon Apr 25 08:50:43 CDT 2016


Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>

On Sun, Apr 24, 2016 at 09:40:26PM -0600, Alex Henrie wrote:
> Cc: Andrew Eikum <aeikum at codeweavers.com>
> 
> For https://bugs.winehq.org/show_bug.cgi?id=32473
> 
> Matches the qedit.idl in the DirectX 8.1 SDK.
> 
> Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
> ---
>  include/qedit.idl | 639 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 639 insertions(+)
> 
> diff --git a/include/qedit.idl b/include/qedit.idl
> index 1cf0996..d42e691 100644
> --- a/include/qedit.idl
> +++ b/include/qedit.idl
> @@ -167,6 +167,645 @@ coclass MediaDet
>      [default] interface IMediaDet;
>  };
>  
> +[
> +    object,
> +    uuid(288581E0-66CE-11d2-918F-00C0DF10D434),
> +    odl,
> +    pointer_default(unique)
> +]
> +interface IMediaLocator : IUnknown
> +{
> +    HRESULT FindMediaFile(
> +        BSTR input,
> +        BSTR filter,
> +        BSTR * output,
> +        long flags
> +    );
> +
> +    HRESULT AddFoundLocation(
> +        BSTR dir
> +    );
> +};
> +
> +typedef struct
> +{
> +    BSTR name;
> +    DISPID dispID;
> +    LONG nValues;
> +} DEXTER_PARAM;
> +
> +typedef struct
> +{
> +    VARIANT v;
> +    REFERENCE_TIME rt;
> +    DWORD dwInterp;
> +} DEXTER_VALUE;
> +
> +[
> +    object,
> +    uuid(AE9472BD-B0C3-11D2-8D24-00A0C9441E20),
> +    pointer_default(unique)
> +]
> +interface IPropertySetter : IUnknown
> +{
> +    HRESULT LoadXML(
> +        [in] IUnknown * pxml
> +    );
> +
> +    HRESULT PrintXML(
> +        [out] char * xml,
> +        [in] int size,
> +        [out] int * printed,
> +        [in] int indent
> +    );
> +
> +    HRESULT CloneProps(
> +        [out] IPropertySetter ** setter,
> +        [in] REFERENCE_TIME start,
> +        [in] REFERENCE_TIME stop
> +    );
> +
> +    HRESULT AddProp(
> +        [in] DEXTER_PARAM param,
> +        [in] DEXTER_VALUE * value
> +    );
> +
> +    HRESULT GetProps(
> +        [out] LONG * params,
> +        [out] DEXTER_PARAM ** param,
> +        [out] DEXTER_VALUE ** value
> +    );
> +
> +    HRESULT FreeProps(
> +        [in] LONG params,
> +        [in] DEXTER_PARAM * param,
> +        [in] DEXTER_VALUE * value
> +    );
> +
> +    HRESULT ClearProps();
> +
> +    HRESULT SaveToBlob(
> +        [out] LONG * size,
> +        [out] BYTE ** blob
> +    );
> +
> +    HRESULT LoadFromBlob(
> +        [in] LONG size,
> +        [in] BYTE * blob
> +    );
> +
> +    HRESULT SetProps(
> +        [in] IUnknown * target,
> +        [in] REFERENCE_TIME now
> +    );
> +};
> +
> +[
> +    object,
> +    uuid(E43E73A2-0EFA-11d3-9601-00A0C9441E20),
> +    odl,
> +    pointer_default(unique)
> +]
> +interface IAMErrorLog : IUnknown
> +{
> +    HRESULT LogError(
> +        long severity,
> +        BSTR error_str,
> +        long error_code,
> +        long hresult,
> +        [in] VARIANT * extra
> +    );
> +};
> +
> +[
> +    object,
> +    uuid(963566DA-BE21-4eaf-88E9-35704F8F52A1),
> +    odl,
> +    pointer_default(unique)
> +]
> +interface IAMSetErrorLog : IUnknown
> +{
> +    [propget] HRESULT ErrorLog(
> +        [out, retval] IAMErrorLog ** log
> +    );
> +
> +    [propput] HRESULT ErrorLog(
> +        [in] IAMErrorLog * log
> +    );
> +};
> +
> +interface IAMTimeline;
> +interface IAMTimelineGroup;
> +interface IAMTimelineObj;
> +interface IAMTimelineSrc;
> +
> +typedef enum
> +{
> +    TIMELINE_MAJOR_TYPE_COMPOSITE = 1,
> +    TIMELINE_MAJOR_TYPE_TRACK = 2,
> +    TIMELINE_MAJOR_TYPE_SOURCE = 4,
> +    TIMELINE_MAJOR_TYPE_TRANSITION = 8,
> +    TIMELINE_MAJOR_TYPE_EFFECT = 16,
> +    TIMELINE_MAJOR_TYPE_GROUP = 128
> +} TIMELINE_MAJOR_TYPE;
> +
> +[
> +    object,
> +    uuid(78530B74-61F9-11D2-8CAD-00A024580902),
> +    odl,
> +    pointer_default(unique)
> +]
> +interface IAMTimeline : IUnknown
> +{
> +    HRESULT CreateEmptyNode(
> +        [out] IAMTimelineObj ** obj,
> +        TIMELINE_MAJOR_TYPE type
> +    );
> +
> +    HRESULT AddGroup(
> +        IAMTimelineObj * group
> +    );
> +
> +    HRESULT RemGroupFromList(
> +        IAMTimelineObj * group
> +    );
> +
> +    HRESULT GetGroup(
> +        [out] IAMTimelineObj ** group,
> +        long index
> +    );
> +
> +    HRESULT GetGroupCount(
> +        long * count
> +    );
> +
> +    HRESULT ClearAllGroups();
> +
> +    HRESULT GetInsertMode(
> +        long * mode
> +    );
> +
> +    HRESULT SetInsertMode(
> +        long mode
> +    );
> +
> +    HRESULT EnableTransitions(
> +        BOOL enabled
> +    );
> +
> +    HRESULT TransitionsEnabled(
> +        BOOL * enabled
> +    );
> +
> +    HRESULT EnableEffects(
> +        BOOL enabled
> +    );
> +
> +    HRESULT EffectsEnabled(
> +        BOOL * enabled
> +    );
> +
> +    HRESULT SetInterestRange(
> +        REFERENCE_TIME start,
> +        REFERENCE_TIME stop
> +    );
> +
> +    HRESULT GetDuration(
> +        REFERENCE_TIME * duration
> +    );
> +
> +    HRESULT GetDuration2(
> +        double * duration
> +    );
> +
> +    HRESULT SetDefaultFPS(
> +        double fps
> +    );
> +
> +    HRESULT GetDefaultFPS(
> +        double * fps
> +    );
> +
> +    HRESULT IsDirty(
> +        BOOL * dirty
> +    );
> +
> +    HRESULT GetDirtyRange(
> +        REFERENCE_TIME * start,
> +        REFERENCE_TIME * stop
> +    );
> +
> +    HRESULT GetCountOfType(
> +        long group,
> +        long * value,
> +        long * value_with_comps,
> +        TIMELINE_MAJOR_TYPE type
> +    );
> +
> +    HRESULT ValidateSourceNames(
> +        long flags,
> +        IMediaLocator * override,
> +        LONG_PTR notify_event
> +    );
> +
> +    HRESULT SetDefaultTransition(
> +        GUID * guid
> +    );
> +
> +    HRESULT GetDefaultTransition(
> +        GUID * guid
> +    );
> +
> +    HRESULT SetDefaultEffect(
> +        GUID * guid
> +    );
> +
> +    HRESULT GetDefaultEffect(
> +        GUID * guid
> +    );
> +
> +    HRESULT SetDefaultTransitionB(
> +        BSTR guidb
> +    );
> +
> +    HRESULT GetDefaultTransitionB(
> +        [out,retval] BSTR * guidb
> +    );
> +
> +    HRESULT SetDefaultEffectB(
> +        BSTR guidb
> +    );
> +
> +    HRESULT GetDefaultEffectB(
> +        [out,retval] BSTR * guidb
> +    );
> +};
> +
> +[
> +    uuid(78530B75-61F9-11D2-8CAD-00A024580902)
> +]
> +coclass AMTimeline
> +{
> +    [default] interface IAMTimeline;
> +    interface IPersistStream;
> +    interface IAMSetErrorLog;
> +};
> +
> +[
> +    object,
> +    uuid(9EED4F00-B8A6-11d2-8023-00C0DF10D434),
> +    odl,
> +    pointer_default(unique)
> +]
> +interface IAMTimelineGroup : IUnknown
> +{
> +    HRESULT SetTimeline(
> +        IAMTimeline * timeline
> +    );
> +
> +    HRESULT GetTimeline(
> +        [out] IAMTimeline ** timeline
> +    );
> +
> +    HRESULT GetPriority(
> +        long * priority
> +    );
> +
> +    HRESULT GetMediaType(
> +        [out] AM_MEDIA_TYPE *
> +    );
> +
> +    HRESULT SetMediaType(
> +        [in] AM_MEDIA_TYPE *
> +    );
> +
> +    HRESULT SetOutputFPS(
> +        double fps
> +    );
> +
> +    HRESULT GetOutputFPS(
> +        double * fps
> +    );
> +
> +    HRESULT SetGroupName(
> +        BSTR name
> +    );
> +
> +    HRESULT GetGroupName(
> +        [out,retval] BSTR * name
> +    );
> +
> +    HRESULT SetPreviewMode(
> +        BOOL preview
> +    );
> +
> +    HRESULT GetPreviewMode(
> +        BOOL * preview
> +    );
> +
> +    HRESULT SetMediaTypeForVB(
> +        [in] long type
> +    );
> +
> +    HRESULT GetOutputBuffering(
> +        [out] int * buffer
> +    );
> +
> +    HRESULT SetOutputBuffering(
> +        [in] int buffer
> +    );
> +
> +    HRESULT SetSmartRecompressFormat(
> +        long * format
> +    );
> +
> +    HRESULT GetSmartRecompressFormat(
> +        long ** format
> +    );
> +
> +    HRESULT IsSmartRecompressFormatSet(
> +        BOOL * set
> +    );
> +
> +    HRESULT IsRecompressFormatDirty(
> +        BOOL * dirty
> +    );
> +
> +    HRESULT ClearRecompressFormatDirty();
> +
> +    HRESULT SetRecompFormatFromSource(
> +        IAMTimelineSrc * source
> +    );
> +};
> +
> +[
> +    object,
> +    local,
> +    uuid(78530B77-61F9-11D2-8CAD-00A024580902),
> +    odl,
> +    pointer_default(unique)
> +]
> +interface IAMTimelineObj : IUnknown
> +{
> +    HRESULT GetStartStop(
> +        REFERENCE_TIME * start,
> +        REFERENCE_TIME * stop
> +    );
> +
> +    HRESULT GetStartStop2(
> +        REFTIME * start, REFTIME * stop
> +    );
> +
> +    HRESULT FixTimes(
> +        REFERENCE_TIME * start, REFERENCE_TIME * stop
> +    );
> +
> +    HRESULT FixTimes2(
> +        REFTIME * start, REFTIME * stop
> +    );
> +
> +    HRESULT SetStartStop(
> +        REFERENCE_TIME start,
> +        REFERENCE_TIME stop
> +    );
> +
> +    HRESULT SetStartStop2(
> +        REFTIME start,
> +        REFTIME stop
> +    );
> +
> +    HRESULT GetPropertySetter(
> +        [out,retval] IPropertySetter ** setter
> +    );
> +
> +    HRESULT SetPropertySetter(
> +        IPropertySetter * setter
> +    );
> +
> +    HRESULT GetSubObject(
> +        [out,retval] IUnknown ** obj
> +    );
> +
> +    HRESULT SetSubObject(
> +        IUnknown * obj
> +    );
> +
> +    HRESULT SetSubObjectGUID(
> +        GUID guid
> +    );
> +
> +    HRESULT SetSubObjectGUIDB(
> +        BSTR guidb
> +    );
> +
> +    HRESULT GetSubObjectGUID(
> +        GUID * guid
> +    );
> +
> +    HRESULT GetSubObjectGUIDB(
> +        [out,retval] BSTR * guidb
> +    );
> +
> +    HRESULT GetSubObjectLoaded(
> +        BOOL * loaded
> +    );
> +
> +    HRESULT GetTimelineType(
> +        TIMELINE_MAJOR_TYPE * type
> +    );
> +
> +    HRESULT SetTimelineType(
> +        TIMELINE_MAJOR_TYPE type
> +    );
> +
> +    HRESULT GetUserID(
> +        long * id
> +    );
> +
> +    HRESULT SetUserID(
> +        long id
> +    );
> +
> +    HRESULT GetGenID(
> +        long * id
> +    );
> +
> +    HRESULT GetUserName(
> +        [out,retval] BSTR * name
> +    );
> +
> +    HRESULT SetUserName(
> +        BSTR name
> +    );
> +
> +    HRESULT GetUserData(
> +        BYTE * data,
> +        long * size
> +    );
> +
> +    HRESULT SetUserData(
> +        BYTE * data,
> +        long size
> +    );
> +
> +    HRESULT GetMuted(
> +        BOOL * muted
> +    );
> +
> +    HRESULT SetMuted(
> +        BOOL muted
> +    );
> +
> +    HRESULT GetLocked(
> +        BOOL * locked
> +    );
> +
> +    HRESULT SetLocked(
> +        BOOL locked
> +    );
> +
> +    HRESULT GetDirtyRange(
> +        REFERENCE_TIME * start,
> +        REFERENCE_TIME * stop
> +    );
> +
> +    HRESULT GetDirtyRange2(
> +        REFTIME * start,
> +        REFTIME * stop
> +    );
> +
> +    HRESULT SetDirtyRange(
> +        REFERENCE_TIME start,
> +        REFERENCE_TIME stop
> +    );
> +
> +    HRESULT SetDirtyRange2(
> +        REFTIME start,
> +        REFTIME stop
> +    );
> +
> +    HRESULT ClearDirty();
> +
> +    HRESULT Remove();
> +
> +    HRESULT RemoveAll();
> +
> +    HRESULT GetTimelineNoRef(
> +        IAMTimeline ** timeline
> +    );
> +
> +    HRESULT GetGroupIBelongTo(
> +        [out] IAMTimelineGroup ** group
> +    );
> +
> +    HRESULT GetEmbedDepth(
> +        long * depth
> +    );
> +};
> +
> +[
> +    object,
> +    uuid(78530B79-61F9-11D2-8CAD-00A024580902),
> +    odl,
> +    pointer_default(unique)
> +]
> +interface IAMTimelineSrc : IUnknown
> +{
> +    HRESULT GetMediaTimes(
> +        REFERENCE_TIME * start,
> +        REFERENCE_TIME * stop
> +    );
> +
> +    HRESULT GetMediaTimes2(
> +        REFTIME * start,
> +        REFTIME * stop
> +    );
> +
> +    HRESULT ModifyStopTime(
> +        REFERENCE_TIME stop
> +    );
> +
> +    HRESULT ModifyStopTime2(
> +        REFTIME stop
> +    );
> +
> +    HRESULT FixMediaTimes(
> +        REFERENCE_TIME * start,
> +        REFERENCE_TIME * stop
> +    );
> +
> +    HRESULT FixMediaTimes2(
> +        REFTIME * start,
> +        REFTIME * stop
> +    );
> +
> +    HRESULT SetMediaTimes(
> +        REFERENCE_TIME Start,
> +        REFERENCE_TIME Stop
> +    );
> +
> +    HRESULT SetMediaTimes2(
> +        REFTIME Start,
> +        REFTIME Stop
> +    );
> +
> +    HRESULT SetMediaLength(
> +        REFERENCE_TIME length
> +    );
> +
> +    HRESULT SetMediaLength2(
> +        REFTIME length
> +    );
> +
> +    HRESULT GetMediaLength(
> +        REFERENCE_TIME * length
> +    );
> +
> +    HRESULT GetMediaLength2(
> +        REFTIME * length
> +    );
> +
> +    HRESULT GetMediaName(
> +        [out,retval] BSTR * name
> +    );
> +
> +    HRESULT SetMediaName(
> +        BSTR name
> +    );
> +
> +    HRESULT SpliceWithNext(
> +        IAMTimelineObj * next
> +    );
> +
> +    HRESULT GetStreamNumber(
> +        long * num
> +    );
> +
> +    HRESULT SetStreamNumber(
> +        long num
> +    );
> +
> +    HRESULT IsNormalRate(
> +        BOOL * normal
> +    );
> +
> +    HRESULT GetDefaultFPS(
> +        double * fps
> +    );
> +
> +    HRESULT SetDefaultFPS(
> +        double fps
> +    );
> +
> +    HRESULT GetStretchMode(
> +        int * mode
> +    );
> +
> +    HRESULT SetStretchMode(
> +        int mode
> +    );
> +};
> +
>  enum
>  {
>      E_NOTINTREE = 0x80040400,
> -- 
> 2.8.0
> 



More information about the wine-patches mailing list