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
Diff: MyClass/VolumeCtrl.cpp
- 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(); + } +}