Home    MontiVision DirectShow SDK Documentation Prev Next
MontiVision Development Kit
Product Release Notes
What's new?
Installation
Overview
Components
The MontiVision Workbench
How to use the Workbench
How to insert an Filter
How to make a connction between two filter
How to change filter properties
How to get mediatypes of a pin or connection
How to delete a connection
How to delete a filter
How to find a filter
How to select a filter, pin or connection
How to make a video visible
How to preview a video stream
Workbench Menus and Commands
File menu commands
Edit menu commands
View menu commands
Graph menu commands
Extras menu commands
Help menu commands
Context menu commands
Status Bar
Toolbar
Sorting Filters
MontiVision DirectShow Filter
Common filter functions
MV Absolute Difference
MV Advanced Optical Flow
MV Affine Transformation
MV Alignment
MV Audio Test Source
MV Batch Image File Source
MV Background Subtraction
MV Bayer To Gray
MV Bayer To RGB
MV Bitmap Overlay
MV Blob Counter
MV Blob Finder
MV BlockRecording
MV Buffer Access
MV Camera Calibration
MV Camera Syncronisation
MV Camera Undistortion
MV Color Filter
MV Color Channel Mixer
MV Color Space Converter
MV Color To Gray
MV Color Twist
MV Constant Framerate
MV Convolution
MV Cooccurrence
MV Crop
MV Deinterlace
MV DeInterlace Temporal
MV Delay
MV Demo Source
MV Demultiplexer
MV DPS Renderer
MV DPS Source
MV Dyadic Arithmetic
MV Dyadic Logic
MV Fast Color Filter
MV Frame Access
MV Gauge
MV GDI Overlay
MV Gray To Color
MV Image File Source
MV Image Grabber
MV Image File Renderer
MV Integral
MV Inverse
MV I/O Bool Source
MV I/O Comparator
MV I/O Logic
MV I/O Not
MV I/O Renderer
MV I/O RS232
MV I/O RS232 Trigger Source
MV I/O Switch Source
MV I/O Textfile Renderer
MV I/O Textfile Source
MV I/O To String
MV IP Camera Source
MV Look Up Table
MV Mean
MV Mean Profile
MV Merge Frames
MV Mirror
MV MJPEG Compressor
MV MJPEG Decompressor
MV Mondic Arithmetic
MV Mondic Logic
MV Morphology
MV Motion Detection
MV Motion Direction
MV Multi File Writer
MV Network Renderer
MV Network Source
MV Nonlinear Filter
MV Object Tracker
MV Optical Flow
MV Playlist Source
MV Polar
MV Presence Detection
MV Profile
MV Recording
MV ReInterlace
MV Resize
MV Resized Rotation
MV Rotate90
MV Rotation
MV Segmentation
MV Select Mediatype
MV Separate Fields
MV Smooth Sequence
MV Splitter
MV Text Overlay
MV Ticker Overlay
MV Topography
MV Trigger Source
MV Video File Overlay
MV Video Overlay
MV Video Scaler
MV Watchdog
MV Zoom
Filter Event Mechanism
MontiVision DirectShow Filter SDK
Create a new Filter SDK DLL
Implement your custom Algorithm
Register the Filter SDK DLL
Use the new DirectShow Filter
Debugging a DirectShow Filter
Configure a Filter SDK DirectShow Filter
MontiVision Smart ActiveX Control
MV Smart Control Functions
MV Smart Control Interfaces
IMVSmartControl
IMVSCFilterGraph
IMVSCFilterGraph2
IMVSCVideoWindow
IMVSCVideoWindow2
IMVSCFullScreen
IMVSCSetFile
IMVSCSetSourceFilter
IMVSCSelectInput
IMVSCSetupVideoStream
IMVSCSetupVideoStream2
IMVSCClock
IMVSCFilterProperties
IMVSCLog
IMVSCCameraControl
IMVSCFilterEvents
IMVSCMediaSeeking
IMVSCMediaSeeking2
IMVSCQualityProperties
IMVSCFilterData
IMVSCCommonProperties
IMVSCExtDeviceControl
IMVSCVideoControl
IMVSCAnalogVideoFormat
IMVSCTVTuner
IMVSCTVAudio
Application Development with the MV Smart Control
Visual Basic 6.0
Visual Basic .NET
Visual C++ 6.0
Visual C++ .NET
Borland Delphi
MV Smart Control Samples
AviPlay Sample
CropVideo Sample
DirFinder Sample
FindObject Sample
FullScreen Sample
ImageStream Sample
IP Camera Sample
LiveDraw Sample
LoadFromString Sample
LumeneraCameraProperties Sample
MotionDetection Sample
PutBitmap Sample
SendReceiveRS232 Sample
MV Smart Control How To's
How to handle Input Events (Mouse, Keyboard) of the Video Window
How to Select and Configure a Video Input Device
How to handle Multiple Video Outputs
How to use Fullscreen Functionality
How to access the Results of a MontiVsion DirectShow Filter
MontiVision Utility ActiveX Controls
Video Source Combo Box
Video Format Combo Box
Video Size Combo Box
Input Selection Combo Box
Frame Rate Combo Box
Seeking Slider
Filter Property Page Display
Trigger Button
MontiVision I/O Controls
MVIODisplay
MVIOMonitor
MVIOLed
MVIOOutput
VMR Wrapper ActiveX Control
MV VMR Wrapper Interfaces
IMVVMRWrapper
IMVVMRFilterConfig
IMVVMRMixerControl
IMVVMRMixerBitmap
MV VMR Wrapper Sample Applications
VMR Control Sample
VMR Bitmap Overlay Sample
Extended Video Source ActiveX Control
MV Extended Video Source Control Interfaces
IMVExtendedVideoSource Interface
IMVLumeneraCustomConfig Interface
_IMVExtendedVideoSourceEvents Interface
MontiVision Tools
Getting Started
Create a MontiVision Project
Create a MontiVision Project using the MontiVision Workbench
Create new DirectShow Filters using the MontiVision Filter SDK
Use the new DirectShow Filter in your MontiVision Project
Integrate the MontiVision Project into your Application
Distribute your Application
Distributing your Applications
Application Development Examples
Apply standard Image Processing Operators to a Video Stream
Process a Sequence of Still Images, Do Batch Processing
Make your Existing Algorithms DirectShow compatible
Creating your own Image/Video Processing DirectShow Filters
Access the Image Data of a Video Stream directly from within a Windows Application
Capture Still Images from a running Video Stream
Convert a Video Stream to a Sequence of Still Images or vice versa
Sample Applications using the Smart Control
Camera Calibration
Additional HowTo's
How to Set Up Visual C++ for the MontiVision Development Kit
How to Set Up Borland Delphi for the MontiVision Development Kit
How to Set Up Borland Delphi 2005 for the MontiVision Development Kit
Interface Reference
_IMVFilterPropertyControlEvents
_IMVSeekingSliderEvents
_IMVSmartControlEvents
_ISelectInputComboBoxEvents
_IVideoFormatComboBoxEvents
_IVideoSizeComboBoxEvents
_IVideoSourceComboBoxEvents
IMVAbout
IMVAdvancedOpticalFlow
IMVAdvancedOpticalFlow2
IMVAffineTransformation
IMVAlignment
IMVAudioTestSource
IMVAutoCalcSetup
IMVBackgroundSubtraction
IMVBatchFileSource2
IMVBatchFileSource3
IMVBatchFileSource
IMVBinary
IMVBitmapOverlay
IMVBitmapOverlay2
IMVBlobCounter
IMVBlobCounter2
IMVBlobCounter3
IMVBlobCounter4
IMVBlobFinder
IMVBlobFinder2
IMVBlobFinder3
IMVBlobPostProcessing
IMVBlobPreProcessing
IMVBlockRecording
IMVBufferAccess
IMVBufferAccessCallbackC
IMVBufferAccessCallbackVB
IMVCameraCalibration
IMVCameraSync
IMVCameraUndistortion
IMVColor
IMVColorChannelMixer
IMVColorTwist
IMVConstantFramerate
IMVConvolution
IMVCooccurrence
IMVCrop
IMVCrypt
IMVDeinterlace
IMVDeInterlaceTemporal
IMVDelay
IMVDemoSource
IMVDemoSource2
IMVDPSRenderer
IMVDPSSource
IMVDyArith
IMVDyLogic
IMVEnumAudioEncoder
IMVEnumVideoEncoder
IMVFastColor
IMVFilterData
IMVFilterEvents
IMVFilterInfo
IMVFilterPropertyControl
IMVFilterSDK
IMVFrameAccess
IMVFrameAccessCallbackC
IMVFrameAccessCallbackVB
IMVGauge
IMVGaugeCalculations
IMVGDIOverlay
IMVGray
IMVGrayToColor
IMVGrid
IMVHistogram
IMVHistogram2
IMVHistogram3
IMVImageCapture
IMVImageCapture2
IMVImageCapture3
IMVImageFileSource
IMVImageFileSource2
IMVImageFileSource3
IMVImageInfo
IMVIntegral
IMVIOBoolSource
IMVIOBoolSource2
IMVIOComparator
IMVIOIntRenderer
IMVIOIntSource
IMVIOIntSource2
IMVIOLogic
IMVIONot
IMVIORenderer
IMVIORS232
IMVIORS232DataASCII
IMVIORS232DataHex.htm
IMVIORS232RxTxConnection
IMVIORS232TriggerSource
IMVIOSwitchSource
IMVIOTextfileRenderer
IMVIOTextfileSource
IMVIOToString
IMVIPCameraSource
IMVIPCameraSource2
IMVLinFilter
IMVLookUpTable
IMVMask
IMVMean
IMVMeanProfile
IMVMerger
IMVMirror
IMVMonArith
IMVMonLogic
IMVMorphology
IMVMotionDetection
IMVMotionDetection2
IMVMotionDirection
IMVMultiFileWriter
IMVNetworkReceiveInfo
IMVNetworkRenderer
IMVNetworkRenderer2
IMVNetworkRenderer3
IMVNetworkSendInfo
IMVNetworkSource
IMVNetworkSource2
IMVNonLinFilter
IMVObjectTracker
IMVOpticalFlow
IMVOpticalFlow2
IMVPlaylist
IMVPlaylistSource
IMVPolar
IMVPresenceDetection
IMVProfile
IMVRecording
IMVRegionOfInterest
IMVReinterlace
IMVResize
IMVResizedRotation
IMVRotate90
IMVRotation
IMVSCAnalogVideoFormat
IMVSCCameraControl
IMVSCCommonProperties
IMVSCClock
IMVSCExtDeviceControl
IMVSCFilterData
IMVSCFilterEvents
IMVSCFilterGraph
IMVSCFilterGraph2
IMVSCFilterProperties
IMVSCFullScreen
IMVSCLog
IMVSCMediaSeeking
IMVSCMediaSeeking2
IMVSCQualityProperties
IMVSCSelectInput
IMVSCSetFile
IMVSCSetSourceFilter
IMVSCTVTuner
IMVSCTVAudio
IMVSCVideoControl
IMVSCSetupVideoStream
IMVSCSetupVideoStream2
IMVSCVideoWindow
IMVSCVideoWindow2
IMVSeekingSlider
IMVSetImageFormat
IMVSmartControl
IMVSeparateFields
IMVSmoothSequence
IMVTextOverlay
IMVTextOverlay2
IMVTextOverlay3
IMVTickerOverlay
IMVTickerOverlay2
IMVTopography
IMVTrigger
IMVTriggerFilter
IMVVideoFileOverlay
IMVVideoScaler
IMVVMRFilterConfig
IMVVMRMixerBitmap
IMVVMRMixerControl
IMVVMRWrapper
IMVWatchdog
IMVZoom
IMVZoomConfig
ISelectInputComboBox
IVideoFormatComboBox
IVideoSizeComboBox
IVideoSourceComboBox

