1#ifndef __FBPLAYERCONTROL_H__
2#define __FBPLAYERCONTROL_H__
43#include <kaydaradef.h>
48#define FBSDK_DLL K_DLLIMPORT
55#ifdef FBSDKUseNamespace
56namespace FBSDKNamespace {;
146 FBPropertyPlayerControlChangeType
Type;
184 bool Play(
bool pUseMarkers =
false);
248 bool Record(
bool pOverrideTake=
false,
bool pCopyData=
true );
551 int Add(
const char *pName );
592#ifdef FBSDKUseNamespace
Template class to contain an array of items.
MotionBuilder SDK base class.
FBPropertyPlayerControlChangeType Type
Read Only Property: Type of event.
FBEventPlayerControlChange(HKEventBase pEvent)
Constructor.
int GetNextGlobalTimeMarkIndex()
Returns the next global time mark index, based on the current local time.
FBPropertyTime NextMarker
Read Only Property: Next marked time.
bool StepForward()
Step one frame ahead.
bool Goto(FBTime pTime)
Goto a time specified by pTime.
int GetGlobalTimeMarkCount()
Returns the number of global time marks.
FBPropertyTime PlotSamplingPeriod
Read Write Property: Sampling period for the model plotting.
bool SetGlobalTimeMarkLock(int pIndex, bool pLock)
Sets a new lock status for an existing global time mark.
bool StepBackward(FBTimeReferential)
Step one frame backward.
bool StepBackward()
Step one frame backward.
int GetPreviousGlobalTimeMarkIndex()
Returns the previous global time mark index, based on the current local time.
FBTransportMode GetTransportMode()
Get Transport Mode.
bool Goto(FBTime, FBTimeReferential)
Goto a time specified by pTime.
void SetEditZoomStop(FBTime pTime)
Set Edit Zoom Stop.
void EvaluationResume()
Resume device evaluation thread.
static FBPlayerControl & TheOne()
Get the global object for this class.
FBPropertyBool IsRecording
Read Only Property: Is there a recording in progress?
int SetGlobalTimeMarkTime(int pIndex, FBTime pTime)
Sets a new time for an existing global time mark.
FBPropertyTransportTimeFormat TransportTimeFormat
Read Write Property: Current Time Mode of the transport controls.
void GotoPreviousKey()
Go to the previous key.
void SetPlaySpeedMode(FBTransportPlaySpeed pPlaySpeedMode)
Set Play Speed Mode.
FBColor GetGlobalTimeMarkColor(int pIndex)
Returns the color associated with a global time mark.
FBTimeReferential GetTimeReferential()
Get Time Referential.
FBPropertyTransportLoopMode LoopMode
Read Write Property: Loop mode.
bool Play(bool pUseMarkers=false)
Play button.
void LockTransport(bool pLock)
Lock the transport control.
FBPropertyTime RecordingSamplingPeriod
Read Write Property: Sampling period for the model recording.
bool GotoStart(FBTimeReferential)
GotoStart button (Rewind).
FBTime GetEditStart()
Get Edit Start.
void SetPlaySpeed(double pSpeed)
Set Play Speed.
void Key()
Key default data.
FBTime GetEditStop()
Get Edit Stop.
bool SetGlobalTimeMarkColor(int pIndex, FBColor pColor)
Sets a new color for an existing global time mark.
FBPropertyBool IsPlotting
Read Only Property: Is there a plotting in progress?
bool GotoStart()
GotoStart button (Rewind).
bool GotoEnd(FBTimeReferential)
GotoEnd button (FastForward).
void SetEditZoomStart(FBTime pTime)
Set Edit Zoom Start.
FBTime GetEditZoomStart()
Get Edit Zoom Start.
FBPropertyBool IsPlaying
Read Only Property: Is the transport control playing?
FBPropertyTime ZoomWindowStart
Read Write Property: Starting time of the transport control zoom window.
void EvaluationPause()
Pause device evaluation thread.
void DeleteAllGlobalTimeMarks()
Delete all global time marks.
FBTime GetGlobalTimeMarkTime(int pIndex)
Returns the time associated with a global time mark.
FBPropertyTime ZoomWindowStop
Read Write Property: Stopping time of the transport control zoom window.
bool SetGlobalTimeMarkName(int pIndex, const char *pName)
Sets a new name for an existing global time mark.
bool IsLocked()
Return the current locking state of the transport.
FBPropertyTime LoopStop
Read Write Property: Loop end time.
FBPropertyTransportSnapMode SnapMode
Read Write Property: Set the transport control snap mode.
bool StepForward(FBTimeReferential)
Step one frame ahead.
void SetTransportFps(FBTimeMode pTimeMode, double pCustom=0.0)
Set the system frame rate use for display.
FBPlayerControl(HIObject pObject=NULL)
Constructor.
FBTimeMode GetTransportFps()
Get the UI frame rate use for display configure in the system.
bool Record(bool pOverrideTake=false, bool pCopyData=true)
Begin recording.
FBTransportPlaySpeed GetPlaySpeedMode()
Get Play Speed Mode.
FBTime GetEditZoomStop()
Get Edit Zoom Stop.
bool GetGlobalTimeMarkLock(int pIndex)
Returns the lock status associated with a global time mark.
double GetPlaySpeed()
Get Play Speed .
void SetEditStart(FBTime pTime)
Set Edit Start.
const char * GetGlobalTimeMarkName(int pIndex)
Returns the name associated with a global time mark.
bool SetGlobalTimeMarkAction(int pIndex, FBTimeMarkAction pAction)
Sets a new action for an existing global time mark.
void SetTimeReferential(FBTimeReferential pTimeReferential)
Set Time Referential.
bool DeleteGlobalTimeMark(int pIndex)
Delete a global time mark.
FBTimeMarkAction GetGlobalTimeMarkAction(int pIndex)
Returns the action associated with a global time mark.
bool PlayReverse(bool pUseMarkers=false)
Play Reverse button.
void GotoNextKey()
Go to the next key.
FBTime GetEditCurrentTime()
Get Edit Current Time.
bool GotoEnd()
GotoEnd button (FastForward).
FBPropertyTime PreviousMarker
Read Only Property: Previous marked time.
FBPropertyEvent OnChange
Event Property: Fired when something in the player control has changed. (see FBEventPlayerControlChan...
void SetEditStop(FBTime pTime)
Set Edit Stop.
int AddGlobalTimeMark(FBTime pTime, const char *pName=NULL)
Add a global time mark.
bool SetAllGlobalTimeMarkLock(bool pLock)
Sets the new lock status for all existing global time marks.
FBPropertyTime LoopStart
Read Write Property: Loop begin time.
double GetTransportFpsValue(FBTimeMode pTimeMode=kFBTimeModeDefault)
Get the UI frame rate value.
PropertyEvent: Base event class.
void Remove(int pID)
Remove a reference time from the list.
int Add(const char *pName)
Add a reference time to list.
FBReferenceTime(HIObject pObject=NULL)
Constructor.
FBTime GetTime(int pID, FBTime pSystem)
Get a reference time.
void SetTime(int pID, FBTime pReferenceTime, FBTime pSystem)
Set a reference time.
const char * operator[](int pID)
Overloaded [] operator.
const char * GetReferenceTimeName(int pID)
Get the name of a time reference.
FBPropertyBool UseRelativeLocalTime
Read Write Property: True to show the relative local time, false otherwise. This will only be effecti...
void GetUniqueIDList(FBArrayTemplate< int > *pIDArray)
Get list of currently available IDs.
FBPropertyInt CurrentTimeReferenceID
Read Write Property: Current reference time ID
Declaration for the FBCommand class.
FBTimeReferential
FBCommandState.
#define __FBClassDeclare(Name, Parent)
For internal use only.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
FBTimeMarkAction
Time (Global & Take) Mark assigned action.
FBTransportPlaySpeed
Available transport control play speed.
@ kFBSpeed_ALL_FR
All frames.
@ kFBSpeed_Custom
Custom speed.
FBTransportTimeFormat
Available transport control time display.
@ kFBTimeFormatTimecode
Timecode time display mode.
@ kFBTimeFormatFrame
Frame time display mode.
FBTransportSnapMode
Available snap methods for the transport control.
@ kFBTransportSnapModeNoSnap
No snapping is applied.
@ kFBTransportSnapModePlayOnFrames
When playing, plays to exact frames.
@ kFBTransportSnapModeSnapOnFrames
Snaps to an exact frame when modifying the current time.
@ kFBTransportSnapModeSnapAndPlayOnFrames
Combines both Snap and Play on frames modes.
FBPlayerControlChangeType
Types of player control change events.
@ kFBPlayerControlNone
None.
@ kFBPlayerControlPlayReverse
Play reverse.
@ kFBPlayerControlRecordModeOff
Record mode off.
@ kFBPlayerControlStop
Stop.
@ kFBPlayerControlStepForward
Step forward.
@ kFBPlayerControlGoto
Goto.
@ kFBPlayerControlRecordModeOn
Record mode on.
@ kFBPlayerControlStepBackward
Step backward.
@ kFBPlayerControlPlay
Play.
FBTransportMode
Transport modes.
@ kFBTransportPlayReversePrepare
!< Play reverse.
@ kFBTransportStepBackwardPrepare
!< Step backward.
@ kFBTransportStopPost
!< Stop mode
@ kFBTransportJogPrepare
!< Jog.
@ kFBTransportStepForwardPrepare
!< Step forward
@ kFBTransportPlayPrepare
!< Play mode
@ kFBTransportShuttlePrepare
!< Shuttle mode
@ kFBTransportGotoPrepare
!< Goto.
FBTransportLoopMode
Available loop modes for the transport control.
@ kFBTransportLoopCurrentTake
Playback looping the current take.
@ kFBTransportNoLoop
Playback not looping.
@ kFBTransportLoopThroughAllTakes
Playback from the current take through all takes in order then stops.
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_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
FBTimeMode
Different time modes available.
@ kFBTimeModeDefault
Default Time Mode.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.