43#include <kaydaradef.h>
48#define FBSDK_DLL K_DLLIMPORT
54#ifdef FBSDKUseNamespace
55namespace FBSDKNamespace {
70#define FBVideoDeclare( ClassName, Parent ) \
71 FBClassDeclare( ClassName,Parent ); \
73 ClassName(const char* pName):Parent(pName) { FBClassInit; } \
79#define FBVideoImplementation( ThisComponent ) \
80 FBClassImplementation( ThisComponent )
114 kFBVideoFormat_Other,
115 kFBVideoFormat_RGBA_32,
116 kFBVideoFormat_RGB_24,
117 kFBVideoFormat_BGRA_32,
118 kFBVideoFormat_BGR_24,
119 kFBVideoFormat_BGR_16,
120 kFBVideoFormat_ABGR_32,
121 kFBVideoFormat_ARGB_32,
128 kFBVideo_RES_FULL = 0,
182 FBVideo(
const char* pName, HIObject pObject=NULL);
250 virtual void DrawImage(
int pX = 0,
int pY = 0,
int pW = -1,
int pH = -1,
int pFrame = -1);
512 virtual bool IsSDKSwitcher();
569#ifdef FBSDKUseNamespace
A box is a fundamental building block in the application architecture.
Video switcher callback event.
FBEventVideoSwitcher(HKEventBase pEvent)
Constructor.
FBPropertykReference Reference
Read Only Property: Data.
FBPropertyVideoSwitcher VideoSwitcher
Read Only Property: Video switcher.
FBPropertyClipEnd EndType
Read Only Property: Clip end action.
PropertyEvent: Base event class.
PropertyList: Concrete class for PropertyList of component
FBVideoClip * operator[](int pIndex)
Get the video at pIndex.
FBVideoIn * operator[](int pIndex)
Get the video at pIndex.
FBVideoOut * operator[](int pIndex)
Get the video at pIndex.
Property class: const char * (String).
FBPropertyVideoProxyMode ProxyMode
Read Write Property: Proxy mode.
FBPropertyVideoFormat Format
Read Only Property: Video format.
FBPropertyInt CurrentFrame
Read Write Property: Current frame.
FBPropertyTime LastFrameTime
Read Only Property: Time of last frame
virtual bool GetEmbeddedTimecode(int pFrame, FBTimeCode &pTimeCode)
Get the embedded timecode associated to a video clip frame.
FBPropertyInt Height
Read Only Property: Height of image.
virtual void FBDelete() override
Open Reality deletion function.
FBPropertyTime FrameTime
Read Only Property: Inverse of FPS, time per frame
FBPropertyBool Loop
Read Write Property: Loop video clip?
FBPropertyTime CustomEmbeddedStartTimecode
Read Write Property:The custom timecode of the first frame of the video. To be effective,...
FBPropertyTime CurrentFrameTimeCode
Read Only Property: Embedded timecode from current frame in clip. Use the method GetEmbeddedTimecode ...
FBPropertyDouble PlaySpeed
Read Write Property: Playback speed.
FBPropertyInt StopFrame
Read Write Property: Frame to end video playback at.
FBPropertyTime TimeOffset
Read Write Property: Temporal offset for beginning of video.
FBVideoClip(const char *pName, HIObject pObject=NULL)
Constructor.
FBPropertyBool FreeRunning
Read Write Property: Is free Running on?
FBPropertyString RelativePath
Read Only Property: Relative path of media.
virtual unsigned char * GetPowerOfTwoImage()
Get the current image buffer resized with width and height power of two.
int GetTextureID()
Get the texture ID.
FBPropertyBool ShowEmbeddedTimecode
Read Write Property: True if the video clip is showing its embedded timecode (real,...
bool IsValid()
Verifies the validity of the FBVideo object.
FBPropertyVideoStorageMode StorageMode
Read Write Property: Storage mode.
FBPropertyInt PowerOfTwoHeight
Read Only Property: Closest power of two value superior to height of image.
FBPropertyInt LastFrame
Read Only Property: Last frame in clip.
FBPropertyInt PowerOfTwoWidth
Read Only Property: Closest power of two value superior to width of image.
FBPropertyDouble FrameRate
Read Write Property: Frame rate.
virtual void DrawImage(int pX=0, int pY=0, int pW=-1, int pH=-1, int pFrame=-1)
Draw a frame of the image to the current view.
FBPropertyString Filename
Read Write Property: Filename of media.
FBPropertyInt Width
Read Only Property: Width of image.
FBPropertyInt StartFrame
Read Write Property: Frame to begin video playback from.
FBPropertyBool UseCustomEmbeddedStartTimecode
Read Write Property: True if the video clip is using the custom embedded start timecode value,...
virtual void ImageIncUpdateID()
Increase Image update id after modification to trigger internal state refresh.
FBPropertyVideoInterlaceMode InterlaceMode
Read Write Property: Interlace mode.
FBPropertyTime CurrentFrameTime
Read Write Property: Current time in clip.
virtual unsigned char * GetImage(int pFrame=-1)
Get the current image buffer.
Video clip image media class for DDS images.
FBVideoClipImageDDS(const char *pName, HIObject pObject=nullptr)
Constructor.
Video clip image media class. Used for a variety of image types. For DDS images, use the FBVideoClipI...
FBVideoClipImage(const char *pName, HIObject pObject=NULL)
Constructor.
FBPropertyVideoResolution MaxMipMapResolution
Read Write Property: Maximum MipMap resolution will be loaded into GPU.
FBPropertyBool ImageSequence
Read Write Property: Clip is an image sequence?
FBPropertyBool UseSystemFrameRate
Read Write Property: Clip is using system frame rate?
FBPropertyBool KeepOnGPU
Read Write Property: Don't auto flush from GPU if true. session runtime flag, won't be saved.
FBVideo(const char *pName, HIObject pObject=NULL)
Constructor.
Basic video input class, supporting webcam and DV device.
FBPropertyString FilePath
Read Write Property: Location of the generated movie file after a recording session.
FBPropertyBool Recording
Read Write Property: If true, the device will record during a recording session.
virtual const char * LiveGetResolutionFRName(int pIndex)
Get the resolution and frame rate string description at the specified index.
virtual void LiveSetResolutionFR(int pIndex)
Set the current resolution and frame rate for the device.
virtual int LiveGetCompressor()
Get the current compressor index.
virtual bool LiveSetCompressor(int pCompressorIndex)
Set the current compressor to be used when recording.
virtual const char * LiveGetCompressorName(int pCompressorIndex)
Get the compressor name at a particular index.
virtual FBVideoLiveType LiveGetType()
Get the type of the video input device.
FBPropertyBool RecordAudio
Read Write Property: If true, the device will also record audio during a recording session.
virtual int LiveGetResolutionFRCount()
Get the number of resolution and frame rate available for the device.
virtual int LiveGetResolutionFR()
Get the current resolution and frame rate index.
FBVideoIn(HIObject pObject=NULL)
Constructor.
virtual int LiveGetCompressorCount()
Get the compressor count.
FBPropertyBool Online
Read Write Property: If true, the device is online and will display the current video feed.
FBVideoMemory allow external media source (which can't be supported by MoBu natively)
virtual void SetObjectImageSize(int pW, int pH)
Set image size to allow MoBu preview texture with proper dimension / aspect.
FBVideoMemory(const char *pName, HIObject pObject=NULL)
Constructor.
FBPropertyInt TextureOGLId
Read Write Property: OpenGL texture buffer object id (GL_TEXTURE_2D type).
FBVideoOut(HIObject pObject=NULL)
Constructor.
FBPropertyBool Online
Read Write Property: If true, the device is online and will output display.
FBPropertyInt CurrentFrame
Read Write Property: Current frame.
virtual void PrepareNextFrame()
Prepare the next frame.
virtual void SwapCurrent(FBVideo *pVideo)
Swap the current video.
virtual void ResetVideoSwitcher()
Reset the video switcher (clear all clips).
FBPropertyEvent OnClipEnd
Event: Clip end event.
FBPropertyVideo CurrentVideo
Read Only Property: Current video.
FBVideoSwitcher(const char *pName=NULL, HIObject pObject=NULL)
Constructor.
FBPropertyPlayMode PlayMode
Read Write Property: Current play mode.
FBPropertyDevice DeviceOwner
Read Write Property: Hook onto owner device.
virtual void FinishCurrentVideo()
Finish the current video.
virtual void SetNextClip(FBVideo *pVideo, FBPlayMode pMode)
Set the next clip.
FBPropertyBool UsingSystemTime
Read Write Property: Using the system time?
FBPropertyTime TimeRemaining
Read Only Property: Time remaining.
#define __FBClassDeclare(Name, Parent)
For internal use only.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Contains definitions for devices, boxes and models.
class K_DLLIMPORT FBPropertyBase< kReference, kFBPT_kReference > FBPropertykReference
Property: kReference
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
class K_DLLIMPORT FBPropertyBase< FBTime, kFBPT_Time > FBPropertyTime
Property: FBTime
#define FB_DEFINE_COMPONENT(DllTag, Type)
Define a component and give it the ability to be a property.
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
class K_DLLIMPORT FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
FBVideoInterlaceMode
Video interlace modes.
@ kFBVideoInterlaceHalfFrameOdd
Half frame (odd field).
@ kFBVideoInterlaceNone
No interacling.
@ kFBVideoInterlaceFullFrameEven
Full frame (even field).
@ kFBVideoInterlaceFullFrameOdd
Full frame (odd field).
@ kFBVideoInterlaceHalfFrameEven
Half frame (even field).
FBClipEnd
Clip end actions.
@ kFBClipEndLoop
On clip end loop clip.
@ kFBClipEndEnd
On clip end stop clip.
@ kFBPlayModeNoPlay
No play (most common).
@ kFBPlayModePlayToEnd
Play clip to end.
@ kFBPlayModeLoop
Loop clip.
@ kFBPlayModePreviewToEnd
Preview clip until end.
@ kFBPlayModePlay
Play clip.
FBVideoProxyMode
Video proxy modes.
@ kFBVideoProxyOnPlay
Video proxy on play.
@ kFBVideoProxyAlways
Always video proxy.
@ kFBVideoProxyNone
No video proxy.
FBVideoStorageMode
Video storage modes.
@ kFBVideoStorageDiskAsync
Storage on disk async access.
@ kFBVideoStorageDisk
Storage on disk.
@ kFBVideoStorageMemory
Storage in memory.
FBVideoLiveType
Video Live type.
@ kFBVideoLiveDefault
Generic video input, type not specified.
@ kFBVideoLiveBasic
Basic video input, like webcam and dv camera.
FBVideoFormat
Video color modes.
FBVideoResolution
Video Resolution (1D)