_IMVSmartControlEvents

The _IMVSmartControlEvents Interface is the event interface for the MontiVision Smart Control .

Methods:

DeviceChanged Signals that a video device has changed.
EndOfStream Called at the end of a stream. E.g. at the end of a media file.
FilterEvent Called on receipt of a filter event.
LogMessage Called when the smart control delivers a log message.
OnDSEvent This method is called on an unhandled DirectShow event.
OnFilterCreated Called after filter creation occurs within a graph.
OnFilterCreatedVB Called after filter creation occurs within a graph. (Visual Basic Version)
OnInputPinConnected Called before a filter's input pin is connected.
OnInputPinConnectedVB Called before a filter's input pin is connected.  (Visual Basic Version)
OnOutputPinConnected Called before a filter's output pin is connected.
OnOutputPinConnectedVB Called before a filter's output pin is connected. (Visual Basic Version)
OnVideoWindowKey Called for keyboard events occurring in the video window.
OnVideoWindowLButtonDown Called for "left button down" and "double click" events in the video window.
OnVideoWindowLButtonUp Called for "left button up" events in the video window.
OnVideoWindowMButtonDown Called for "middle button down" and "double click" events in the video window.
OnVideoWindowMButtonUp Called for "middle button up" events in the video window.
OnVideoWindowMouseMove Called for "mouse move" events in the video window.
OnVideoWindowRButtonDown Called for "right button down" and "double click" events in the video window
OnVideoWindowRButtonUp Called for "right button up" events  in the video window.
Paused Called when the filter graph changes to the paused state.
Started Called when the filter graph changes to the started state.
Stopped Called when the filter graph changes to the stopped state

