Trouble with a by reference LONG in a wrapped OCX

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Trouble with a by reference LONG in a wrapped OCX

Sebastián Sastre
Hi there,

  I'm making use of VideoCapX  wich can be downloaded from:
http://www.fathsoft.com/videocapx.html to capture images/video/audio
from a Dolphin app.

  So, I've used the wizard to generate VIDEOCAPXLib_DVideoCapX class
wich seems to be pretty good until now.

  Right now I'm trying to make bright, contrast, saturation and other
adjustments of the video capture, programatically manipulable. The
control allows this in the form of a VB Long passed by reference.

  I'll paste here the vendors VB documentation and example:

**************************************************
GetVideoProcAmpValueRange methodRetrieve value range for video
property.


Syntax
Function GetVideoProcAmpValueRange (ValueIndex As Long, Min As Long,
Max As Long, SteppingDelta As Long, Default As Long) As Long

Return value
Long

Remarks
ValueIndex parameter is:
Brightness = 0,
Contrast = 1,
Hue = 2,
Saturation = 3,
Sharpness = 4,
Gamma = 5,
ColorEnable = 6,
WhiteBalance = 7,
BacklightCompensation = 8,
Gain = 9

Example
Dim Brightness As Long

VideoCapX.GetVideoProcAmp 0, Brightness

Dim MinVal As Long ,MaxVal As Long ,StepD As Long ,DefVal As Long
VideoCapX.GetVideoProcAmpValueRange 0, MinVal, MaxVal, StepD, DefVal

'set brightness here
Brightness=MinVal+((MaxVal-MinVal)/2)

VideoCapX.SetVideoProcAmp 0, Brightness
**************************************************

  My trouble is that I cant get the values from dolphin.

  I've tried:

property := VARIANT new.
instantiatedVideoCapX getVideoProcAmp: 1 value: property.

and

property := DWORD new asVariant.
instantiatedVideoCapX getVideoProcAmp: 1 value: property.

and

property := SWORD new.
instantiatedVideoCapX getVideoProcAmp: 1 value: property asParameter.

and

property := DWORD new.
instantiatedVideoCapX getVideoProcAmp: 1 value: property yourAddress.

and other bizarre combinations (as puting property in an array)
inspired by older posts of this newsgroup.

The results I'm getting is allways Invalid Type.

Any clue?

Sebastian
PD: I can post the packs I'm making if needed


Reply | Threaded
Open this post in threaded view
|

Re: Trouble with a by reference LONG in a wrapped OCX

Jeff M.
Sebastián wrote:
>
>   Right now I'm trying to make bright, contrast, saturation and other
> adjustments of the video capture, programatically manipulable. The
> control allows this in the form of a VB Long passed by reference.

In your attempts I didn't see this (not saying it will work, just
something to try):

val := DWORD newPointer.

HTH,

Jeff M.


Reply | Threaded
Open this post in threaded view
|

Re: Trouble with a by reference LONG in a wrapped OCX

Sebastián Sastre
Thaks Jeff, but the result is the same:


----------------------------------------------------------------------------------------------------

20:34:39, Miércoles, 13 de Septiembre de 2006: Unhandled exception - a
HRESULTError('HRESULT Error: Tipo incorrecto. (FACILITY_DISPATCH)')

VIDEOCAPXLib_DVideoCapX(IDispatch)>>invokeId:flags:parms:retVal:
VIDEOCAPXLib_DVideoCapX(IDispatch)>>invokeId:flags:parms:
VIDEOCAPXLib_DVideoCapX(IDispatch)>>invokeId:with:with:
VIDEOCAPXLib_DVideoCapX>>getVideoProcAmp:value:
VIDEOCAPXLib_DVideoCapX>>{unbound}doIt
CompiledExpression>>value:
SmalltalkWorkspace>>evaluateRange:ifFail:debug:
SmalltalkWorkspace>>evaluateItIfFail:debug:
SmalltalkWorkspace>>evaluateItIfFail:
SmalltalkWorkspace>>evaluateIt

Any ideas are welcomed,

  regards,

Sebastian

Jeff M. escreveu:

> Sebastián wrote:
> >
> >   Right now I'm trying to make bright, contrast, saturation and other
> > adjustments of the video capture, programatically manipulable. The
> > control allows this in the form of a VB Long passed by reference.
>
> In your attempts I didn't see this (not saying it will work, just
> something to try):
>
> val := DWORD newPointer.
>
> HTH,
>
> Jeff M.


Reply | Threaded
Open this post in threaded view
|

Re: Trouble with a by reference LONG in a wrapped OCX

Andy Bower
Sebastián

> HRESULTError('HRESULT Error: Tipo incorrecto. (FACILITY_DISPATCH)')
>
> VIDEOCAPXLib_DVideoCapX(IDispatch)>>invokeId:flags:parms:retVal:
> VIDEOCAPXLib_DVideoCapX(IDispatch)>>invokeId:flags:parms:
> VIDEOCAPXLib_DVideoCapX(IDispatch)>>invokeId:with:with:
> VIDEOCAPXLib_DVideoCapX>>getVideoProcAmp:value:
> VIDEOCAPXLib_DVideoCapX>>{unbound}doIt
> CompiledExpression>>value:
> SmalltalkWorkspace>>evaluateRange:ifFail:debug:
> SmalltalkWorkspace>>evaluateItIfFail:debug:
> SmalltalkWorkspace>>evaluateItIfFail:
> SmalltalkWorkspace>>evaluateIt
>
> Any ideas are welcomed,

Please post the method(s) that have been generated for:

VIDEOCAPXLib_DVideoCapX>>getVideoProcAmp:value:

and

VIDEOCAPXLib_DVideoCapX>>GetVideoProcAmp:value:

--
Best regards,

Andy Bower
Dolphin Support
www.object-arts.com


Reply | Threaded
Open this post in threaded view
|

Re: Trouble with a by reference LONG in a wrapped OCX

Sebastián Sastre
Dear Andy,

  the code you asked for is:
getVideoProcAmp: valueIndex value: value
        "Answer the <SDWORD> result of invoking the GetVideoProcAmp() method
of the COM object.
        Helpstring: Gets video property values."

        ^(self invokeId: 95 with: valueIndex with: value)

  but just in case I also post the pac

  thanks,

Sebastian

| package |
package := Package name: 'VIDEOCAPXLib'.
package paxVersion: 1;
        basicComment: ''.


package classNames
        add: #VIDEOCAPXLib_DVideoCapX;
        yourself.

package globalNames
        add: #VIDEOCAPXLib;
        add: #VIDEOCAPXLibConstants;
        yourself.

package binaryGlobalNames: (Set new
        add: #VIDEOCAPXLib;
        yourself).

package globalAliases: (Set new
        yourself).

package setPrerequisites: (IdentitySet new
        add: '..\..\Object Arts\Dolphin\ActiveX\Automation\ActiveX
Automation';
        add: '..\..\Object Arts\Dolphin\Base\Dolphin';
        add: '..\..\Object Arts\Dolphin\ActiveX\COM\OLE COM';
        add: '..\..\Object Arts\Dolphin\ActiveX\Components\Picture\OLE
Picture';
        yourself).

package!

"Class Definitions"!

IDispatch subclass: #VIDEOCAPXLib_DVideoCapX
        instanceVariableNames: ''
        classVariableNames: ''
        poolDictionaries: 'VIDEOCAPXLibConstants'
        classInstanceVariableNames: ''!

"Global Aliases"!


"Loose Methods"!

"End of package definition"!

"Source Globals"!

Smalltalk at: #VIDEOCAPXLibConstants put: (PoolConstantsDictionary
named: #VIDEOCAPXLibConstants)!
VIDEOCAPXLibConstants at: 'vcxBoth' put: 16r1!
VIDEOCAPXLibConstants at: 'vcxNo' put: 16r0!
VIDEOCAPXLibConstants at: 'vcxPreviewOnly' put: 16r2!
VIDEOCAPXLibConstants shrink!

"Classes"!

VIDEOCAPXLib_DVideoCapX guid: (IID fromString:
'{912FB005-DD9A-11D3-BD8D-DAAFCB8D9378}')!
VIDEOCAPXLib_DVideoCapX comment: '<VIDEOCAPXLib_DVideoCapX> is a
wrapper class generated for the dispatch interface
''VIDEOCAPXLib._DVideoCapX'' from type information in the ''VideoCapX
ActiveX Control module'' library. It contains methods to get and set
the properties and invoke the methods exposed by that interface.

The type library contains the following helpstring for this
dispinterface
        "Dispatch interface for VideoCapX Control"

Warning: This comment was automatically generated from the
dispinterface''s type information, but any changes made here will not
be overwritten if the wrapper class is regenerated.

IDL definition follows:

[
        uuid(912FB005-DD9A-11D3-BD8D-DAAFCB8D9378),
        helpstring("Dispatch interface for VideoCapX Control"),
        hidden
]
dispinterface _DVideoCapX {
        properties:
                [
                        id(0x00000018),
                        helpstring("Filename for captured media file. Extension can be AVI
or WMV."),
                        helpcontext(0x00000001)
                ]
[helpstring("Filename for captured media file. Extension can be AVI or
WMV."), helpcontext(0x00000001)] BSTR CapFilename;
                [
                        id(0x00000019),
                        helpstring("Indicate will audio be captured"),
                        helpcontext(0x00000001)
                ]
[helpstring("Indicate will audio be captured"),
helpcontext(0x00000001)] VARIANT_BOOL CaptureAudio;
                [
                        id(0x00000001),
                        helpstring("Indicate is CapTimeLimit property valid"),
                        helpcontext(0x00000001)
                ]
[helpstring("Indicate is CapTimeLimit property valid"),
helpcontext(0x00000001)] VARIANT_BOOL CapTimeLimitEnabled;
                [
                        id(0x00000002),
                        helpstring("Time limit for capturing, in seconds"),
                        helpcontext(0x00000001)
                ]
[helpstring("Time limit for capturing, in seconds"),
helpcontext(0x00000001)] long CapTimeLimit;
                [
                        id(0x0000001a),
                        helpstring("Get/set connection to video device"),
                        helpcontext(0x00000001)
                ]
[helpstring("Get/set connection to video device"),
helpcontext(0x00000001)] VARIANT_BOOL Connected;
                [
                        id(0x0000001b),
                        helpstring("Enable/disable video preview"),
                        helpcontext(0x00000001)
                ]
[helpstring("Enable/disable video preview"), helpcontext(0x00000001)]
VARIANT_BOOL Preview;
                [
                        id(0x0000001c),
                        helpstring("Get/Set video capture rate (number of frames per
second)"),
                        helpcontext(0x00000001)
                ]
[helpstring("Get/Set video capture rate (number of frames per
second)"), helpcontext(0x00000001)] double CaptureRate;
                [
                        id(0x0000001d),
                        helpstring("Indicate will preview video be resized to fit control
rectangle"),
                        helpcontext(0x00000001)
                ]
[helpstring("Indicate will preview video be resized to fit control
rectangle"), helpcontext(0x00000001)] VARIANT_BOOL PreviewScale;
                [
                        id(0x0000001e),
                        helpstring("Set index of video device to use for capture"),
                        helpcontext(0x00000001)
                ]
[helpstring("Set index of video device to use for capture"),
helpcontext(0x00000001)] long VideoDeviceIndex;
                [
                        id(0x0000001f),
                        helpstring("Set index of audio device to use for capturing audio"),
                        helpcontext(0x00000001)
                ]
[helpstring("Set index of audio device to use for capturing audio"),
helpcontext(0x00000001)] long AudioDeviceIndex;
                [
                        id(0x0000002d),
                        helpstring("Returns TRUE if video-capture is in progress"),
                        helpcontext(0x00000001)
                ]
[helpstring("Returns TRUE if video-capture is in progress"),
helpcontext(0x00000001)] VARIANT_BOOL IsCapturing;
                [
                        id(0x00000003),
                        helpstring("Sets quality parameter for video codec"),
                        helpcontext(0x00000001)
                ]
[helpstring("Sets quality parameter for video codec"),
helpcontext(0x00000001)] long VideoCodecQuality;
                [
                        id(0x00000020),
                        helpstring("If set to TRUE, the control will listed for TCP
connections on ServerPort mode and send video frames"),
                        helpcontext(0x00000001)
                ]
[helpstring("If set to TRUE, the control will listed for TCP
connections on ServerPort mode and send video frames"),
helpcontext(0x00000001)] VARIANT_BOOL ServerMode;
                [
                        id(0x00000021),
                        helpstring("Number of TCP port for ServerMode"),
                        helpcontext(0x00000001)
                ]
[helpstring("Number of TCP port for ServerMode"),
helpcontext(0x00000001)] long ServerPort;
                [
                        id(0x00000004),
                        helpstring("Sets password for server access"),
                        helpcontext(0x00000001)
                ]
[helpstring("Sets password for server access"),
helpcontext(0x00000001)] BSTR ServerPassword;
                [
                        id(0x00000022),
                        helpstring("Set index of video codec to use for on-the-fly
compression of video"),
                        helpcontext(0x00000001)
                ]
[helpstring("Set index of video codec to use for on-the-fly compression
of video"), helpcontext(0x00000001)] long VideoCodecIndex;
                [
                        id(0x00000023),
                        helpstring("Set index of audio codec to use for audio compression"),

                        helpcontext(0x00000001)
                ]
[helpstring("Set index of audio codec to use for audio compression"),
helpcontext(0x00000001)] long AudioCodecIndex;
                [
                        id(0x00000005),
                        helpstring("Internal. Do not use."),
                        helpcontext(0x00000001)
                ]
[helpstring("Internal. Do not use."), helpcontext(0x00000001)] long
DebugMode;
                [
                        id(0x00000006),
                        helpstring("If set to TRUE, FTP transfer methods will use passive
mode."),
                        helpcontext(0x00000001)
                ]
[helpstring("If set to TRUE, FTP transfer methods will use passive
mode."), helpcontext(0x00000001)] VARIANT_BOOL FTPPassiveMode;
                [
                        id(0x00000024),
                        helpstring("Sets channel to use on multi-port capture cards"),
                        helpcontext(0x00000001)
                ]
[helpstring("Sets channel to use on multi-port capture cards"),
helpcontext(0x00000001)] long VideoInputIndex;
                [
                        id(0x00000025),
                        helpstring("Set mouse pointer shape"),
                        helpcontext(0x00000001)
                ]
[helpstring("Set mouse pointer shape"), helpcontext(0x00000001)] long
MousePointer;
                [
                        id(0xfffffdfd),
                        helpstring("Returns Windows window handle of VideoCapX control"),
                        helpcontext(0x00000001)
                ]
[helpstring("Returns Windows window handle of VideoCapX control"),
helpcontext(0x00000001)] OLE_HANDLE hWnd;
                [
                        id(0x00000007),
                        helpstring("Specify master stream in AVI file (audio or video or
none)"),
                        helpcontext(0x00000001)
                ]
[helpstring("Specify master stream in AVI file (audio or video or
none)"), helpcontext(0x00000001)] long MasterStream;
                [
                        id(0x0000002e),
                        helpstring("Returns current video width in pixels. This property is
read-only."),
                        helpcontext(0x00000001)
                ]
[helpstring("Returns current video width in pixels. This property is
read-only."), helpcontext(0x00000001)] long VideoWidth;
                [
                        id(0x0000002f),
                        helpstring("Returns current video height in pixels. This property is
read-only."),
                        helpcontext(0x00000001)
                ]
[helpstring("Returns current video height in pixels. This property is
read-only."), helpcontext(0x00000001)] long VideoHeight;
                [
                        id(0x00000026),
                        helpstring("Enable/disable video operlay preview"),
                        helpcontext(0x00000001)
                ]
[helpstring("Enable/disable video operlay preview"),
helpcontext(0x00000001)] VARIANT_BOOL Overlay;
                [
                        id(0x00000030),
                        helpstring("(Read-only) Returns TRUE if selected video device
supportes video overlay feature"),
                        helpcontext(0x00000001)
                ]
[helpstring("(Read-only) Returns TRUE if selected video device
supportes video overlay feature"), helpcontext(0x00000001)]
VARIANT_BOOL HasOverlay;
                [
                        id(0x00000031),
                        helpstring("Sets video flipping. Flips video image horizontally
and/or vertically."),
                        helpcontext(0x00000001)
                ]
[helpstring("Sets video flipping. Flips video image horizontally and/or
vertically."), helpcontext(0x00000001)] long VideoFlip;
                [
                        id(0x00000027),
                        helpstring("Specify input port for audio on multi-port audio input
cards"),
                        helpcontext(0x00000001)
                ]
[helpstring("Specify input port for audio on multi-port audio input
cards"), helpcontext(0x00000001)] long AudioInputIndex;
                [
                        id(0x00000028),
                        helpstring("When set to TRUE, preview video will cover the whole
screen"),
                        helpcontext(0x00000001)
                ]
[helpstring("When set to TRUE, preview video will cover the whole
screen"), helpcontext(0x00000001)] VARIANT_BOOL PreviewFullScreen;
                [
                        id(0x00000008),
                        helpstring("Specify system profile to use when creating WMV files"),

                        helpcontext(0x00000001)
                ]
[helpstring("Specify system profile to use when creating WMV files"),
helpcontext(0x00000001)] long ProfileIndex;
                [
                        id(0x00000009),
                        helpstring("Specify quality of video images transfered by
ReceiveFrame method. Range 10-100. Defult 30."),
                        helpcontext(0x00000001)
                ]
[helpstring("Specify quality of video images transfered by ReceiveFrame
method. Range 10-100. Defult 30."), helpcontext(0x00000001)] long
ServerQuality;
                [
                        id(0x0000000a),
                        helpstring("Set custom WM profile XML data"),
                        helpcontext(0x00000001)
                ]
[helpstring("Set custom WM profile XML data"), helpcontext(0x00000001)]
BSTR ProfileData;
                [
                        id(0x00000029),
                        helpstring("Set this property to TRUE if you want audio in preview
mode"),
                        helpcontext(0x00000001)
                ]
[helpstring("Set this property to TRUE if you want audio in preview
mode"), helpcontext(0x00000001)] VARIANT_BOOL PreviewAudio;
                [
                        id(0x00000032),
                        helpstring("Sets WindowsMedia system profiles version to use. See
ProfileIndex property. Deafult is 7. Possible values are 4,7 and 8."),
                        helpcontext(0x00000001)
                ]
[helpstring("Sets WindowsMedia system profiles version to use. See
ProfileIndex property. Deafult is 7. Possible values are 4,7 and 8."),
helpcontext(0x00000001)] long WMTVersion;
                [
                        id(0x00000033),
                        helpstring("Returns connected video device type. 0,1,2,3 for
unknown, TV tuner, DV camera, DV VCR ."),
                        helpcontext(0x00000001)
                ]
[helpstring("Returns connected video device type. 0,1,2,3 for unknown,
TV tuner, DV camera, DV VCR ."), helpcontext(0x00000001)] long
DeviceType;
                [
                        id(0x0000000b),
                        helpstring("Set IUnknown pointer of custom video filter."),
                        helpcontext(0x00000001)
                ]
[helpstring("Set IUnknown pointer of custom video filter."),
helpcontext(0x00000001)] IUnknown* UserFilterIUnknown;
                [
                        id(0x0000002a),
                        helpstring("Determine if VideoCapX video filter will be used. This
filter handles frame grabbing, video cropping and text/bitmap overlay.
Without it, video stream can be much faster."),
                        helpcontext(0x00000001)
                ]
[helpstring("Determine if VideoCapX video filter will be used. This
filter handles frame grabbing, video cropping and text/bitmap overlay.
Without it, video stream can be much faster."),
helpcontext(0x00000001)] vcxUseVideoFilterEnum UseVideoFilter;
                [
                        id(0x0000000c),
                        helpstring("Specify user video filter by CLSID"),
                        helpcontext(0x00000001)
                ]
[helpstring("Specify user video filter by CLSID"),
helpcontext(0x00000001)] BSTR UserFilterCLSID;
                [
                        id(0x0000002b),
                        helpstring("Use deinterlace when grabbing frames"),
                        helpcontext(0x00000001)
                ]
[helpstring("Use deinterlace when grabbing frames"),
helpcontext(0x00000001)] VARIANT_BOOL UseDeinterlace;
                [
                        id(0x0000002c),
                        helpstring("Specify color format of the source video stream"),
                        helpcontext(0x00000001)
                ]
[helpstring("Specify color format of the source video stream"),
helpcontext(0x00000001)] long ColorFormat;
                [
                        id(0x0000000d),
                        helpstring("Is stream offset used to synchronize audio/video streams
in captured file"),
                        helpcontext(0x00000001)
                ]
[helpstring("Is stream offset used to synchronize audio/video streams
in captured file"), helpcontext(0x00000001)] VARIANT_BOOL
SyncUsingStreamOffset;
                [
                        id(0x0000000e),
                        helpstring("If set to TRUE, VideoCapX will resize video to half of
it''s actual size when capturing"),
                        helpcontext(0x00000001)
                ]
[helpstring("If set to TRUE, VideoCapX will resize video to half of
it''s actual size when capturing"), helpcontext(0x00000001)]
VARIANT_BOOL HalfSizedVideo;
                [
                        id(0x00000034),
                        helpstring("Returns VideoCapX.OCX version number"),
                        helpcontext(0x00000001)
                ]
[helpstring("Returns VideoCapX.OCX version number"),
helpcontext(0x00000001)] BSTR Version;
                [
                        id(0x0000000f),
                        helpstring("If set to TRUE, VideoCapX will use VideoMixingRenderer9
for video preview"),
                        helpcontext(0x00000001)
                ]
[helpstring("If set to TRUE, VideoCapX will use VideoMixingRenderer9
for video preview"), helpcontext(0x00000001)] VARIANT_BOOL UseVMR9;
                [
                        id(0x00000010),
                        helpstring("Specify how many pixels to discard at video borders."),
                        helpcontext(0x00000001)
                ]
[helpstring("Specify how many pixels to discard at video borders."),
helpcontext(0x00000001)] long Overscan;
                [
                        id(0x00000011),
                        helpstring("Windows Media attributes to set when capturing into WMV
files or broadcasting"),
                        helpcontext(0x00000001)
                ]
[helpstring("Windows Media attributes to set when capturing into WMV
files or broadcasting"), helpcontext(0x00000001)] BSTR WMAttributes;
                [
                        id(0x00000035),
                        helpstring("Set custom mouse icon"),
                        helpcontext(0x00000001)
                ]
[helpstring("Set custom mouse icon"), helpcontext(0x00000001)] Picture*
MouseIcon;
                [
                        id(0x00000012),
                        helpstring("If mulitple network adapters are installed, this
property specifies which one to use in network comunication.")
                ]
[helpstring("If mulitple network adapters are installed, this property
specifies which one to use in network comunication.")] BSTR
LocalAddress;
                [
                        id(0x00000013),
                        helpstring("If set to TRUE, every new video frame will generate
NewFrame event"),
                        helpcontext(0x00000001)
                ]
[helpstring("If set to TRUE, every new video frame will generate
NewFrame event"), helpcontext(0x00000001)] VARIANT_BOOL
EnableNewFrameEvent;
                [
                        id(0x00000014),
                        helpstring("URL of network camera acting as video source"),
                        helpcontext(0x00000001)
                ]
[helpstring("URL of network camera acting as video source"),
helpcontext(0x00000001)] BSTR VideoSourceURL;
                [
                        id(0x00000015),
                        helpstring("If set to TRUE, VideoCapX will output video preview to
overlay surface of graphics adapter.")
                ]
[helpstring("If set to TRUE, VideoCapX will output video preview to
overlay surface of graphics adapter.")] VARIANT_BOOL UseOverlay;
                [
                        id(0x00000016),
                        helpstring("Second user filter")
                ]
[helpstring("Second user filter")] BSTR UserFilter2CLSID;
                [
                        id(0x00000017),
                        helpstring("Third user filter")
                ]
[helpstring("Third user filter")] BSTR UserFilter3CLSID;

        methods:
[id(0x00000036), helpstring("Copy current vide frame into clipboard"),
helpcontext(0x00000001)]
                VARIANT_BOOL CopyFrame();
[id(0x00000037), helpstring("Saves video image into file"),
helpcontext(0x00000001)]
                VARIANT_BOOL SaveFrame(
                        BSTR filename);
[id(0x00000038), helpstring("Starts video capture"),
helpcontext(0x00000001)]
                VARIANT_BOOL StartCapture();
[id(0x00000039), helpstring("Stops video capture"),
helpcontext(0x00000001)]
                VARIANT_BOOL StopCapture();
[id(0x0000003a), helpstring("Set video image dimensions"),
helpcontext(0x00000001)]
                VARIANT_BOOL SetVideoFormat(
                        long width,
                        long height);
[id(0x0000003b), helpstring("Retrieves video capture parameters"),
helpcontext(0x00000001)]
                long GetCapStatus(
                        [out]long* ImageWidth,
                        [out]long* ImageHeight,
                        [out]long* CurrentVideoFrame,
                        [out]long* CurrentVideoFramesDropped,
                        [out]long* CurrentTimeElapsedMS,
                        [out]long* fCapturingNow);
[id(0x0000003c), helpstring("Returns current video frame as VB Picture
object"), helpcontext(0x00000001)]
                Picture* GrabFrame();
[id(0x0000003d), helpstring("Saves current video frame into JPG file"),
helpcontext(0x00000001)]
                VARIANT_BOOL SaveFrameJPG(
                        BSTR filename,
                        long quality);
[id(0x0000003e), helpstring("Sends current video frame to FTP server"),
helpcontext(0x00000001)]
                VARIANT_BOOL UploadFrame(
                        BSTR server,
                        BSTR username,
                        BSTR password,
                        BSTR path,
                        BSTR filename,
                        long port,
                        long quality);
[id(0x0000003f), helpstring("Returns audio format parameters"),
helpcontext(0x00000001)]
                VARIANT_BOOL GetAudioFormat(
                        long* FmtTag,
                        long* nChannels,
                        long* nSamplesPerSec,
                        long* nAvgBytesPerSec,
                        long* nBlockAlign,
                        long* wBitsPerSample);
[id(0x00000040), helpstring("Sets audio format for capture"),
helpcontext(0x00000001)]
                VARIANT_BOOL SetAudioFormat(
                        long FmtTag,
                        long nChannels,
                        long nSamplesPerSec,
                        long nAvgBytesPerSec,
                        long nBlockAlign,
                        long nBitsPerSample);
[id(0x00000041), helpstring("Detect changes in video frames"),
helpcontext(0x00000001)]
                long DetectMotion();
[id(0x00000079), helpstring("Returns video device name"),
helpcontext(0x00000001)]
                BSTR GetVideoDeviceName(
                        long Index);
[id(0x0000007a), helpstring("Returns audio device name"),
helpcontext(0x00000001)]
                BSTR GetAudioDeviceName(
                        long Index);
[id(0x00000042), helpstring("Pre-allocates space on disk for capture
file"), helpcontext(0x00000001)]
                long AllocCapFile(
                        long FileSizeMb);
[id(0x00000043), helpstring("Copies AVI file from pre-allocated storage
into new file"), helpcontext(0x00000001)]
                long CopyCaptureFile(
                        BSTR New);
[id(0x00000044), helpstring("Copies AVI/WMV into new file using
specified video compression."), helpcontext(0x00000001)]
                long Recompress(
                        BSTR SrcFile,
                        BSTR DestFile);
[id(0x00000045), helpstring("Returns current video frame image as array
of RGB values."), helpcontext(0x00000001)]
                VARIANT GetRGB();
[id(0x00000046), helpstring("Sets on-video text caption."),
helpcontext(0x00000001)]
                long SetTextOverlay(
                        long Index,
                        BSTR Caption,
                        long X,
                        long Y,
                        BSTR FontName,
                        long FontSize,
                        long FColor,
                        long BColor);
[id(0x00000047), helpstring("Acquires an image from TWAIN source (like
scanner)."), helpcontext(0x00000001)]
                Picture* Acquire();
[id(0x00000048), helpstring("Let the user select TWAIN source."),
helpcontext(0x00000001)]
                long SelectSource();
[id(0x00000049), helpstring("Crops live-video stream to the rectangle
of dimensions (W,H) and with top-left coordinate of (X,Y)."),
helpcontext(0x00000001)]
                long SetCrop(
                        long X,
                        long Y,
                        long W,
                        long H);
[id(0x0000004a), helpstring("Returns video size."),
helpcontext(0x00000001)]
                long GetVideoFormat(
                        long* width,
                        long* height);
[id(0x0000004b), helpstring("Saves Picture object into JPG file."),
helpcontext(0x00000001)]
                long SavePictureJPG(
                        Picture* Picture,
                        BSTR filename,
                        long quality);
[id(0x0000004c), helpstring("Return video frame from remote server as
Picture object."), helpcontext(0x00000001)]
                Picture* ReceiveFrame(
                        BSTR ServerName);
[id(0x0000004d), helpstring("Shows video source dialog."),
helpcontext(0x00000001)]
                long ShowVideoSourceDlg();
[id(0x0000004e), helpstring("Shows video format dialog."),
helpcontext(0x00000001)]
                long ShowVideoFormatDlg();
[id(0x0000004f), helpstring("Shows video codec dialog."),
helpcontext(0x00000001)]
                long ShowVideoCodecDlg();
[id(0x00000050), helpstring("Shows audio codec dialog."),
helpcontext(0x00000001)]
                long ShowAudioCodecDlg();
[id(0x00000051), helpstring("Shows audio source dialog."),
helpcontext(0x00000001)]
                long ShowAudioSourceDlg();
[id(0x00000052), helpstring("Shows audio format dialog."),
helpcontext(0x00000001)]
                long ShowAudioFormatDlg();
[id(0x00000053), helpstring("Opens media file for playback."),
helpcontext(0x00000001)]
                long PlayerOpen(
                        BSTR filename);
[id(0x00000054), helpstring("Closes media playback."),
helpcontext(0x00000001)]
                long PlayerClose();
[id(0x00000055), helpstring("Start playing media file."),
helpcontext(0x00000001)]
                long PlayerStart();
[id(0x00000056), helpstring("Stop playing media file."),
helpcontext(0x00000001)]
                long PlayerStop();
[id(0x00000057), helpstring("Returns video size for media player."),
helpcontext(0x00000001)]
                long PlayerGetVideoSize(
                        long* width,
                        long* height);
[id(0x00000058), helpstring("Mutes sound of media player."),
helpcontext(0x00000001)]
                long PlayerSetMute(
                        long Mute);
[id(0x00000059), helpstring("Returns current playing position."),
helpcontext(0x00000001)]
                long PlayerGetPos();
[id(0x0000005a), helpstring("Sets current position for playback."),
helpcontext(0x00000001)]
                long PlayerSetPos(
                        double PosMS);
[id(0x0000005b), helpstring("Opens full-screen playback."),
helpcontext(0x00000001)]
                long PlayerSetFullScreen(
                        long Full);
[id(0x0000005c), helpstring("Returns media file length in
milliseconds."), helpcontext(0x00000001)]
                long PlayerGetLenMS();
[id(0x0000005d), helpstring("Return Windows HBITMAP value of current
video frame."), helpcontext(0x00000001)]
                long GetFrameAsHBITMAP();
[id(0x0000005e), helpstring("Sets media player window size."),
helpcontext(0x00000001)]
                long PlayerSetSize(
                        long width,
                        long height);
[id(0x0000005f), helpstring("Gets video property values."),
helpcontext(0x00000001)]
                long GetVideoProcAmp(
                        long ValueIndex,
                        long* Value);
[id(0x00000060), helpstring("Sets video property values."),
helpcontext(0x00000001)]
                long SetVideoProcAmp(
                        long ValueIndex,
                        long Value);
[id(0x00000061), helpstring("Retrieve value range for video
property."), helpcontext(0x00000001)]
                long GetVideoProcAmpValueRange(
                        long ValueIndex,
                        long* Min,
                        long* Max,
                        long* SteppingDelta,
                        long* Default);
[id(0x00000062), helpstring("Sets rectangle(s) to ignore on the image
while detecting motion."), helpcontext(0x00000001)]
                long SetMotionMask(
                        long Index,
                        long Left,
                        long Top,
                        long width,
                        long height);
[id(0x00000063), helpstring("Returns name of specified video channel on
multiple-input capture cards."), helpcontext(0x00000001)]
                BSTR GetVideoInputName(
                        long Index);
[id(0x00000064), helpstring("Returns number of video inputs on
currently selected video device (card)."), helpcontext(0x00000001)]
                long GetVideoInputCount();
[id(0x00000065), helpstring("Pause capture"), helpcontext(0x00000001)]
                long PauseCapture();
[id(0x00000066), helpstring("Resume capture paused with PauseCapture
method"), helpcontext(0x00000001)]
                long ResumeCapture();
[id(0x00000067), helpstring("Display next frame"),
helpcontext(0x00000001)]
                long PlayerStepOneFrame();
[id(0x00000068), helpstring("Returns number of fideo frames in the
movie"), helpcontext(0x00000001)]
                double PlayerGetFrameCount();
[id(0x00000069), helpstring("Sets current video frame"),
helpcontext(0x00000001)]
                double PlayerSetFrame(
                        double nFrame);
[id(0x0000006a), helpstring("Returns current video frame number"),
helpcontext(0x00000001)]
                double PlayerGetFrame();
[id(0x0000006b), helpstring("Control Digital Video VCR. Use this method
to change VCR modes of DV camcorder."), helpcontext(0x00000001)]
                long VCRSetMode(
                        long Mode);
[id(0x0000006c), helpstring("Set TV tuner channel"),
helpcontext(0x00000001)]
                long SetTunerChannel(
                        long nChannel);
[id(0x0000006d), helpstring("Returns an array of supported video
formats"), helpcontext(0x00000001)]
                VARIANT GetVideoCaps();
[id(0x0000006e), helpstring("Set TV format (PAL, NTSC, etc.)"),
helpcontext(0x00000001)]
                long SetTVFormat(
                        long NewFormat);
[id(0x0000006f), helpstring("Creates AVI file for single-frame
capturing."), helpcontext(0x00000001)]
                long SingleFrameOpen(
                        long fps);
[id(0x00000070), helpstring("Closes single-frame AVI capture"),
helpcontext(0x00000001)]
                long SingleFrameClose();
[id(0x00000071), helpstring("Adds current video frame into AVI file
opened by SingleFrameOpen method"), helpcontext(0x00000001)]
                long SingleFrameAdd();
[id(0x00000072), helpstring("Sets audio delay (positive or negative) in
captured AVI file. DelayMS argument is in milliseconds."),
helpcontext(0x00000001)]
                long SetAudioDelay(
                        long DelayMS);
[id(0x00000073), helpstring("Returns difference between two images."),
helpcontext(0x00000001)]
                long CompareImages(
                        Picture* Picture1,
                        Picture* Picture2,
                        long Sensitivity);
[id(0x00000074), helpstring("Sets bitmap to show on-video"),
helpcontext(0x00000001)]
                long SetBitmapOverlay(
                        long BitmapHandle,
                        long X,
                        long Y,
                        long TransColor);
[id(0x00000075), helpstring("Returns value of camera-control
properties"), helpcontext(0x00000001)]
                long CameraControlGet(
                        long Prop);
[id(0x00000076), helpstring("Sets camera-control properties"),
helpcontext(0x00000001)]
                long CameraControlSet(
                        long Prop,
                        long Val);
[id(0x0000007b), helpstring("Returns video codec name."),
helpcontext(0x00000001)]
                BSTR GetVideoCodecName(
                        long nIndex);
[id(0x00000077), helpstring("Return timecode value on digital VCR video
type"), helpcontext(0x00000001)]
                long GetTimecode();
[id(0x00000078), helpstring("Set / retrieve TV tuner input type; cable
or antenna."), helpcontext(0x00000001)]
                long SetTunerInputType(
                        long InputType);
[id(0x0000007c), helpstring("Returns audio codec name"),
helpcontext(0x00000001)]
                BSTR GetAudioCodecName(
                        long Index);
[id(0x0000007d)]
                long StartCapture2();
[id(0x0000007e), helpstring("Returns number of input ports on audio
source"), helpcontext(0x00000001)]
                long GetAudioInputCount();
[id(0x0000007f), helpstring("Returns audio input port name"),
helpcontext(0x00000001)]
                BSTR GetAudioInputName(
                        long Index);
[id(0x00000080), helpstring("Returns number of video-capture devices in
the system"), helpcontext(0x00000001)]
                long GetVideoDeviceCount();
[id(0x00000081), helpstring("Returns installed video codec count"),
helpcontext(0x00000001)]
                long GetVideoCodecCount();
[id(0x00000082), helpstring("Returns installed audio codec count"),
helpcontext(0x00000001)]
                long GetAudioCodecCount();
[id(0x00000083), helpstring("Returns number of audio devices in the
system"), helpcontext(0x00000001)]
                long GetAudioDeviceCount();
[id(0x00000084), helpstring("Stops WM broadcast"),
helpcontext(0x00000001)]
                long StopBroadcast();
[id(0x00000085), helpstring("Starts WindowsMedia network broadcast at
specified port. Use Windows MediaPlayer''s OpenURL command to see video
on network."), helpcontext(0x00000001)]
                long StartBroadcast(
                        long port,
                        long MaxConnections);
[id(0x00000086), helpstring("Returns number of WindowsMedia system
profiles"), helpcontext(0x00000001)]
                long GetProfileCount();
[id(0x00000087), helpstring("Returns WindowsMedia profile name"),
helpcontext(0x00000001)]
                BSTR GetProfileName(
                        long ProfileIndex);
[id(0x00000088), helpstring("Returns WindowsMedia profile
description"), helpcontext(0x00000001)]
                BSTR GetProfileDesc(
                        long ProfileIndex);
[id(0x00000089), helpstring("Set/Get TV tuner country code"),
helpcontext(0x00000001)]
                long SetTunerCountryCode(
                        long Code);
[id(0x0000008a), helpstring("Display TV tuner properties dialog"),
helpcontext(0x00000001)]
                long ShowTunerDlg();
[id(0x0000008b), helpstring("Returns current actual frame rate. Some
devices may provide lower frame rates than requested because of
bandwidth availability. This is only available during video
streaming."), helpcontext(0x00000001)]
                double GetActualFrameRate();
[id(0x0000008c), helpstring("Sets the recording level for audio input
selected with AudioInputIndex property. Level value is in range 0 to
100."), helpcontext(0x00000001)]
                long SetAudioInputLevel(
                        long Level);
[id(0x0000008d), helpstring("Returns 1 if TV signal is present on
current channel"), helpcontext(0x00000001)]
                long GetTunerSignal();
[id(0x0000008e), helpstring("Sets audio renderer volume. Volume
argument range is 0 - 100. if Volume is -1, this method returns current
audio volume."), helpcontext(0x00000001)]
                long SetAudioVolume(
                        long Volume);
[id(0x0000008f), helpstring("Set master volume for specified mixer
line. Volume argument range is 0 - 100. if Volume is -1, this method
returns current audio volume."), helpcontext(0x00000001)]
                long SetMasterAudioVolume(
                        long LineID,
                        long Volume);
[id(0x00000090), helpstring("Returns time on DV video tape (the time
when the video has been taken) "), helpcontext(0x00000001)]
                DATE GetDateCode();
[id(0x00000091), helpstring("Returns current filter settings"),
helpcontext(0x00000001)]
                BSTR GetFilterSettings(
                        long FilterID);
[id(0x00000092), helpstring("Set filter settings"),
helpcontext(0x00000001)]
                long SetFilterSettings(
                        long Filter,
                        BSTR Data);
[id(0x00000093), helpstring("Returns file size (in bytes) of capture
file"), helpcontext(0x00000001)]
                double GetCapFileSize();
[id(0x00000094), helpstring("Sets the playback rate"),
helpcontext(0x00000001)]
                double PlayerSetRate(
                        double NewRate);
[id(0x00000095), helpstring("Display video crossbar dialog"),
helpcontext(0x00000001)]
                long ShowVideoCrossbarDlg();
[id(0x00000096), helpstring("Display user filter property page"),
helpcontext(0x00000001)]
                long ShowUserFilterDlg(
                        long FilterIndex);
[id(0x00000097), helpstring("Steps nFrames in player mode"),
helpcontext(0x00000001)]
                long PlayerStepFrames(
                        long nFrames);
[id(0x00000098), helpstring("Returns audio level in preview mode"),
helpcontext(0x00000001)]
                long GetAudioLevel();
[id(0x00000099), helpstring("Sets video format by capability index
returned by GetVideoCaps method"), helpcontext(0x00000001)]
                long SetVideoFormatEx(
                        long CapabilityIndex);
[id(0x0000009a), helpstring("Sets priority class for the current
process. High argument is TRUE for high priority or FALSE for normal
priority."), helpcontext(0x00000001)]
                VARIANT_BOOL SetHighPriority(
                        VARIANT_BOOL High);
[id(0x0000009b), helpstring("Loads WM profile data from .prx file. URL
argument must start with ''http://'' or ''file://'' . Return value is 1
on success or 0 on failure."), helpcontext(0x00000001)]
                long LoadProfileFromURL(
                        BSTR URL);
[id(0x0000009c), helpstring("Use HTTP upload protocol to send
information and files to web server"), helpcontext(0x00000001)]
                long HTTPUpload(
                        BSTR WebServer,
                        BSTR WebPage,
                        BSTR Fields,
                        BSTR Files);
[id(0x0000009d), helpstring("Returns VMR9 IUnknown interface if VMR9 is
in use. See ''UseVMR9'' property."), helpcontext(0x00000001)]
                IUnknown* GetVMR9IUnknown();
[id(0x0000009e), helpstring("Receive audio data packet from server"),
helpcontext(0x00000001)]
                long ReceiveAudio(
                        BSTR ServerAddress,
                        VARIANT_BOOL Play,
                        long* nChannels,
                        long* nSamplesPerSecond,
                        long* nBytesPerSample,
                        VARIANT* PCMData);
[id(0x0000009f), helpstring("Retrieve camera control range values."),
helpcontext(0x00000001)]
                long CameraControlGetRange(
                        long Prop,
                        long* MinVal,
                        long* MaxVal,
                        long* SteppingDelta,
                        long* DefaultValue,
                        long* CapsFlags);
[id(0x000000a0), helpstring("Returns video device description"),
helpcontext(0x00000001)]
                BSTR GetVideoDeviceDesc(
                        long Index);
[id(0x000000a1), helpstring("Starts a video-cenference call"),
helpcontext(0x00000001)]
                long DisplayRemote(
                        BSTR RemoteAddress,
                        VARIANT_BOOL Audio);
[id(0x000000a2), helpstring("Export DV-compatible AVI file to DV VTR
device"), helpcontext(0x00000001)]
                long ExportToDV(
                        BSTR filename);
[id(0x000000a3), helpstring("Open DVD volume"),
helpcontext(0x00000001)]
                long PlayerOpenDVD(
                        BSTR path);
[id(0x000000a4), helpstring("Adds a Windows bitmap to the AVI file
created with SingleFrameAdd method."), helpcontext(0x00000001)]
                long SingleFrameAddPicture(
                        long BitmapHandle);
[id(0x000000a5), helpstring("Sets fade level (the range is 0-100, 0 is
neutral) for video"), helpcontext(0x00000001)]
                long SetFadeLevel(
                        long NewLevel);
[id(0x000000a6)]
                VARIANT_BOOL EnableExternalTrigger(
                        VARIANT_BOOL bEnable);
[id(0x000000a7), helpstring("Use this method to merge video and audio
files and/or crop video files."), helpcontext(0x00000001)]
                long RecompressEx(
                        BSTR SrcFile1,
                        BSTR SrcFile2,
                        BSTR DestFile,
                        double TimeStart,
                        double TimeEnd);
[id(0x000000a8), helpstring("The AutoTune method scans for a precise
signal on the channel''s frequency."), helpcontext(0x00000001)]
                long AutoTune(
                        long nChannel);
[id(0x000000a9), helpstring("The StoreAutoTune method saves the
fine-tuning information for all channels."), helpcontext(0x00000001)]
                long StoreAutoTune();
[id(0x000000aa)]
                BSTR GetVideoCaps2();
[id(0x000000ab), helpstring("Start sending broadcast to Windows Media
server publishing point"), helpcontext(0x00000001)]
                long StartBroadcastPush(
                        BSTR URL,
                        BSTR User,
                        BSTR password);
[id(0x000000ac)]
                long PlayerOpenBroadcast(
                        BSTR filename,
                        long port,
                        long MaxConnections);
[id(0x000000ad)]
                long ShowVideoDisplayDlg();
[id(0x000000ae), helpstring("Get audio levels for left and right
channel"), helpcontext(0x00000001)]
                long GetAudioLevel2(
                        long* Left,
                        long* Right);
[id(0x000000af), helpstring("Send script type/command pair to broadcast
client. This method works only if WM broadcast started with
StartBroadcast method is running."), helpcontext(0x00000001)]
                long SendScriptCommand(
                        BSTR Type,
                        BSTR Data);
[id(0x000000b0), helpstring("Upload a file to FTP server"),
helpcontext(0x00000001)]
                VARIANT_BOOL UploadFile(
                        BSTR server,
                        BSTR username,
                        BSTR password,
                        BSTR path,
                        BSTR server_filename,
                        BSTR local_filepath,
                        [defaultvalue(21)]long port);
[id(0x000000b1), helpstring("Set zoom rectangle on video. Use all zeros
as parameters to this method to reset zoom."), helpcontext(0x00000001)]
                long SetZoom(
                        long Left,
                        long Top,
                        long width,
                        long height);
[id(0x000000b2), helpstring("Sets chrom-key effect. BackImage parameter
is a filename of static image background which will be visible through
video. Color paramters are RGB values.")]
                long SetChromaKey(
                        BSTR BackImage,
                        long MinTransparentColor,
                        long MaxTransparentColor);
[id(0xfffffdd8), helpstring("Shows About Box of VideoCapX"),
helpcontext(0x00000001)]
                void AboutBox();
};
'!
!VIDEOCAPXLib_DVideoCapX
categoriesForClass!COM-Interfaces!VIDEOCAPXLib-Dispinterfaces! !
!VIDEOCAPXLib_DVideoCapX methodsFor!

aboutBox
        "Invoke the AboutBox() method of the COM object.
        Helpstring: Shows About Box of VideoCapX"

        (self invokeId: -552)
!

acquire
        "Answer the <IPictureDisp> result of invoking the Acquire() method of
the COM object.
        Helpstring: Acquires an image from TWAIN source (like scanner)."

        ^IPictureDisp attachInterface: (self invokeId: 71)
!

allocCapFile: fileSizeMb
        "Answer the <SDWORD> result of invoking the AllocCapFile() method of
the COM object.
        Helpstring: Pre-allocates space on disk for capture file"

        ^(self invokeId: 66 with: fileSizeMb)
!

audioCodecIndex
        "Answer the <sdword> value of the 'AudioCodecIndex' property of the
receiver.
        Helpstring: Set index of audio codec to use for audio compression
                long AudioCodecIndex"

        ^(self getPropertyId: 35)
!

audioCodecIndex: newVal
        "Set the 'AudioCodecIndex' property of the receiver to the <sdword>
value of the argument.
        Helpstring: Set index of audio codec to use for audio compression
                long AudioCodecIndex"

        self setPropertyId: 35 value: newVal
!

audioDeviceIndex
        "Answer the <sdword> value of the 'AudioDeviceIndex' property of the
receiver.
        Helpstring: Set index of audio device to use for capturing audio
                long AudioDeviceIndex"

        ^(self getPropertyId: 31)
!

audioDeviceIndex: newVal
        "Set the 'AudioDeviceIndex' property of the receiver to the <sdword>
value of the argument.
        Helpstring: Set index of audio device to use for capturing audio
                long AudioDeviceIndex"

        self setPropertyId: 31 value: newVal
!

audioInputIndex
        "Answer the <sdword> value of the 'AudioInputIndex' property of the
receiver.
        Helpstring: Specify input port for audio on multi-port audio input
cards
                long AudioInputIndex"

        ^(self getPropertyId: 39)
!

audioInputIndex: newVal
        "Set the 'AudioInputIndex' property of the receiver to the <sdword>
value of the argument.
        Helpstring: Specify input port for audio on multi-port audio input
cards
                long AudioInputIndex"

        self setPropertyId: 39 value: newVal
!

autoTune: nChannel
        "Answer the <SDWORD> result of invoking the AutoTune() method of the
COM object.
        Helpstring: The AutoTune method scans for a precise signal on the
channel's frequency."

        ^(self invokeId: 168 with: nChannel)
!

cameraControlGet: prop
        "Answer the <SDWORD> result of invoking the CameraControlGet() method
of the COM object.
        Helpstring: Returns value of camera-control properties"

        ^(self invokeId: 117 with: prop)
!

cameraControlGetRange: prop minVal: minVal maxVal: maxVal
steppingDelta: steppingDelta defaultValue: defaultValue capsFlags:
capsFlags
        "Answer the <SDWORD> result of invoking the CameraControlGetRange()
method of the COM object.
        Helpstring: Retrieve camera control range values."

        ^(self invokeId: 159 withArguments:
                        ((Array new: 6)
                                basicAt: 1 put: prop;
                                basicAt: 2 put: minVal;
                                basicAt: 3 put: maxVal;
                                basicAt: 4 put: steppingDelta;
                                basicAt: 5 put: defaultValue;
                                basicAt: 6 put: capsFlags;
                                yourself))
!

cameraControlSet: prop val: val
        "Answer the <SDWORD> result of invoking the CameraControlSet() method
of the COM object.
        Helpstring: Sets camera-control properties"

        ^(self invokeId: 118 with: prop with: val)
!

capFilename
        "Answer the <bstr> value of the 'CapFilename' property of the
receiver.
        Helpstring: Filename for captured media file. Extension can be AVI or
WMV.
                BSTR CapFilename"

        ^(self getPropertyId: 24)
!

capFilename: newVal
        "Set the 'CapFilename' property of the receiver to the <bstr> value of
the argument.
        Helpstring: Filename for captured media file. Extension can be AVI or
WMV.
                BSTR CapFilename"

        self setPropertyId: 24 value: newVal
!

capTimeLimit
        "Answer the <sdword> value of the 'CapTimeLimit' property of the
receiver.
        Helpstring: Time limit for capturing, in seconds
                long CapTimeLimit"

        ^(self getPropertyId: 2)
!

capTimeLimit: newVal
        "Set the 'CapTimeLimit' property of the receiver to the <sdword> value
of the argument.
        Helpstring: Time limit for capturing, in seconds
                long CapTimeLimit"

        self setPropertyId: 2 value: newVal
!

capTimeLimitEnabled
        "Answer the <varbool> value of the 'CapTimeLimitEnabled' property of
the receiver.
        Helpstring: Indicate is CapTimeLimit property valid
                VARIANT_BOOL CapTimeLimitEnabled"

        ^(self getPropertyId: 1)
!

capTimeLimitEnabled: newVal
        "Set the 'CapTimeLimitEnabled' property of the receiver to the
<varbool> value of the argument.
        Helpstring: Indicate is CapTimeLimit property valid
                VARIANT_BOOL CapTimeLimitEnabled"

        self setPropertyId: 1 value: newVal
!

captureAudio
        "Answer the <varbool> value of the 'CaptureAudio' property of the
receiver.
        Helpstring: Indicate will audio be captured
                VARIANT_BOOL CaptureAudio"

        ^(self getPropertyId: 25)
!

captureAudio: newVal
        "Set the 'CaptureAudio' property of the receiver to the <varbool>
value of the argument.
        Helpstring: Indicate will audio be captured
                VARIANT_BOOL CaptureAudio"

        self setPropertyId: 25 value: newVal
!

captureRate
        "Answer the <double> value of the 'CaptureRate' property of the
receiver.
        Helpstring: Get/Set video capture rate (number of frames per second)
                double CaptureRate"

        ^(self getPropertyId: 28)
!

captureRate: newVal
        "Set the 'CaptureRate' property of the receiver to the <double> value
of the argument.
        Helpstring: Get/Set video capture rate (number of frames per second)
                double CaptureRate"

        self setPropertyId: 28 value: newVal
!

colorFormat
        "Answer the <sdword> value of the 'ColorFormat' property of the
receiver.
        Helpstring: Specify color format of the source video stream
                long ColorFormat"

        ^(self getPropertyId: 44)
!

colorFormat: newVal
        "Set the 'ColorFormat' property of the receiver to the <sdword> value
of the argument.
        Helpstring: Specify color format of the source video stream
                long ColorFormat"

        self setPropertyId: 44 value: newVal
!

compareImages: picture1 picture2: picture2 sensitivity: sensitivity
        "Answer the <SDWORD> result of invoking the CompareImages() method of
the COM object.
        Helpstring: Returns difference between two images."

        ^(self invokeId: 115 withArguments:
                        ((Array new: 3)
                                basicAt: 1 put: picture1;
                                basicAt: 2 put: picture2;
                                basicAt: 3 put: sensitivity;
                                yourself))
!

connected
        "Answer the <varbool> value of the 'Connected' property of the
receiver.
        Helpstring: Get/set connection to video device
                VARIANT_BOOL Connected"

        ^(self getPropertyId: 26)
!

connected: newVal
        "Set the 'Connected' property of the receiver to the <varbool> value
of the argument.
        Helpstring: Get/set connection to video device
                VARIANT_BOOL Connected"

        self setPropertyId: 26 value: newVal
!

copyCaptureFile: new
        "Answer the <SDWORD> result of invoking the CopyCaptureFile() method
of the COM object.
        Helpstring: Copies AVI file from pre-allocated storage into new file"

        ^(self invokeId: 67 with: new)
!

copyFrame
        "Answer the <VARIANT_BOOL> result of invoking the CopyFrame() method
of the COM object.
        Helpstring: Copy current vide frame into clipboard"

        ^(self invokeId: 54)
!

debugMode
        "Answer the <sdword> value of the 'DebugMode' property of the
receiver.
        Helpstring: Internal. Do not use.
                long DebugMode"

        ^(self getPropertyId: 5)
!

debugMode: newVal
        "Set the 'DebugMode' property of the receiver to the <sdword> value of
the argument.
        Helpstring: Internal. Do not use.
                long DebugMode"

        self setPropertyId: 5 value: newVal
!

detectMotion
        "Answer the <SDWORD> result of invoking the DetectMotion() method of
the COM object.
        Helpstring: Detect changes in video frames"

        ^(self invokeId: 65)
!

devicesNames

        ^ 0 to: self getVideoDeviceCount -1 collect:[:i| self
getVideoDeviceDesc: i ]!

deviceType
        "Answer the <sdword> value of the 'DeviceType' property of the
receiver.
        Helpstring: Returns connected video device type. 0,1,2,3 for unknown,
TV tuner, DV camera, DV VCR .
                long DeviceType"

        ^(self getPropertyId: 51)
!

deviceType: newVal
        "Set the 'DeviceType' property of the receiver to the <sdword> value
of the argument.
        Helpstring: Returns connected video device type. 0,1,2,3 for unknown,
TV tuner, DV camera, DV VCR .
                long DeviceType"

        self setPropertyId: 51 value: newVal
!

displayRemote: remoteAddress audio: audio
        "Answer the <SDWORD> result of invoking the DisplayRemote() method of
the COM object.
        Helpstring: Starts a video-cenference call"

        ^(self invokeId: 161 with: remoteAddress with: audio)
!

enableExternalTrigger: bEnable
        "Answer the <VARIANT_BOOL> result of invoking the
EnableExternalTrigger() method of the COM object."

        ^(self invokeId: 166 with: bEnable)
!

enableNewFrameEvent
        "Answer the <varbool> value of the 'EnableNewFrameEvent' property of
the receiver.
        Helpstring: If set to TRUE, every new video frame will generate
NewFrame event
                VARIANT_BOOL EnableNewFrameEvent"

        ^(self getPropertyId: 19)
!

enableNewFrameEvent: newVal
        "Set the 'EnableNewFrameEvent' property of the receiver to the
<varbool> value of the argument.
        Helpstring: If set to TRUE, every new video frame will generate
NewFrame event
                VARIANT_BOOL EnableNewFrameEvent"

        self setPropertyId: 19 value: newVal
!

exportToDV: filename
        "Answer the <SDWORD> result of invoking the ExportToDV() method of the
COM object.
        Helpstring: Export DV-compatible AVI file to DV VTR device"

        ^(self invokeId: 162 with: filename)
!

ftpPassiveMode
        "Answer the <varbool> value of the 'FTPPassiveMode' property of the
receiver.
        Helpstring: If set to TRUE, FTP transfer methods will use passive
mode.
                VARIANT_BOOL FTPPassiveMode"

        ^(self getPropertyId: 6)
!

ftpPassiveMode: newVal
        "Set the 'FTPPassiveMode' property of the receiver to the <varbool>
value of the argument.
        Helpstring: If set to TRUE, FTP transfer methods will use passive
mode.
                VARIANT_BOOL FTPPassiveMode"

        self setPropertyId: 6 value: newVal
!

getActualFrameRate
        "Answer the <DOUBLE> result of invoking the GetActualFrameRate()
method of the COM object.
        Helpstring: Returns current actual frame rate. Some devices may
provide lower frame rates than requested because of bandwidth
availability. This is only available during video streaming."

        ^(self invokeId: 139)
!

getAudioCodecCount
        "Answer the <SDWORD> result of invoking the GetAudioCodecCount()
method of the COM object.
        Helpstring: Returns installed audio codec count"

        ^(self invokeId: 130)
!

getAudioCodecName: index
        "Answer the <BSTR> result of invoking the GetAudioCodecName() method
of the COM object.
        Helpstring: Returns audio codec name"

        ^(self invokeId: 124 with: index)
!

getAudioDeviceCount
        "Answer the <SDWORD> result of invoking the GetAudioDeviceCount()
method of the COM object.
        Helpstring: Returns number of audio devices in the system"

        ^(self invokeId: 131)
!

getAudioDeviceName: index
        "Answer the <BSTR> result of invoking the GetAudioDeviceName() method
of the COM object.
        Helpstring: Returns audio device name"

        ^(self invokeId: 122 with: index)
!

getAudioFormat: fmtTag nChannels: nChannels nSamplesPerSec:
nSamplesPerSec nAvgBytesPerSec: nAvgBytesPerSec nBlockAlign:
nBlockAlign wBitsPerSample: wBitsPerSample
        "Answer the <VARIANT_BOOL> result of invoking the GetAudioFormat()
method of the COM object.
        Helpstring: Returns audio format parameters"

        ^(self invokeId: 63 withArguments:
                        ((Array new: 6)
                                basicAt: 1 put: fmtTag;
                                basicAt: 2 put: nChannels;
                                basicAt: 3 put: nSamplesPerSec;
                                basicAt: 4 put: nAvgBytesPerSec;
                                basicAt: 5 put: nBlockAlign;
                                basicAt: 6 put: wBitsPerSample;
                                yourself))
!

getAudioInputCount
        "Answer the <SDWORD> result of invoking the GetAudioInputCount()
method of the COM object.
        Helpstring: Returns number of input ports on audio source"

        ^(self invokeId: 126)
!

getAudioInputName: index
        "Answer the <BSTR> result of invoking the GetAudioInputName() method
of the COM object.
        Helpstring: Returns audio input port name"

        ^(self invokeId: 127 with: index)
!

getAudioLevel
        "Answer the <SDWORD> result of invoking the GetAudioLevel() method of
the COM object.
        Helpstring: Returns audio level in preview mode"

        ^(self invokeId: 152)
!

getAudioLevel2: left right: right
        "Answer the <SDWORD> result of invoking the GetAudioLevel2() method of
the COM object.
        Helpstring: Get audio levels for left and right channel"

        ^(self invokeId: 174 with: left with: right)
!

getCapFileSize
        "Answer the <DOUBLE> result of invoking the GetCapFileSize() method of
the COM object.
        Helpstring: Returns file size (in bytes) of capture file"

        ^(self invokeId: 147)
!

getCapStatus
        "Invoke the GetCapStatus() method of the COM object.
        Helpstring: Retrieves video capture parameters"

        | answer |
        answer := (Array new: 6)
                                basicAt: 1 put: VARIANT new;
                                basicAt: 2 put: VARIANT new;
                                basicAt: 3 put: VARIANT new;
                                basicAt: 4 put: VARIANT new;
                                basicAt: 5 put: VARIANT new;
                                basicAt: 6 put: VARIANT new;
                                yourself.
        ^(Array with: ((self invokeId: 59 withArguments:
                        ((Array new: 6)
                                basicAt: 1 put: (answer basicAt: 1);
                                basicAt: 2 put: (answer basicAt: 2);
                                basicAt: 3 put: (answer basicAt: 3);
                                basicAt: 4 put: (answer basicAt: 4);
                                basicAt: 5 put: (answer basicAt: 5);
                                basicAt: 6 put: (answer basicAt: 6);
                                yourself)))),
                (answer collect: [:each | each asObject])
!

getDateCode
        "Answer the <DATE> result of invoking the GetDateCode() method of the
COM object.
        Helpstring: Returns time on DV video tape (the time when the video has
been taken) "

        ^(self invokeId: 144)
!

getFilterSettings: filterID
        "Answer the <BSTR> result of invoking the GetFilterSettings() method
of the COM object.
        Helpstring: Returns current filter settings"

        ^(self invokeId: 145 with: filterID)
!

getFrameAsHBITMAP
        "Answer the <SDWORD> result of invoking the GetFrameAsHBITMAP() method
of the COM object.
        Helpstring: Return Windows HBITMAP value of current video frame."

        ^(self invokeId: 93)
!

getProfileCount
        "Answer the <SDWORD> result of invoking the GetProfileCount() method
of the COM object.
        Helpstring: Returns number of WindowsMedia system profiles"

        ^(self invokeId: 134)
!

getProfileDesc: profileIndex
        "Answer the <BSTR> result of invoking the GetProfileDesc() method of
the COM object.
        Helpstring: Returns WindowsMedia profile description"

        ^(self invokeId: 136 with: profileIndex)
!

getProfileName: profileIndex
        "Answer the <BSTR> result of invoking the GetProfileName() method of
the COM object.
        Helpstring: Returns WindowsMedia profile name"

        ^(self invokeId: 135 with: profileIndex)
!

getRGB
        "Answer the <VARIANT> result of invoking the GetRGB() method of the
COM object.
        Helpstring: Returns current video frame image as array of RGB values."

        ^(self invokeId: 69)
!

getTimecode
        "Answer the <SDWORD> result of invoking the GetTimecode() method of
the COM object.
        Helpstring: Return timecode value on digital VCR video type"

        ^(self invokeId: 119)
!

getTunerSignal
        "Answer the <SDWORD> result of invoking the GetTunerSignal() method of
the COM object.
        Helpstring: Returns 1 if TV signal is present on current channel"

        ^(self invokeId: 141)
!

getVideoCaps
        "Answer the <VARIANT> result of invoking the GetVideoCaps() method of
the COM object.
        Helpstring: Returns an array of supported video formats"

        ^(self invokeId: 109)
!

getVideoCaps2
        "Answer the <BSTR> result of invoking the GetVideoCaps2() method of
the COM object."

        ^(self invokeId: 170)
!

getVideoCodecCount
        "Answer the <SDWORD> result of invoking the GetVideoCodecCount()
method of the COM object.
        Helpstring: Returns installed video codec count"

        ^(self invokeId: 129)
!

getVideoCodecName: nIndex
        "Answer the <BSTR> result of invoking the GetVideoCodecName() method
of the COM object.
        Helpstring: Returns video codec name."

        ^(self invokeId: 123 with: nIndex)
!

getVideoDeviceCount
        "Answer the <SDWORD> result of invoking the GetVideoDeviceCount()
method of the COM object.
        Helpstring: Returns number of video-capture devices in the system"

        ^(self invokeId: 128)
!

getVideoDeviceDesc: index
        "Answer the <BSTR> result of invoking the GetVideoDeviceDesc() method
of the COM object.
        Helpstring: Returns video device description"

        ^(self invokeId: 160 with: index)
!

getVideoDeviceName: index
        "Answer the <BSTR> result of invoking the GetVideoDeviceName() method
of the COM object.
        Helpstring: Returns video device name"

        ^(self invokeId: 121 with: index)
!

getVideoFormat: width height: height
        "Answer the <SDWORD> result of invoking the GetVideoFormat() method of
the COM object.
        Helpstring: Returns video size."

        ^(self invokeId: 74 with: width with: height)
!

getVideoInputCount
        "Answer the <SDWORD> result of invoking the GetVideoInputCount()
method of the COM object.
        Helpstring: Returns number of video inputs on currently selected video
device (card)."

        ^(self invokeId: 100)
!

getVideoInputName: index
        "Answer the <BSTR> result of invoking the GetVideoInputName() method
of the COM object.
        Helpstring: Returns name of specified video channel on multiple-input
capture cards."

        ^(self invokeId: 99 with: index)
!

getVideoProcAmp: valueIndex value: value
        "Answer the <SDWORD> result of invoking the GetVideoProcAmp() method
of the COM object.
        Helpstring: Gets video property values."

        ^(self invokeId: 95 with: valueIndex with: value)
!

getVideoProcAmpValueRange: valueIndex min: min max: max steppingDelta:
steppingDelta default: default
        "Answer the <SDWORD> result of invoking the
GetVideoProcAmpValueRange() method of the COM object.
        Helpstring: Retrieve value range for video property."

        ^(self invokeId: 97 withArguments:
                        ((Array new: 5)
                                basicAt: 1 put: valueIndex;
                                basicAt: 2 put: min;
                                basicAt: 3 put: max;
                                basicAt: 4 put: steppingDelta;
                                basicAt: 5 put: default;
                                yourself))
!

getVMR9IUnknown
        "Answer the <IUnknown> result of invoking the GetVMR9IUnknown() method
of the COM object.
        Helpstring: Returns VMR9 IUnknown interface if VMR9 is in use. See
'UseVMR9' property."

        ^IUnknown attachInterface: (self invokeId: 157)
!

grabFrame
        "Answer the <IPictureDisp> result of invoking the GrabFrame() method
of the COM object.
        Helpstring: Returns current video frame as VB Picture object"

        ^IPictureDisp attachInterface: (self invokeId: 60)
!

halfSizedVideo
        "Answer the <varbool> value of the 'HalfSizedVideo' property of the
receiver.
        Helpstring: If set to TRUE, VideoCapX will resize video to half of
it's actual size when capturing
                VARIANT_BOOL HalfSizedVideo"

        ^(self getPropertyId: 14)
!

halfSizedVideo: newVal
        "Set the 'HalfSizedVideo' property of the receiver to the <varbool>
value of the argument.
        Helpstring: If set to TRUE, VideoCapX will resize video to half of
it's actual size when capturing
                VARIANT_BOOL HalfSizedVideo"

        self setPropertyId: 14 value: newVal
!

hasOverlay
        "Answer the <varbool> value of the 'HasOverlay' property of the
receiver.
        Helpstring: (Read-only) Returns TRUE if selected video device
supportes video overlay feature
                VARIANT_BOOL HasOverlay"

        ^(self getPropertyId: 48)
!

hasOverlay: newVal
        "Set the 'HasOverlay' property of the receiver to the <varbool> value
of the argument.
        Helpstring: (Read-only) Returns TRUE if selected video device
supportes video overlay feature
                VARIANT_BOOL HasOverlay"

        self setPropertyId: 48 value: newVal
!

httpUpload: webServer webPage: webPage fields: fields files: files
        "Answer the <SDWORD> result of invoking the HTTPUpload() method of the
COM object.
        Helpstring: Use HTTP upload protocol to send information and files to
web server"

        ^(self invokeId: 156 withArguments:
                        ((Array new: 4)
                                basicAt: 1 put: webServer;
                                basicAt: 2 put: webPage;
                                basicAt: 3 put: fields;
                                basicAt: 4 put: files;
                                yourself))
!

hWnd
        "Answer the <sdword> value of the 'hWnd' property of the receiver.
        Helpstring: Returns Windows window handle of VideoCapX control
                OLE_HANDLE hWnd"

        ^(self getPropertyId: -515)
!

hWnd: newVal
        "Set the 'hWnd' property of the receiver to the <sdword> value of the
argument.
        Helpstring: Returns Windows window handle of VideoCapX control
                OLE_HANDLE hWnd"

        self setPropertyId: -515 value: newVal
!

isCapturing
        "Answer the <varbool> value of the 'IsCapturing' property of the
receiver.
        Helpstring: Returns TRUE if video-capture is in progress
                VARIANT_BOOL IsCapturing"

        ^(self getPropertyId: 45)
!

isCapturing: newVal
        "Set the 'IsCapturing' property of the receiver to the <varbool> value
of the argument.
        Helpstring: Returns TRUE if video-capture is in progress
                VARIANT_BOOL IsCapturing"

        self setPropertyId: 45 value: newVal
!

loadProfileFromURL: url
        "Answer the <SDWORD> result of invoking the LoadProfileFromURL()
method of the COM object.
        Helpstring: Loads WM profile data from .prx file. URL argument must
start with 'http://' or 'file://' . Return value is 1 on success or 0
on failure."

        ^(self invokeId: 155 with: url)
!

localAddress
        "Answer the <bstr> value of the 'LocalAddress' property of the
receiver.
        Helpstring: If mulitple network adapters are installed, this property
specifies which one to use in network comunication.
                BSTR LocalAddress"

        ^(self getPropertyId: 18)
!

localAddress: newVal
        "Set the 'LocalAddress' property of the receiver to the <bstr> value
of the argument.
        Helpstring: If mulitple network adapters are installed, this property
specifies which one to use in network comunication.
                BSTR LocalAddress"

        self setPropertyId: 18 value: newVal
!

masterStream
        "Answer the <sdword> value of the 'MasterStream' property of the
receiver.
        Helpstring: Specify master stream in AVI file (audio or video or none)
                long MasterStream"

        ^(self getPropertyId: 7)
!

masterStream: newVal
        "Set the 'MasterStream' property of the receiver to the <sdword> value
of the argument.
        Helpstring: Specify master stream in AVI file (audio or video or none)
                long MasterStream"

        self setPropertyId: 7 value: newVal
!

mouseIcon
        "Answer the <IPictureDisp> value of the 'MouseIcon' property of the
receiver.
        Helpstring: Set custom mouse icon
                Picture* MouseIcon"

        ^IPictureDisp attachInterface: (self getPropertyId: 53)
!

mouseIcon: newVal
        "Set the 'MouseIcon' property of the receiver to the <IPictureDisp*>
value of the argument.
        Helpstring: Set custom mouse icon
                Picture* MouseIcon"

        self setPropertyId: 53 value: newVal
!

mousePointer
        "Answer the <sdword> value of the 'MousePointer' property of the
receiver.
        Helpstring: Set mouse pointer shape
                long MousePointer"

        ^(self getPropertyId: 37)
!

mousePointer: newVal
        "Set the 'MousePointer' property of the receiver to the <sdword> value
of the argument.
        Helpstring: Set mouse pointer shape
                long MousePointer"

        self setPropertyId: 37 value: newVal
!

overlay
        "Answer the <varbool> value of the 'Overlay' property of the receiver.
        Helpstring: Enable/disable video operlay preview
                VARIANT_BOOL Overlay"

        ^(self getPropertyId: 38)
!

overlay: newVal
        "Set the 'Overlay' property of the receiver to the <varbool> value of
the argument.
        Helpstring: Enable/disable video operlay preview
                VARIANT_BOOL Overlay"

        self setPropertyId: 38 value: newVal
!

overscan
        "Answer the <sdword> value of the 'Overscan' property of the receiver.
        Helpstring: Specify how many pixels to discard at video borders.
                long Overscan"

        ^(self getPropertyId: 16)
!

overscan: newVal
        "Set the 'Overscan' property of the receiver to the <sdword> value of
the argument.
        Helpstring: Specify how many pixels to discard at video borders.
                long Overscan"

        self setPropertyId: 16 value: newVal
!

pauseCapture
        "Answer the <SDWORD> result of invoking the PauseCapture() method of
the COM object.
        Helpstring: Pause capture"

        ^(self invokeId: 101)
!

playerClose
        "Answer the <SDWORD> result of invoking the PlayerClose() method of
the COM object.
        Helpstring: Closes media playback."

        ^(self invokeId: 84)
!

playerGetFrame
        "Answer the <DOUBLE> result of invoking the PlayerGetFrame() method of
the COM object.
        Helpstring: Returns current video frame number"

        ^(self invokeId: 106)
!

playerGetFrameCount
        "Answer the <DOUBLE> result of invoking the PlayerGetFrameCount()
method of the COM object.
        Helpstring: Returns number of fideo frames in the movie"

        ^(self invokeId: 104)
!

playerGetLenMS
        "Answer the <SDWORD> result of invoking the PlayerGetLenMS() method of
the COM object.
        Helpstring: Returns media file length in milliseconds."

        ^(self invokeId: 92)
!

playerGetPos
        "Answer the <SDWORD> result of invoking the PlayerGetPos() method of
the COM object.
        Helpstring: Returns current playing position."

        ^(self invokeId: 89)
!

playerGetVideoSize: width height: height
        "Answer the <SDWORD> result of invoking the PlayerGetVideoSize()
method of the COM object.
        Helpstring: Returns video size for media player."

        ^(self invokeId: 87 with: width with: height)
!

playerOpen: filename
        "Answer the <SDWORD> result of invoking the PlayerOpen() method of the
COM object.
        Helpstring: Opens media file for playback."

        ^(self invokeId: 83 with: filename)
!

playerOpenBroadcast: filename port: port maxConnections: maxConnections
        "Answer the <SDWORD> result of invoking the PlayerOpenBroadcast()
method of the COM object."

        ^(self invokeId: 172 withArguments:
                        ((Array new: 3)
                                basicAt: 1 put: filename;
                                basicAt: 2 put: port;
                                basicAt: 3 put: maxConnections;
                                yourself))
!

playerOpenDVD: path
        "Answer the <SDWORD> result of invoking the PlayerOpenDVD() method of
the COM object.
        Helpstring: Open DVD volume"

        ^(self invokeId: 163 with: path)
!

playerSetFrame: nFrame
        "Answer the <DOUBLE> result of invoking the PlayerSetFrame() method of
the COM object.
        Helpstring: Sets current video frame"

        ^(self invokeId: 105 with: nFrame)
!

playerSetFullScreen: full
        "Answer the <SDWORD> result of invoking the PlayerSetFullScreen()
method of the COM object.
        Helpstring: Opens full-screen playback."

        ^(self invokeId: 91 with: full)
!

playerSetMute: mute
        "Answer the <SDWORD> result of invoking the PlayerSetMute() method of
the COM object.
        Helpstring: Mutes sound of media player."

        ^(self invokeId: 88 with: mute)
!

playerSetPos: posMS
        "Answer the <SDWORD> result of invoking the PlayerSetPos() method of
the COM object.
        Helpstring: Sets current position for playback."

        ^(self invokeId: 90 with: posMS)
!

playerSetRate: newRate
        "Answer the <DOUBLE> result of invoking the PlayerSetRate() method of
the COM object.
        Helpstring: Sets the playback rate"

        ^(self invokeId: 148 with: newRate)
!

playerSetSize: width height: height
        "Answer the <SDWORD> result of invoking the PlayerSetSize() method of
the COM object.
        Helpstring: Sets media player window size."

        ^(self invokeId: 94 with: width with: height)
!

playerStart
        "Answer the <SDWORD> result of invoking the PlayerStart() method of
the COM object.
        Helpstring: Start playing media file."

        ^(self invokeId: 85)
!

playerStepFrames: nFrames
        "Answer the <SDWORD> result of invoking the PlayerStepFrames() method
of the COM object.
        Helpstring: Steps nFrames in player mode"

        ^(self invokeId: 151 with: nFrames)
!

playerStepOneFrame
        "Answer the <SDWORD> result of invoking the PlayerStepOneFrame()
method of the COM object.
        Helpstring: Display next frame"

        ^(self invokeId: 103)
!

playerStop
        "Answer the <SDWORD> result of invoking the PlayerStop() method of the
COM object.
        Helpstring: Stop playing media file."

        ^(self invokeId: 86)
!

preview
        "Answer the <varbool> value of the 'Preview' property of the receiver.
        Helpstring: Enable/disable video preview
                VARIANT_BOOL Preview"

        ^(self getPropertyId: 27)
!

preview: newVal
        "Set the 'Preview' property of the receiver to the <varbool> value of
the argument.
        Helpstring: Enable/disable video preview
                VARIANT_BOOL Preview"

        self setPropertyId: 27 value: newVal
!

previewAudio
        "Answer the <varbool> value of the 'PreviewAudio' property of the
receiver.
        Helpstring: Set this property to TRUE if you want audio in preview
mode
                VARIANT_BOOL PreviewAudio"

        ^(self getPropertyId: 41)
!

previewAudio: newVal
        "Set the 'PreviewAudio' property of the receiver to the <varbool>
value of the argument.
        Helpstring: Set this property to TRUE if you want audio in preview
mode
                VARIANT_BOOL PreviewAudio"

        self setPropertyId: 41 value: newVal
!

previewFullScreen
        "Answer the <varbool> value of the 'PreviewFullScreen' property of the
receiver.
        Helpstring: When set to TRUE, preview video will cover the whole
screen
                VARIANT_BOOL PreviewFullScreen"

        ^(self getPropertyId: 40)
!

previewFullScreen: newVal
        "Set the 'PreviewFullScreen' property of the receiver to the <varbool>
value of the argument.
        Helpstring: When set to TRUE, preview video will cover the whole
screen
                VARIANT_BOOL PreviewFullScreen"

        self setPropertyId: 40 value: newVal
!

previewScale
        "Answer the <varbool> value of the 'PreviewScale' property of the
receiver.
        Helpstring: Indicate will preview video be resized to fit control
rectangle
                VARIANT_BOOL PreviewScale"

        ^(self getPropertyId: 29)
!

previewScale: newVal
        "Set the 'PreviewScale' property of the receiver to the <varbool>
value of the argument.
        Helpstring: Indicate will preview video be resized to fit control
rectangle
                VARIANT_BOOL PreviewScale"

        self setPropertyId: 29 value: newVal
!

profileData
        "Answer the <bstr> value of the 'ProfileData' property of the
receiver.
        Helpstring: Set custom WM profile XML data
                BSTR ProfileData"

        ^(self getPropertyId: 10)
!

profileData: newVal
        "Set the 'ProfileData' property of the receiver to the <bstr> value of
the argument.
        Helpstring: Set custom WM profile XML data
                BSTR ProfileData"

        self setPropertyId: 10 value: newVal
!

profileIndex
        "Answer the <sdword> value of the 'ProfileIndex' property of the
receiver.
        Helpstring: Specify system profile to use when creating WMV files
                long ProfileIndex"

        ^(self getPropertyId: 8)
!

profileIndex: newVal
        "Set the 'ProfileIndex' property of the receiver to the <sdword> value
of the argument.
        Helpstring: Specify system profile to use when creating WMV files
                long ProfileIndex"

        self setPropertyId: 8 value: newVal
!

receiveAudio: serverAddress play: play nChannels: nChannels
nSamplesPerSecond: nSamplesPerSecond nBytesPerSample: nBytesPerSample
pcmData: pcmData
        "Answer the <SDWORD> result of invoking the ReceiveAudio() method of
the COM object.
        Helpstring: Receive audio data packet from server"

        ^(self invokeId: 158 withArguments:
                        ((Array new: 6)
                                basicAt: 1 put: serverAddress;
                                basicAt: 2 put: play;
                                basicAt: 3 put: nChannels;
                                basicAt: 4 put: nSamplesPerSecond;
                                basicAt: 5 put: nBytesPerSample;
                                basicAt: 6 put: pcmData;
                                yourself))
!

receiveFrame: serverName
        "Answer the <IPictureDisp> result of invoking the ReceiveFrame()
method of the COM object.
        Helpstring: Return video frame from remote server as Picture object."

        ^IPictureDisp attachInterface: (self invokeId: 76 with: serverName)
!

recompress: srcFile destFile: destFile
        "Answer the <SDWORD> result of invoking the Recompress() method of the
COM object.
        Helpstring: Copies AVI/WMV into new file using specified video
compression."

        ^(self invokeId: 68 with: srcFile with: destFile)
!

recompressEx: srcFile1 srcFile2: srcFile2 destFile: destFile timeStart:
timeStart timeEnd: timeEnd
        "Answer the <SDWORD> result of invoking the RecompressEx() method of
the COM object.
        Helpstring: Use this method to merge video and audio files and/or crop
video files."

        ^(self invokeId: 167 withArguments:
                        ((Array new: 5)
                                basicAt: 1 put: srcFile1;
                                basicAt: 2 put: srcFile2;
                                basicAt: 3 put: destFile;
                                basicAt: 4 put: timeStart;
                                basicAt: 5 put: timeEnd;
                                yourself))
!

resumeCapture
        "Answer the <SDWORD> result of invoking the ResumeCapture() method of
the COM object.
        Helpstring: Resume capture paused with PauseCapture method"

        ^(self invokeId: 102)
!

saveFrame: filename
        "Answer the <VARIANT_BOOL> result of invoking the SaveFrame() method
of the COM object.
        Helpstring: Saves video image into file"

        ^(self invokeId: 55 with: filename)
!

saveFrameJPG: filename quality: quality
        "Answer the <VARIANT_BOOL> result of invoking the SaveFrameJPG()
method of the COM object.
        Helpstring: Saves current video frame into JPG file"

        ^(self invokeId: 61 with: filename with: quality)
!

savePictureJPG: picture filename: filename quality: quality
        "Answer the <SDWORD> result of invoking the SavePictureJPG() method of
the COM object.
        Helpstring: Saves Picture object into JPG file."

        ^(self invokeId: 75 withArguments:
                        ((Array new: 3)
                                basicAt: 1 put: picture;
                                basicAt: 2 put: filename;
                                basicAt: 3 put: quality;
                                yourself))
!

selectSource
        "Answer the <SDWORD> result of invoking the SelectSource() method of
the COM object.
        Helpstring: Let the user select TWAIN source."

        ^(self invokeId: 72)
!

sendScriptCommand: type data: data
        "Answer the <SDWORD> result of invoking the SendScriptCommand() method
of the COM object.
        Helpstring: Send script type/command pair to broadcast client. This
method works only if WM broadcast started with StartBroadcast method is
running."

        ^(self invokeId: 175 with: type with: data)
!

serverMode
        "Answer the <varbool> value of the 'ServerMode' property of the
receiver.
        Helpstring: If set to TRUE, the control will listed for TCP
connections on ServerPort mode and send video frames
                VARIANT_BOOL ServerMode"

        ^(self getPropertyId: 32)
!

serverMode: newVal
        "Set the 'ServerMode' property of the receiver to the <varbool> value
of the argument.
        Helpstring: If set to TRUE, the control will listed for TCP
connections on ServerPort mode and send video frames
                VARIANT_BOOL ServerMode"

        self setPropertyId: 32 value: newVal
!

serverPassword
        "Answer the <bstr> value of the 'ServerPassword' property of the
receiver.
        Helpstring: Sets password for server access
                BSTR ServerPassword"

        ^(self getPropertyId: 4)
!

serverPassword: newVal
        "Set the 'ServerPassword' property of the receiver to the <bstr> value
of the argument.
        Helpstring: Sets password for server access
                BSTR ServerPassword"

        self setPropertyId: 4 value: newVal
!

serverPort
        "Answer the <sdword> value of the 'ServerPort' property of the
receiver.
        Helpstring: Number of TCP port for ServerMode
                long ServerPort"

        ^(self getPropertyId: 33)
!

serverPort: newVal
        "Set the 'ServerPort' property of the receiver to the <sdword> value
of the argument.
        Helpstring: Number of TCP port for ServerMode
                long ServerPort"

        self setPropertyId: 33 value: newVal
!

serverQuality
        "Answer the <sdword> value of the 'ServerQuality' property of the
receiver.
        Helpstring: Specify quality of video images transfered by ReceiveFrame
method. Range 10-100. Defult 30.
                long ServerQuality"

        ^(self getPropertyId: 9)
!

serverQuality: newVal
        "Set the 'ServerQuality' property of the receiver to the <sdword>
value of the argument.
        Helpstring: Specify quality of video images transfered by ReceiveFrame
method. Range 10-100. Defult 30.
                long ServerQuality"

        self setPropertyId: 9 value: newVal
!

setAudioDelay: delayMS
        "Answer the <SDWORD> result of invoking the SetAudioDelay() method of
the COM object.
        Helpstring: Sets audio delay (positive or negative) in captured AVI
file. DelayMS argument is in milliseconds."

        ^(self invokeId: 114 with: delayMS)
!

setAudioFormat: fmtTag nChannels: nChannels nSamplesPerSec:
nSamplesPerSec nAvgBytesPerSec: nAvgBytesPerSec nBlockAlign:
nBlockAlign nBitsPerSample: nBitsPerSample
        "Answer the <VARIANT_BOOL> result of invoking the SetAudioFormat()
method of the COM object.
        Helpstring: Sets audio format for capture"

        ^(self invokeId: 64 withArguments:
                        ((Array new: 6)
                                basicAt: 1 put: fmtTag;
                                basicAt: 2 put: nChannels;
                                basicAt: 3 put: nSamplesPerSec;
                                basicAt: 4 put: nAvgBytesPerSec;
                                basicAt: 5 put: nBlockAlign;
                                basicAt: 6 put: nBitsPerSample;
                                yourself))
!

setAudioInputLevel: level
        "Answer the <SDWORD> result of invoking the SetAudioInputLevel()
method of the COM object.
        Helpstring: Sets the recording level for audio input selected with
AudioInputIndex property. Level value is in range 0 to 100."

        ^(self invokeId: 140 with: level)
!

setAudioVolume: volume
        "Answer the <SDWORD> result of invoking the SetAudioVolume() method of
the COM object.
        Helpstring: Sets audio renderer volume. Volume argument range is 0 -
100. if Volume is -1, this method returns current audio volume."

        ^(self invokeId: 142 with: volume)
!

setBitmapOverlay: bitmapHandle x: x y: y transColor: transColor
        "Answer the <SDWORD> result of invoking the SetBitmapOverlay() method
of the COM object.
        Helpstring: Sets bitmap to show on-video"

        ^(self invokeId: 116 withArguments:
                        ((Array new: 4)
                                basicAt: 1 put: bitmapHandle;
                                basicAt: 2 put: x;
                                basicAt: 3 put: y;
                                basicAt: 4 put: transColor;
                                yourself))
!

setChromaKey: backImage minTransparentColor: minTransparentColor
maxTransparentColor: maxTransparentColor
        "Answer the <SDWORD> result of invoking the SetChromaKey() method of
the COM object.
        Helpstring: Sets chrom-key effect. BackImage parameter is a filename
of static image background which will be visible through video. Color
paramters are RGB values."

        ^(self invokeId: 178 withArguments:
                        ((Array new: 3)
                                basicAt: 1 put: backImage;
                                basicAt: 2 put: minTransparentColor;
                                basicAt: 3 put: maxTransparentColor;
                                yourself))
!

setCrop: x y: y w: w h: h
        "Answer the <SDWORD> result of invoking the SetCrop() method of the
COM object.
        Helpstring: Crops live-video stream to the rectangle of dimensions
(W,H) and with top-left coordinate of (X,Y)."

        ^(self invokeId: 73 withArguments:
                        ((Array new: 4)
                                basicAt: 1 put: x;
                                basicAt: 2 put: y;
                                basicAt: 3 put: w;
                                basicAt: 4 put: h;
                                yourself))
!

setFadeLevel: newLevel
        "Answer the <SDWORD> result of invoking the SetFadeLevel() method of
the COM object.
        Helpstring: Sets fade level (the range is 0-100, 0 is neutral) for
video"

        ^(self invokeId: 165 with: newLevel)
!

setFilterSettings: filter data: data
        "Answer the <SDWORD> result of invoking the SetFilterSettings() method
of the COM object.
        Helpstring: Set filter settings"

        ^(self invokeId: 146 with: filter with: data)
!

setHighPriority: high
        "Answer the <VARIANT_BOOL> result of invoking the SetHighPriority()
method of the COM object.
        Helpstring: Sets priority class for the current process. High argument
is TRUE for high priority or FALSE for normal priority."

        ^(self invokeId: 154 with: high)
!

setMasterAudioVolume: lineID volume: volume
        "Answer the <SDWORD> result of invoking the SetMasterAudioVolume()
method of the COM object.
        Helpstring: Set master volume for specified mixer line. Volume
argument range is 0 - 100. if Volume is -1, this method returns current
audio volume."

        ^(self invokeId: 143 with: lineID with: volume)
!

setMotionMask: index left: left top: top width: width height: height
        "Answer the <SDWORD> result of invoking the SetMotionMask() method of
the COM object.
        Helpstring: Sets rectangle(s) to ignore on the image while detecting
motion."

        ^(self invokeId: 98 withArguments:
                        ((Array new: 5)
                                basicAt: 1 put: index;
                                basicAt: 2 put: left;
                                basicAt: 3 put: top;
                                basicAt: 4 put: width;
                                basicAt: 5 put: height;
                                yourself))
!

setTextOverlay: index caption: caption x: x y: y fontName: fontName
fontSize: fontSize fColor: fColor bColor: bColor
        "Answer the <SDWORD> result of invoking the SetTextOverlay() method of
the COM object.
        Helpstring: Sets on-video text caption."

        ^(self invokeId: 70 withArguments:
                        ((Array new: 8)
                                basicAt: 1 put: index;
                                basicAt: 2 put: caption;
                                basicAt: 3 put: x;
                                basicAt: 4 put: y;
                                basicAt: 5 put: fontName;
                                basicAt: 6 put: fontSize;
                                basicAt: 7 put: fColor;
                                basicAt: 8 put: bColor;
                                yourself))
!

setTunerChannel: nChannel
        "Answer the <SDWORD> result of invoking the SetTunerChannel() method
of the COM object.
        Helpstring: Set TV tuner channel"

        ^(self invokeId: 108 with: nChannel)
!

setTunerCountryCode: code
        "Answer the <SDWORD> result of invoking the SetTunerCountryCode()
method of the COM object.
        Helpstring: Set/Get TV tuner country code"

        ^(self invokeId: 137 with: code)
!

setTunerInputType: inputType
        "Answer the <SDWORD> result of invoking the SetTunerInputType() method
of the COM object.
        Helpstring: Set / retrieve TV tuner input type; cable or antenna."

        ^(self invokeId: 120 with: inputType)
!

setTVFormat: newFormat
        "Answer the <SDWORD> result of invoking the SetTVFormat() method of
the COM object.
        Helpstring: Set TV format (PAL, NTSC, etc.)"

        ^(self invokeId: 110 with: newFormat)
!

setVideoFormat: width height: height
        "Answer the <VARIANT_BOOL> result of invoking the SetVideoFormat()
method of the COM object.
        Helpstring: Set video image dimensions"

        ^(self invokeId: 58 with: width with: height)
!

setVideoFormatEx: capabilityIndex
        "Answer the <SDWORD> result of invoking the SetVideoFormatEx() method
of the COM object.
        Helpstring: Sets video format by capability index returned by
GetVideoCaps method"

        ^(self invokeId: 153 with: capabilityIndex)
!

setVideoProcAmp: valueIndex value: value
        "Answer the <SDWORD> result of invoking the SetVideoProcAmp() method
of the COM object.
        Helpstring: Sets video property values."

        ^(self invokeId: 96 with: valueIndex with: value)
!

setZoom: left top: top width: width height: height
        "Answer the <SDWORD> result of invoking the SetZoom() method of the
COM object.
        Helpstring: Set zoom rectangle on video. Use all zeros as parameters
to this method to reset zoom."

        ^(self invokeId: 177 withArguments:
                        ((Array new: 4)
                                basicAt: 1 put: left;
                                basicAt: 2 put: top;
                                basicAt: 3 put: width;
                                basicAt: 4 put: height;
                                yourself))
!

showAudioCodecDlg
        "Answer the <SDWORD> result of invoking the ShowAudioCodecDlg() method
of the COM object.
        Helpstring: Shows audio codec dialog."

        ^(self invokeId: 80)
!

showAudioFormatDlg
        "Answer the <SDWORD> result of invoking the ShowAudioFormatDlg()
method of the COM object.
        Helpstring: Shows audio format dialog."

        ^(self invokeId: 82)
!

showAudioSourceDlg
        "Answer the <SDWORD> result of invoking the ShowAudioSourceDlg()
method of the COM object.
        Helpstring: Shows audio source dialog."

        ^(self invokeId: 81)
!

showTunerDlg
        "Answer the <SDWORD> result of invoking the ShowTunerDlg() method of
the COM object.
        Helpstring: Display TV tuner properties dialog"

        ^(self invokeId: 138)
!

showUserFilterDlg: filterIndex
        "Answer the <SDWORD> result of invoking the ShowUserFilterDlg() method
of the COM object.
        Helpstring: Display user filter property page"

        ^(self invokeId: 150 with: filterIndex)
!

showVideoCodecDlg
        "Answer the <SDWORD> result of invoking the ShowVideoCodecDlg() method
of the COM object.
        Helpstring: Shows video codec dialog."

        ^(self invokeId: 79)
!

showVideoCrossbarDlg
        "Answer the <SDWORD> result of invoking the ShowVideoCrossbarDlg()
method of the COM object.
        Helpstring: Display video crossbar dialog"

        ^(self invokeId: 149)
!

showVideoDisplayDlg
        "Answer the <SDWORD> result of invoking the ShowVideoDisplayDlg()
method of the COM object."

        ^(self invokeId: 173)
!

showVideoFormatDlg
        "Answer the <SDWORD> result of invoking the ShowVideoFormatDlg()
method of the COM object.
        Helpstring: Shows video format dialog."

        ^(self invokeId: 78)
!

showVideoSourceDlg
        "Answer the <SDWORD> result of invoking the ShowVideoSourceDlg()
method of the COM object.
        Helpstring: Shows video source dialog."

        ^(self invokeId: 77)
!

singleFrameAdd
        "Answer the <SDWORD> result of invoking the SingleFrameAdd() method of
the COM object.
        Helpstring: Adds current video frame into AVI file opened by
SingleFrameOpen method"

        ^(self invokeId: 113)
!

singleFrameAddPicture: bitmapHandle
        "Answer the <SDWORD> result of invoking the SingleFrameAddPicture()
method of the COM object.
        Helpstring: Adds a Windows bitmap to the AVI file created with
SingleFrameAdd method."

        ^(self invokeId: 164 with: bitmapHandle)
!

singleFrameClose
        "Answer the <SDWORD> result of invoking the SingleFrameClose() method
of the COM object.
        Helpstring: Closes single-frame AVI capture"

        ^(self invokeId: 112)
!

singleFrameOpen: fps
        "Answer the <SDWORD> result of invoking the SingleFrameOpen() method
of the COM object.
        Helpstring: Creates AVI file for single-frame capturing."

        ^(self invokeId: 111 with: fps)
!

startBroadcast: port maxConnections: maxConnections
        "Answer the <SDWORD> result of invoking the StartBroadcast() method of
the COM object.
        Helpstring: Starts WindowsMedia network broadcast at specified port.
Use Windows MediaPlayer's OpenURL command to see video on network."

        ^(self invokeId: 133 with: port with: maxConnections)
!

startBroadcastPush: url user: user password: password
        "Answer the <SDWORD> result of invoking the StartBroadcastPush()
method of the COM object.
        Helpstring: Start sending broadcast to Windows Media server publishing
point"

        ^(self invokeId: 171 withArguments:
                        ((Array new: 3)
                                basicAt: 1 put: url;
                                basicAt: 2 put: user;
                                basicAt: 3 put: password;
                                yourself))
!

startCapture
        "Answer the <VARIANT_BOOL> result of invoking the StartCapture()
method of the COM object.
        Helpstring: Starts video capture"

        ^(self invokeId: 56)
!

startCapture2
        "Answer the <SDWORD> result of invoking the StartCapture2() method of
the COM object."

        ^(self invokeId: 125)
!

stopBroadcast
        "Answer the <SDWORD> result of invoking the StopBroadcast() method of
the COM object.
        Helpstring: Stops WM broadcast"

        ^(self invokeId: 132)
!

stopCapture
        "Answer the <VARIANT_BOOL> result of invoking the StopCapture() method
of the COM object.
        Helpstring: Stops video capture"

        ^(self invokeId: 57)
!

storeAutoTune
        "Answer the <SDWORD> result of invoking the StoreAutoTune() method of
the COM object.
        Helpstring: The StoreAutoTune method saves the fine-tuning information
for all channels."

        ^(self invokeId: 169)
!

syncUsingStreamOffset
        "Answer the <varbool> value of the 'SyncUsingStreamOffset' property of
the receiver.
        Helpstring: Is stream offset used to synchronize audio/video streams
in captured file
                VARIANT_BOOL SyncUsingStreamOffset"

        ^(self getPropertyId: 13)
!

syncUsingStreamOffset: newVal
        "Set the 'SyncUsingStreamOffset' property of the receiver to the
<varbool> value of the argument.
        Helpstring: Is stream offset used to synchronize audio/video streams
in captured file
                VARIANT_BOOL SyncUsingStreamOffset"

        self setPropertyId: 13 value: newVal
!

uploadFile: server username: username password: password path: path
server_filename: server_filename local_filepath: local_filepath
        "Answer the <VARIANT_BOOL> result of invoking the UploadFile() method
of the COM object.
        Default values are passed for all optional parameters."

        ^self
                 uploadFile: server
                 username: username
                 password: password
                 path: path
                 server_filename: server_filename
                 local_filepath: local_filepath
                 port: 21!

uploadFile: server username: username password: password path: path
server_filename: server_filename local_filepath: local_filepath port:
port
        "Answer the <VARIANT_BOOL> result of invoking the UploadFile() method
of the COM object.
        Helpstring: Upload a file to FTP server"

        ^(self invokeId: 176 withArguments:
                        ((Array new: 7)
                                basicAt: 1 put: server;
                                basicAt: 2 put: username;
                                basicAt: 3 put: password;
                                basicAt: 4 put: path;
                                basicAt: 5 put: server_filename;
                                basicAt: 6 put: local_filepath;
                                basicAt: 7 put: port;
                                yourself))
!

uploadFrame: server username: username password: password path: path
filename: filename port: port quality: quality
        "Answer the <VARIANT_BOOL> result of invoking the UploadFrame() method
of the COM object.
        Helpstring: Sends current video frame to FTP server"

        ^(self invokeId: 62 withArguments:
                        ((Array new: 7)
                                basicAt: 1 put: server;
                                basicAt: 2 put: username;
                                basicAt: 3 put: password;
                                basicAt: 4 put: path;
                                basicAt: 5 put: filename;
                                basicAt: 6 put: port;
                                basicAt: 7 put: quality;
                                yourself))
!

useDeinterlace
        "Answer the <varbool> value of the 'UseDeinterlace' property of the
receiver.
        Helpstring: Use deinterlace when grabbing frames
                VARIANT_BOOL UseDeinterlace"

        ^(self getPropertyId: 43)
!

useDeinterlace: newVal
        "Set the 'UseDeinterlace' property of the receiver to the <varbool>
value of the argument.
        Helpstring: Use deinterlace when grabbing frames
                VARIANT_BOOL UseDeinterlace"

        self setPropertyId: 43 value: newVal
!

useOverlay
        "Answer the <varbool> value of the 'UseOverlay' property of the
receiver.
        Helpstring: If set to TRUE, VideoCapX will output video preview to
overlay surface of graphics adapter.
                VARIANT_BOOL UseOverlay"

        ^(self getPropertyId: 21)
!

useOverlay: newVal
        "Set the 'UseOverlay' property of the receiver to the <varbool> value
of the argument.
        Helpstring: If set to TRUE, VideoCapX will output video preview to
overlay surface of graphics adapter.
                VARIANT_BOOL UseOverlay"

        self setPropertyId: 21 value: newVal
!

userFilter2CLSID
        "Answer the <bstr> value of the 'UserFilter2CLSID' property of the
receiver.
        Helpstring: Second user filter
                BSTR UserFilter2CLSID"

        ^(self getPropertyId: 22)
!

userFilter2CLSID: newVal
        "Set the 'UserFilter2CLSID' property of the receiver to the <bstr>
value of the argument.
        Helpstring: Second user filter
                BSTR UserFilter2CLSID"

        self setPropertyId: 22 value: newVal
!

userFilter3CLSID
        "Answer the <bstr> value of the 'UserFilter3CLSID' property of the
receiver.
        Helpstring: Third user filter
                BSTR UserFilter3CLSID"

        ^(self getPropertyId: 23)
!

userFilter3CLSID: newVal
        "Set the 'UserFilter3CLSID' property of the receiver to the <bstr>
value of the argument.
        Helpstring: Third user filter
                BSTR UserFilter3CLSID"

        self setPropertyId: 23 value: newVal
!

userFilterCLSID
        "Answer the <bstr> value of the 'UserFilterCLSID' property of the
receiver.
        Helpstring: Specify user video filter by CLSID
                BSTR UserFilterCLSID"

        ^(self getPropertyId: 12)
!

userFilterCLSID: newVal
        "Set the 'UserFilterCLSID' property of the receiver to the <bstr>
value of the argument.
        Helpstring: Specify user video filter by CLSID
                BSTR UserFilterCLSID"

        self setPropertyId: 12 value: newVal
!

userFilterIUnknown
        "Answer the <IUnknown> value of the 'UserFilterIUnknown' property of
the receiver.
        Helpstring: Set IUnknown pointer of custom video filter.
                IUnknown* UserFilterIUnknown"

        ^IUnknown attachInterface: (self getPropertyId: 11)
!

userFilterIUnknown: newVal
        "Set the 'UserFilterIUnknown' property of the receiver to the
<IUnknown*> value of the argument.
        Helpstring: Set IUnknown pointer of custom video filter.
                IUnknown* UserFilterIUnknown"

        self setPropertyId: 11 value: newVal
!

useVideoFilter
        "Answer the <sdword> value of the 'UseVideoFilter' property of the
receiver.
        Helpstring: Determine if VideoCapX video filter will be used. This
filter handles frame grabbing, video cropping and text/bitmap overlay.
Without it, video stream can be much faster.
                vcxUseVideoFilterEnum UseVideoFilter"

        ^(self getPropertyId: 42)
!

useVideoFilter: newVal
        "Set the 'UseVideoFilter' property of the receiver to the <sdword>
value of the argument.
        Helpstring: Determine if VideoCapX video filter will be used. This
filter handles frame grabbing, video cropping and text/bitmap overlay.
Without it, video stream can be much faster.
                vcxUseVideoFilterEnum UseVideoFilter"

        self setPropertyId: 42 value: newVal
!

useVMR9
        "Answer the <varbool> value of the 'UseVMR9' property of the receiver.
        Helpstring: If set to TRUE, VideoCapX will use VideoMixingRenderer9
for video preview
                VARIANT_BOOL UseVMR9"

        ^(self getPropertyId: 15)
!

useVMR9: newVal
        "Set the 'UseVMR9' property of the receiver to the <varbool> value of
the argument.
        Helpstring: If set to TRUE, VideoCapX will use VideoMixingRenderer9
for video preview
                VARIANT_BOOL UseVMR9"

        self setPropertyId: 15 value: newVal
!

vcrSetMode: mode
        "Answer the <SDWORD> result of invoking the VCRSetMode() method of the
COM object.
        Helpstring: Control Digital Video VCR. Use this method to change VCR
modes of DV camcorder."

        ^(self invokeId: 107 with: mode)
!

version
        "Answer the <bstr> value of the 'Version' property of the receiver.
        Helpstring: Returns VideoCapX.OCX version number
                BSTR Version"

        ^(self getPropertyId: 52)
!

version: newVal
        "Set the 'Version' property of the receiver to the <bstr> value of the
argument.
        Helpstring: Returns VideoCapX.OCX version number
                BSTR Version"

        self setPropertyId: 52 value: newVal
!

videoCodecIndex
        "Answer the <sdword> value of the 'VideoCodecIndex' property of the
receiver.
        Helpstring: Set index of video codec to use for on-the-fly compression
of video
                long VideoCodecIndex"

        ^(self getPropertyId: 34)
!

videoCodecIndex: newVal
        "Set the 'VideoCodecIndex' property of the receiver to the <sdword>
value of the argument.
        Helpstring: Set index of video codec to use for on-the-fly compression
of video
                long VideoCodecIndex"

        self setPropertyId: 34 value: newVal
!

videoCodecQuality
        "Answer the <sdword> value of the 'VideoCodecQuality' property of the
receiver.
        Helpstring: Sets quality parameter for video codec
                long VideoCodecQuality"

        ^(self getPropertyId: 3)
!

videoCodecQuality: newVal
        "Set the 'VideoCodecQuality' property of the receiver to the <sdword>
value of the argument.
        Helpstring: Sets quality parameter for video codec
                long VideoCodecQuality"

        self setPropertyId: 3 value: newVal
!

videoDeviceIndex
        "Answer the <sdword> value of the 'VideoDeviceIndex' property of the
receiver.
        Helpstring: Set index of video device to use for capture
                long VideoDeviceIndex"

        ^(self getPropertyId: 30)
!

videoDeviceIndex: newVal
        "Set the 'VideoDeviceIndex' property of the receiver to the <sdword>
value of the argument.
        Helpstring: Set index of video device to use for capture
                long VideoDeviceIndex"

        self setPropertyId: 30 value: newVal
!

videoFlip
        "Answer the <sdword> value of the 'VideoFlip' property of the
receiver.
        Helpstring: Sets video flipping. Flips video image horizontally and/or
vertically.
                long VideoFlip"

        ^(self getPropertyId: 49)
!

videoFlip: newVal
        "Set the 'VideoFlip' property of the receiver to the <sdword> value of
the argument.
        Helpstring: Sets video flipping. Flips video image horizontally and/or
vertically.
                long VideoFlip"

        self setPropertyId: 49 value: newVal
!

videoHeight
        "Answer the <sdword> value of the 'VideoHeight' property of the
receiver.
        Helpstring: Returns current video height in pixels. This property is
read-only.
                long VideoHeight"

        ^(self getPropertyId: 47)
!

videoHeight: newVal
        "Set the 'VideoHeight' property of the receiver to the <sdword> value
of the argument.
        Helpstring: Returns current video height in pixels. This property is
read-only.
                long VideoHeight"

        self setPropertyId: 47 value: newVal
!

videoInputIndex
        "Answer the <sdword> value of the 'VideoInputIndex' property of the
receiver.
        Helpstring: Sets channel to use on multi-port capture cards
                long VideoInputIndex"

        ^(self getPropertyId: 36)
!

videoInputIndex: newVal
        "Set the 'VideoInputIndex' property of the receiver to the <sdword>
value of the argument.
        Helpstring: Sets channel to use on multi-port capture cards
                long VideoInputIndex"

        self setPropertyId: 36 value: newVal
!

videoSourceURL
        "Answer the <bstr> value of the 'VideoSourceURL' property of the
receiver.
        Helpstring: URL of network camera acting as video source
                BSTR VideoSourceURL"

        ^(self getPropertyId: 20)
!

videoSourceURL: newVal
        "Set the 'VideoSourceURL' property of the receiver to the <bstr> value
of the argument.
        Helpstring: URL of network camera acting as video source
                BSTR VideoSourceURL"

        self setPropertyId: 20 value: newVal
!

videoWidth
        "Answer the <sdword> value of the 'VideoWidth' property of the
receiver.
        Helpstring: Returns current video width in pixels. This property is
read-only.
                long VideoWidth"

        ^(self getPropertyId: 46)
!

videoWidth: newVal
        "Set the 'VideoWidth' property of the receiver to the <sdword> value
of the argument.
        Helpstring: Returns current video width in pixels. This property is
read-only.
                long VideoWidth"

        self setPropertyId: 46 value: newVal
!

wmAttributes
        "Answer the <bstr> value of the 'WMAttributes' property of the
receiver.
        Helpstring: Windows Media attributes to set when capturing into WMV
files or broadcasting
                BSTR WMAttributes"

        ^(self getPropertyId: 17)
!

wmAttributes: newVal
        "Set the 'WMAttributes' property of the receiver to the <bstr> value
of the argument.
        Helpstring: Windows Media attributes to set when capturing into WMV
files or broadcasting
                BSTR WMAttributes"

        self setPropertyId: 17 value: newVal
!

wmtVersion
        "Answer the <sdword> value of the 'WMTVersion' property of the
receiver.
        Helpstring: Sets WindowsMedia system profiles version to use. See
ProfileIndex property. Deafult is 7. Possible values are 4,7 and 8.
                long WMTVersion"

        ^(self getPropertyId: 50)
!

wmtVersion: newVal
        "Set the 'WMTVersion' property of the receiver to the <sdword> value
of the argument.
        Helpstring: Sets WindowsMedia system profiles version to use. See
ProfileIndex property. Deafult is 7. Possible values are 4,7 and 8.
                long WMTVersion"

        self setPropertyId: 50 value: newVal
! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #aboutBox!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #acquire!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #allocCapFile:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #audioCodecIndex!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #audioCodecIndex:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #audioDeviceIndex!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #audioDeviceIndex:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #audioInputIndex!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #audioInputIndex:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #autoTune:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #cameraControlGet:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#cameraControlGetRange:minVal:maxVal:steppingDelta:defaultValue:capsFlags:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #cameraControlSet:val:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #capFilename!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #capFilename:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #capTimeLimit!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #capTimeLimit:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #capTimeLimitEnabled!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #capTimeLimitEnabled:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #captureAudio!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #captureAudio:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #captureRate!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #captureRate:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #colorFormat!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #colorFormat:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#compareImages:picture2:sensitivity:!**auto generated**!methods!public!
!
!VIDEOCAPXLib_DVideoCapX categoriesFor: #connected!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #connected:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #copyCaptureFile:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #copyFrame!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #debugMode!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #debugMode:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #detectMotion!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #devicesNames!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #deviceType!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #deviceType:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #displayRemote:audio:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #enableExternalTrigger:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #enableNewFrameEvent!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #enableNewFrameEvent:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #exportToDV:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #ftpPassiveMode!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #ftpPassiveMode:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getActualFrameRate!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getAudioCodecCount!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getAudioCodecName:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getAudioDeviceCount!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getAudioDeviceName:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#getAudioFormat:nChannels:nSamplesPerSec:nAvgBytesPerSec:nBlockAlign:wBitsPerSample:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getAudioInputCount!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getAudioInputName:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getAudioLevel!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getAudioLevel2:right:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getCapFileSize!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getCapStatus!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getDateCode!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getFilterSettings:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getFrameAsHBITMAP!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getProfileCount!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getProfileDesc:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getProfileName:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getRGB!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getTimecode!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getTunerSignal!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getVideoCaps!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getVideoCaps2!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getVideoCodecCount!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getVideoCodecName:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getVideoDeviceCount!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getVideoDeviceDesc:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getVideoDeviceName:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getVideoFormat:height:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getVideoInputCount!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getVideoInputName:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getVideoProcAmp:value:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#getVideoProcAmpValueRange:min:max:steppingDelta:default:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #getVMR9IUnknown!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #grabFrame!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #halfSizedVideo!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #halfSizedVideo:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #hasOverlay!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #hasOverlay:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#httpUpload:webPage:fields:files:!**auto generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #hWnd!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #hWnd:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #isCapturing!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #isCapturing:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #loadProfileFromURL:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #localAddress!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #localAddress:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #masterStream!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #masterStream:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #mouseIcon!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #mouseIcon:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #mousePointer!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #mousePointer:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #overlay!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #overlay:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #overscan!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #overscan:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #pauseCapture!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerClose!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerGetFrame!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerGetFrameCount!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerGetLenMS!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerGetPos!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#playerGetVideoSize:height:!**auto generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerOpen:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#playerOpenBroadcast:port:maxConnections:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerOpenDVD:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerSetFrame:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerSetFullScreen:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerSetMute:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerSetPos:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerSetRate:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerSetSize:height:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerStart!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerStepFrames:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerStepOneFrame!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #playerStop!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #preview!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #preview:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #previewAudio!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #previewAudio:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #previewFullScreen!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #previewFullScreen:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #previewScale!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #previewScale:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #profileData!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #profileData:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #profileIndex!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #profileIndex:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#receiveAudio:play:nChannels:nSamplesPerSecond:nBytesPerSample:pcmData:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #receiveFrame:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #recompress:destFile:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#recompressEx:srcFile2:destFile:timeStart:timeEnd:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #resumeCapture!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #saveFrame:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #saveFrameJPG:quality:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#savePictureJPG:filename:quality:!**auto generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #selectSource!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #sendScriptCommand:data:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #serverMode!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #serverMode:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #serverPassword!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #serverPassword:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #serverPort!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #serverPort:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #serverQuality!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #serverQuality:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #setAudioDelay:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#setAudioFormat:nChannels:nSamplesPerSec:nAvgBytesPerSec:nBlockAlign:nBitsPerSample:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #setAudioInputLevel:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #setAudioVolume:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#setBitmapOverlay:x:y:transColor:!**auto generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#setChromaKey:minTransparentColor:maxTransparentColor:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #setCrop:y:w:h:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #setFadeLevel:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #setFilterSettings:data:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #setHighPriority:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#setMasterAudioVolume:volume:!**auto generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#setMotionMask:left:top:width:height:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#setTextOverlay:caption:x:y:fontName:fontSize:fColor:bColor:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #setTunerChannel:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #setTunerCountryCode:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #setTunerInputType:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #setTVFormat:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #setVideoFormat:height:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #setVideoFormatEx:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #setVideoProcAmp:value:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#setZoom:top:width:height:!**auto generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #showAudioCodecDlg!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #showAudioFormatDlg!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #showAudioSourceDlg!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #showTunerDlg!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #showUserFilterDlg:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #showVideoCodecDlg!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #showVideoCrossbarDlg!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #showVideoDisplayDlg!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #showVideoFormatDlg!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #showVideoSourceDlg!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #singleFrameAdd!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #singleFrameAddPicture:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #singleFrameClose!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #singleFrameOpen:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#startBroadcast:maxConnections:!**auto generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#startBroadcastPush:user:password:!**auto generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #startCapture!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #startCapture2!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #stopBroadcast!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #stopCapture!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #storeAutoTune!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #syncUsingStreamOffset!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #syncUsingStreamOffset:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#uploadFile:username:password:path:server_filename:local_filepath:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#uploadFile:username:password:path:server_filename:local_filepath:port:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor:
#uploadFrame:username:password:path:filename:port:quality:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #useDeinterlace!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #useDeinterlace:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #useOverlay!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #useOverlay:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #userFilter2CLSID!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #userFilter2CLSID:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #userFilter3CLSID!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #userFilter3CLSID:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #userFilterCLSID!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #userFilterCLSID:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #userFilterIUnknown!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #userFilterIUnknown:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #useVideoFilter!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #useVideoFilter:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #useVMR9!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #useVMR9:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #vcrSetMode:!**auto
generated**!methods!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #version!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #version:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoCodecIndex!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoCodecIndex:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoCodecQuality!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoCodecQuality:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoDeviceIndex!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoDeviceIndex:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoFlip!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoFlip:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoHeight!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoHeight:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoInputIndex!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoInputIndex:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoSourceURL!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoSourceURL:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoWidth!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #videoWidth:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #wmAttributes!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #wmAttributes:!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #wmtVersion!**auto
generated**!properties!public! !
!VIDEOCAPXLib_DVideoCapX categoriesFor: #wmtVersion:!**auto
generated**!properties!public! !

!VIDEOCAPXLib_DVideoCapX class methodsFor!

clsid
        "Private - Answer the CLSID of the coclass (VideoCapX) for which the
receiver is the default interface."

        ^CLSID fromString: '{912FB007-DD9A-11D3-BD8D-DAAFCB8D9378}'
!

initializeTypeLib
        "Private - Establish a connection to the receiver's type library.
                VIDEOCAPXLib_DVideoCapX initializeTypeLib"

        typeLib := VIDEOCAPXLib! !
!VIDEOCAPXLib_DVideoCapX class categoriesFor: #clsid!**auto
generated**!constants!private! !
!VIDEOCAPXLib_DVideoCapX class categoriesFor: #initializeTypeLib!**auto
generated**!initializing!private! !

"Binary Globals"!

VIDEOCAPXLib := Object fromBinaryStoreBytes:
(ByteArray fromBase64String:
'IVNUQiAzIEYJFQACAAAAQVhUeXBlTGlicmFyeUFuYWx5emVyBgIJAElUeXBlTGliMgAAAAAAAAAA
URoAAAYBCABUTElCQVRUUnIAAAAgAAAABLAvkZrd0xG9jdqvy42TeAAAAAABAAAAAQAAAAoAAABS
AAAADAAAAFZJREVPQ0FQWExpYlIAAAAMAAAAVklERU9DQVBYTGlisgAAAAwAAABWSURFT0NBUFhM
aWJSAAAAFQAAAFZJREVPQ0FQWExpYkNvbnN0YW50c+oAAADwAAAAYgAAAAIAAABSAAAABAAAAEdV
SUSyAAAABAAAAEdVSUQAAAAA')!


Reply | Threaded
Open this post in threaded view
|

Re: Trouble with a by reference LONG in a wrapped OCX

Support at Object Arts
In reply to this post by Sebastián Sastre
"Sebastián" <[hidden email]> wrote in message
news:[hidden email]...
> Hi there,
>
>  I'm making use of VideoCapX  wich can be downloaded from:
> http://www.fathsoft.com/videocapx.html to capture images/video/audio
> from a Dolphin app.
>
>  So, I've used the wizard to generate VIDEOCAPXLib_DVideoCapX class
> wich seems to be pretty good until now.
>...

Hmmm, then the implementation of the functionality itself must be better
than the Active-X wrapper. The type-library does not specify the direction
of any of the parameters, which is why Dolphin's Type Library Analyzer (AX
Component Wizard) isn't able to be of much help to you. I'd also expect to
see and indexed property for this rather than those get/set methods. And why
an inefficient dispinterface? But let's gloss over all that.

>
>  Right now I'm trying to make bright, contrast, saturation and other
> adjustments of the video capture, programatically manipulable. The
> control allows this in the form of a VB Long passed by reference.
>

So in other words you probably want:

site := AXControlSite progId: _DVideoCapX clsid asString.
obj := site controlDispatch.
...
out := SDWORD new.
obj getVideoProcAmp: 1 value: out.
result := out value.

I suggest this because if the typelib had marked the value parameter as
[out-retval], then the analyzer would have generated you a wrapper method
which did pretty much those last 3 statements.

Remember a VB "long" is 32-bit signed integer, i.e. an SDWORD. It seems this
is the one type you didn't try. I'm just guessing that the 'value' parameter
is really an output parameter, in which case you need to pass in a buffer to
hold the output value. i.e. an 'SDWORD new'. The IDispatch invocation
framework in Dolphin will convert this into the correct parameter type
(which will be a VARIANT referencing that SDWORD buffer in this case).

HTH

OA


Reply | Threaded
Open this post in threaded view
|

Re: Trouble with a by reference LONG in a wrapped OCX

Sebastián Sastre
Thanks... That help has really helped a lot.

Obrigado, gracias,

Sebsatian


Support at Object Arts escreveu:

> "Sebastián" <[hidden email]> wrote in message
> news:[hidden email]...
> > Hi there,
> >
> >  I'm making use of VideoCapX  wich can be downloaded from:
> > http://www.fathsoft.com/videocapx.html to capture images/video/audio
> > from a Dolphin app.
> >
> >  So, I've used the wizard to generate VIDEOCAPXLib_DVideoCapX class
> > wich seems to be pretty good until now.
> >...
>
> Hmmm, then the implementation of the functionality itself must be better
> than the Active-X wrapper. The type-library does not specify the direction
> of any of the parameters, which is why Dolphin's Type Library Analyzer (AX
> Component Wizard) isn't able to be of much help to you. I'd also expect to
> see and indexed property for this rather than those get/set methods. And why
> an inefficient dispinterface? But let's gloss over all that.
>
> >
> >  Right now I'm trying to make bright, contrast, saturation and other
> > adjustments of the video capture, programatically manipulable. The
> > control allows this in the form of a VB Long passed by reference.
> >
>
> So in other words you probably want:
>
> site := AXControlSite progId: _DVideoCapX clsid asString.
> obj := site controlDispatch.
> ...
> out := SDWORD new.
> obj getVideoProcAmp: 1 value: out.
> result := out value.
>
> I suggest this because if the typelib had marked the value parameter as
> [out-retval], then the analyzer would have generated you a wrapper method
> which did pretty much those last 3 statements.
>
> Remember a VB "long" is 32-bit signed integer, i.e. an SDWORD. It seems this
> is the one type you didn't try. I'm just guessing that the 'value' parameter
> is really an output parameter, in which case you need to pass in a buffer to
> hold the output value. i.e. an 'SDWORD new'. The IDispatch invocation
> framework in Dolphin will convert this into the correct parameter type
> (which will be a VARIANT referencing that SDWORD buffer in this case).
>
> HTH
>
> OA