revised version of F746_SD_GraphicEqualizer

Dependencies:   BSP_DISCO_F746NG F746_GUI F746_SAI_IO FrequencyResponseDrawer LCD_DISCO_F746NG SDFileSystem_Warning_Fixed TS_DISCO_F746NG mbed

Fork of F746_SD_GraphicEqualizer by 不韋 呂

Revision:
10:fc6367c2ffcf
Parent:
0:e953eb392151
--- a/MyClasses_Functions/SD_WavReader.cpp	Mon May 09 13:48:33 2016 +0000
+++ b/MyClasses_Functions/SD_WavReader.cpp	Wed Jun 22 03:50:38 2016 +0000
@@ -48,7 +48,10 @@
 
         // "RIFF", "WAVE", "fmt " が存在することを確認
         if (strRead != "RIFFWAVEfmt ") return false;
-
+/**{
+ char dump[500]; strcpy(dump, strRead.c_str());
+ren_Msg1(4, dump);
+}**/
         // fmt chunck のサイズを取得
         uint32_t fmtChunkSize;
         fread(&fmtChunkSize, sizeof(uint32_t), 1, fp_);
@@ -56,18 +59,35 @@
         // PCM, Stereo, 44.1 kHz, 16 bit であることを確認
         WaveFormatEx fmtData;
         fread(&fmtData, fmtChunkSize, 1, fp_);
+
         if ((fmtData.wFormatTag     != 1)     ||
             (fmtData.nChannels      != 2)     ||
             (fmtData.nSamplesPerSec != 44100) ||
             (fmtData.wBitsPerSample != 16)
-           ) return false;
-
+           )
+           return false;
+/**{
+    char dump[500];
+sprintf(dump, "wFormatTag: %d", fmtData.wFormatTag);
+ren_Msg1(1, dump);
+sprintf(dump, "nChannels: %d", fmtData.nChannels);
+ren_Msg1(2, dump);
+sprintf(dump, "nSamplesPerSec: %d", fmtData.nSamplesPerSec);
+ren_Msg1(3, dump);
+sprintf(dump, "wBitsPerSample: %d", fmtData.wBitsPerSample);
+ren_Msg1(4, dump); 
+}**/
         // data chunk を探す
         char dataId[5];
         dataId[4] = 0;
         fread(dataId, 1, 4, fp_);
+/**{
+    char dump[500];
+sprintf(dump, "dataId: %s", dataId);
+ren_Msg1(5, dump); wait(20.0f);
+}**/
         if ("data" != (string)dataId)
-            for (int n=0; n<100; n++)
+            for (int n=0; n<1000; n++)
             {
                 char oneByte;
                 fread(&oneByte, 1, 1, fp_);
@@ -76,7 +96,7 @@
                 dataId[3] = oneByte;
                 if ("data" == (string)dataId) break;
                 
-                if (n == 99) return false;
+                if (n == 999) return false;
             }
 
         // データサイズ (byte) を取得