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

MyClass/VolumeCtrl.cpp

Committer:
MikamiUitOpen
Date:
2017-04-09
Revision:
19:3c3833ec00d2
Parent:
17:9aed0bdb04f1

File content as of revision 19:3c3833ec00d2:

//-------------------------------------------------
//  音量の調整のためのクラス
//       SD_PlayerSkeleton の派生クラス
//
//  2017/03/22, Copyright (c) 2017 MIKAMI, Naoki
//-------------------------------------------------

#include "VolumeCtrl.hpp"

namespace Mikami
{
    // 1ブロック分の信号処理の実行
    void VolumeCtrl::SignalProcessing()
    {
        // 1ブロック分のステレオデータを SD から読み込みモノラルにする
        sdReader_.ReadAndToMono(sn_);

        while (!mySai_.IsXferred()) {}  // データの転送が終わるまで待つ
        //--------------------------------------------------------------
        // 1ブロック分の処理を行い,その結果を出力する
        // 音響信号の出力:左右チャンネルに同じものを出力
        for (int n=0; n<BUFF_SIZE_; n++)
        {
            int16_t data = volume_*sn_[n];  // 出力の音量を変える
            mySai_.Output(data, data);
        }
        //--------------------------------------------------------------
    }

    // 音量の調整
    void VolumeCtrl::Modefy()
    {
        if (myBar_.Slide())
            volume_ = myBar_.GetValue();
    }

    // 曲の再生時の表示
    void VolumeCtrl::Display()
    {
        Label musicTitle(207, 80, GetFileNameNoExt(), Label::CENTER, Font16);
        ctrl_.Draw();
        myBar_.Redraw();
    }
}