#include "ortoolaudio_tool.h"
#define ORTOOLAUDIO__CLASS ORTOOLAUDIO__CLASSNAME
#define ORTOOLAUDIO__LABEL "Audio"
#define ORTOOLAUDIO__DESC "FBSDK - Tool Audio Description"
ORTOOLAUDIO__LABEL,
ORTOOLAUDIO__DESC,
bool ORToolAudio::FBCreate()
{
StartSize[0] = 160;
StartSize[1] = 95;
int lB = 10;
int lW = 100;
int lH = 18;
AddRegion( "ButtonTest", "ButtonTest",
SetControl( "ButtonTest", mButtonTest );
mButtonTest.OnClick.Add(
this, (
FBCallback) &ORToolAudio::EventButtonTestClick );
mButtonTest.Caption = "Load audio clip";
OnShow.Add (
this, (
FBCallback) &ORToolAudio::EventToolShow );
OnIdle.Add (
this, (
FBCallback) &ORToolAudio::EventToolIdle );
OnResize.Add(
this, (
FBCallback) &ORToolAudio::EventToolResize );
OnPaint.Add (
this, (
FBCallback) &ORToolAudio::EventToolPaint );
OnInput.Add (
this, (
FBCallback) &ORToolAudio::EventToolInput );
mState=0;
return true;
}
void ORToolAudio::FBDestroy()
{
OnShow.Remove (
this, (
FBCallback) &ORToolAudio::EventToolShow );
OnIdle.Remove (
this, (
FBCallback) &ORToolAudio::EventToolIdle );
OnPaint.Remove (
this, (
FBCallback) &ORToolAudio::EventToolPaint );
OnInput.Remove (
this, (
FBCallback) &ORToolAudio::EventToolInput );
OnResize.Remove (
this, (
FBCallback) &ORToolAudio::EventToolResize);
}
{
switch( mState )
{
case 0:
{
FBSystem lSystem;
FBString lAudioFile( lSystem.ApplicationPath );
lAudioFile += "\\..\\..\\OpenRealitySDK\\Scenes\\English.wav";
mHdlAudioClip = new FBAudioClip( (char*)lAudioFile );
if( mHdlAudioClip.Ok() ) mButtonTest.Caption = "Play audio clip";
else return;
}
break;
case 1:
{
if( mHdlAudioClip.Ok() )
{
mHdlAudioClip->Play();
mButtonTest.Caption = "Unload audio clip";
}
else return;
}
break;
case 2:
{
if( mHdlAudioClip.Ok() )
{
mHdlAudioClip->Stop();
mHdlAudioClip->FBDelete();
}
mButtonTest.Caption = "Load audio clip";
}
break;
}
mState++;
mState %= 3;
}
{
}
{
FBEventShow lEvent( pEvent );
if( lEvent.Shown )
{
}
else
{
}
}
{
}
{
}
{
}
bool ORToolAudio::FbxStore ( FBFbxObject* pFbxObject,
kFbxObjectStore pStoreWhat )
{
pFbxObject->FieldWriteBegin( "ORToolAudioSection" );
{
pFbxObject->FieldWriteC( mButtonTest.Caption );
}
pFbxObject->FieldWriteEnd();
return true;
}
bool ORToolAudio::FbxRetrieve( FBFbxObject* pFbxObject,
kFbxObjectStore pStoreWhat )
{
pFbxObject->FieldReadBegin( "ORToolAudioSection" );
{
mButtonTest.Caption = pFbxObject->FieldReadC();
}
pFbxObject->FieldReadEnd();
return true;
}