]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
show/hide the recorder toolbar in dependence of existance the external executable
authorpkv <pkv@opencascade.com>
Fri, 25 Nov 2005 11:47:51 +0000 (11:47 +0000)
committerpkv <pkv@opencascade.com>
Fri, 25 Nov 2005 11:47:51 +0000 (11:47 +0000)
src/VVTK/VVTK_MainWindow.cxx
src/VVTK/VVTK_Recorder.cxx
src/VVTK/VVTK_Recorder.h

index d3ee34ca47fe5af79b3a2706dc34ae78cd3b1ade..47e3558326048b143d1b50e46800295bed19a93c 100644 (file)
@@ -96,6 +96,10 @@ VVTK_MainWindow
   connect( myStopAction, SIGNAL( activated() ), this, SLOT( OnStopRecording() ) );
   
   myRecorder=VVTK_Recorder::New();
+  myRecorder->CheckExistAVIMaker();
+  if (myRecorder->ErrorStatus()){
+    myRecordingToolBar->setEnabled(false);
+  }
 }
 
 void
index a52e3f57d3e5a0de6411878b7fd888e4fde9c01d..ca2e1aa55a0f42a913c5f78a8feb29ad94923715 100755 (executable)
@@ -75,6 +75,9 @@ VVTK_Recorder::VVTK_Recorder()
   myName=new char [512];\r
   myName[0]=0;\r
   myNbWrittenFrames=0;\r
+  //\r
+  myNameAVIMaker=new char[32];\r
+  strcpy (myNameAVIMaker, "jpeg2yuv");\r
 }\r
 //===============================================\r
 // function: ~\r
@@ -86,6 +89,22 @@ VVTK_Recorder::~VVTK_Recorder()
   myFilter->Delete();\r
   delete myWriterMgr;\r
   delete myName;\r
+  delete myNameAVIMaker;\r
+}\r
+//===============================================\r
+// function: CheckExistAVIMaker\r
+// purpose :\r
+//=============================================== \r
+void VVTK_Recorder::CheckExistAVIMaker()\r
+{\r
+  int iErr, iES;\r
+  //\r
+  myErrorStatus=0;\r
+  iErr=system(myNameAVIMaker);\r
+  iErr=WEXITSTATUS(iErr);\r
+  if (iErr==127){\r
+    myErrorStatus=iErr;\r
+  }\r
 }\r
 //===============================================\r
 // function: DoPlay\r
@@ -328,8 +347,7 @@ void VVTK_Recorder::PreWrite()
 void VVTK_Recorder::AddSkippedFrames()\r
 {\r
   myErrorStatus=0;\r
-  //\r
-  \r
+  //...\r
 }\r
 //===============================================\r
 // function: MakeFileAVI\r
@@ -344,8 +362,8 @@ void VVTK_Recorder::MakeFileAVI()
   //"jpeg2yuv -f 10 -I p -n 16 -v 0 -j abcx_1%06d.jpeg | yuv2lav -o z.avi"  \r
   //\r
   iNbFPS=(int)myNbFPS;\r
-  sprintf(aCmd, "jpeg2yuv -I p -v 0 -f %d -n %d -j %s%s | yuv2lav -o %s.avi",\r
-         iNbFPS, myNbWrittenFrames, myName, fmt, myName);\r
+  sprintf(aCmd, "%s -I p -v 0 -f %d -n %d -j %s%s | yuv2lav -o %s.avi",\r
+         myNameAVIMaker, iNbFPS, myNbWrittenFrames, myName, fmt, myName);\r
   //\r
   myErrorStatus=system(aCmd);\r
 }\r
index 849343e3a6e0f6c326da4d2f5516ee1301313da9..1b820894c212c2f0f6425872274734d26aba4581 100755 (executable)
@@ -73,6 +73,7 @@ public:
                            void* theClientData, \r
                            void* theCallData);\r
 \r
+  void CheckExistAVIMaker();\r
   //\r
 protected :\r
   VVTK_Recorder();\r
@@ -100,6 +101,8 @@ protected :
   vtkWindowToImageFilter *myFilter;\r
   VVTK_ImageWriterMgr    *myWriterMgr;\r
 \r
+  char       *myNameAVIMaker;\r
+\r
 private:\r
   VVTK_Recorder(const VVTK_Recorder&);  //Not implemented\r
   void operator=(const VVTK_Recorder&); //Not implemented\r