From e210bf1903a10071e95e54a20d12ef478de89291 Mon Sep 17 00:00:00 2001 From: psperl Date: Thu, 16 Aug 2007 02:57:05 +0000 Subject: [PATCH] sigmoid interpolation attempted, but for some confusing reason didnt look as good at linear interpolation git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/personal/carm/dev-1.0@341 6778bc44-b910-0410-a7a0-be141de4315d --- src/projectM-engine/projectM.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/projectM-engine/projectM.cpp b/src/projectM-engine/projectM.cpp index de9c939f8..43fcb9875 100755 --- a/src/projectM-engine/projectM.cpp +++ b/src/projectM-engine/projectM.cpp @@ -73,7 +73,8 @@ projectM *projectM::currentEngine = NULL; RenderTarget * projectM::renderTarget = NULL; Renderer * projectM::renderer = NULL; -float smoothTime = 5; +double presetDuration = 15; +double smoothDuration = 5; //int smoothFrame = 0; int oldFrame = 0; @@ -146,7 +147,7 @@ DLLEXPORT void projectM::renderFrame() assert(m_activePreset2.get()); nohard=(int)(presetInputs.fps*3.5); - smoothFrame = (int)(presetInputs.fps * smoothTime); + smoothFrame = (int)(presetInputs.fps * smoothDuration); printf("SOFT CUT - Smooth started\n"); } @@ -182,8 +183,10 @@ DLLEXPORT void projectM::renderFrame() renderer->PerPixelMath(&m_activePreset2->presetOutputs(), &presetInputs); renderer->WaveformMath(&m_activePreset2->presetOutputs(), &presetInputs, true); - double ratio = smoothFrame / (presetInputs.fps * smoothTime); - + //double pos = -((smoothFrame / (presetInputs.fps * smoothDuration))-1); + //double ratio = 1/(1 + exp((pos-0.5)*4*M_PI)); + double ratio = smoothFrame / (presetInputs.fps * smoothDuration); + // printf("f(%f)=%f\n",pos, ratio); PresetMerger::MergePresets(m_activePreset->presetOutputs(),m_activePreset2->presetOutputs(),ratio,presetInputs.gx, presetInputs.gy); //printf("Smooth:%d\n",smoothFrame); @@ -448,7 +451,7 @@ DLLEXPORT void projectM::projectM_init ( int gx, int gy, int fps, int texsize, i DWRITE ( "post PCM init\n" ); #endif - this->avgtime=this->presetInputs.fps*10; + this->avgtime=this->presetInputs.fps*presetDuration; this->hasInit = 1;