From: <he...@us...> - 2011-03-27 21:48:03
|
Revision: 265 http://simspark.svn.sourceforge.net/simspark/?rev=265&view=rev Author: hedayat Date: 2011-03-27 21:47:57 +0000 (Sun, 27 Mar 2011) Log Message: ----------- * Fixed log player running issues Modified Paths: -------------- trunk/spark/ChangeLog trunk/spark/plugin/sparkmonitor/sparkmonitorlogfileserver.cpp trunk/spark/plugin/sparkmonitor/sparkmonitorlogfileserver.h trunk/spark/plugin/sparkmonitor/sparkmonitorlogfileserver_c.cpp trunk/spark/spark/spark.rb Modified: trunk/spark/ChangeLog =================================================================== --- trunk/spark/ChangeLog 2011-03-26 02:16:36 UTC (rev 264) +++ trunk/spark/ChangeLog 2011-03-27 21:47:57 UTC (rev 265) @@ -1,3 +1,25 @@ +2011-03-28 Hedayat Vatankhah <hed...@gm...> + + * plugin/sparkmonitor/sparkmonitorlogfileserver.cpp + (SparkMonitorLogFileServer::StartCycle): + - don't do anything in StartCycle() before time 0.1. it is a workaround a + random crash which might be because of some kind of initialization delay + + * spark/spark.rb: + - set adjust speed mode for both monitor and log player to prevent + waisting any time trying to catch up in physics update (which they don't + have at all)! + +2011-03-27 Hedayat Vatankhah <hed...@gm...> + + * plugin/sparkmonitor/sparkmonitorlogfileserver.h: + * plugin/sparkmonitor/sparkmonitorlogfileserver.cpp: + * plugin/sparkmonitor/sparkmonitorlogfileserver_c.cpp: + - call mActiveScene's SetModified() and UpdateCache() so that it shows the + field again + - remove mStepDelay, it is not needed as the timing is controlled by the + simulation server + 2011-03-26 Hedayat Vatankhah <hed...@gm...> * plugin/sexpparser/sexpparser.h: Modified: trunk/spark/plugin/sparkmonitor/sparkmonitorlogfileserver.cpp =================================================================== --- trunk/spark/plugin/sparkmonitor/sparkmonitorlogfileserver.cpp 2011-03-26 02:16:36 UTC (rev 264) +++ trunk/spark/plugin/sparkmonitor/sparkmonitorlogfileserver.cpp 2011-03-27 21:47:57 UTC (rev 265) @@ -42,7 +42,6 @@ { mPause = false; mForwardStep = false; - mStepDelay = 0; mBackwardPlayback = false; mSexpMemory = init_sexp_memory(); } @@ -112,6 +111,9 @@ void SparkMonitorLogFileServer::StartCycle() { + // work around a random crash! + if (GetTime() < 0.1) + return; if (mPause && !mForwardStep) { @@ -139,12 +141,6 @@ ParseMessage(msg); } -#ifdef WIN32 - Sleep(mStepDelay / 1000); -#else - usleep(mStepDelay); -#endif - mForwardStep = false; } @@ -229,6 +225,7 @@ } mActiveScene = mSceneServer->GetActiveScene(); + mActiveScene->UpdateCache(); if (mActiveScene.get() == 0) { @@ -271,6 +268,7 @@ mSceneImporter->ParseScene(string(pcont->lastPos), mManagedScene, boost::shared_ptr<ParameterList>()); + mActiveScene->SetModified(true); destroy_sexp(mSexpMemory, sexp_custom); destroy_continuation(mSexpMemory, pcont); Modified: trunk/spark/plugin/sparkmonitor/sparkmonitorlogfileserver.h =================================================================== --- trunk/spark/plugin/sparkmonitor/sparkmonitorlogfileserver.h 2011-03-26 02:16:36 UTC (rev 264) +++ trunk/spark/plugin/sparkmonitor/sparkmonitorlogfileserver.h 2011-03-27 21:47:57 UTC (rev 265) @@ -62,9 +62,6 @@ /** backward play the log file back */ void BackwardPlayback(); - /** set the length of delay between steps */ - void SetStepDelay(int delay){ mStepDelay = delay; } - protected: /** parses a received message */ void ParseMessage(const std::string& msg); @@ -107,9 +104,6 @@ /** line numbers storage */ std::stack<unsigned> linePositions; - /** the length of delay between seteps */ - int mStepDelay; - bool mBackwardPlayback; /** cached reference to the script server */ Modified: trunk/spark/plugin/sparkmonitor/sparkmonitorlogfileserver_c.cpp =================================================================== --- trunk/spark/plugin/sparkmonitor/sparkmonitorlogfileserver_c.cpp 2011-03-26 02:16:36 UTC (rev 264) +++ trunk/spark/plugin/sparkmonitor/sparkmonitorlogfileserver_c.cpp 2011-03-27 21:47:57 UTC (rev 265) @@ -40,25 +40,9 @@ return true; } -FUNCTION(SparkMonitorLogFileServer, setStepDelay) -{ - int inDelay; - - if ( - (in.GetSize() != 1) || - (! in.GetValue(in[0], inDelay)) - ) - { - return false; - } - - obj->SetStepDelay(inDelay); - return true; -} - FUNCTION(SparkMonitorLogFileServer, pauseMode) { - if (in.GetSize() != 0) + if (in.GetSize() != 0) { return false; } @@ -69,7 +53,7 @@ FUNCTION(SparkMonitorLogFileServer, stepForward) { - if (in.GetSize() != 0) + if (in.GetSize() != 0) { return false; } @@ -80,7 +64,7 @@ FUNCTION(SparkMonitorLogFileServer, stepBackward) { - if (in.GetSize() != 0) + if (in.GetSize() != 0) { return false; } @@ -91,7 +75,7 @@ FUNCTION(SparkMonitorLogFileServer, playBackward) { - if (in.GetSize() != 0) + if (in.GetSize() != 0) { return false; } @@ -109,5 +93,4 @@ DEFINE_FUNCTION(stepForward); DEFINE_FUNCTION(stepBackward); DEFINE_FUNCTION(playBackward); - DEFINE_FUNCTION(setStepDelay); } Modified: trunk/spark/spark/spark.rb =================================================================== --- trunk/spark/spark/spark.rb 2011-03-26 02:16:36 UTC (rev 264) +++ trunk/spark/spark/spark.rb 2011-03-27 21:47:57 UTC (rev 265) @@ -198,6 +198,10 @@ simulationServer = sparkGetSimulationServer() if (simulationServer != nil) simulationServer.setMultiThreads(false) + + # set auto speed adjust mode. + simulationServer.setAdjustSpeed(true) + simulationServer.setMaxStepsPerCyle(1) end monitorClient = sparkCreate('SparkMonitorClient', $serverPath+'simulation/SparkMonitorClient') @@ -229,6 +233,10 @@ if (simulationServer != nil) simulationServer.setMultiThreads(false) + # set auto speed adjust mode. + simulationServer.setAdjustSpeed(true) + simulationServer.setMaxStepsPerCyle(1) + monitorClient = sparkCreate('SparkMonitorLogFileServer', $serverPath+'simulation/SparkMonitorLogFileServer') monitorClient.setFileName($logPlayerFile) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |