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</translation>
     <message>
         <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="142"/>
         <source>Multiple block turn</source>
-        <translation>Mehrere Blöcke drehen</translation>
+        <translation>Block mehrfach drehen</translation>
     </message>
     <message>
         <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="143"/>
@@ -7735,7 +7735,7 @@ und Hilfe</translation>
         <location filename="../src/ffDiaporama/engine/cBaseMediaFile.cpp" line="2208"/>
         <source>Impossible to read one image from the file</source>
         <comment>Error message</comment>
-        <translation>Es konnte kein Bild von dieser Dateo gelesen werden</translation>
+        <translation>Es konnte kein Bild von dieser Datei gelesen werden</translation>
     </message>
     <message>
         <location filename="../src/ffDiaporama/engine/cBaseMediaFile.cpp" line="2187"/>
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(QList<qr
         foreach (qreal Value,*Peak) MaxVal.append(Value);
         qSort(MaxVal.begin(),MaxVal.end());
         qreal MaxSoundValue=MaxVal.count()>0?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;i<Peak->count();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<columns;++k,src+=offset) {
+            for (i=0;i<columns;++k,src+=offset,i++) {
                 if((i >= (x-kern_width/2)) && (i <= (x+kern_width/2))) {
                     aggregate.red  +=(*k)*qRed(*src);
                     aggregate.green+=(*k)*qGreen(*src);
