Big Mouth Billy Bass player that takes raw wavefiles and decision list text files from an SD card

Dependencies:   SDFileSystem mbed BillyBass

Files at this revision

API Documentation at this revision

Comitter:
bikeNomad
Date:
Tue Jun 18 06:13:02 2013 +0000
Parent:
8:1dd2bb31dec6
Child:
10:a02fdcfd9ef1
Commit message:
Still not doing actions but loading OK

Changed in this revision

BillyBass.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/BillyBass.lib	Tue Jun 18 00:07:56 2013 +0000
+++ b/BillyBass.lib	Tue Jun 18 06:13:02 2013 +0000
@@ -1,1 +1,1 @@
-BillyBass#9b1f3eb204ac
+BillyBass#eaba75af0f0d
--- a/main.cpp	Tue Jun 18 00:07:56 2013 +0000
+++ b/main.cpp	Tue Jun 18 06:13:02 2013 +0000
@@ -64,27 +64,6 @@
     pc.baud(SERIAL_BAUD);
 
     fprintf(stderr, "*** REBOOT ***\r\n");
-    fprintf(stderr, "sizeof Action=%u, Song=%u\r\n", sizeof(Action), sizeof(Song));
-    dumpHeap();
-    Song *song = Song::newSong("6_1_sciencefish.raw");
-    delete song;
-    dumpHeap();
-    song = Song::newSong("2_1_i_hardly_slept.raw");
-    dumpHeap();
-    delete song;
-    dumpHeap();
-    song = Song::newSong("1_1_a_sound.raw");
-    dumpHeap();
-    delete song;
-    song = Song::newSong("4_1_GoodEvening.raw");
-    dumpHeap();
-    delete song;
-    song = Song::newSong("5_1_listen_kid_THISONE.raw");
-    dumpHeap();
-    delete song;
-    Song::newSong("3_1_BoatingThemeSong.raw");
-    dumpHeap();
-    delete song;
 
     // read the directory
     DIR *bassDir = 0;
@@ -95,6 +74,17 @@
         wait(1.0);
     }
 
+    while (dirent *d = readdir(bassDir)) {
+        Song *song = Song::newSong(d->d_name);
+        if (song) {
+            pc.printf("Playing %s\r\n", song->getSampleFileName());
+            player.playEntireSong(song);
+            pc.printf("total length: %f done: %u\r\n", player.timeInSong, player.actionsDone);
+            delete song;
+        }
+    }
+
     closedir(bassDir);
+    pc.printf("Done.\r\n");
 }