SPKT

Dependencies:   F746_GUI SD_PlayerSkeleton F746_SAI_IO

Committer:
phungductung
Date:
Tue Jun 04 09:08:29 2019 +0000
Revision:
0:aa3fc5ad02f7
SPKT

Who changed what in which revision?

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