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

Committer:
MikamiUitOpen
Date:
Wed Nov 16 13:39:17 2016 +0000
Revision:
9:e032ac174c8d
Parent:
4:e911f59e9541
Child:
12:21cedfd11899
10

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:bf9be2110092 1 //-------------------------------------------------
MikamiUitOpen 0:bf9be2110092 2 // 音量の調整のためのクラス
MikamiUitOpen 0:bf9be2110092 3 // SD_PlayerSkeleton の派生クラス
MikamiUitOpen 0:bf9be2110092 4 //
MikamiUitOpen 9:e032ac174c8d 5 // 2016/11/16, Copyright (c) 2016 MIKAMI, Naoki
MikamiUitOpen 0:bf9be2110092 6 //-------------------------------------------------
MikamiUitOpen 0:bf9be2110092 7
MikamiUitOpen 0:bf9be2110092 8 #include "VolumeCtrl.hpp"
MikamiUitOpen 0:bf9be2110092 9
MikamiUitOpen 0:bf9be2110092 10 namespace Mikami
MikamiUitOpen 0:bf9be2110092 11 {
MikamiUitOpen 0:bf9be2110092 12 // 音量の調整
MikamiUitOpen 0:bf9be2110092 13 void VolumeCtrl::Modefy()
MikamiUitOpen 0:bf9be2110092 14 {
MikamiUitOpen 0:bf9be2110092 15 if (myBar_.Slide())
MikamiUitOpen 0:bf9be2110092 16 volume_ = myBar_.GetValue();
MikamiUitOpen 0:bf9be2110092 17 }
MikamiUitOpen 0:bf9be2110092 18
MikamiUitOpen 0:bf9be2110092 19 // 1フレーム分の信号処理の実行
MikamiUitOpen 0:bf9be2110092 20 void VolumeCtrl::SignalProcessing()
MikamiUitOpen 0:bf9be2110092 21 {
MikamiUitOpen 0:bf9be2110092 22 // 1フレーム分のステレオデータを SD から読み込みモノラルにする
MikamiUitOpen 0:bf9be2110092 23 sdReader_.ReadAndToMono(sn_);
MikamiUitOpen 0:bf9be2110092 24
MikamiUitOpen 0:bf9be2110092 25 while (!mySai_.IsXferred()) {} // データの転送が終わるまで待つ
MikamiUitOpen 0:bf9be2110092 26 //--------------------------------------------------------------
MikamiUitOpen 0:bf9be2110092 27 // 1フレーム分の処理を行い,その結果を出力する
MikamiUitOpen 2:cf42e62a97dc 28 // 音響信号の出力:左右チャンネルに同じものを出力
MikamiUitOpen 0:bf9be2110092 29 for (int n=0; n<FRAME_SIZE_; n++)
MikamiUitOpen 2:cf42e62a97dc 30 {
MikamiUitOpen 2:cf42e62a97dc 31 int16_t data = volume_*sn_[n];
MikamiUitOpen 3:470141dd31f4 32 mySai_.Output(data, data); // そのまま出力
MikamiUitOpen 2:cf42e62a97dc 33 }
MikamiUitOpen 0:bf9be2110092 34 //--------------------------------------------------------------
MikamiUitOpen 0:bf9be2110092 35 mySai_.ResetXferred(); // 次のデータ転送に備える
MikamiUitOpen 0:bf9be2110092 36 }
MikamiUitOpen 0:bf9be2110092 37
MikamiUitOpen 9:e032ac174c8d 38 // 曲の再生時の表示
MikamiUitOpen 0:bf9be2110092 39 void VolumeCtrl::Display()
MikamiUitOpen 0:bf9be2110092 40 {
MikamiUitOpen 4:e911f59e9541 41 Label musicTitle(207, 80, GetFileNameNoExt(), Label::CENTER, Font16);
MikamiUitOpen 0:bf9be2110092 42 ctrl_.Draw();
MikamiUitOpen 0:bf9be2110092 43 myBar_.Redraw();
MikamiUitOpen 0:bf9be2110092 44 }
MikamiUitOpen 0:bf9be2110092 45 }