Typelib: MV Smart Control


Method _IMVSmartControlEvents::DeviceChanged

Declaration: Sub DeviceChanged(DeviceLost As Boolean, Device As String, DeviceName As String)

Signals that a video device has changed. The MV Smart Control could only detecting the lost of a current used video device. To get more information about lost/new devices look at the IMVSCFilterGraph::CheckVideoDeviceChange method.

Parameter:

DeviceLost True if a device was lost and False if a new device was detected.
Device Display string from the lost/new device.
DeviceName Label from the lost/new device.
C Prototype:

HRESULT DeviceChanged(VARIANT_BOOL DeviceLost, BSTR Device, BSTR DeviceName);


Method _IMVSmartControlEvents::EndOfStream

Declaration: Sub EndOfStream

Called at the end of a stream. E.g. at the end of a media file.

C Prototype:

HRESULT EndOfStream();


Method _IMVSmartControlEvents::FilterEvent

Declaration: Sub FilterEvent(Cookie As Long, EventCode As Long)

Called on receipt of a filter event.

Parameter:

Cookie Cookie value returned from the    IMVSCFilterEvents::Enable interface.
EventCode Event codes from the   MV Image Processing Filter. Look at the filter event documentation for more information.
C Prototype:

HRESULT FilterEvent(LONG Cookie, LONG EventCode);


