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

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers VolumeCtrl.cpp Source File

VolumeCtrl.cpp

00001 //-------------------------------------------------
00002 //  音量の調整のためのクラス
00003 //       SD_PlayerSkeleton の派生クラス
00004 //
00005 //  2017/03/22, Copyright (c) 2017 MIKAMI, Naoki
00006 //-------------------------------------------------
00007 
00008 #include "VolumeCtrl.hpp"
00009 
00010 namespace Mikami
00011 {
00012     // 1ブロック分の信号処理の実行
00013     void VolumeCtrl::SignalProcessing()
00014     {
00015         // 1ブロック分のステレオデータを SD から読み込みモノラルにする
00016         sdReader_.ReadAndToMono(sn_);
00017 
00018         while (!mySai_.IsXferred()) {}  // データの転送が終わるまで待つ
00019         //--------------------------------------------------------------
00020         // 1ブロック分の処理を行い,その結果を出力する
00021         // 音響信号の出力:左右チャンネルに同じものを出力
00022         for (int n=0; n<BUFF_SIZE_; n++)
00023         {
00024             int16_t data = volume_*sn_[n];  // 出力の音量を変える
00025             mySai_.Output(data, data);
00026         }
00027         //--------------------------------------------------------------
00028     }
00029 
00030     // 音量の調整
00031     void VolumeCtrl::Modefy()
00032     {
00033         if (myBar_.Slide())
00034             volume_ = myBar_.GetValue();
00035     }
00036 
00037     // 曲の再生時の表示
00038     void VolumeCtrl::Display()
00039     {
00040         Label musicTitle(207, 80, GetFileNameNoExt(), Label::CENTER, Font16);
00041         ctrl_.Draw();
00042         myBar_.Redraw();
00043     }
00044 }