Page 1 of 1

COM - Quicktime...

Posted: Wed May 02, 2007 9:33 pm
by Joakim Christiansen
Ok... so I tested this example:

Code: Select all

EnableExplicit

dhToggleExceptions(#True)

Define.l oQT
Define.s MediaPath = "http://www.blitzbasement.net/bank/aliensong.mpeg"

If OpenWindow(0, #PB_Ignore, #PB_Ignore, 320, 255,"QuickTime - Demo",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
  oQT = dhCreateObject("QTOControl.QTControl.1", WindowID(0))

  If oQT
    dhPutValue(oQT, "FileName = %T", @MediaPath)
    dhPutValue(oQT, "AutoPlay = %b", #True)
  EndIf
  
  Repeat: Until WaitWindowEvent() = #PB_Event_CloseWindow
  
  CloseWindow(0)
EndIf
And I was wondering if anyone knew how to make it resizeable?

Posted: Wed May 02, 2007 10:22 pm
by ts-soft
Use the documentation by Apple, or Ole-Com Generator and so on :wink:
Short Description by ts-soft wrote:QTOControlLib Interface Definition
General Information

Library: QTOControlLib (Apple QuickTime Control 2.0)

File name: QTOControl.dll

ProgID: "QTOControl.QTControl.1"

Version Independent ProgID: "QTOControl.QTControl"

GUID: {7B92F833-027D-402B-BFF9-A67697366F4E}

Version: 1.0
Contents

* Enums
o Enum BorderStylesEnum
o Enum InitializeQTMLOptionsEnum
o Enum QTInitializeQTMLFlagsEnum
o Enum QTOpenMovieFlagsEnum
o Enum QTFullScreenFlagsEnum
o Enum QTFullScreenSizingModeEnum
o Enum QTStatusCodeTypesEnum
o Enum QTStatusCodesEnum
o Enum QTErrorEventOriginEnum

* Classes
o IQTControlParams
+ Methods
+ Events
o QTControl
+ Methods
+ Events
o QTControlPropPage
+ Methods
+ Events

Enumerations

This section lists enumerations exposed by QTOControl.dll.

Enum BorderStylesEnum

bsNone=0

bsPlain=1

bs3D=2

End Enum

Enum InitializeQTMLOptionsEnum

qtocInitializeQTMLStandard=0

End Enum

Enum QTInitializeQTMLFlagsEnum

qtInitializeQTMLFlagNoSound=1

qtInitializeQTMLFlagUseGDI=2

qtInitializeQTMLFlagDisableDirectSound=4

qtInitializeQTMLFlagUseExclusiveFullScreenMode=8

End Enum

Enum QTOpenMovieFlagsEnum

qtOpenMovieFlagActive=1

qtOpenMovieFlagDontResolveDataRefs=2

qtOpenMovieFlagDontAskUnresolvedDataRefs=4

qtOpenMovieFlagDontAutoAlternates=8

qtOpenMovieFlagAsyncOK=256

qtOpenMovieFlagIdleImportOK=1024

qtOpenMovieFlagDontInteractWithUser=2048

qtOpenMovieDefaultFlags=1025

End Enum

Enum QTFullScreenFlagsEnum

qtFullScreenFlagHideCursor=1

qtFullScreenFlagAllowEvents=2

qtFullScreenFlagDontChangeMenuBar=4

qtFullScreenDefaultFlags=6

End Enum

Enum QTFullScreenSizingModeEnum

qtFullScreenMovieFitsMonitor=1

qtFullScreenMovieFitsMonitorMaintainAspectRatio=2

qtFullScreenMovieCenteredInMonitor=3

qtFullScreenManualSizing=4

End Enum

Enum QTStatusCodeTypesEnum

qtStatusCodeTypeControl=0

qtStatusCodeTypeMovieLoadState=2

End Enum

Enum QTStatusCodesEnum

qtStatusNone=0

qtStatusConnecting=2

qtStatusNegotiating=5

qtStatusRequestedData=11

qtStatusBuffering=12

qtStatusURLChanged=4096

qtStatusFullScreenBegin=4097

qtStatusFullScreenEnd=4098

qtStatusMovieLoadFinalize=4099

qtMovieLoadStateError=-1

qtMovieLoadStateLoading=1000

qtMovieLoadStateLoaded=2000

qtMovieLoadStatePlayable=10000

qtMovieLoadStatePlaythroughOK=20000

qtMovieLoadStateComplete=100000

End Enum

Enum QTErrorEventOriginEnum

qtErrorEventOriginControl=0

qtErrorEventOriginMovie=1

qtErrorEventOriginQuickTime=2

End Enum
Types

This section lists Types exposed by QTOControl.dll.
No Types
Classes

This section lists the classes exposed by QTOControl.dll. For each class, the methods and events are listed. All arguments for methods are passed ByVal unless otherwise noted. Arguments in brackets [arg] are optional.
IQTControlParams {9B1B71F6-6C61-463E-ABDB-88667073D16B}
Methods

None
Events

No Events.
QTControl {24BA3CAF-4BE8-4AEC-A7C8-6F47D5684602}
Methods

Sub ShowAboutBox
'Opens About Box
PureDispHelper method: dhCallMethod

Property Let BackColor(Arg As ULong)

PureDispHelper method: dhPutValue

Property Get BackColor() As ULong

PureDispHelper method: dhGetValue

Property Let BorderColor(Arg As ULong)

PureDispHelper method: dhPutValue

Property Get BorderColor() As ULong

PureDispHelper method: dhGetValue

Property Let BorderStyle(Arg As BorderStylesEnum)

PureDispHelper method: dhPutValue

Property Get BorderStyle() As BorderStylesEnum

PureDispHelper method: dhGetValue

Function QuickTimeInitialize([InitOptions As Variant], [InitFlags As Variant]) As Long
'Initialize connection to QTML
PureDispHelper method: dhGetValue

Sub QuickTimeTerminate
'Terminate connection to QTML
PureDispHelper method: dhCallMethod

Property Get URL() As String
'Returns URL of the current movie, or the movie to load
PureDispHelper method: dhGetValue

Property Let URL(Arg As String)
'Returns URL of the current movie, or the movie to load
PureDispHelper method: dhPutValue

Property Get FileName() As String
'Returns path of the current movie, or empty if the movie is not local
PureDispHelper method: dhGetValue

Property Let FileName(Arg As String)
'Returns path of the current movie, or empty if the movie is not local
PureDispHelper method: dhPutValue

Sub _get_DataRef(pDataRef As Long, pDataRefType As Long)
'Gets/sets the movie dataref and type
PureDispHelper method: dhCallMethod

Sub _put_DataRef(inDataRef As Long, inDataRefType As Long, [inNewMovieFlags As Variant])
'Gets/sets the movie dataref and type
PureDispHelper method: dhCallMethod

Sub CreateNewMovie([movieIsActive As Variant])
'Creates a new, empty movie
PureDispHelper method: dhCallMethod

Sub CreateNewMovieFromImages(bstrFirstFilePath As String, rate As Single, rateIsFramesPerSecond As Boolean)
'Creates a movie from a series of images
PureDispHelper method: dhCallMethod

Property Get Movie() As IQTMovie
'Returns the Movie object
PureDispHelper method: dhGetValue

Property Get QuickTime() As IQTQuickTime
'Returns the QuickTime object
PureDispHelper method: dhGetValue

Property Get ErrorCode() As Long
'Return the Error code for the last operation
PureDispHelper method: dhGetValue

Property Get _Property(propertyClass As Long, propertyID As Long) As Variant

PureDispHelper method: dhGetValue

Property Let _Property(propertyClass As Long, propertyID As Long, Arg As Variant)

PureDispHelper method: dhPutValue

Property Get IsQuickTimeAvailable(howToCheck As Long) As Boolean
'Returns True if QuickTime is installed on the system
PureDispHelper method: dhGetValue

Property Get QuickTimeVersion() As Long
'Returns the QuickTime version
PureDispHelper method: dhGetValue

Property Get _MovieHandle() As Long
'Gets/sets the Movie handle
PureDispHelper method: dhGetValue

Property Let _MovieHandle(Arg As Long)
'Gets/sets the Movie handle
PureDispHelper method: dhPutValue

Property Get _MovieControllerHandle() As Long
'Returns the handle to the Movie Controller
PureDispHelper method: dhGetValue

Property Get hWnd() As Long
'Returns the window handle of the control
PureDispHelper method: dhGetValue

Property Get MovieControllerVisible() As Boolean
'Gets/sets the Visible state of the Movie Controller
PureDispHelper method: dhGetValue

Property Let MovieControllerVisible(Arg As Boolean)
'Gets/sets the Visible state of the Movie Controller
PureDispHelper method: dhPutValue

Property Get ScaleX() As Single
'Gets/sets the horizontal scale factor
PureDispHelper method: dhGetValue

Property Let ScaleX(Arg As Single)
'Gets/sets the horizontal scale factor
PureDispHelper method: dhPutValue

Property Get ScaleY() As Single
'Gets/sets the vertical scale factor
PureDispHelper method: dhGetValue

Property Let ScaleY(Arg As Single)
'Gets/sets the vertical scale factor
PureDispHelper method: dhPutValue

Sub SetScale(x As Single, [y As Variant])
'Sets the scale factor(s)
PureDispHelper method: dhCallMethod

Property Let FullScreen(Arg As Boolean)
'Gets/sets whether the control is in Full Screen mode
PureDispHelper method: dhPutValue

Property Get FullScreen() As Boolean
'Gets/sets whether the control is in Full Screen mode
PureDispHelper method: dhGetValue

Property Let FullScreenFlags(Arg As Long)
'Gets/sets the Full Screen mode QTFullScreenFlagsEnum flags.
PureDispHelper method: dhPutValue

Property Get FullScreenFlags() As Long
'Gets/sets the Full Screen mode QTFullScreenFlagsEnum flags.
PureDispHelper method: dhGetValue

Property Let FullScreenMonitorNumber(Arg As Long)
'Gets/sets the index of the monitor to use for Full Screen mode.
PureDispHelper method: dhPutValue

Property Get FullScreenMonitorNumber() As Long
'Gets/sets the index of the monitor to use for Full Screen mode.
PureDispHelper method: dhGetValue

Property Let FullScreenEndKeyCode(Arg As Long)
'Gets/sets the key code used to exit Full Screen mode.
PureDispHelper method: dhPutValue

Property Get FullScreenEndKeyCode() As Long
'Gets/sets the key code used to exit Full Screen mode.
PureDispHelper method: dhGetValue

Property Get FullScreenHWND() As Long
'Gets the Full Screen HWND.
PureDispHelper method: dhGetValue

Property Let FullScreenSizing(Arg As QTFullScreenSizingModeEnum)
'Gets/sets the Full Screen sizing mode.
PureDispHelper method: dhPutValue

Property Get FullScreenSizing() As QTFullScreenSizingModeEnum
'Gets/sets the Full Screen sizing mode.
PureDispHelper method: dhGetValue

Property Let ErrorHandling(Arg As Long)

PureDispHelper method: dhPutValue

Property Get ErrorHandling() As Long

PureDispHelper method: dhGetValue

Property Let Sizing(Arg As QTSizingModeEnum)
'Gets/sets the control sizing mode.
PureDispHelper method: dhPutValue

Property Get Sizing() As QTSizingModeEnum
'Gets/sets the control sizing mode.
PureDispHelper method: dhGetValue

Property Get Version() As String
'Returns the Version of the control
PureDispHelper method: dhGetValue

Property Let NewMovieFlags(Arg As Long)
'Gets/sets the QTOpenMovieFlagsEnum flags used to opening a movie.
PureDispHelper method: dhPutValue

Property Get NewMovieFlags() As Long
'Gets/sets the QTOpenMovieFlagsEnum flags used to opening a movie.
PureDispHelper method: dhGetValue

Property Get AutoPlay() As String
'Gets/sets property that starts the movie automatically when loaded (True) or when download reaches time (@HH:MM:SS:FF)
PureDispHelper method: dhGetValue

Property Let AutoPlay(Arg As String)
'Gets/sets property that starts the movie automatically when loaded (True) or when download reaches time (@HH:MM:SS:FF)
PureDispHelper method: dhPutValue

Property Get BaseURL() As String
'Gets/sets the BaseURL that is used to resolve relative URLs
PureDispHelper method: dhGetValue

Property Let BaseURL(Arg As String)
'Gets/sets the BaseURL that is used to resolve relative URLs
PureDispHelper method: dhPutValue

Sub MovieResizingLock
'Locks movie resizing
PureDispHelper method: dhCallMethod

Sub MovieResizingUnlock
'Unlocks movie resizing
PureDispHelper method: dhCallMethod

Sub SetSizing(sizingOption As QTSizingModeEnum, forceSizeUpdate As Boolean)
'Sets the sizing with option to force a size update or not)
PureDispHelper method: dhCallMethod
Events

Event QTEvent(EventClass As Long, EventID As Long, Phase As Long, EventObject As IQTEventObject, Cancel As Boolean)

QTControl event notification

Event SizeChanged(Width As Long, Height As Long)

Notification of change of control size

Event Error(ErrorCode As Long, Origin As Long)

Notification of an Error

Event StatusUpdate(StatusCodeType As Long, StatusCode As Long, StatusMessage As String)

Notification of Status update

Event MouseDown(Button As Integer, Shift As Integer, x As Integer, y As Integer)

Notification of MouseDown

Event MouseUp(Button As Integer, Shift As Integer, x As Integer, y As Integer)

Notification of MouseUp

Event MouseMove(Button As Integer, Shift As Integer, x As Integer, y As Integer)

Notification of MouseMove
QTControlPropPage {A6C538C6-4A26-4839-B0D2-BF0406A4B299}
Methods

qtControlFitsMovie=0

PureDispHelper method:

qtMovieFitsControl=1

PureDispHelper method:

qtMovieFitsControlMaintainAspectRatio=2

PureDispHelper method:

qtMovieCenteredInControl=3

PureDispHelper method:

qtManualSizing=4

PureDispHelper method:
Events

No Events.

Posted: Wed May 02, 2007 10:40 pm
by Joakim Christiansen
ts-soft wrote:Use the documentation by Apple, or Ole-Com Generator and so on :wink:
Okay, thanks!
I'm always having a hard time finding documentation, I could need some for Windows Media Player and Real Player too.

Posted: Wed May 02, 2007 11:00 pm
by ts-soft
A tool for this is planned, but no timeline in the moment

First the Disphelper_Include.pb would enhanced to compatible with PB as possible

Posted: Thu May 03, 2007 3:02 am
by ts-soft
On RealPlayer i can't help, but for MediaPlayer:
http://ts-soft.eu/dl/MediaPlayer_ComDescripton.txt