Method _IMVSmartControlEvents::LogMessage

Declaration: Sub LogMessage(Level As Long, Msg As String)

Called when the smart control delivers a log message.

Parameter:

Level Log message level.
Msg Log message text.
C Prototype:

HRESULT LogMessage(LONG Level, BSTR Msg);


Method _IMVSmartControlEvents::OnDSEvent

Declaration: Sub OnDSEvent(EventCode As Long)

This method is called on an unhandled DirectShow event.

Parameter:

EventCode DirectShow event code. Look at the DirectShow SDK documentation for more details.
C Prototype:

HRESULT OnDSEvent(LONG EventCode);


Method _IMVSmartControlEvents::OnFilterCreated

Declaration: Sub OnFilterCreated(Label As String, Filter As Unknown)

 Called after filter creation occurs within a graph. .

Parameter:

Label Filter label within the filter graph configuration.
Filter IUnknown interface from the filter.
C Prototype:

HRESULT OnFilterCreated(BSTR Label, IUnknown* Filter);


Method _IMVSmartControlEvents::OnFilterCreatedVB

Declaration: Sub OnFilterCreatedVB(Label As String)

Called after filter creation occurs within a graph. This method is for Visual Basic developers instead of OnFilterCreated.

Parameter:

Label Filter label within the filter graph configuration.
C Prototype:

