#include <VirtualMedia.h>
Inherits BaseObject.
Inherited by Media3DView, MediaSoundEquation, MediaTimePattern, and MP3SoundObject.
Definition at line 22 of file VirtualMedia.h.
Public Types | |
enum | tm_BaseObject { tm_BaseObject_FirstInheritageToolMethod = 1 } |
Begin the enumeration for ExecuteToolMethod(). More... | |
enum | eVedaUpdate { eVedaUpdate_NoUpdate = 0, eVedaUpdate_MemberIsGoingToChange, eVedaUpdate_MemberChanged, eVedaUpdate_MemberChangedBecauseOfUndo, eVedaUpdate_MemberDestroyed, eVedaUpdate_ObjectNew, eVedaUpdate_ObjectDestroyed, eVedaUpdate_ObjectReCreated, eVedaUpdate_ObjectClosed, eVedaUpdate_NewRegisteredClass } |
enum used by BaseContext::NotifyObjectChange() to describe the notification meaning. Used by interfaces to monitor a context. More... | |
Public Member Functions | |
VirtualMedia (void) | |
Constructor. There should only be members initialisation there. | |
BASEOBJECT_DEFINE_VIRTUALCLASS (VirtualMedia) | |
Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp. | |
void | ProcessMediaOnDefaultViewport (double _frameDate) |
Process a media at a given date, or do anything) using a machine. Note there are no play/pause or speed concept here, by default, a date is passed. This version redirect the drawing to the main screen viewport. It should the main entry to play a media. Developpers should extend. | |
virtual void | ProcessMedia (double _frameDate, VirtualMachine::InternalViewPort *_pViewPort) |
Process a media at a given date, or do anything) using a machine. You must process the media on machine this->GetMachine(). Note there are no play/pause or speed concept here, by default, a date is passed. By default, does nothing. | |
double | GetTimeLength () |
returns the Total Time length of this media, in seconds, when played at normal speed. This is just an information about the time length of this media, and you can pass any date to ProcessMedia(). | |
virtual void | SetSound (bool _Enable) |
Use SetSound() to enable sound capabilities for a media object, and the machine should then send ProcessSoundInterupt() to mix it. SetSound(true) at start and SetSound(false) at closing, have to be performed by external code, and should not be used by AzurVeda objects in their methods. Note: SetSound(true) enable One object, but this object can point other Media objects in the context with SetSound(false), and use ProcessSoundInterupt() recursively to mix all of them. So an object with SetSound(false) can still be noisy. | |
virtual void | ProcessSoundInterupt (VirtualMachine::SoundBufferToAddYourSignal &_SoundBufferToAddYourSignal) |
If the media had to generate real time sounds, ProcessSoundInterupt will be called by a machine. There is a default behaviour for this method, which does nothing. the float buffer accumulate the whole machine sound. | |
virtual void | StartPreview () |
any suit of call to ProcessPreview() should be done between StartPreview() and EndPreview() . EndPreview(). This is needed to stop sound mixing from the object when the preview change. | |
virtual void | ProcessPreview (double _frameDate, VirtualMachine::InternalViewPort *_pPreviewViewPort, const PreviewConfiguration *_pPreviewConfiguration) |
a GUI could need to play, draw, print, or output from any way, a preview of a created object. This is done with this method. sub classes can implement it (or not) in any way, to explicit current shape of an object. | |
virtual void | EndPreview () |
any suit of call to ProcessPreview() should be done between StartPreview() and EndPreview() . EndPreview(). This is needed to stop sound mixing from the object when the preview change. | |
int | Create (bool _immediate=true) |
Public Method that ensures the object is construct, and ensures that all needed objects in the context are build before. Close() should close everything opened by Create() for this object. if _immediate is true, it will build everything immediately and return 0. if false, it will begin to build needed objects, and then return an integer which stand for the rest of objects to be built before this object is completly created. if Create(false) is thrown again and again, this weight will get down to zero, and zero mean the object is created (like with Create() ). It allows to follow the progression of the creation in a loop, and so progressbars. Note it runs the protected virtual CreateInternal() method to do it. Extend CreateInternal() to make the construction, do not extend create. | |
void | Close (bool _AndCloseAllDependantObjects=false) |
Public method that will close everythinh opened with Create(), and declare the object Closed. The object is not destroyed, and can be rebuild eback using Create(). Extend CreateInternal() and CloseInternal() to manage your objects. This method also sends a "Object Close" message in edition mode. | |
virtual const char * | GetClassID () const |
Each BaseType's inherited classes must explicit an ID for their class, or let use one of the super class at least through this virtual method. This is needed by GUIs to detect the types of each sub-members, and shape an interface for each Object according to their member list. | |
virtual const char * | GetDisplayClassName () const |
return an explicit name for the class the object is instancied. | |
virtual const char * | GetDefaultObjectName () const |
return the default name that is set to new objects if not specified: | |
virtual const char * | GetClassHelpDescription () const |
return an explicit name for the class the object is instancied. | |
virtual const ClassDescription & | GetClassDescription (void) const |
BaseObject * | Clone (const char *_cloneName=0L) |
Create a new object with the exact same member values in the same context. references to other objects are kept the same, so that the clone uses the same objects as the original. | |
void | SetBaseContext (BaseContext *_pBaseContext) |
The BaseContext the Object belong to. Should only be used by BaseContext at object creation. As it is set after construction, the chunk initialisation continue there the initialisation of registered members. | |
BaseContext * | GetContext (void) |
get the context this object belong to. | |
VirtualMachine * | GetMachine () |
The Machine of which the context is implemented. It is a gateway for hardware abstraction. | |
PackObjectReference * | GetFirstReferenceToThisObject (void) |
return the First Reference To This Object, and then scan the list of all PackObjectReference that refers the objects. | |
virtual void | CloseReferences () |
all reference to this object will be closed. used by deletion done by ClassNode. | |
void | SetFirstReferenceToThisObject (PackObjectReference *_pReference) |
set FirstReferenceToThisObject, should be used privately. | |
void | SetUniqueReference (unsigned int _referenceIndex) |
Used by the context to set the reference index for serialization, to manage PackObjectReference serialisation:. | |
unsigned int | GetUniqueReference () |
Used by PackObjectReference for input serialization. See ClassNode::SetObjectsUniqueReferenceIndex(). | |
bool | isDependantOf (BaseObject *_pObjectSuspectedOfOwnage) |
if this object is refered by another one (which means: needed to be created.) directly, or indirectly through other objects references, it will return true, otherwise false if no dependance are found at all. This is a recursive test. | |
bool | isCreated () const |
return false if allocated but not created, true if also created. | |
float | GetCreationRate () |
the rate of creation, 0.0f if created, 1.0f if not created at all. | |
virtual void | ProcessPreview (double _frameDate, VirtualMachine::InternalViewPort *_pPreviewViewPort, const PreviewConfiguration *_pPreviewConfiguration) |
Extend this method to draw your preview ! a GUI could need to play, draw, print, or output from any way, a preview of a created object. Inherited classes can implement it in any way, to explicit the current shape of an object. | |
const char * | GetObjectInfoLine () const |
In editable mode, it returns an information output to display, usually given in ProcessPreview(), using m_ObjectInfoLine. | |
virtual void | ExecuteToolMethod (unsigned int _MethodIDToExecute) |
Tool Method main entry. In editable mode, the object can register a set of methods identified with an ID number by using RegisterToolMethod(), and throw the methods through a switch in ToolMethod(). Then an interface can ask about the available tool methods for an object, and provide action on it. This was made to allow special external processing to edit an object, by exemple by importing a file, or to allow export of the object in a file format. By default, it does nothing for BaseObject. Important: 0 can't be used as an ID. You can only register an ID once, for a given class. See RegisterToolMethod(). | |
unsigned int | GetNextToolMethod (unsigned int _PreviousMethodID, unsigned int &_NextMethodflagInfo, const char *&_pNextShortDisplayName, const char *&_pNextDisplayHelp) |
get next tool method ID, or 0 if no more. Send 0 as _PreviousMethodID to get the first. | |
bool | DidLastCreationFailed () const |
If the last call to Create() failed, this return true, and GetLastCreationErrorString() could explain why. | |
const char * | GetLastCreationErrorString () const |
virtual const unsigned char * | Serialize_In (const unsigned char *_pDescriptionChunk) |
Read the object description from a byte chunk. Could crash if chunk not valid. | |
virtual unsigned int | GetSerializedDescriptionSize (void) |
get the size of the whole byte chunk that will be written by Serialize_Out(). | |
virtual unsigned char * | Serialize_Out (unsigned char *_pDescriptionChunkToFill) |
write the Current object definition to a Chunk using private packed types, recursively. | |
unsigned int | GetChunkLength () |
the chunk length once serialized. should be valid just after in or out serialisation, but not if the object was modified. use GetSerializedDescriptionSize() instead. | |
const char * | GetName (void) const |
Return the name of the object as a character string. | |
void | SetName (const char *_pname) |
set the name of the object as a character string. This is copied of course. | |
virtual void | SetObjectThatManagesThis (BaseObject *_pManager) |
The Object this one belong to as a member. Should only be used at init. | |
virtual const char * | ValueToString () |
convert the value of this object to an explicit string. The object manages the string privately, so just read it or copy it. the string would be destroyed with the objects, and changed when using Set() methods. Note: this is not virtual, but each class can manage m_pValueString or not. | |
virtual Cell * | AddElement (int _indexWhereToInsert=-1, BaseType *_pObjectToAdd=0L) |
Add a new element, at the given index. | |
BaseType * | Get (unsigned int _index) |
get an element at a given index. | |
virtual void | DeleteElement (unsigned int _index) |
delete an element at a given object of the cell to destroy. does not destroy the object. | |
Cell * | GetFirstCell () const |
FirstCell or null if empty. | |
Cell * | GetLastCell () const |
the Last Cell or null if empty | |
unsigned int | GetNumberOfCell () const |
return the number of cell. | |
void | DeleteAllElements (void) |
close and destroy the whole list. | |
virtual unsigned int | WriteFile (const char *_pFileName) |
write a serialized form, using GetSerializedDescriptionSize() and Serialize_Out(). | |
virtual unsigned int | ReadFile (const char *_pFileName) |
Try to read a serialized form, using Serialize_In(). | |
void | SetMemberName (const char *_MemberName) |
Explicits the name of an object when used as a class member. It exists only in editable mode, and then can be used by any GUI. A member with an infoString not NULL, should be drawn in a GUI and receive updates. an object member with GetMemberName() returning NULL should not be edited by an interface or undo-managed. Use REGISTER_MEMBER macros family: it registers the members and use SetMemberName() automatically (or not, according to the compilation mode). | |
const char * | GetMemberName () const |
Explicits the name of an object when used as a class member. It exists only in editable mode, and then can be used by any GUI. A member with an infoString not NULL, should be drawn in a GUI and receive updates. an object member with GetMemberName() to NULL should not be edited by an interface or undo-managed. set with SetMemberName(). | |
void | SetMemberInfo (const char *_MemberInfo) |
Explicits the use of an object when used as a class member. It should explain what the member does for the object. It exists only in editable mode,and can be used by any GUI. Don't use html tags , only \n are allowed. Use REGISTER_MEMBER_INFO macro after the REGISTER_MEMBER macro in the constructors. It can be left NULL. | |
const char * | GetMemberInfo () const |
Explicits the use of an object when used as a class member. It exists only in editable mode and can be used by any GUI. It should explain what the member does for the object. | |
BaseObject * | GetObjectThatManagesThis () |
If there is any, get the object that manages this one as a member. | |
void | MakeCloneOf (BaseType &_ModelObject) |
Tool that makes an object take the values of another using serialization. Use with care: You got to clone a PackUlong with a PackULong, a PackString with a PackString: Clone Object of the same type or it will crash . A test is done at the beginning to check that for both types are the sames, if not it does nothing. however it may still crash with 2 objects from unherited classes. Also, some type like PackObjectReference, will not clone its value by copying a pointer.Reference member clonage is done with BaseObject::Clone(). | |
Static Public Attributes | |
static const ClassDescription | m_Description |
the static class description object, to be reimplemented in each class to describe it, with BASEOBJECT_DECLARE_VIRTUALCLASS / BASEOBJECT_DECLARE_CLASS macros | |
Protected Member Functions | |
virtual void | CloseInternal (void) |
Method that really build the object using the serializable parameters. Close() should close everything opened by CreateInternal(). that closes everything. Still, the object exist and can be rebuild the same using Create(). | |
virtual void | ProcessPreview_DrawSoundBuffer (VirtualMachine::InternalViewPort *_pViewport, float *_pSoundBuffer, unsigned int _bufferlength) |
Tool to draw a preview of the current sound signal. | |
virtual bool | CreateInternal (void) |
Method that really build the object using the serializable parameters. Close() should close everything opened by Create(). If the object is already created, it return false, and all Create methods should exit. Note it runs the protected virtual CreateInternal() method to do it. | |
void | RegisterToolMethod (unsigned int _MethodID, unsigned int _MethodflagInfo, const char *_pShortDisplayName, const char *_pDisplayHelp) |
Register a tool method. Do not use it directly, use macro version BASEOBJECT_REGISTER_TOOLMETHOD() It should be set in the constructors. | |
void | RegisterSerializableMember (BaseType &_object) |
Register any serializable object to serialize for read or write operation, Use it in objects constructors. The object are serialized in the file in the same order as they are given by this method. | |
void | BeginChangeNotification () |
In edition mode, when a member of an object is changed (like in a Set()), you got to use BeginChangeNotification(), make your changes, and then EndChangeNotification(), so that the edition of this object and member is known by the context, and allows it to manage a GUI update and the undo stack. | |
void | EndChangeNotification () |
In edition mode, when a member of an object is changed (like in a Set()), you got to use BeginChangeNotification(), make your changes, and then EndChangeNotification(), so that the edition of this object and member is known by the context, and allows it to manage a GUI update and the undo stack. | |
Protected Attributes | |
bool | m_SoundIsMixed |
true if m_MediaSoundInterface is currently registered to VirtualMachine as playing sound. | |
double | m_MediaTimeLength |
Total Time length of this media, in seconds, when played at normal speed. Can be used or not. | |
PackULong | mSer_UniqueReference |
Unique reference used only for serilalization, and PackObjectReference resolution. | |
PackString | m_ObjectInfoLine |
PackString | m_LastCreationErrorString |
In editable mode, if Create() fail, this string may be inited. | |
float | m_CreationRate |
the rate of creation, 0.0f if created, 1.0f if not created at all. | |
PackObjectReference * | m_pFirstReferenceToThisObject |
In editable mode, trace the list of all reference to this object:. | |
ToolMethodCell * | m_pFirstToolMethodCell |
next method or 0L. | |
PackULong | mSerUlong_ChunkLength |
all named objects, ClassNode and BaseObjects, has the ability to jump over the chunk without reading it: | |
PackString | mSerStr_ObjectName |
BaseContext * | m_pBaseContext |
an object can belong (or not) to a BaseContext, as an object. | |
Cell * | m_pFirstCell |
member that manages the list of members to serialize automatically. | |
Cell * | m_pLastCell |
another member that manages the list of members to serialize automatically, and allow to grow the list by the end. | |
unsigned int | m_NumberOfCell |
the number of cell. | |
BaseObject * | m_pObjectThatManagesThis |
an object can belong (or not) to a BaseObject,( and to a BaseContext through it). | |
const char * | m_pMemberName |
If used as a member in an object, the member name, or NULL (not editable member). | |
const char * | m_pMemberInfo |
a short string explaining what's the object for in editable mode. OK if NULL (no info). | |
PackString * | m_pValueString |
a string standing for an expression of the value of the object: | |
unsigned char * | m_pPreviousValueShape |
used as a temp for object change notification in Begin/EndChangeNotification(): | |
unsigned int | m_PreviousValueShapeLength |
Static Protected Attributes | |
static const char * | m_pErrorString_Memory |
some optimsation stuff to not make the executable string table grow too much... | |
static const char * | m_pErrorString_CantOpenFile |
|
enum used by BaseContext::NotifyObjectChange() to describe the notification meaning. Used by interfaces to monitor a context.
Definition at line 194 of file BaseType.h. |
|
Begin the enumeration for ExecuteToolMethod().
Definition at line 411 of file BaseObject.h. |
|
Constructor. There should only be members initialisation there.
|
|
Add a new element, at the given index.
Reimplemented in PackList, PackList_TimeBlockTrack, and PackList_TimeTrack. |
|
Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp.
|
|
In edition mode, when a member of an object is changed (like in a Set()), you got to use BeginChangeNotification(), make your changes, and then EndChangeNotification(), so that the edition of this object and member is known by the context, and allows it to manage a GUI update and the undo stack.
|
|
Create a new object with the exact same member values in the same context. references to other objects are kept the same, so that the clone uses the same objects as the original.
|
|
Public method that will close everythinh opened with Create(), and declare the object Closed. The object is not destroyed, and can be rebuild eback using Create(). Extend CreateInternal() and CloseInternal() to manage your objects. This method also sends a "Object Close" message in edition mode.
|
|
Method that really build the object using the serializable parameters. Close() should close everything opened by CreateInternal(). that closes everything. Still, the object exist and can be rebuild the same using Create().
Reimplemented from BaseObject. Reimplemented in MediaTimePattern, MediaSoundEquation, and MP3SoundObject. |
|
all reference to this object will be closed. used by deletion done by ClassNode.
Reimplemented in InterfacePrefObject. |
|
Public Method that ensures the object is construct, and ensures that all needed objects in the context are build before. Close() should close everything opened by Create() for this object. if _immediate is true, it will build everything immediately and return 0. if false, it will begin to build needed objects, and then return an integer which stand for the rest of objects to be built before this object is completly created. if Create(false) is thrown again and again, this weight will get down to zero, and zero mean the object is created (like with Create() ). It allows to follow the progression of the creation in a loop, and so progressbars. Note it runs the protected virtual CreateInternal() method to do it. Extend CreateInternal() to make the construction, do not extend create.
|
|
Method that really build the object using the serializable parameters. Close() should close everything opened by Create(). If the object is already created, it return false, and all Create methods should exit. Note it runs the protected virtual CreateInternal() method to do it.
Reimplemented in MediaTimePattern, TextLocalized, EquationSoundSignal, VirtualEquationSpline, BubbleGreyImage, ImplicitEquationImage, ImplicitEquationImage, PerlinNoiseImage, ProceduralImage, RGBAImage, VirtualImage, Media3DView, Object3DGrid, Object3DLWOResource, Object3DMesh3D, ParticleSetVirtual, RenderTargetRectangle, RenderTargetTexture, Texture3D, Image2DEffectFire, MarchinCubeSpace, MediaSoundEquation, Object3DFontArial, Object3DFontBitmap, Object3DMarchCube, Object3DText, MP3SoundObject, and ImageJPEG. Definition at line 503 of file BaseObject.h. |
|
close and destroy the whole list.
|
|
delete an element at a given object of the cell to destroy. does not destroy the object.
Reimplemented in PackList. |
|
If the last call to Create() failed, this return true, and GetLastCreationErrorString() could explain why.
Definition at line 462 of file BaseObject.h. |
|
In edition mode, when a member of an object is changed (like in a Set()), you got to use BeginChangeNotification(), make your changes, and then EndChangeNotification(), so that the edition of this object and member is known by the context, and allows it to manage a GUI update and the undo stack.
|
|
any suit of call to ProcessPreview() should be done between StartPreview() and EndPreview() . EndPreview(). This is needed to stop sound mixing from the object when the preview change.
Reimplemented from BaseObject. |
|
Tool Method main entry. In editable mode, the object can register a set of methods identified with an ID number by using RegisterToolMethod(), and throw the methods through a switch in ToolMethod(). Then an interface can ask about the available tool methods for an object, and provide action on it. This was made to allow special external processing to edit an object, by exemple by importing a file, or to allow export of the object in a file format. By default, it does nothing for BaseObject. Important: 0 can't be used as an ID. You can only register an ID once, for a given class. See RegisterToolMethod().
Reimplemented in EquationSpline_X, and Object3DMesh3D. |
|
get an element at a given index.
|
|
the chunk length once serialized. should be valid just after in or out serialisation, but not if the object was modified. use GetSerializedDescriptionSize() instead.
Definition at line 65 of file NamedObject.h. References PackULong::Get(), and NamedObject::mSerUlong_ChunkLength. |
|
Referenced by BaseObject::GetClassID(), BaseObject::GetDefaultObjectName(), and BaseObject::GetDisplayClassName(). |
|
return an explicit name for the class the object is instancied.
Definition at line 243 of file BaseObject.h. |
|
Each BaseType's inherited classes must explicit an ID for their class, or let use one of the super class at least through this virtual method. This is needed by GUIs to detect the types of each sub-members, and shape an interface for each Object according to their member list. For all "BaseObject", this name is the same that identify the class into the context: No need to extend this method further after BaseObject.
Reimplemented from PackStruct. Definition at line 222 of file BaseObject.h. References BaseObject::GetClassDescription(). |
|
get the context this object belong to.
Definition at line 277 of file BaseObject.h. References NamedObject::m_pBaseContext. |
|
the rate of creation, 0.0f if created, 1.0f if not created at all.
Definition at line 338 of file BaseObject.h. References BaseObject::m_CreationRate. |
|
return the default name that is set to new objects if not specified:
Definition at line 236 of file BaseObject.h. References BaseObject::GetClassDescription(). |
|
return an explicit name for the class the object is instancied.
Definition at line 229 of file BaseObject.h. References BaseObject::GetClassDescription(). |
|
FirstCell or null if empty.
Definition at line 171 of file PackStruct.h. References PackStruct::m_pFirstCell. Referenced by LightModel::GetFirstDifuseLight(), and LightModel::GetFirstLinearLight(). |
|
return the First Reference To This Object, and then scan the list of all PackObjectReference that refers the objects.
Definition at line 289 of file BaseObject.h. References BaseObject::m_pFirstReferenceToThisObject. |
|
the Last Cell or null if empty
Definition at line 176 of file PackStruct.h. References PackStruct::m_pLastCell. Referenced by PackList_TimeTrack::GetEndTime(). |
|
The Machine of which the context is implemented. It is a gateway for hardware abstraction.
|
|
Explicits the use of an object when used as a class member. It exists only in editable mode and can be used by any GUI. It should explain what the member does for the object.
Definition at line 144 of file BaseType.h. References BaseType::m_pMemberInfo. |
|
Explicits the name of an object when used as a class member. It exists only in editable mode, and then can be used by any GUI. A member with an infoString not NULL, should be drawn in a GUI and receive updates. an object member with GetMemberName() to NULL should not be edited by an interface or undo-managed. set with SetMemberName().
Definition at line 123 of file BaseType.h. References BaseType::m_pMemberName. |
|
Return the name of the object as a character string.
Definition at line 71 of file NamedObject.h. References PackString::Get(), and NamedObject::mSerStr_ObjectName. |
|
get next tool method ID, or 0 if no more. Send 0 as _PreviousMethodID to get the first.
|
|
return the number of cell.
Definition at line 181 of file PackStruct.h. References PackStruct::m_NumberOfCell. |
|
In editable mode, it returns an information output to display, usually given in ProcessPreview(), using m_ObjectInfoLine.
Definition at line 403 of file BaseObject.h. References PackString::Get(), and BaseObject::m_ObjectInfoLine. |
|
If there is any, get the object that manages this one as a member.
Definition at line 170 of file BaseType.h. References BaseType::m_pObjectThatManagesThis. |
|
get the size of the whole byte chunk that will be written by Serialize_Out().
Reimplemented from PackStruct. Reimplemented in BaseContext, ClassNode, and InterfacePrefObject. |
|
returns the Total Time length of this media, in seconds, when played at normal speed. This is just an information about the time length of this media, and you can pass any date to ProcessMedia().
Definition at line 64 of file VirtualMedia.h. References m_MediaTimeLength. |
|
Used by PackObjectReference for input serialization. See ClassNode::SetObjectsUniqueReferenceIndex().
Definition at line 317 of file BaseObject.h. References PackULong::Get(), and BaseObject::mSer_UniqueReference. |
|
return false if allocated but not created, true if also created.
Definition at line 332 of file BaseObject.h. |
|
if this object is refered by another one (which means: needed to be created.) directly, or indirectly through other objects references, it will return true, otherwise false if no dependance are found at all. This is a recursive test.
|
|
Tool that makes an object take the values of another using serialization. Use with care: You got to clone a PackUlong with a PackULong, a PackString with a PackString: Clone Object of the same type or it will crash . A test is done at the beginning to check that for both types are the sames, if not it does nothing. however it may still crash with 2 objects from unherited classes. Also, some type like PackObjectReference, will not clone its value by copying a pointer.Reference member clonage is done with BaseObject::Clone().
|
|
Process a media at a given date, or do anything) using a machine. You must process the media on machine this->GetMachine(). Note there are no play/pause or speed concept here, by default, a date is passed. By default, does nothing.
Reimplemented in MediaTimePattern, Media3DView, and MP3SoundObject. |
|
Process a media at a given date, or do anything) using a machine. Note there are no play/pause or speed concept here, by default, a date is passed. This version redirect the drawing to the main screen viewport. It should the main entry to play a media. Developpers should extend.
|
|
Extend this method to draw your preview ! a GUI could need to play, draw, print, or output from any way, a preview of a created object. Inherited classes can implement it in any way, to explicit the current shape of an object.
|
|
a GUI could need to play, draw, print, or output from any way, a preview of a created object. This is done with this method. sub classes can implement it (or not) in any way, to explicit current shape of an object.
Reimplemented in MediaTimePattern, MediaSoundEquation, and MP3SoundObject. |
|
Tool to draw a preview of the current sound signal.
|
|
If the media had to generate real time sounds, ProcessSoundInterupt will be called by a machine. There is a default behaviour for this method, which does nothing. the float buffer accumulate the whole machine sound.
Reimplemented in MediaTimePattern, MediaSoundEquation, and MP3SoundObject. |
|
Try to read a serialized form, using Serialize_In().
|
|
Register any serializable object to serialize for read or write operation, Use it in objects constructors. The object are serialized in the file in the same order as they are given by this method.
|
|
Register a tool method. Do not use it directly, use macro version BASEOBJECT_REGISTER_TOOLMETHOD() It should be set in the constructors.
|
|
Read the object description from a byte chunk. Could crash if chunk not valid.
Reimplemented from PackStruct. Reimplemented in BaseContext, and ClassNode. |
|
write the Current object definition to a Chunk using private packed types, recursively.
Reimplemented from PackStruct. Reimplemented in BaseContext, and ClassNode. |
|
The BaseContext the Object belong to. Should only be used by BaseContext at object creation. As it is set after construction, the chunk initialisation continue there the initialisation of registered members.
|
|
set FirstReferenceToThisObject, should be used privately.
Definition at line 304 of file BaseObject.h. References BaseObject::m_pFirstReferenceToThisObject. |
|
Explicits the use of an object when used as a class member. It should explain what the member does for the object. It exists only in editable mode,and can be used by any GUI. Don't use html tags , only \n are allowed. Use REGISTER_MEMBER_INFO macro after the REGISTER_MEMBER macro in the constructors. It can be left NULL.
|
|
Explicits the name of an object when used as a class member. It exists only in editable mode, and then can be used by any GUI. A member with an infoString not NULL, should be drawn in a GUI and receive updates. an object member with GetMemberName() returning NULL should not be edited by an interface or undo-managed. Use REGISTER_MEMBER macros family: it registers the members and use SetMemberName() automatically (or not, according to the compilation mode).
|
|
set the name of the object as a character string. This is copied of course.
|
|
The Object this one belong to as a member. Should only be used at init.
Reimplemented from BaseType. Reimplemented in PackResource. |
|
Use SetSound() to enable sound capabilities for a media object, and the machine should then send ProcessSoundInterupt() to mix it. SetSound(true) at start and SetSound(false) at closing, have to be performed by external code, and should not be used by AzurVeda objects in their methods. Note: SetSound(true) enable One object, but this object can point other Media objects in the context with SetSound(false), and use ProcessSoundInterupt() recursively to mix all of them. So an object with SetSound(false) can still be noisy. In its default behaviour, SetSound() uses the default AzurVeda machine, GetMachine()
|
|
Used by the context to set the reference index for serialization, to manage PackObjectReference serialisation:.
Definition at line 311 of file BaseObject.h. References BaseObject::mSer_UniqueReference, and PackULong::Set(). |
|
any suit of call to ProcessPreview() should be done between StartPreview() and EndPreview() . EndPreview(). This is needed to stop sound mixing from the object when the preview change.
Reimplemented from BaseObject. |
|
convert the value of this object to an explicit string. The object manages the string privately, so just read it or copy it. the string would be destroyed with the objects, and changed when using Set() methods. Note: this is not virtual, but each class can manage m_pValueString or not.
Reimplemented from BaseType. Reimplemented in PackDynamicType. |
|
write a serialized form, using GetSerializedDescriptionSize() and Serialize_Out().
|
|
the rate of creation, 0.0f if created, 1.0f if not created at all.
Definition at line 489 of file BaseObject.h. Referenced by BaseObject::GetCreationRate(). |
|
the static class description object, to be reimplemented in each class to describe it, with BASEOBJECT_DECLARE_VIRTUALCLASS / BASEOBJECT_DECLARE_CLASS macros
Definition at line 243 of file BaseObject.h. Referenced by InterfacePrefObject::Edited::Edited(), MediaTimePattern::PartToPlay::PartToPlay(), and InterfacePrefObject::PreviewEdited::PreviewEdited(). |
|
In editable mode, if Create() fail, this string may be inited.
Definition at line 485 of file BaseObject.h. |
|
Total Time length of this media, in seconds, when played at normal speed. Can be used or not.
Definition at line 130 of file VirtualMedia.h. Referenced by GetTimeLength(). |
|
the number of cell.
Definition at line 197 of file PackStruct.h. Referenced by PackStruct::GetNumberOfCell(). |
|
In editable mode, an information output to display, in any form. usually given by ProcessPreview(). Definition at line 481 of file BaseObject.h. Referenced by BaseObject::GetObjectInfoLine(). |
|
an object can belong (or not) to a BaseContext, as an object.
Definition at line 93 of file NamedObject.h. Referenced by BaseObject::GetContext(). |
|
some optimsation stuff to not make the executable string table grow too much...
Definition at line 542 of file BaseObject.h. |
|
member that manages the list of members to serialize automatically.
Definition at line 193 of file PackStruct.h. Referenced by PackStruct::GetFirstCell(). |
|
In editable mode, trace the list of all reference to this object:.
Definition at line 493 of file BaseObject.h. Referenced by BaseObject::GetFirstReferenceToThisObject(), and BaseObject::SetFirstReferenceToThisObject(). |
|
next method or 0L.
Definition at line 538 of file BaseObject.h. |
|
another member that manages the list of members to serialize automatically, and allow to grow the list by the end.
Definition at line 195 of file PackStruct.h. Referenced by PackStruct::GetLastCell(). |
|
a short string explaining what's the object for in editable mode. OK if NULL (no info).
Definition at line 259 of file BaseType.h. Referenced by BaseType::GetMemberInfo(). |
|
If used as a member in an object, the member name, or NULL (not editable member).
Definition at line 255 of file BaseType.h. Referenced by BaseType::GetMemberName(). |
|
an object can belong (or not) to a BaseObject,( and to a BaseContext through it).
Definition at line 251 of file BaseType.h. Referenced by BaseType::GetObjectThatManagesThis(). |
|
used as a temp for object change notification in Begin/EndChangeNotification():
Definition at line 269 of file BaseType.h. |
|
a string standing for an expression of the value of the object:
Definition at line 264 of file BaseType.h. |
|
true if m_MediaSoundInterface is currently registered to VirtualMachine as playing sound.
Definition at line 128 of file VirtualMedia.h. |
|
Unique reference used only for serilalization, and PackObjectReference resolution.
Definition at line 468 of file BaseObject.h. Referenced by BaseObject::GetUniqueReference(), and BaseObject::SetUniqueReference(). |
|
Serializable member that stands for the name of the object, and can be used to reference it in the context database. A name should not (and can't) be used twice in the whole context. Definition at line 90 of file NamedObject.h. Referenced by NamedObject::GetName(). |
|
all named objects, ClassNode and BaseObjects, has the ability to jump over the chunk without reading it:
Definition at line 86 of file NamedObject.h. Referenced by NamedObject::GetChunkLength(). |
/\/\ 4 N k ! N D _______ _ __ ___ _____ ___ _ _ ____ ___________ __//___ /________ |/ / ___________\_______/ \ / _ _ \/ _ / _ / _/_/____/ _ __ / / / / / / / \ \/ / / \ \ / \\___/___/___/ ¯ _____/_____/ ______\___/_____/\________\\ \________/_ ___ __ l____\ /elD! http://www.m4nkind.com \____/