void IAudioSource::Play() { if (mSource==0) { mSource=AudioDevice::Instance().GetUnusedSource(); /*mIsLooping=AudioDevice::Instance().GetSourceBooleanProperty(mSource,AudioSourceBooleanProperty::IsLooping); mIsRelative=AudioDevice::Instance().GetSourceBooleanProperty(mSource,AudioSourceBooleanProperty::IsRelative); mPitch=AudioDevice::Instance().GetSourceFloatProperty(mSource,AudioSourceFloatProperty::Pitch); mVolume=AudioDevice::Instance().GetSourceFloatProperty(mSource,AudioSourceFloatProperty::Gain); mMinVolume=AudioDevice::Instance().GetSourceFloatProperty(mSource,AudioSourceFloatProperty::MinGain); mMaxVolume=AudioDevice::Instance().GetSourceFloatProperty(mSource,AudioSourceFloatProperty::MaxGain); mMaxDistance=AudioDevice::Instance().GetSourceFloatProperty(mSource,AudioSourceFloatProperty::MaxDistance); mRolloffFactor=AudioDevice::Instance().GetSourceFloatProperty(mSource,AudioSourceFloatProperty::RolloffFactor); mConeOuterAngle=AudioDevice::Instance().GetSourceFloatProperty(mSource,AudioSourceFloatProperty::ConneOuterAngle); mConeInnerAngle=AudioDevice::Instance().GetSourceFloatProperty(mSource,AudioSourceFloatProperty::ConeInnerAngle); mConeOuterVolume=AudioDevice::Instance().GetSourceFloatProperty(mSource,AudioSourceFloatProperty::ConeOuterGain); mReferenceDistance=AudioDevice::Instance().GetSourceFloatProperty(mSource,AudioSourceFloatProperty::ReferenceDistance); mPosition=AudioDevice::Instance().GetSourceFloatArrayProperty(mSource,AudioSourceFloatArrayProperty::Position); mVelocity=AudioDevice::Instance().GetSourceFloatArrayProperty(mSource,AudioSourceFloatArrayProperty::Velocity); mDirection=AudioDevice::Instance().GetSourceFloatArrayProperty(mSource,AudioSourceFloatArrayProperty::Direction);*/ //set properties if (!IsStream()) { AudioDevice::Instance().SetSourceBooleanProperty(mSource,AudioSourceBooleanProperty::IsLooping,mIsLooping); } AudioDevice::Instance().SetSourceBooleanProperty(mSource,AudioSourceBooleanProperty::IsRelative,mIsRelative); AudioDevice::Instance().SetSourceFloatProperty(mSource,AudioSourceFloatProperty::Pitch,mPitch); AudioDevice::Instance().SetSourceFloatProperty(mSource,AudioSourceFloatProperty::Gain,mVolume); AudioDevice::Instance().SetSourceFloatProperty(mSource,AudioSourceFloatProperty::MinGain,mMinVolume); AudioDevice::Instance().SetSourceFloatProperty(mSource,AudioSourceFloatProperty::MaxGain,mMaxVolume); AudioDevice::Instance().SetSourceFloatProperty(mSource,AudioSourceFloatProperty::MaxDistance,mMaxDistance); AudioDevice::Instance().SetSourceFloatProperty(mSource,AudioSourceFloatProperty::RolloffFactor,mRolloffFactor); AudioDevice::Instance().SetSourceFloatProperty(mSource,AudioSourceFloatProperty::ConneOuterAngle,mConeOuterAngle); AudioDevice::Instance().SetSourceFloatProperty(mSource,AudioSourceFloatProperty::ConeInnerAngle,mConeInnerAngle); AudioDevice::Instance().SetSourceFloatProperty(mSource,AudioSourceFloatProperty::ConeOuterGain,mConeOuterVolume); AudioDevice::Instance().SetSourceFloatProperty(mSource,AudioSourceFloatProperty::ReferenceDistance,mReferenceDistance); AudioDevice::Instance().SetSourceFloatArrayProperty(mSource,AudioSourceFloatArrayProperty::Position,mPosition); AudioDevice::Instance().SetSourceFloatArrayProperty(mSource,AudioSourceFloatArrayProperty::Velocity,mVelocity); AudioDevice::Instance().SetSourceFloatArrayProperty(mSource,AudioSourceFloatArrayProperty::Direction,mDirection); OnSetup(); } AudioDevice::Instance().PlaySource(mSource); mIsEnd=false; }
int AllTheBugs::OnExecute() { if(OnSetup() == false) { return -1; } SDL_Event Event; while(Running) { while(SDL_PollEvent(&Event)) { OnEvent(&Event); } OnLoop(); OnRender(); } OnCleanup(); return 0; }
int main(int argc, char** argv) { // 초기화(FreeGLUT에서만) glutInit(&argc, argv); // 초기화 glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); // 화면의 (100, 100) 위치에 glutInitWindowPosition(100, 100); // 가로 800, 세로 600으로 glutInitWindowSize(800, 600); // SimpleGLUT 라는 제목을 가진 윈도우를 생성한다. glutCreateWindow("SimpleGLUT"); // 함수 등록 glutDisplayFunc(OnDisplay); glutKeyboardFunc(OnKeyboard); if(OnSetup()) { // 메세지 루프! glutMainLoop(); } else { printf("Setup Failed\n"); return 0; } OnClear(); return 0; }
//============================================================ // <T>继续处理。</T> // // @return 处理结果 //============================================================ TResult FPoRenderTarget::Resume(){ OnSetup(); MO_INFO("Resume rendertarget. (target_id=%d)", _nativeCode); return ESuccess; }
//****************************************************************************** //* Public Methods //****************************************************************************** void ArdunityController::setup() { OnSetup(); }