//------------------------------------------------------------------------- void pmWarpPiRendererVideoPlayer::updateOSC(ofxOscMessage* m) { ofLog(OF_LOG_NOTICE) << "VideoPlayer-OSC" << endl; string address = m->getAddress(); // get the id string addressWithoutSlash = address.substr(1,address.size()-1); if(true)// It will be for me it they send it (address=="/all")||(id==addressWithoutSlash)) { /// THIS MESSAGE IF FOR YOU !! /// COMMAND string command = m->getArgAsString(0); /// Change Volume if(command == "volume"){ audioVolume = m->getArgAsFloat(1); } else if(command == "loop"){ this->setPlayerLoop(m->getArgAsBool(1)); cout<< "Set loop State: " << m->getArgAsBool(1) << endl; ofLog(OF_LOG_NOTICE) << "Set Loop State: " << loop; } /// PLAY else if(command == "playVideo") { if (isPlayerPaused() && !isFading){ float fade = m->getArgAsFloat(1); //videoPlayer.play(); if(!activePlayer){ activePlayer = true; ofNotifyEvent(swapEvent, fade, this); } setPlayerPaused(false); Tweenzor::add((float *)&screenOpacity.get(), 0.0, maxScreenOpacity, 0.0, fade, EASE_IN_OUT_EXPO); Tweenzor::addCompleteListener(Tweenzor::getTween((float*)&screenOpacity.get()), this, &pmWarpPiRendererVideoPlayer::onComplete); isFading = true; } } /// STOP else if(command == "stopVideo") { if(!isPlayerPaused() && !isFading){ Tweenzor::add((float *)&screenOpacity.get(), screenOpacity, 0.0, 0.0, m->getArgAsFloat(1),EASE_IN_OUT_EXPO); Tweenzor::addCompleteListener( Tweenzor::getTween((float*)&screenOpacity.get()), this, &pmWarpPiRendererVideoPlayer::onComplete); isFading = true; } } /// PAUSE else if(command == "pauseVideo") { if(isPlayerPaused()) setPlayerPaused(false); else setPlayerPaused(true); } /// RESTART else if(command == "restartVideo") { if(!isFading){ restartMovie(); Tweenzor::add((float *)&screenOpacity.get(), 0.0, maxScreenOpacity, 0.0, m->getArgAsFloat(1),EASE_IN_OUT_EXPO); Tweenzor::addCompleteListener( Tweenzor::getTween((float*)&screenOpacity.get()), this, &pmWarpPiRendererVideoPlayer::onComplete); isFading = true; } } /// LOAD MOVIE else if(command == "loadVideo") { if (!isFading){ auto new_videoFileName = "./videos/" + m->getArgAsString(1); ofFile videoCheck(new_videoFileName); if(videoCheck.exists()){ cout<<"Loading Video: " << new_videoFileName << endl; fadeTime = m->getArgAsFloat(2); videoFileName = new_videoFileName; if(!activePlayer){ activePlayer = true; ofNotifyEvent(swapEvent, fadeTime, this); loadMovie(); Tweenzor::add((float *)&screenOpacity.get(), 0.0, maxScreenOpacity, 0.0, fadeTime, EASE_IN_OUT_EXPO); Tweenzor::addCompleteListener( Tweenzor::getTween((float*)&screenOpacity.get()), this, &pmWarpPiRendererVideoPlayer::onComplete); } else{ Tweenzor::add((float *)&screenOpacity.get(), maxScreenOpacity, 0.0, 0.0, fadeTime, EASE_IN_OUT_EXPO); Tweenzor::addCompleteListener( Tweenzor::getTween((float*)&screenOpacity.get()), this, &pmWarpPiRendererVideoPlayer::onFadeOutComplete); isFading = true; } ofLog(OF_LOG_NOTICE) << "VideoPlayer-LoadVideo: " << videoFileName << " - fadeTime: " << fadeTime; } else{ ofLog(OF_LOG_ERROR) << "VideoPlayer - No VideoFile"; cout<< "No Videofile: " << new_videoFileName << endl; } } } } pmWarpPiRendererDrawable::updateOSC(m); }
void APlayerOvi::Tick(float DeltaSeconds){ //get own deltaTime DeltaSeconds = TimeManager::Instance()->GetDeltaTime(DeltaSeconds); Super::Tick(DeltaSeconds); //initilize raycast query param //Initialize TraceParam if (!m_isValid) { //Get ATowardsTheLightGameMode if (!m_gameMode) m_gameMode = Cast<ATowardsTheLightGameMode>(UGameplayStatics::GetGameMode(this)); m_gameMode->FindActualPlayer(); static FName FireTraceIdent = FName(TEXT("Platform")); FCollisionQueryParams TraceParams(FireTraceIdent, true, this); TraceParams.bTraceAsyncScene = true; TraceParams.bFindInitialOverlaps = false; TraceParams.bTraceComplex = true; TArray<AActor *> ignorados; for (TActorIterator<ATappable > ActorItr(GetWorld()); ActorItr; ++ActorItr) { if (ActorItr->ActorHasTag("Tappable")) ignorados.Add(*ActorItr); } for (TActorIterator<ACheckPoint > checkItr(GetWorld()); checkItr; ++checkItr) ignorados.Add(*checkItr); for (TActorIterator<ATutorial > tutItr(GetWorld()); tutItr; ++tutItr) ignorados.Add(*tutItr); if (ignorados.Num() > 0) TraceParams.AddIgnoredActors(ignorados); m_TraceParams = TraceParams; m_isValid = true; } //pause animations if is game paused Mesh->bPauseAnims = isPlayerPaused(); //first tick initialize viewport properties, dont work at begin play if (m_limitViewPort0 == 0 && m_limitViewPort1 == 0) { m_limitViewPort0 = GEngine->GameViewport->Viewport->GetSizeXY().X * 0.45; m_limitViewPort1 = GEngine->GameViewport->Viewport->GetSizeXY().X * 0.55; } //update elapsed time if push button animation is running if (m_isPushingButton) { m_elapsedButton += DeltaSeconds; if (m_elapsedButton >= 1.0f) { m_elapsedButton = 0.0f; m_isPushingButton = false; } } if (m_isPickingPortal) { m_elapsedPortal += DeltaSeconds; float t = 1.0f - (m_elapsedPortal / 1.2f); Mesh->SetRelativeScale3D(FVector(t, t, t)); if (m_elapsedPortal >= 0.6f) { m_elapsedPortal = 0.0f; m_isPickingPortal = false; Mesh->SetRelativeScale3D(FVector(1, 1, 1)); } } if (m_isPickingAltar) { m_elapsedAltar += DeltaSeconds; if (m_elapsedAltar >= 0.7f) { m_elapsedAltar = 0.0f; m_isPickingAltar = false; } } //get last position for this frame. m_lastPosition = GetActorLocation(); float value = 0.0f; if (isInputEnabled()) value = UpdateState(); else{ value = 0; m_doJump = false; } DoMovement(DeltaSeconds, value); if (!m_isPickingPortal) { DoJump(DeltaSeconds); CalculateGravity(DeltaSeconds); } CheckCollision(); CalculateOrientation(); }