HRESULT OnFilterCreatedVB(BSTR Label);


Method _IMVSmartControlEvents::OnInputPinConnected

Declaration: Sub OnInputPinConnected(FilterLabel As String, PinLabel As String, Filter As Unknown)

Called before a filter's input pin is connected.

Parameter:

FilterLabel Filter label within the filter graph configuration.
PinLabel Input pin label within the filter graph configuration.
Filter IUnknown interface from the filter.
C Prototype:

HRESULT OnInputPinConnected(BSTR FilterLabel, BSTR PinLabel, UNKNOWN Filter);


Method _IMVSmartControlEvents::OnInputPinConnectedVB

Declaration: Sub OnInputPinConnectedVB(FilterLabel As String, PinLabel As String)

Called before an inputpin from a filter was connected. This method should use by Visual Basic developers instead of OnInputPinConnected

Parameter:

FilterLabel -
PinLabel -
C Prototype:

HRESULT OnInputPinConnectedVB(BSTR FilterLabel, BSTR PinLabel);


Method _IMVSmartControlEvents::OnOutputPinConnected

Declaration: Sub OnOutputPinConnected(FilterLabel As String, PinLabel As String, Filter As Unknown)

Called before a filter's output pin is connected.

Parameter:

FilterLabel Filter label within the filter graph configuration.
PinLabel Output pin label within the filter graph configuration.
Filter IUnknown interface from the filter.
C Prototype:

HRESULT OnOutputPinConnected(BSTR FilterLabel, BSTR PinLabel, IUnknown* Filter);


Method _IMVSmartControlEvents::OnOutputPinConnectedVB

Declaration: Sub OnOutputPinConnectedVB(FilterLabel As String, PinLabel As String)

Called before a filter's output pin is connected . This method is for Visual Basic developers instead of OnOutputPinConnected.

Parameter:

FilterLabel Filter label within the filter graph configuration.
PinLabel Output pin label within the filter graph configuration.


C Prototype:

HRESULT OnOutputPinConnectedVB(BSTR FilterLabel, BSTR PinLabel);


Method _IMVSmartControlEvents::OnVideoWindowKey

Declaration: Sub OnVideoWindowKey(VitualKey As Long, Down As Boolean, Repeat As Long, Flags As Long)

Called for keyboard events occurring in the video window.

Parameter:

VitualKey Virtual key code.
Down If ´TRUE the key is press down (WM_KEYDOWM). If FALSE the key is moved up (WM_KEYUP).
Repeat Repeat times.
Flags Additional key flags. Look at the WM_KEYxxx message documentation from the Win32 SDK.
C Prototype:

HRESULT OnVideoWindowKey(LONG VitualKey, VARIANT_BOOL Down, LONG Repeat, LONG Flags);


Method _IMVSmartControlEvents::OnVideoWindowLButtonDown

Declaration: Sub OnVideoWindowLButtonDown(DoubleClick As Boolean, x As Long, y As Long, KeyFlags As Long)

Called for "left button down" and "double click" events in the video window.

Parameter:

DoubleClick TRUE on double clicks.
x X -Coordinate
y Y-Coordinate
KeyFlags Key-flags. Look at the WM_LBUTTONDOWN message documentation from the Win32 SDK.
C Prototype:

