diff -rupN ffDiaporama-old/locale/ffDiaporama_de.ts ffDiaporama-new/locale/ffDiaporama_de.ts --- ffDiaporama-old/locale/ffDiaporama_de.ts 2014-07-01 04:39:43.000000000 -0400 +++ ffDiaporama-new/locale/ffDiaporama_de.ts 2015-03-08 11:48:28.000000000 -0400 @@ -5845,7 +5845,7 @@ entfernen Multiple block turn - Mehrere Blöcke drehen + Block mehrfach drehen @@ -7735,7 +7735,7 @@ und Hilfe Impossible to read one image from the file Error message - Es konnte kein Bild von dieser Dateo gelesen werden + Es konnte kein Bild von dieser Datei gelesen werden diff -rupN ffDiaporama-old/src/ffDiaporama/DlgSlide/cShotComposer.cpp ffDiaporama-new/src/ffDiaporama/DlgSlide/cShotComposer.cpp --- ffDiaporama-old/src/ffDiaporama/DlgSlide/cShotComposer.cpp 2014-04-17 02:45:02.000000000 -0400 +++ ffDiaporama-new/src/ffDiaporama/DlgSlide/cShotComposer.cpp 2015-03-08 11:34:08.000000000 -0400 @@ -241,7 +241,8 @@ void cShotComposer::RefreshControls(bool InRefreshControls=true; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); - if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject)&&(CurrentCompoObject->IsVisible)) { + bool bEnable = CurrentCompoObject && CurrentCompoObject->IsVisible; + if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject)/*&&(CurrentCompoObject->IsVisible)*/) { qreal Ratio_X,Ratio_Y; ComputeBlockRatio(CurrentCompoObject,Ratio_X,Ratio_Y); @@ -253,14 +254,14 @@ void cShotComposer::RefreshControls(bool } // Position, size and rotation - GETUI("PosSize_X")-> setEnabled(true); - GETUI("PosSize_Y")-> setEnabled(true); - GETUI("PosSize_Width")-> setEnabled(true); - GETUI("PosSize_Height")->setEnabled(true); - GETDOUBLESPINBOX("PosXEd")-> setEnabled(true); - GETDOUBLESPINBOX("PosYEd")-> setEnabled(true); - GETDOUBLESPINBOX("WidthEd")-> setEnabled(true); - GETDOUBLESPINBOX("HeightEd")-> setEnabled(true); + GETUI("PosSize_X")-> setEnabled(bEnable); + GETUI("PosSize_Y")-> setEnabled(bEnable); + GETUI("PosSize_Width")-> setEnabled(bEnable); + GETUI("PosSize_Height")->setEnabled(bEnable); + GETDOUBLESPINBOX("PosXEd")-> setEnabled(bEnable); + GETDOUBLESPINBOX("PosYEd")-> setEnabled(bEnable); + GETDOUBLESPINBOX("WidthEd")-> setEnabled(bEnable); + GETDOUBLESPINBOX("HeightEd")-> setEnabled(bEnable); if (ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) { GETDOUBLESPINBOX("PosXEd")-> setRange(-200,200); GETDOUBLESPINBOX("PosXEd")-> setValue(CurrentCompoObject->x*100/Ratio_X); @@ -275,34 +276,34 @@ void cShotComposer::RefreshControls(bool } // Rotation - GETUI("Rotate_X")-> setEnabled(true); - GETSPINBOX("RotateXED")-> setEnabled(true); - GETUI("ResetRotateXBT")->setEnabled(true); - GETSLIDER("RotateXSLD")->setEnabled(true); - GETUI("Rotate_Y")-> setEnabled(true); - GETSPINBOX("RotateYED")-> setEnabled(true); - GETUI("ResetRotateYBT")->setEnabled(true); - GETSLIDER("RotateYSLD")->setEnabled(true); - GETUI("Rotate_Z")-> setEnabled(true); - GETSPINBOX("RotateZED")-> setEnabled(true); - GETUI("ResetRotateZBT")->setEnabled(true); - GETSLIDER("RotateZSLD")->setEnabled(true); + GETUI("Rotate_X")-> setEnabled(bEnable); + GETSPINBOX("RotateXED")-> setEnabled(bEnable); + GETUI("ResetRotateXBT")->setEnabled(bEnable); + GETSLIDER("RotateXSLD")->setEnabled(bEnable); + GETUI("Rotate_Y")-> setEnabled(bEnable); + GETSPINBOX("RotateYED")-> setEnabled(bEnable); + GETUI("ResetRotateYBT")->setEnabled(bEnable); + GETSLIDER("RotateYSLD")->setEnabled(bEnable); + GETUI("Rotate_Z")-> setEnabled(bEnable); + GETSPINBOX("RotateZED")-> setEnabled(bEnable); + GETUI("ResetRotateZBT")->setEnabled(bEnable); + GETSLIDER("RotateZSLD")->setEnabled(bEnable); GETSPINBOX("RotateXED")->setValue(CurrentCompoObject->RotateXAxis); GETSLIDER("RotateXSLD")->setValue(CurrentCompoObject->RotateXAxis); GETSPINBOX("RotateYED")->setValue(CurrentCompoObject->RotateYAxis); GETSLIDER("RotateYSLD")->setValue(CurrentCompoObject->RotateYAxis); GETSPINBOX("RotateZED")->setValue(CurrentCompoObject->RotateZAxis); GETSLIDER("RotateZSLD")->setValue(CurrentCompoObject->RotateZAxis); // Shape part - GETUI("BlockShapeStyleBT")->setEnabled(true); - GETUI("BlockShapeStyleED")->setEnabled(true); - GETUI("BackgroundFormCB")->setEnabled(true); - GETUI("PenSizeEd")-> setEnabled(true); - GETUI("PenColorCB")-> setEnabled(CurrentCompoObject->PenSize!=0); - GETUI("PenStyleCB")-> setEnabled(CurrentCompoObject->PenSize!=0); - GETUI("OpacityCB")-> setEnabled(true); - GETUI("ShadowEffectCB")-> setEnabled(true); - GETUI("ShadowEffectED")-> setEnabled(CurrentCompoObject->FormShadow!=0); - GETUI("ShadowColorCB")-> setEnabled(CurrentCompoObject->FormShadow!=0); + GETUI("BlockShapeStyleBT")->setEnabled(bEnable); + GETUI("BlockShapeStyleED")->setEnabled(bEnable); + GETUI("BackgroundFormCB")->setEnabled(bEnable); + GETUI("PenSizeEd")-> setEnabled(bEnable); + GETUI("PenColorCB")-> setEnabled(CurrentCompoObject->PenSize!=0 && bEnable); + GETUI("PenStyleCB")-> setEnabled(CurrentCompoObject->PenSize!=0 && bEnable); + GETUI("OpacityCB")-> setEnabled(bEnable); + GETUI("ShadowEffectCB")-> setEnabled(bEnable); + GETUI("ShadowEffectED")-> setEnabled(CurrentCompoObject->FormShadow!=0 && bEnable); + GETUI("ShadowColorCB")-> setEnabled(CurrentCompoObject->FormShadow!=0 && bEnable); SetCBIndex(GETCOMBOBOX("BackgroundFormCB"),CurrentCompoObject->BackgroundForm); GETSPINBOX("PenSizeEd")-> setValue(int(CurrentCompoObject->PenSize)); diff -rupN ffDiaporama-old/src/ffDiaporama/DlgSlide/DlgImageComposer.cpp ffDiaporama-new/src/ffDiaporama/DlgSlide/DlgImageComposer.cpp --- ffDiaporama-old/src/ffDiaporama/DlgSlide/DlgImageComposer.cpp 2014-04-19 03:50:12.000000000 -0400 +++ ffDiaporama-new/src/ffDiaporama/DlgSlide/DlgImageComposer.cpp 2015-03-08 11:38:17.000000000 -0400 @@ -70,6 +70,7 @@ DlgImageComposer::DlgImageComposer(cDiap // Initialise dialog void DlgImageComposer::DoInitDialog() { + ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::DoInitDialog"); cShotComposer::DoInitDialog(); // Thumbnail part @@ -159,7 +160,6 @@ void DlgImageComposer::DoInitDialog() { //==================================================================================================================== DlgImageComposer::~DlgImageComposer() { - ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::DoInitDialog"); ffdProject->CloseUnusedLibAv(ffdProject->CurrentCol); delete ui; diff -rupN ffDiaporama-old/src/ffDiaporama/engine/cBaseMediaFile.cpp ffDiaporama-new/src/ffDiaporama/engine/cBaseMediaFile.cpp --- ffDiaporama-old/src/ffDiaporama/engine/cBaseMediaFile.cpp 2014-06-26 00:54:45.000000000 -0400 +++ ffDiaporama-new/src/ffDiaporama/engine/cBaseMediaFile.cpp 2015-03-08 11:41:02.000000000 -0400 @@ -2104,6 +2104,8 @@ bool cVideoFile::DoAnalyseSound(QList0?MaxVal[MaxVal.count()*0.9]:1; + if( MaxSoundValue == 0 ) + MaxSoundValue = 1; // Adjust Peak and Moyenne values by transforming them as % of the max value for (int i=0;icount();i++) { @@ -3261,7 +3263,7 @@ QImage *cVideoFile::ReadFrame(bool Previ // If position >= end of file : disable audio (only if IsComputedAudioDuration) double dPosition=double(Position)/AV_TIME_BASE; - if ((dPosition>0)&&(dPosition>=dEndFile+1000)&&(IsComputedAudioDuration)) { + if ((dPosition>0)&&(dPosition>=dEndFile)&&(IsComputedAudioDuration)) { AudioContext.AudioStream=NULL; // Disable audio // Check if last image is ready and correspond to end of file if ((!LastImage.isNull())&&(FrameBufferYUVReady)&&(FrameBufferYUVPosition>=dEndFile*AV_TIME_BASE-AudioContext.FPSDuration)) { diff -rupN ffDiaporama-old/src/ffDiaporama_lib/cDatabase.cpp ffDiaporama-new/src/ffDiaporama_lib/cDatabase.cpp --- ffDiaporama-old/src/ffDiaporama_lib/cDatabase.cpp 2014-04-12 01:49:47.000000000 -0400 +++ ffDiaporama-new/src/ffDiaporama_lib/cDatabase.cpp 2015-03-08 11:45:29.000000000 -0400 @@ -462,7 +462,8 @@ cFilesTable::cFilesTable(cDatabase *Data "BasicProperties text,"\ "ExtendedProperties text,"\ "Thumbnail16 binary,"\ - "Thumbnail100 binary"\ + "Thumbnail100 binary,"\ + "SoundWave text"\ ")"; CreateIndexQuery.append("CREATE INDEX idx_MediaFiles_Key ON MediaFiles (Key)"); CreateIndexQuery.append("CREATE INDEX idx_MediaFiles_FolderKey ON MediaFiles (FolderKey,ShortName)"); @@ -811,7 +812,11 @@ bool cFilesTable::GetAnalyseSound(qlongl QSqlQuery Query(Database->db); *RealAudioDuration=0; if (RealVideoDuration) *RealVideoDuration=0; - Query.prepare((QString("SELECT SoundWave FROM %1 WHERE Key=:Key").arg(TableName))); + if( !Query.prepare((QString("SELECT SoundWave FROM %1 WHERE Key=:Key").arg(TableName))) ) + { + DisplayLastSQLError(&Query); + return false; + } Query.bindValue(":Key",FileKey,QSql::In); if (!Query.exec()) { DisplayLastSQLError(&Query); diff -rupN ffDiaporama-old/src/ffDiaporama_lib/ImageFilters.cpp ffDiaporama-new/src/ffDiaporama_lib/ImageFilters.cpp --- ffDiaporama-old/src/ffDiaporama_lib/ImageFilters.cpp 2014-01-19 02:27:13.000000000 -0500 +++ ffDiaporama-new/src/ffDiaporama_lib/ImageFilters.cpp 2015-03-08 11:18:48.000000000 -0400 @@ -836,7 +836,7 @@ void BlurScanLine(float *kernel,int kern scale = 0.0; k = kernel; src = source; - for (i=0;i= (x-kern_width/2)) && (i <= (x+kern_width/2))) { aggregate.red +=(*k)*qRed(*src); aggregate.green+=(*k)*qGreen(*src);