📄 qedit.idl
字号:
HRESULT SetUserID(long newVal);
[helpstring("method GetGenID")]
HRESULT GetGenID( long * pVal );
[helpstring("method GetUserName")]
HRESULT GetUserName([out,retval] BSTR * pVal);
[helpstring("method SetUserName")]
HRESULT SetUserName(BSTR newVal);
[helpstring("method GetUserData")]
HRESULT GetUserData(BYTE * pData, long * pSize);
[helpstring("method SetUserData")]
HRESULT SetUserData(BYTE * pData, long Size);
[helpstring("method GetMuted")]
HRESULT GetMuted(BOOL * pVal);
[helpstring("method SetMuted")]
HRESULT SetMuted(BOOL newVal);
[helpstring("method GetLocked")]
HRESULT GetLocked(BOOL * pVal);
[helpstring("method SetLocked")]
HRESULT SetLocked(BOOL newVal);
[helpstring("method GetDirtyRange")]
HRESULT GetDirtyRange(REFERENCE_TIME * pStart, REFERENCE_TIME * pStop);
[helpstring("method GetDirtyRange")]
HRESULT GetDirtyRange2(REFTIME * pStart, REFTIME * pStop);
[helpstring("method SetDirtyRange")]
HRESULT SetDirtyRange(REFERENCE_TIME Start, REFERENCE_TIME Stop);
[helpstring("method SetDirtyRange")]
HRESULT SetDirtyRange2(REFTIME Start, REFTIME Stop);
[helpstring("method ClearDirty")]
HRESULT ClearDirty( );
[helpstring("method Remove")]
HRESULT Remove();
[helpstring("method RemoveAll")]
HRESULT RemoveAll();
HRESULT GetTimelineNoRef( IAMTimeline ** ppResult );
HRESULT GetGroupIBelongTo( [out] IAMTimelineGroup ** ppGroup );
HRESULT GetEmbedDepth( long * pVal );
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Any object on the timeline that can have an effect put on it
// implements this interface. This includes sources, tracks, and
// compositions.
// explained methods:
// EffectInsBefore - insert an effect at the given priority onto
// this object. The effect's times will be clipped within
// this object's bounds. Use -1 to specify 'at the end' for priority.
// You cannot have two effects at the same priority.
// EffectSwapPriorities - swaparoo two effects. Makes undo easier to
// implement.
// EffectGetCount - get how many effects are applied to this object.
// GetEffect - get the nth effect applied to this object
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[
object,
uuid(EAE58537-622E-11d2-8CAD-00A024580902),
odl,
helpstring("IAMTimelineEffectable Interface"),
pointer_default(unique)
]
interface IAMTimelineEffectable : IUnknown
{
[helpstring("method EffectInsBefore")]
HRESULT EffectInsBefore(IAMTimelineObj * pFX, long priority);
[helpstring("method EffectSwapPriorities")]
HRESULT EffectSwapPriorities(long PriorityA, long PriorityB);
[helpstring("method EffectGetCount")]
HRESULT EffectGetCount(long * pCount);
[helpstring("method GetEffect")]
HRESULT GetEffect([out] IAMTimelineObj ** ppFx, long Which);
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Any effect on the timeline will support at least this interface.
// NOTE: The Start/Stop times on this object are RELATIVE to their
// parent's, as are all start/stop times.
// explained methods:
// EffectGetPriority - finds out this effect's priority related to the others.
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[
object,
uuid(BCE0C264-622D-11d2-8CAD-00A024580902),
odl,
helpstring("IAMTimelineEffect Interface"),
pointer_default(unique)
]
interface IAMTimelineEffect : IUnknown
{
[helpstring("method EffectGetPriority")]
HRESULT EffectGetPriority(long * pVal);
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Any object on the timeline that can have a transition put on it
// implements this interface
// explained methods:
// TransAdd - add a transition on this object. Multiple trans's on
// the same object cannot overlap in time. Transitions' times
// must lie within the bounds of their parent.
// TransGetCount - get how many transitions are applied to this
// object.
// GetNextTrans - given a time, get the next transition that happens
// on this object after that time. On exit, the input time is
// set to the start time of the transition.
// GetTransAtTime - find a transition forwards or backwards from
// a given spot. See DEXTERF_TRACK_SEARCH_FLAGS enum.
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[
object,
uuid(378FA386-622E-11d2-8CAD-00A024580902),
odl,
helpstring("IAMTimelineTransable Interface"),
pointer_default(unique)
]
interface IAMTimelineTransable : IUnknown
{
[helpstring("method TransAdd")]
HRESULT TransAdd(IAMTimelineObj * pTrans);
[helpstring("method TransGetCount")]
HRESULT TransGetCount(long * pCount);
[helpstring("method GetNextTrans")]
HRESULT GetNextTrans([out] IAMTimelineObj ** ppTrans, REFERENCE_TIME * pInOut);
[helpstring("method GetNextTrans2")]
HRESULT GetNextTrans2([out] IAMTimelineObj ** ppTrans, REFTIME * pInOut);
[helpstring("method GetTransAtTime")]
HRESULT GetTransAtTime(
[out] IAMTimelineObj ** ppObj,
REFERENCE_TIME Time,
long SearchDirection );
[helpstring("method GetTransAtTime2")]
HRESULT GetTransAtTime2([out] IAMTimelineObj ** ppObj, REFTIME Time, long SearchDirection );
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Any object on the timeline that can be split into two will
// implement this interface. Namely, source, effects, and transitions
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[
object,
uuid(A0F840A0-D590-11d2-8D55-00A0C9441E20),
odl,
helpstring("IAMTimelineSplittable Interface"),
pointer_default(unique)
]
interface IAMTimelineSplittable : IUnknown
{
HRESULT SplitAt(REFERENCE_TIME Time);
HRESULT SplitAt2(REFTIME Time);
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Any trans on the timeline will support at least this interface.
// NOTE: The Start/Stop times on this object are RELATIVE to their
// parent's, as are all start/stop times.
// explained methods:
// GetCutPoint - get where this transition should cut from A to B
// if the transition were not applied.
// GetA2B - get if this transition is to go from A->B or B->A.
// GetBackwards - get if this transition should run backwards.
// GetCutsOnly - force no transition, force doing a cut
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[
object,
uuid(BCE0C265-622D-11d2-8CAD-00A024580902),
odl,
helpstring("IAMTimelineTrans Interface"),
pointer_default(unique)
]
interface IAMTimelineTrans : IUnknown
{
[helpstring("method GetCutPoint")]
HRESULT GetCutPoint(REFERENCE_TIME * pTLTime);
[helpstring("method GetCutPoint2")]
HRESULT GetCutPoint2(REFTIME * pTLTime);
[helpstring("method SetCutPoint")]
HRESULT SetCutPoint(REFERENCE_TIME TLTime);
[helpstring("method SetCutPoint2")]
HRESULT SetCutPoint2(REFTIME TLTime);
[helpstring("method GetSwapInputs")]
HRESULT GetSwapInputs( BOOL * pVal );
[helpstring("method SetSwapInputs")]
HRESULT SetSwapInputs( BOOL pVal );
[helpstring("method GetCutsOnly")]
HRESULT GetCutsOnly( BOOL * pVal );
[helpstring("method SetCutsOnly")]
HRESULT SetCutsOnly( BOOL pVal );
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Sources represent any source media object on the timeline.
// They extend an IAMTimelineObj to include media start and stop
// times, a media name (which could represent darned near anything),
// and a StreamNumber, which defines which stream out of a potential
// many this stream represents from a source clip.
// explained methods:
// ModifyStopTime - like calling SetStartStop, but this method just
// adjusts the tail end of the clip.
// FixMediaTimes - called by the render engine to round times to
// this source clip's parent group's FPS.
// SpliceWithNext - if the next clip after this is the same source
// and this's stop time matches next's start time, the two
// will be joined.
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[
object,
uuid(78530B79-61F9-11D2-8CAD-00A024580902),
odl,
helpstring("IAMTimelineSrc Interface"),
pointer_default(unique)
]
interface IAMTimelineSrc : IUnknown
{
[helpstring("method GetMediaTimes")]
HRESULT GetMediaTimes(REFERENCE_TIME * pStart, REFERENCE_TIME * pStop);
[helpstring("method GetMediaTimes2")]
HRESULT GetMediaTimes2(REFTIME * pStart, REFTIME * pStop);
[helpstring("method ModifyStopTime")]
HRESULT ModifyStopTime(REFERENCE_TIME Stop);
[helpstring("method ModifyStopTime2")]
HRESULT ModifyStopTime2(REFTIME Stop);
[helpstring("method FixMediaTimes")]
HRESULT FixMediaTimes(REFERENCE_TIME * pStart, REFERENCE_TIME * pStop);
[helpstring("method FixMediaTimes2")]
HRESULT FixMediaTimes2(REFTIME * pStart, REFTIME * pStop);
[helpstring("method SetMediaTimes")]
HRESULT SetMediaTimes(REFERENCE_TIME Start, REFERENCE_TIME Stop);
[helpstring("method SetMediaTimes2")]
HRESULT SetMediaTimes2(REFTIME Start, REFTIME Stop);
[helpstring("method SetMediaLength")]
HRESULT SetMediaLength(REFERENCE_TIME Length);
[helpstring("method SetMediaLength2")]
HRESULT SetMediaLength2(REFTIME Length);
[helpstring("method GetMediaLength")]
HRESULT GetMediaLength(REFERENCE_TIME * pLength);
[helpstring("method GetMediaLength2")]
HRESULT GetMediaLength2(REFTIME * pLength);
[helpstring("method GetMediaName")]
HRESULT GetMediaName([out,retval] BSTR * pVal);
[helpstring("method SetMediaName")]
HRESULT SetMediaName(BSTR newVal);
[helpstring("method SpliceWithNext")]
HRESULT SpliceWithNext(IAMTimelineObj * pNext);
[helpstring("method GetStreamNumber")]
HRESULT GetStreamNumber(long * pVal);
[helpstring("method SetStreamNumber")]
HRESULT SetStreamNumber(long Val);
HRESULT IsNormalRate( BOOL * pVal );
// If a source can't figure out its frames per second, this number
// will be used (eg: Dib sequences). AVI, MPEG, etc. will not need this
// Use 0 fps to prevent a filename like "ski4.jpg" from using a dib seq
[helpstring("method GetDefaultFPS")]
HRESULT GetDefaultFPS(double * pFPS);
[helpstring("method SetDefaultFPS")]
HRESULT SetDefaultFPS(double FPS);
// !!! This is video specific.. new interface?
// what kind of stretching? Stretch, crop, or preserve aspect ratio?
[helpstring("method GetStretchMode")]
HRESULT GetStretchMode(int * pnStretchMode);
[helpstring("method SetStretchMode")]
HRESULT SetStretchMode(int nStretchMode);
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Tracks are things that can contain media in them. You can add
// and remove sources, effects, and transitions from them. Sources
// are added according to the current insert mode of the timeline.
// If in OVERLAY mode, moving or adding a source to a time that's
// already occupied by another source will wipe out any overlapping
// portion of the underlying source. In InsertMode, everything at
// the insert point is moved down in time to make room for the
// new source.
// explained methods:
// SrcAdd - add the source to this track. The source's start/stop
// times must be set up first.
// GetNextSrc - pass a time in at which you wish to find a source
// and it will return the first source which occurs after the
// given time.
// MoveEverythingBy - bump a bunch of objects a certain direction
// on the track by a given time.
// GetSourcesCount - how many sources are on this track?
// AreYouBlank - do you contain anything at all?
// GetSrcAtTime - find a source at a given time. SearchDirection
// is which way to search. -1 = backwards, 1 = forwards
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[
object,
uuid(EAE58538-622E-11d2-8CAD-00A024580902),
odl,
helpstring("IAMTimelineTrack Interface"),
pointer_default(unique)
]
interface IAMTimelineTrack : IUnknown
{
[helpstring("method SrcAdd")]
HRESULT SrcAdd(IAMTimelineObj * pSource);
[helpstring("method GetNextSrc")]
HRESULT GetNextSrc([out] IAMTimelineObj ** ppSrc, REFERENCE_TIME * pInOut);
[helpstring("method GetNextSrc2")]
HRESULT GetNextSrc2([out] IAMTimelineObj ** ppSrc, REFTIME * pInOut);
[helpstring("method MoveEverythingBy")]
HRESULT MoveEverythingBy( REFERENCE_TIME Start, REFERENCE_TIME MoveBy );
[helpstring("method MoveEverythingBy2")]
HRESULT MoveEverythingBy2( REFTIME Start, REFTIME MoveBy );
[helpstring("method GetSourcesCount")]
HRESULT GetSourcesCount( long * pVal );
[helpstring("method AreYouBlank")]
HRESULT AreYouBlank( long * pVal );
[helpstring("method GetSrcAtTime")]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -