Demo program for library named SD_PlayerSkeleton of SD card player skeleton. SD カードプレーヤのための骨組みとして使うためのライブラリ SD_PlayerSkeleton の使用例.このプログラムについては,CQ出版社インターフェース誌 2018年7月号で解説している.

Dependencies:   F746_GUI F746_SAI_IO SD_PlayerSkeleton

Revision:
0:bf9be2110092
Child:
2:cf42e62a97dc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MyClass/VolumeCtrl.cpp	Sat Jul 23 09:26:51 2016 +0000
@@ -0,0 +1,43 @@
+//-------------------------------------------------
+//  音量の調整のためのクラス
+//       SD_PlayerSkeleton の派生クラス
+//
+//  2016/07/17, Copyright (c) 2016 MIKAMI, Naoki
+//-------------------------------------------------
+
+#include "VolumeCtrl.hpp"
+
+namespace Mikami
+{
+    // 音量の調整
+    void VolumeCtrl::Modefy()
+    {
+        if (myBar_.Slide())
+            volume_ = myBar_.GetValue();
+    }
+
+    // 1フレーム分の信号処理の実行
+    void VolumeCtrl::SignalProcessing()
+    {
+        // 1フレーム分のステレオデータを SD から読み込みモノラルにする
+        sdReader_.ReadAndToMono(sn_);
+
+        while (!mySai_.IsXferred()) {}  // データの転送が終わるまで待つ
+        //--------------------------------------------------------------
+        // 1フレーム分の処理を行い,その結果を出力する
+        for (int n=0; n<FRAME_SIZE_; n++)
+            mySai_.Output(volume_*sn_[n], 0); // そのまま出力 
+        //--------------------------------------------------------------
+        mySai_.ResetXferred();          // 次のデータ転送に備える
+    }
+
+    // 曲の再生中に表示する
+    void VolumeCtrl::Display()
+    {
+        string name = GetFileName();
+        name = name.erase(name.find("."));
+        Label musicTitle(207, 80, name, Label::CENTER, Font16);
+        ctrl_.Draw();
+        myBar_.Redraw();
+    }
+}