HRESULT OnVideoWindowLButtonDown(VARIANT_BOOL DoubleClick, LONG x, LONG y, LONG KeyFlags);


Method _IMVSmartControlEvents::OnVideoWindowLButtonUp

Declaration: Sub OnVideoWindowLButtonUp(x As Long, y As Long, KeyFlags As Long)

Called for "left button up" events in the video window.

Parameter:

x X -Coordinate
y Y-Coordinate
KeyFlags Key-flags. Look at the WM_LBUTTONUP message documentation from the Win32 SDK.
C Prototype:

HRESULT OnVideoWindowLButtonUp(LONG x, LONG y, LONG KeyFlags);


Method _IMVSmartControlEvents::OnVideoWindowMButtonDown

Declaration: Sub OnVideoWindowMButtonDown(DoubleClick As Boolean, x As Long, y As Long, KeyFlags As Long)

Called for "middle button down" and "double click" events in the video window.

Parameter:

DoubleClick TRUE on double clicks.
x X -Coordinate
y Y-Coordinate
KeyFlags Key-flags. Look at the WM_MBUTTONDOWN message documentation from the Win32 SDK.
C Prototype:

HRESULT OnVideoWindowMButtonDown(VARIANT_BOOL DoubleClick, LONG x, LONG y, LONG KeyFlags);


Method _IMVSmartControlEvents::OnVideoWindowMButtonUp

Declaration: Sub OnVideoWindowMButtonUp(x As Long, y As Long, KeyFlags As Long)

Called for "middle button up" events in the video window.

Parameter:

x X -Coordinate
y Y-Coordinate
KeyFlags Key-flags. Look at the WM_MBUTTONUP message documentation from the Win32 SDK.
C Prototype:

HRESULT OnVideoWindowMButtonUp(LONG x, LONG y, LONG KeyFlags);


Method _IMVSmartControlEvents::OnVideoWindowMouseMove

Declaration: Sub OnVideoWindowMouseMove(x As Long, y As Long, KeyFlags As Long)

Called for "mouse move" events in the video window.

Parameter:

x X -Coordinate
y Y-Coordinate
KeyFlags Key-flags. Look at the WM_MOUSEMOVE message documentation from the Win32 SDK.
C Prototype:

HRESULT OnVideoWindowMouseMove(LONG x, LONG y, LONG KeyFlags);


Method _IMVSmartControlEvents::OnVideoWindowRButtonDown

Declaration: Sub OnVideoWindowRButtonDown(DoubleClick As Boolean, x As Long, y As Long, KeyFlags As Long)

Called for "right button down" and "double click" events in the video window

Parameter:

DoubleClick TRUE on double clicks.
x X -Coordinate
y Y-Coordinate
KeyFlags Key-flags. Look at the WM_RBUTTONDOWN message documentation from the Win32 SDK.
C Prototype:

HRESULT OnVideoWindowRButtonDown(VARIANT_BOOL DoubleClick, LONG x, LONG y, LONG KeyFlags);


Method _IMVSmartControlEvents::OnVideoWindowRButtonUp

Declaration: Sub OnVideoWindowRButtonUp(x As Long, y As Long, KeyFlags As Long)

Called for "right button up" events  in the video window.

Parameter:

x X -Coordinate
y Y-Coordinate
KeyFlags Key-flags. Look at the WM_RBUTTONUP message documentation from the Win32 SDK.
C Prototype:

HRESULT OnVideoWindowRButtonUp(LONG x, LONG y, LONG KeyFlags);


Method _IMVSmartControlEvents::Paused

Declaration: Sub Paused

Called when the filter graph changes to the paused state.

C Prototype:

HRESULT Paused();


Method _IMVSmartControlEvents::Started

Declaration: Sub Started

Called when the filter graph changes to the started state.

C Prototype:

HRESULT Started();


Method _IMVSmartControlEvents::Stopped

Declaration: Sub Stopped

Called when the filter graph changes to the stopped state.

C Prototype:

HRESULT Stopped();