Esempio n. 1
0
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;
}
Esempio n. 2
0
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;
}
Esempio n. 4
0
//============================================================
// <T>继续处理。</T>
//
// @return 处理结果
//============================================================
TResult FPoRenderTarget::Resume(){
   OnSetup();
   MO_INFO("Resume rendertarget. (target_id=%d)", _nativeCode);
   return ESuccess;
}
Esempio n. 5
0
//******************************************************************************
//* Public Methods
//******************************************************************************
void ArdunityController::setup()
{
	OnSetup();
}