Music Player for LPC1768 and MAPLE Board

Dependencies:   SDFileSystem mbed

Revision:
0:b347ed8fee7f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Feb 03 08:58:23 2014 +0000
@@ -0,0 +1,44 @@
+#include "mbed.h"
+#include "SDFileSystem.h"
+#include "wave_player.h"
+
+#include <iostream>
+#include <vector>
+#include <string>
+
+SDFileSystem sd(p5, p6, p7, p20, "sd");  //SD card Slot
+AnalogOut DACout(p18);                   //Analog Output
+PwmOut sounder(p26);                     //PWM Sounder Output
+wave_player waver(&DACout, &sounder);    //wave player object
+
+int main() {
+    string DIRPATH("/sd/Music");
+    DIR *dir;
+    struct dirent *entry;
+    FILE *wave_file;
+    vector<string> file_list;
+    int num_file,i;
+    string file_name;
+    
+    dir = opendir(DIRPATH.c_str());
+    if ( dir != NULL ) {
+        while ( (entry = readdir(dir)) != NULL ) {
+            file_list.push_back(entry -> d_name);
+        }
+        num_file = file_list.size();
+        for(i = 0; i < num_file; i++){
+            std::cout << "File No."  << i + 1 << " " << file_list[i] << std::endl;
+            }
+        sounder.period(1.0/400000.0);
+        while(1){
+            std::cout << "Input File Number:";
+            std::cin >> i;
+            file_name = file_name.erase() + DIRPATH + "/" +file_list[i-1];
+            wave_file=fopen(file_name.c_str(),"r");
+            waver.play(wave_file);
+            fclose(wave_file);
+        }
+    }
+    closedir(dir);
+    return 0;
+}
\ No newline at end of file